From 427c4406c8fefdfa6dca88c76c02a6e2ae861075 Mon Sep 17 00:00:00 2001 From: Luka COUTANT Date: Tue, 10 Jun 2025 14:23:54 +0200 Subject: [PATCH] =?UTF-8?q?cr=C3=A9ation=20et=20remplissage=20des=20tables?= =?UTF-8?q?=20de=20la=20base=20de=20donn=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/Http/Controllers/LevelController.php | 66 +++++++++++++++++++ .../app/Http/Controllers/TaskController.php | 66 +++++++++++++++++++ .../app/Http/Requests/StoreLevelRequest.php | 28 ++++++++ .../app/Http/Requests/StoreTaskRequest.php | 28 ++++++++ .../app/Http/Requests/UpdateLevelRequest.php | 28 ++++++++ .../app/Http/Requests/UpdateTaskRequest.php | 28 ++++++++ laravel/app/Models/Level.php | 12 ++++ laravel/app/Models/Task.php | 18 +++++ laravel/app/Policies/LevelPolicy.php | 66 +++++++++++++++++++ laravel/app/Policies/TaskPolicy.php | 66 +++++++++++++++++++ laravel/database/factories/LevelFactory.php | 23 +++++++ laravel/database/factories/TaskFactory.php | 26 ++++++++ .../2025_06_10_120735_create_levels_table.php | 28 ++++++++ .../2025_06_10_120835_create_tasks_table.php | 32 +++++++++ laravel/database/seeders/LevelSeeder.php | 17 +++++ laravel/database/seeders/TaskSeeder.php | 18 +++++ 16 files changed, 550 insertions(+) create mode 100644 laravel/app/Http/Controllers/LevelController.php create mode 100644 laravel/app/Http/Controllers/TaskController.php create mode 100644 laravel/app/Http/Requests/StoreLevelRequest.php create mode 100644 laravel/app/Http/Requests/StoreTaskRequest.php create mode 100644 laravel/app/Http/Requests/UpdateLevelRequest.php create mode 100644 laravel/app/Http/Requests/UpdateTaskRequest.php create mode 100644 laravel/app/Models/Level.php create mode 100644 laravel/app/Models/Task.php create mode 100644 laravel/app/Policies/LevelPolicy.php create mode 100644 laravel/app/Policies/TaskPolicy.php create mode 100644 laravel/database/factories/LevelFactory.php create mode 100644 laravel/database/factories/TaskFactory.php create mode 100644 laravel/database/migrations/2025_06_10_120735_create_levels_table.php create mode 100644 laravel/database/migrations/2025_06_10_120835_create_tasks_table.php create mode 100644 laravel/database/seeders/LevelSeeder.php create mode 100644 laravel/database/seeders/TaskSeeder.php diff --git a/laravel/app/Http/Controllers/LevelController.php b/laravel/app/Http/Controllers/LevelController.php new file mode 100644 index 0000000..3d3d937 --- /dev/null +++ b/laravel/app/Http/Controllers/LevelController.php @@ -0,0 +1,66 @@ +|string> + */ + public function rules(): array + { + return [ + // + ]; + } +} diff --git a/laravel/app/Http/Requests/StoreTaskRequest.php b/laravel/app/Http/Requests/StoreTaskRequest.php new file mode 100644 index 0000000..aa51f88 --- /dev/null +++ b/laravel/app/Http/Requests/StoreTaskRequest.php @@ -0,0 +1,28 @@ +|string> + */ + public function rules(): array + { + return [ + // + ]; + } +} diff --git a/laravel/app/Http/Requests/UpdateLevelRequest.php b/laravel/app/Http/Requests/UpdateLevelRequest.php new file mode 100644 index 0000000..524efa2 --- /dev/null +++ b/laravel/app/Http/Requests/UpdateLevelRequest.php @@ -0,0 +1,28 @@ +|string> + */ + public function rules(): array + { + return [ + // + ]; + } +} diff --git a/laravel/app/Http/Requests/UpdateTaskRequest.php b/laravel/app/Http/Requests/UpdateTaskRequest.php new file mode 100644 index 0000000..1657a01 --- /dev/null +++ b/laravel/app/Http/Requests/UpdateTaskRequest.php @@ -0,0 +1,28 @@ +|string> + */ + public function rules(): array + { + return [ + // + ]; + } +} diff --git a/laravel/app/Models/Level.php b/laravel/app/Models/Level.php new file mode 100644 index 0000000..109b393 --- /dev/null +++ b/laravel/app/Models/Level.php @@ -0,0 +1,12 @@ + */ + use HasFactory; +} diff --git a/laravel/app/Models/Task.php b/laravel/app/Models/Task.php new file mode 100644 index 0000000..a0ed704 --- /dev/null +++ b/laravel/app/Models/Task.php @@ -0,0 +1,18 @@ + */ + use HasFactory; + + protected $fillable = [ + 'title', + 'details', + 'state', + ]; +} diff --git a/laravel/app/Policies/LevelPolicy.php b/laravel/app/Policies/LevelPolicy.php new file mode 100644 index 0000000..2b177dd --- /dev/null +++ b/laravel/app/Policies/LevelPolicy.php @@ -0,0 +1,66 @@ + + */ +class LevelFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + // + ]; + } +} diff --git a/laravel/database/factories/TaskFactory.php b/laravel/database/factories/TaskFactory.php new file mode 100644 index 0000000..dc000e5 --- /dev/null +++ b/laravel/database/factories/TaskFactory.php @@ -0,0 +1,26 @@ + + */ +class TaskFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'title' => $this->faker->word(), + 'details' => $this->faker->text(), + 'state' => $this->faker->boolean(), + 'level_id' => $this->faker->numberBetween(1, 5), + ]; + } +} diff --git a/laravel/database/migrations/2025_06_10_120735_create_levels_table.php b/laravel/database/migrations/2025_06_10_120735_create_levels_table.php new file mode 100644 index 0000000..1eeb714 --- /dev/null +++ b/laravel/database/migrations/2025_06_10_120735_create_levels_table.php @@ -0,0 +1,28 @@ +id(); + $table->string('name'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('levels'); + } +}; diff --git a/laravel/database/migrations/2025_06_10_120835_create_tasks_table.php b/laravel/database/migrations/2025_06_10_120835_create_tasks_table.php new file mode 100644 index 0000000..7408529 --- /dev/null +++ b/laravel/database/migrations/2025_06_10_120835_create_tasks_table.php @@ -0,0 +1,32 @@ +id(); + $table->string('title', 255); + $table->text('details'); + $table->boolean('state'); + $table->unsignedBigInteger('level_id'); + $table->foreign('level_id')->references('id')->on('levels')->onDelete('cascade')->onUpdate('cascade'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('tasks'); + } +}; diff --git a/laravel/database/seeders/LevelSeeder.php b/laravel/database/seeders/LevelSeeder.php new file mode 100644 index 0000000..a62dcd7 --- /dev/null +++ b/laravel/database/seeders/LevelSeeder.php @@ -0,0 +1,17 @@ +create(); + } +}