if ($delete) { $delete->delete(); } // Create new token $create = new \Beggiatom\Api\Models\GuestToken(); $create->ip = Request::getClientIp(); $create->token = $token; $create->save(); $created_at = $create->created_at; return ['status' => true, 'token' => bcrypt(date('YmdHis')), 'code' => 200]; } else { if (Auth::once(['email' => Request::get('email'), 'password' => Request::get('password')])) { $token = bcrypt(Request::get('email') . Request::get('password') . date('YmdHis')); // Create/update token user exists in user_token try { $update = \Beggiatom\Api\Models\UserToken::findOrFail(Auth::user()->id); $update->token = $token; $update->save(); $updated_at = $update->updated_at; } catch (Exception $e) { $create = new \Beggiatom\Api\Models\UserToken(); $create->user_id = Auth::user()->id; $create->token = $token; $create->save(); $updated_at = $create->updated_at; } $updatedCopy = $updated_at->copy(); $deadline_at = $updatedCopy->addMinutes(Config::get('api.token.timeout')); return ['status' => true, 'code' => 200, 'token' => $token, 'created_at' => $updated_at->toDateTimeString(), 'deadline_at' => $deadline_at->toDateTimeString()]; } else { return ['status' => false, 'code' => 403, 'message' => 'Invalid email or password.'];