unsa-pis-be/app/Http/Controllers/Api/EstandarController.php

119 lines
3.5 KiB
PHP

<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Estandar;
use App\Models\User;
use Illuminate\Support\Facades\DB;
class EstandarController extends Controller
{
public function createEstandar(Request $request)
{
$request->validate([
"name" => "required",
"cabecera" => "required",
]);
$id_user = auth()->user()->id;
$estandar = new Estandar();
$estandar->id_user = $id_user;
$estandar->name = $request->name;
$estandar->cabecera = $request->cabecera;
$estandar->save();
return response([
"status" => 1,
"msg" => "!Estandar creado exitosamente",
"data" => $estandar,
]);
}
public function listEstandar()
{
$estandares = Estandar::all();
return response([
"status" => 1,
"msg" => "!Lista de Estandares",
"data" => $estandares,
]);
}
public function listEstandarValores()
{
$estandaresNombreslist = Estandar::select('estandars.name', 'estandars.id')
->orderBy('estandars.id', 'asc')
->get();
return response([
"status" => 1,
"msg" => "!Lista de nombres de Estandares",
"data" => $estandaresNombreslist,
]);
}
public function showEstandar($id)
{
if (Estandar::where("id", $id)->exists()) {
$estandar = Estandar::find($id);
$user = User::find($estandar->id_user);
$estandar->user = $user;
$estandar->esEncargado = ($user->id == auth()->user()->id);
return response([
"status" => 1,
"msg" => "!Estandar",
"data" => $estandar,
]);
} else {
return response([
"status" => 0,
"msg" => "!No se encontro el estandar",
], 404);
}
}
public function updateEstandar(Request $request, $id)
{
$request->validate([
"id_user" => 'exists:App\Models\User,id',
]);
$id_user = auth()->user()->id;
if (Estandar::where(["id_user" => $id_user, "id" => $id])->exists()) {
$estandar = Estandar::find($id);
$estandar->name = isset($request->name) ? $request->name : $estandar->name;
$estandar->cabecera = isset($request->cabecera) ? $request->cabecera : $estandar->cabecera;
$estandar->id_user = isset($request->id_user) ? $request->id_user : $estandar->id_user;
$estandar->save();
return response([
"status" => 1,
"msg" => "!Estandar actualizado",
"data" => $estandar,
]);
} else {
return response([
"status" => 0,
"msg" => "!No se encontro el estandar o no esta autorizado",
], 404);
}
}
public function deleteEstandar($id)
{
$id_user = auth()->user()->id;
if (Estandar::where(["id" => $id, "id_user" => $id_user])->exists()) {
$estandar = Estandar::where(["id" => $id, "id_user" => $id_user])->first();
$estandar->delete();
return response([
"status" => 1,
"msg" => "!Estandar eliminado",
]);
} else {
return response([
"status" => 0,
"msg" => "!No se encontro el estandar o no esta autorizado",
], 404);
}
}
}