Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
WIKIPEDIA
/
amparoapi
/
app
/
Http
/
Controllers
:
MerchantController.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace App\Http\Controllers; use App\Models\Merchant; use App\Models\Operator; use App\Models\Store; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use Ramsey\Uuid\Uuid; class MerchantController extends Controller { public function saveMerchant(Request $request) { $this->validate($request, [ 'merchant_name' => 'required', 'merchant_phone' => 'required', 'merchant_email' => 'required', 'merchant_company_name' => 'required', 'merchant_company_mobile' => 'required', // 'merchant_company_email' => 'required', 'merchant_address' => 'required', 'merchant_nuit' => 'required', 'merchant_nib' => 'required' ]); Merchant::create([ 'merchant_name' => $request->merchant_name, 'merchant_email' => $request->merchant_email, 'merchant_phone' => $request->merchant_phone, 'merchant_address' => $request->merchant_address, 'merchant_nuit' => $request->merchant_nuit, 'merchant_nib' => $request->merchant_nib, 'merchant_company_name' => $request->merchant_company_name, 'merchant_company_logo' => $request->merchant_company_logo, 'merchant_company_nuit' => $request->merchant_company_nuit, 'merchant_company_phone' => $request->merchant_company_phone, 'merchant_company_mobile' => $request->merchant_company_mobile, // 'merchant_company_email' => $request->merchant_company_email, 'user_id' => $request->user()->id ]); return response()->json(['message' => 'Cadastrado com Sucesso'], 200); } public function updateMerchant(Request $request){ $this->validate($request, [ 'id' => 'required' ]); $merchant = Merchant::query()->where('id', $request->id)->first(); $merchant->update([ 'merchant_name' => $request->merchant_name, 'merchant_email' => $request->merchant_email, 'merchant_phone' => $request->merchant_phone, 'merchant_address' => $request->merchant_address, 'merchant_nuit' => $request->merchant_nuit, 'merchant_nib' => $request->merchant_nib, 'merchant_company_name' => $request->merchant_company_name, // 'merchant_company_email' => $request->merchant_company_email, 'merchant_company_logo' => $request->merchant_company_logo, 'merchant_company_nuit' => $request->merchant_company_nuit, 'merchant_company_phone' => $request->merchant_company_phone, 'merchant_company_mobile' => $request->merchant_company_mobile, ]); return response()->json(['message' => 'Actualizado com Sucesso'], 200); } public function addStore(Request $request) { $this->validate($request, [ 'store_name' => 'required', 'store_address' => 'required', 'manager' => 'required', 'manager_phone_number' => 'required', 'store_mobile_phone' => 'required', 'email' => 'required', 'merchant_id' => 'required' ]); Store::create([ 'store_name' => $request->store_name, 'store_address' => $request->store_address, 'manager' => $request->manager, 'manager_phone_number' => $request->manager_phone_number, 'store_mobile_phone' => $request->store_mobile_phone, 'email' => $request->email, 'store_public_id' => Uuid::uuid4(), 'password' => Hash::make('12345678'), 'merchant_id' => $request->merchant_id, 'user_id' => $request->user()->id ]); return response()->json(['message' => 'Cadastrado com Sucesso'], 200); } public function updateStore(Request $request) { $this->validate($request, [ 'id' => 'required' ]); $store = Store::query()->where('id', $request->id)->first(); $store->update([ 'store_name' => $request->store_name, 'store_address' => $request->store_address, 'manager' => $request->manager, 'manager_phone_number' => $request->manager_phone_number, 'store_mobile_phone' => $request->store_mobile_phone, 'email' => $request->email, 'password' => Hash::make('12345678'), 'merchant_id' => $request->merchant_id ]); return response()->json(['message' => 'Actualizado com Sucesso'], 200); } public function addOperator(Request $request) { $this->validate($request, [ 'name' => 'required', 'last_name' => 'required', 'email' => 'required', 'phone' => 'required', 'store_id' => 'required' ]); Operator::create([ 'name' => $request->name, 'last_name' => $request->last_name, 'email' => $request->email, 'phone' => $request->phone, 'password' => Hash::make('12345678'), 'pin' => Hash::make('1234'), 'store_id' => $request->store_id, 'user_id' => $request->user()->id ]); return response()->json(['message' => 'Operador(a) ' . $request->name . ' Adicionado com Sucesso.'], 200); } public function updateOperator(Request $request) { $this->validate($request, [ 'id' => 'required', ]); $store = Operator::query()->where('id', $request->id)->first(); $store->update([ 'name' => $request->name, 'last_name' => $request->last_name, 'email' => $request->email, 'phone' => $request->phone, 'password' => Hash::make('12345678'), 'pin' => Hash::make('1234'), 'store_id' => $request->store_id ]); return response()->json(['message' => 'Actualizado com Sucesso'], 200); } public function disableOrActiveOperator($id) { $user = Operator::find($id); if ($user) { if ($user->status == 'activo') { $user->update(['status' => 'inactivo']); return response()->json(['message' => 'Operador bloqueado com Sucesso']); } else { $user->update(['status' => 'activo']); return response()->json(['message' => 'Operador activado com Sucesso']); } } else { return response()->json(['message' => 'Operador não encontrado'], 400); } } public function deleteOperator($id) { $user = Operator::find($id); if ($user) { $user->delete(); return response()->json(['message' => 'Operador Removido com Sucesso']); } else { return response()->json(['message' => 'Operador não encontrado'], 400); } } public function deleteStore($id) { $user = Store::find($id); if ($user) { $user->delete(); return response()->json(['message' => 'Store Removido com Sucesso']); } else { return response()->json(['message' => 'Store não encontrado'], 400); } } public function getStores() { $data = Store::query() ->orderBy('store_name', 'asc') ->get(); return response()->json(['data' => $data], 200); } public function getOperators() { $data = Operator::query() ->orderBy('name', 'asc') ->get(); return response()->json(['data' => $data], 200); } public function getMerchants() { $data = Merchant::query() ->orderBy('merchant_name', 'asc') ->get(); return response()->json(['data' => $data], 200); } }