agregacion de la tabla actas, controllers, rutas, modelo y migracion
This commit is contained in:
parent
df30926bdb
commit
c6687c3971
150
app/Http/Controllers/Api/ActaController.php
Normal file
150
app/Http/Controllers/Api/ActaController.php
Normal file
@ -0,0 +1,150 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Acta;
|
||||
use Dotenv\Validator;
|
||||
|
||||
class ActaController extends Controller
|
||||
{
|
||||
|
||||
public function create(Request $request)
|
||||
{
|
||||
$request = Validator::make($request->all(), [
|
||||
'titulo' => 'required',
|
||||
'fecha' => 'required',
|
||||
'id_estandar' => 'required|exists:estandars,id',
|
||||
'file' => 'required',
|
||||
]);
|
||||
|
||||
if ($request->fails()) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'Se necesita llenar todos los campos',
|
||||
'data' => $request->errors()
|
||||
], 400);
|
||||
}
|
||||
|
||||
$user = auth()->user();
|
||||
if (!($user->isAdmin() or $user->isEncargadoEstandar($request->id_estandar))) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'No tienes permisos para crear una acta',
|
||||
], 401);
|
||||
}
|
||||
$acta = new Acta();
|
||||
$acta->titulo = $request->titulo;
|
||||
$acta->fecha = $request->fecha;
|
||||
$acta->id_estandar = $request->id_estandar;
|
||||
$acta->file = $request->file;
|
||||
$acta->save();
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'message' => 'Acta creada',
|
||||
'data' => $acta
|
||||
], 200);
|
||||
}
|
||||
|
||||
public function showActa($id)
|
||||
{
|
||||
$acta = Acta::find($id);
|
||||
if ($acta) {
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'message' => 'Acta encontrada',
|
||||
'data' => $acta
|
||||
], 200);
|
||||
} else {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'Acta no encontrada',
|
||||
'data' => ''
|
||||
], 404);
|
||||
}
|
||||
}
|
||||
|
||||
public function listActas()
|
||||
{
|
||||
$actas = Acta::all();
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'message' => 'Actas encontradas',
|
||||
'data' => $actas
|
||||
], 200);
|
||||
}
|
||||
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$request = Validator::make($request->all(), [
|
||||
'titulo' => 'present',
|
||||
'fecha' => 'present',
|
||||
'id_estandar' => 'present|exists:estandars,id',
|
||||
'file' => 'present',
|
||||
]);
|
||||
|
||||
$acta = Acta::find($id);
|
||||
if (!$acta) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'Acta no encontrada',
|
||||
], 404);
|
||||
}
|
||||
|
||||
|
||||
if ($request->fails()) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'Se produjo un error al actualizar la acta',
|
||||
'data' => $request->errors()
|
||||
], 400);
|
||||
}
|
||||
|
||||
$user = auth()->user();
|
||||
if (!($user->isAdmin() or $user->isEncargadoEstandar($request->id_estandar))) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'No tienes permisos para actualizar una acta',
|
||||
], 401);
|
||||
}
|
||||
|
||||
$acta->titulo = isset($request->titulo) ? $request->titulo : $acta->titulo;
|
||||
$acta->fecha = isset($request->fecha) ? $request->fecha : $acta->fecha;
|
||||
$acta->id_estandar = isset($request->id_estandar) ? $request->id_estandar : $acta->id_estandar;
|
||||
$acta->file = isset($request->file) ? $request->file : $acta->file;
|
||||
$acta->save();
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'message' => 'Acta actualizada',
|
||||
'data' => $acta
|
||||
], 200);
|
||||
}
|
||||
|
||||
public function delete($id)
|
||||
{
|
||||
$acta = Acta::find($id);
|
||||
if (!$acta) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'Acta no encontrada',
|
||||
'data' => ''
|
||||
], 404);
|
||||
}
|
||||
|
||||
$user = auth()->user();
|
||||
if (!($user->isAdmin() or $user->isEncargadoEstandar($acta->id_estandar))) {
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'message' => 'No tienes permisos para eliminar una acta',
|
||||
], 401);
|
||||
}
|
||||
|
||||
$acta->delete();
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'message' => 'Acta eliminada',
|
||||
], 200);
|
||||
}
|
||||
}
|
24
app/Models/Acta.php
Normal file
24
app/Models/Acta.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Acta extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
public $timestamps = true;
|
||||
|
||||
protected $table = 'actas';
|
||||
protected $fillable = [
|
||||
'titulo',
|
||||
'fecha',
|
||||
'file',
|
||||
];
|
||||
|
||||
public function estandar()
|
||||
{
|
||||
return $this->belongsTo(Estandar::class, 'id_estandar');
|
||||
}
|
||||
}
|
38
database/migrations/2022_12_11_224806_create_actas_table.php
Normal file
38
database/migrations/2022_12_11_224806_create_actas_table.php
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('actas', function (Blueprint $table) {
|
||||
|
||||
|
||||
$table->id();
|
||||
$table->date('fecha');
|
||||
$table->string('titulo', 255);
|
||||
$table->foreignId('id_estandar')
|
||||
->constrained('estandars');
|
||||
$table->string('file', 255);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('actas');
|
||||
}
|
||||
};
|
@ -122,6 +122,13 @@
|
||||
Route::delete('narrativa/{id}', [NarrativasController::class, 'delete'])->where('id', '[0-9]+');
|
||||
Route::get('narrativa', [NarrativasController::class, 'listNarrativas']);
|
||||
Route::get('narrativa/ultima/{id}', [NarrativasController::class, 'ultimaNarrativa'])->where('id', '[0-9]+');
|
||||
|
||||
//ruta Actas
|
||||
Route::post('acta', [ActaController::class, 'create']);
|
||||
Route::get('acta/{id}', [ActaController::class, 'showActa'])->where('id', '[0-9]+');
|
||||
Route::put('acta/{id}', [ActaController::class, 'update'])->where('id', '[0-9]+');
|
||||
Route::delete('acta/{id}', [ActaController::class, 'delete'])->where('id', '[0-9]+');
|
||||
Route::get('acta', [ActaController::class, 'listActas']);
|
||||
});
|
||||
|
||||
/*Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
|
||||
|
Loading…
Reference in New Issue
Block a user