diff --git a/app/Http/Controllers/ComisionesController.php b/app/Http/Controllers/ComisionesController.php index 5b6deaa..59c2e0f 100644 --- a/app/Http/Controllers/ComisionesController.php +++ b/app/Http/Controllers/ComisionesController.php @@ -7,6 +7,7 @@ use App\Helpers\CanastaHelper; use App\Helpers\CsvHelper; use App\Helpers\PedidosExportHelper; use App\Helpers\TransporteHelper; +use App\Http\Resources\GrupoDeCompraComisionesResource; use App\Http\Resources\GrupoDeCompraResource; use App\Producto; use App\User; @@ -20,6 +21,7 @@ use League\Csv\Exception; use League\Csv\InvalidArgument; use Mpdf\MpdfException; use Symfony\Component\HttpFoundation\BinaryFileResponse; +use Symfony\Component\HttpKernel\Exception\HttpException; class ComisionesController { @@ -243,4 +245,46 @@ class ComisionesController return response()->noContent(); } + + public static function crearGrupoDeCompra(Request $request) { + $request->validate([ + 'nombre' => ['required','string','regex:/^([a-z]| )+$/i'], + 'region' => ['required','string','regex:/^([a-z]| |\d)+$/i'], + 'passBarrio' => 'required|string|alpha_num|min:3', + 'passAdmin' => 'required|string|alpha_num|min:3', + 'passOllas' => 'required|string|alpha_num|min:3', + ]); + + + if (GrupoDeCompra::where(["nombre" => $request["nombre"]])->get()->count()) + throw new HttpException(400, "Ya existe un pedido con este nombre"); + + $gdc = GrupoDeCompra::create([ + 'nombre' => $request['nombre'], + 'region' => $request['region'], + 'saldo' => 0, + ]); + User::create([ + 'grupo_de_compra_id' => $gdc->id, + 'name' => $request['nombre'], + 'password' => Hash::make($request['passBario']), + 'role_id' => UserRole::where('nombre','barrio')->first()->id, + ]); + + User::create([ + 'grupo_de_compra_id' => $gdc->id, + 'name' => $request['nombre'] . '_admin', + 'password' => Hash::make($request['passAdmin']), + 'role_id' => UserRole::where('nombre','admin_barrio')->first()->id, + ]); + + User::create([ + 'grupo_de_compra_id' => $gdc->id, + 'name' => $request['nombre'] . '_ollas', + 'password' => Hash::make($request['passOllas']), + 'role_id' => UserRole::where('nombre','ollas')->first()->id, + ]); + + return new GrupoDeCompraComisionesResource($gdc); + } }