Файловый менеджер - Редактировать - /home/clickysoft/public_html/app/Http/Controllers/ApiController.php
Назад
<?php namespace App\Http\Controllers; use App\Http\Requests\OrganizationSignupRequest; use App\Models\Currency; use App\Models\Organization; use App\Models\User; use App\Models\Role; use App\Models\Permission; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; use Illuminate\Support\Facades\Validator; use App\Http\Requests\ForgotPasswordRequest; use App\Http\Requests\ResetPasswordRequest; use App\Notifications\ForgotPasswordNotification; use Illuminate\Auth\Events\Registered; use Carbon\Carbon; use DB; class ApiController extends Controller { public function login(Request $request) { $credentials = $request->only('email', 'password'); //Validate credential $validator = Validator::make($credentials, [ 'email' => 'required|email', 'password' => 'required' ]); //Send failed response if request is not valid if ($validator->fails()) { return response()->json(['error' => $validator->messages()], 200); } if (!auth()->attempt($credentials)) { return response()->json([ 'message' => 'The given data was invalid.', 'errors' => [ 'password' => [ 'Invalid credentials' ], ] ], 422); } $user = User::where('email', $request->email)->first(); if ($user->organization->status == 0) { return response()->json([ 'message' => 'Organization disabled.', 'errors' => [ 'email' => [ 'Your organization is disabled, please contact administrator.' ], ] ], 422); } if ($user->status == 0) { return response()->json([ 'message' => 'Account disabled.', 'errors' => [ 'email' => [ 'Your account is disabled, please contact administrator.' ], ] ], 422); } $isVerifiedEmail = $user->hasVerifiedEmail(); if (!$isVerifiedEmail) { return response()->json([ 'message' => 'Email not verified.', 'errors' => [ 'email' => [ 'Please verify your email address.' ], ] ], 422); } $authToken = $user->createToken('auth-token')->plainTextToken; return response()->json([ 'user' => [ "id" => $user->id, "first_name" => $user->first_name, "last_name" => $user->last_name, 'full_name' => $user->full_name, "email" => $user->email, "contact_number" => $user->contact_number, "organization" => [ "id" => $user->organization->id, "name" => $user->organization->name, ], "email_verified" => $isVerifiedEmail, ], 'access_token' => $authToken, ], Response::HTTP_OK); } public function organizationSignup(OrganizationSignupRequest $request) { try { DB::beginTransaction(); $organization = Organization::create([ 'name' => $request->organization_name, 'email' => $request->organization_email, 'contact_number' => $request->organization_contact_number, 'address_line_1' => $request->organization_address_line1, 'address_line_2' => $request->organization_address_line2, 'date_expiration' => Carbon::now()->addYear()->format(config('panel.date_format')), 'status' => 1, ]); if ($request->file('logo')) { $organization->addMediaFromRequest('logo')->toMediaCollection('logo', 'organization'); } $user = User::create([ 'first_name' => $request->user_first_name, 'last_name' => $request->user_last_name, 'email' => $request->user_email, 'password' => $request->user_password, 'status' => 1, 'organization_id' => $organization->id, ]); $role = Role::create([ 'title' => 'Admin', 'organization_id' => $organization->id, ]); $permissions = Permission::all()->pluck("id"); $role->permissions()->attach($permissions); $user->roles()->attach($role->id); Currency::insert([ [ 'code' => 'USD', 'name' => 'US Dollar', 'symbol' => '$', 'organization_id' => $organization->id, 'created_at' => now(), ], [ 'code' => 'PKR', 'name' => 'Pakistan Rupee', 'symbol' => 'Rs.', 'organization_id' => $organization->id, 'created_at' => now(), ] ]); $authToken = $user->createToken('auth-token')->plainTextToken; try { event(new Registered($user)); } catch (\Exception $e) { \Log::info($e->getMessage()); } DB::commit(); return response()->json([ 'message' => 'Organization has been created.', 'user' => [ "id" => $user->id, "first_name" => $user->first_name, "last_name" => $user->last_name, 'full_name' => $user->full_name, "email" => $user->email, "contact_number" => $user->contact_number, "organization" => [ "id" => $organization->id, "name" => $organization->name, ], "email_verified" => $user->hasVerifiedEmail(), ], 'access_token' => $authToken, ], Response::HTTP_CREATED); } catch (\Exception $e) { DB::rollBack(); \Log::info($e->getMessage()); return response()->json([ 'message' => 'Something went wrong.', ], Response::HTTP_INTERNAL_SERVER_ERROR); } } public function logout(Request $request) { $request->user()->tokens()->delete(); return response()->json(['success' => true, "message" => "User has been logged out successfully."]); } public function forgot_password(ForgotPasswordRequest $request) { $resetCode = substr(number_format(time() * rand(), 0, '', ''), 0, 6); $user = User::whereEmail($request->input("email"))->first(); $user->password_reset_code = $resetCode; $user->save(); try { $user->notify(new ForgotPasswordNotification($resetCode)); } catch (\Exception $e) { \Log::info($e->getMessage()); } return response()->json(['success' => true, "message" => "A password reset code has been sent to your email address."]); } public function reset_password(ResetPasswordRequest $request) { $user = User::whereEmail($request->input("email")) ->wherePasswordResetCode($request->input("password_reset_code")) ->first(); if (empty($user)) { return response()->json([ "message" => "The given data was invalid.", "errors" => ["password_reset_code" => ["The password reset code is invalid or user does not exists."]] ], 422); } $user->password = \Hash::make($request->input("password")); $user->password_reset_code = null; $user->save(); return response()->json(['success' => true, "message" => "Password has been changed successfully."]); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка