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()) {
"contenido" => "required", $validator = Validator::make($request->all(), [
]); "id_estandar" => "required|integer|exists:estandars,id",
if (Estandar::where("id", $request->id_estandar)->exists()) { "contenido" => "required",
"semestre" => [
'required',
Rule::unique('narrativas', 'semestre')->where(function ($query) use ($request) {
return $query->where('id_estandar', $request->id_estandar);
}),
],
]);
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,15 +119,17 @@ class NarrativasController extends Controller
"data" => $narrativas, "data" => $narrativas,
]); ]);
} }
public function ultimaNarrativa(Request $request){
$request->validate([ public function ultimaNarrativa(Request $request)
{
$request->validate([
"id_estandar" => 'required|exists:App\Models\Estandar,id', "id_estandar" => 'required|exists:App\Models\Estandar,id',
]); ]);
$narrativa = Narrativa::where("id_estandar", $request->id_estandar)->latest()->first(); $narrativa = Narrativa::where("id_estandar", $request->id_estandar)->latest()->first();
return response([ return response([
"status" => 1, "status" => 1,
"message" => "!Ultima Narrativa del estandar ".$request->id_estandar, "message" => "!Ultima Narrativa del estandar " . $request->id_estandar,
"data" => $narrativa, "data" => $narrativa,
]); ]);
} }
} }

View File

@ -37,14 +37,14 @@ Route::get('estandares', [EstandarController::class, 'listEstandarValores']);
Route::middleware("auth:sanctum")->group(function () { Route::middleware("auth:sanctum")->group(function () {
//Rutas de Auth //Rutas de Auth
Route::get('logout', [LoginController::class, 'logout']); Route::get('logout', [LoginController::class, 'logout']);
//Rutas de Gestion de usarios //Rutas de Gestion de usarios
Route::get('user-profile', [UserController::class, 'userProfile']); Route::get('user-profile', [UserController::class, 'userProfile']);
Route::put('update', [UserController::class, 'updateRoleEstado']); Route::put('update', [UserController::class, 'updateRoleEstado']);
Route::post('register', [UserController::class, 'register']); Route::post('register', [UserController::class, 'register']);
Route::get('user', [UserController::class, 'listUser']); Route::get('user', [UserController::class, 'listUser']);
Route::get('enabled_users', [UserController::class, 'listUserHabilitados']); Route::get('enabled_users', [UserController::class, 'listUserHabilitados']);
//rutas estandar //rutas estandar
@ -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) {