From d13a116b0676b971ee33ad141a0769d8384af40f Mon Sep 17 00:00:00 2001 From: cgonzalesmo Date: Tue, 11 Oct 2022 00:29:23 -0500 Subject: [PATCH] Modificar narrativa y agregar logica endpoint --- .../Controllers/Api/NarrativasController.php | 90 +++++++++++++++++++ app/Models/Narrativa.php | 1 - ...2_10_07_184658_create_narrativas_table.php | 1 - routes/api.php | 8 +- 4 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 app/Http/Controllers/Api/NarrativasController.php diff --git a/app/Http/Controllers/Api/NarrativasController.php b/app/Http/Controllers/Api/NarrativasController.php new file mode 100644 index 0000000..80aee2a --- /dev/null +++ b/app/Http/Controllers/Api/NarrativasController.php @@ -0,0 +1,90 @@ +validate([ + "id_estandar"=> "required|integer", + "semestre"=> "required", + "contenido"=> "required", + ]); + if(Estandar::where("id",$request->id_estandar)->exists()){ + $narrativa = new Narrativa(); + $narrativa->id_estandar = $request->id_estandar; + $narrativa->semestre = $request->semestre; + $narrativa->contenido = $request->contenido; + $narrativa->save(); + return response([ + "status" => 1, + "msg" => "!Narrativa creada exitosamente", + "data" => $narrativa, + ]); + } + else{ + return response([ + "status" => 0, + "msg" => "!No se encontro el estandar", + ],404); + } + } + public function update(Request $request){ + $request->validate([ + "id"=> "required", + "contenido"=> "required", + ]); + if(Narrativa::where("id",$request->id)->exists()){ + $narrativa = Narrativa::find($request->id); + $narrativa -> update([ + "contenido" => $request->contenido, + ]); + return response()->json($narrativa, 200); + } + else{ + return response([ + "status" => 0, + "message" => "!No se encontro la narrativa", + ],404); + } + } + public function delete($id){ + if(Narrativa::where("id",$id)->exists()){ + $narrativa = Narrativa::find($id); + $narrativa ->delete(); + return response([ + "status" => 1, + "message" => "!Narrativa eliminada", + ]); + } + else{ + return response([ + "status" => 0, + "message" => "!No se encontro la narrativa", + ],404); + } + } + public function show($id){ + if(Narrativa::where("id",$id)->exists()){ + $narrativa = Narrativa::find($id); + return response([ + "status" => 1, + "message" => "!Narrativa encontrada", + "data" => $narrativa, + ]); + } + else{ + return response([ + "status" => 0, + "message" => "!No se encontro la narrativa", + ],404); + } + } +} diff --git a/app/Models/Narrativa.php b/app/Models/Narrativa.php index b082bc5..e0661d9 100644 --- a/app/Models/Narrativa.php +++ b/app/Models/Narrativa.php @@ -12,7 +12,6 @@ class Narrativa extends Model protected $table = 'narrativas'; protected $fillable = [ 'semestre', - 'cabecera', 'contenido', ]; diff --git a/database/migrations/2022_10_07_184658_create_narrativas_table.php b/database/migrations/2022_10_07_184658_create_narrativas_table.php index c740da1..d0b2aa9 100644 --- a/database/migrations/2022_10_07_184658_create_narrativas_table.php +++ b/database/migrations/2022_10_07_184658_create_narrativas_table.php @@ -16,7 +16,6 @@ return new class extends Migration Schema::create('narrativas', function (Blueprint $table) { $table->id(); $table->string('semestre', 255); - $table->mediumText('cabecera'); $table->mediumText('contenido'); $table->foreignId('id_estandar') ->constrained('estandars') diff --git a/routes/api.php b/routes/api.php index b24e57a..f134b4c 100644 --- a/routes/api.php +++ b/routes/api.php @@ -18,7 +18,7 @@ use App\Http\Controllers\Api\ResponsablesController; use App\Http\Controllers\Api\EstadosValoresController; use App\Http\Controllers\Api\EvidenciasController; use App\Http\Controllers\Api\LoginController; - +use App\Http\Controllers\Api\NarrativasController; Route::post('register', [UserController::class, 'register']); Route::post('login', [UserController::class, 'login'])->name('login'); @@ -104,6 +104,12 @@ Route::middleware("auth:sanctum")->group (function(){ Route::get('evidencia/{id}', [EvidenciasController::class,'show']); Route::put('evidencia',[EvidenciasController::class,'update']); Route::delete('evidencia/{id}',[EvidenciasController::class,'delete']); + + //ruta narrativas + Route::post('narrativa',[NarrativasController::class,'create']); + Route::get('narrativa/{id}', [NarrativasController::class,'show']); + Route::put('narrativa',[NarrativasController::class,'update']); + Route::delete('narrativa/{id}',[NarrativasController::class,'delete']); }); Route::middleware('auth:sanctum')->get('/user', function (Request $request) {