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(); + } +}