2.2 KiB
2.2 KiB
Introduction
Cette documentation est destinée à décrire le fonctionnement des CRUDs dans un projet Laravel avec notre environnement de développement.
TODO: mettre en place une commande pour création de CRUD en alimentant cette doc.
Table des matières
pour chaque, définir la convention de nommage (pluriel/singulier/pascalCase)
Migration
table lié à un modèle
Model
use App\Traits\Models\HasCache;
use App\Traits\Models\HasTranslations;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Uwil\LaravelActivityLogs\Traits\ActivityLog;
class NomDuModel extends Model implements TranslatableModel
{
use ActivityLog;
use HasCache;
use HasFactory;
use HasTranslations;
use SoftDeletes;
...
/**
* The translatable columns.
*
* @var list<string>
*/
public $translatable = [
'label',
'content',
];
...
}
Policy
- viewAny,
- viewTrash,
- view,
- create,
- update,
- duplicate,
- restore,
- delete,
- forceDelete,
/**
* Determine whether the user can view any models.
*
* @param \Illuminate\Database\Eloquent\Model $authModel
* @return boolean
*/
public function action(Model $authModel): bool
{
return UserStaticRules::atLeastRole($authModel, RoleEnum::conceptor);
}
'auth' => [
...
'policies' => [
'dynamicPages' => [
'viewAny' => Gate::allows('viewAny', DynamicPage::class),
'viewTrash' => Gate::allows('viewTrash', DynamicPage::class),
'create' => Gate::allows('create', DynamicPage::class),
],
'pageConfigs' => [
'viewAny' => Gate::allows('viewAny', PageConfig::class),
'viewTrash' => Gate::allows('viewTrash', PageConfig::class),
'create' => Gate::allows('create', PageConfig::class),
],
...
],
],