Edit File: AuthServices.php
<?php namespace App\Services; use App\Models\DelegateJoinrequest; use App\Models\Store; use App\Models\StoreTiming; use App\Models\User; use App\Traits\ApiTrait; use App\Traits\DeviceTrait; use App\Traits\GeneralTrait; use App\Traits\Uploadable; use Illuminate\Support\Str; class AuthServices { use ApiTrait, GeneralTrait, DeviceTrait, Uploadable; public function storeRegister(array $data) { $request = $data['user']; $request['remember_token'] = Str::random(10); $request['status'] = 'pending'; $request['type'] = 'store'; $request['approve'] = 'pending'; $user = User::create($request); $store_data = $data['store']; $request = $data['days']; if ($store_data['icon']) { $store_data['icon'] = $this->uploadFile($store_data['icon'], 'stores', true, 250, null); } if ($store_data['cover']) { $store_data['cover'] = $this->uploadFile($store_data['cover'], 'stores', true, 250, null); } if ($store_data['commercial_image']) { $store_data['commercial_image'] = $this->uploadFile($store_data['commercial_image'], 'stores', true, 250, null); } $store_data['name'] = [ 'ar' => $store_data['name_ar'], 'en' => $store_data['name_en'], ]; $store_data['user_id'] = $user->id; $store = Store::create($store_data); if ($store) { if (isset($request['days'])) { foreach (json_decode($request['days']) as $day) { $timing = new StoreTiming(); $timing->day = $day->days; $timing->from = $day->from; $timing->to = $day->to; $timing->store_id = $store->id; $timing->save(); } } } $result = ['user' => $user, 'store' => $store]; return $result; } public function delegateRegister(array $data) { $user = User::create($data['user']); $user->status = 'pending'; $user->approve = 'pending'; $user->type = 'delegate'; $user->update(); $user->delegateJoinRequests()->delete(); $delegate_join_request_data = $data['delegate_data']; // insert new $delegate = DelegateJoinrequest::create($delegate_join_request_data + ['user_id' => $user->id, 'phone' => $user->phone, 'personal_image' => $user->avatar, 'email' => $user->email]); $user->update(['completed_info', 'true']); $user->sendVerificationCode(); return $user; } }
Back to File Manager