arreglo general de responses

master
Christian Dacid Sullca Puma 2022-11-16 15:59:38 -05:00
parent 2e66fc4309
commit 8e68ba9132
2 changed files with 45 additions and 24 deletions

View File

@ -6,23 +6,37 @@ use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Estandar; use App\Models\Estandar;
use App\Models\Narrativa; use App\Models\Narrativa;
use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\Validator;
//edita solo contenido
//eliminar
// Cabecera endopoint unico
class NarrativasController extends Controller class NarrativasController extends Controller
{ {
public function create(Request $request) public function create(Request $request)
{ {
$request->validate([
"id_estandar" => "required|integer", $id_user = auth()->user();
"semestre" => "required", if ($id_user->isAdmin()) {
$validator = Validator::make($request->all(), [
"id_estandar" => "required|integer|exists:estandars,id",
"contenido" => "required", "contenido" => "required",
"semestre" => [
'required',
Rule::unique('narrativas', 'semestre')->where(function ($query) use ($request) {
return $query->where('id_estandar', $request->id_estandar);
}),
],
]); ]);
if (Estandar::where("id", $request->id_estandar)->exists()) {
if ($validator->fails()) {
return response([
"status" => "error",
"message" => $validator->errors()
], 400);
}
$narrativa = new Narrativa(); $narrativa = new Narrativa();
$narrativa->id_estandar = $request->id_estandar; $narrativa->id_estandar = $request->id_estandar;
$narrativa->semestre = $request->semestre; $narrativa->semestre = $request->semestre;
@ -32,18 +46,20 @@ class NarrativasController extends Controller
"status" => 1, "status" => 1,
"msg" => "!Narrativa creada exitosamente", "msg" => "!Narrativa creada exitosamente",
"data" => $narrativa, "data" => $narrativa,
]); ], 200);
} else { } else {
return response([ return response([
"status" => 0, "status" => 0,
"msg" => "!No se encontro el estandar", "msg" => "No tiene permisos para crear una narrativa",
], 404); "data" => null,
], 200);
} }
} }
public function update(Request $request) public function update(Request $request)
{ {
$request->validate([ $request->validate([
"id" => "required", "id" => "required|exists:narrativas,id",
"contenido" => "required", "contenido" => "required",
]); ]);
if (Narrativa::where("id", $request->id)->exists()) { if (Narrativa::where("id", $request->id)->exists()) {
@ -59,6 +75,7 @@ class NarrativasController extends Controller
], 404); ], 404);
} }
} }
public function delete($id) public function delete($id)
{ {
if (Narrativa::where("id", $id)->exists()) { if (Narrativa::where("id", $id)->exists()) {
@ -75,6 +92,7 @@ class NarrativasController extends Controller
], 404); ], 404);
} }
} }
public function show($id) public function show($id)
{ {
if (Narrativa::where("id", $id)->exists()) { if (Narrativa::where("id", $id)->exists()) {
@ -91,6 +109,7 @@ class NarrativasController extends Controller
], 404); ], 404);
} }
} }
public function listNarrativas() public function listNarrativas()
{ {
$narrativas = Narrativa::all(); $narrativas = Narrativa::all();
@ -100,7 +119,9 @@ class NarrativasController extends Controller
"data" => $narrativas, "data" => $narrativas,
]); ]);
} }
public function ultimaNarrativa(Request $request){
public function ultimaNarrativa(Request $request)
{
$request->validate([ $request->validate([
"id_estandar" => 'required|exists:App\Models\Estandar,id', "id_estandar" => 'required|exists:App\Models\Estandar,id',
]); ]);

View File

@ -120,7 +120,7 @@ Route::middleware("auth:sanctum")->group(function () {
Route::put('narrativa', [NarrativasController::class, 'update']); Route::put('narrativa', [NarrativasController::class, 'update']);
Route::delete('narrativa/{id}', [NarrativasController::class, 'delete'])->where('id', '[0-9]+'); Route::delete('narrativa/{id}', [NarrativasController::class, 'delete'])->where('id', '[0-9]+');
Route::get('narrativa', [NarrativasController::class, 'listNarrativas']); Route::get('narrativa', [NarrativasController::class, 'listNarrativas']);
Route::get('narrativa/ultima/{id}', [NarrativasController::class, 'ultimaNarrativa']->where('id', '[0-9]+')); Route::get('narrativa/ultima/{id}', [NarrativasController::class, 'ultimaNarrativa'])->where('id', '[0-9]+');
}); });
/*Route::middleware('auth:sanctum')->get('/user', function (Request $request) { /*Route::middleware('auth:sanctum')->get('/user', function (Request $request) {