Modificar narrativa y agregar logica endpoint

master
cgonzalesmo 2022-10-11 00:29:23 -05:00
parent a90ab4f0dc
commit d13a116b06
4 changed files with 97 additions and 3 deletions

View File

@ -0,0 +1,90 @@
<?php
namespace App\Http\Controllers\Api;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Estandar;
use App\Models\Narrativa;
//edita solo contenido
//eliminar
// Cabecera endopoint unico
class NarrativasController extends Controller{
public function create(Request $request){
$request->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);
}
}
}

View File

@ -12,7 +12,6 @@ class Narrativa extends Model
protected $table = 'narrativas';
protected $fillable = [
'semestre',
'cabecera',
'contenido',
];

View File

@ -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')

View File

@ -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) {