Labs64 / laravel-boilerplate

Laravel Boilerplate / Starter Kit with Gentelella Admin Theme
https://github.com/Labs64/laravel-boilerplate/wiki
MIT License
919 stars 328 forks source link

Bring me a Feature! #61

Open r-brown opened 5 years ago

r-brown commented 5 years ago

Hacktoberfest feature challenge!

Suggest and Pull a new feature, which is adding great value for the Laravel Boilerplate users.


@all contributors In the case of unique->tested->accepted feature we'll be happy to include your GitHub handle in the list of contributors on the main boilerplate page (README.md) - https://github.com/Labs64/laravel-boilerplate#contributors-and-supporters

einnar82 commented 5 years ago

Adding CORS feature and my package :)

einnar82 commented 5 years ago

62

veerajongit commented 5 years ago

What about a package that does the testing automatically every time the code or the test changes?

r-brown commented 5 years ago

@veerajongit Sounds great! Would it be possible also to enable these tests for TravisCI?

veerajongit commented 5 years ago

#65

nowendwell commented 5 years ago

Would you guys want the ability to archive users similar to the idea of SoftDeletes?

r-brown commented 5 years ago

Hi @nowendwell - this might a good improvement here. Thanks! Any option to enable also complete GDPR compliant deletion and data provisioning?! ;)

nowendwell commented 5 years ago

I think I can spin something up. Thinking a Trait (Forgetable or GDPRPolicy or something) that would call a variable on the model to find the relationships. The trait would have download() and permanentDelete() methods that do the respective tasks.

I'm thinking

protected $gdpr_relations = [
    'providers',
    'protectionValidation',
    'protectionShopTokens'
];

That way you could call

// Route
Route::delete('/user/{user}', 'UserController@permanentDelete');

// User Controller
public function permanentDelete(User $user)
{
    $user->permanentDelete();

    return back();
}

// GDPRPolicy Trait
public function permanentDelete()
{
    foreach($this->gdpr_relations as $relation) {
        $relation->forceDelete();
    }

    return true;
}

As for the data provisioning (downloading data right?) do you want to pull in an Excel library and make it fancy or just stick with an fputcsv kinda thing?

I'm thinking if we're just going the fputcsv route something like this

users
id name pass
1 Ben $@sdisdfkj
social_accounts
id user_id provider provider_id token
1 1 fb 24351 $NWED(NCAIU3

Let me know your thoughts.

r-brown commented 5 years ago

Hi @nowendwell the suggestion looks really good - let's do it. Also the export as CVS is ways better - it should be simple.

r-brown commented 4 years ago

New feature request added - #73 Add Guided Tour