$response['public_key'] = $public_key; $code = 200; } else { $response['public_key'] = "could not create or read keys"; $code = 500; Log::write("Could not create or read keys from user", $user['username']); } //get access level of user (stored in employee table) $access_level = $oUser->getAccessLevel($loginId); $response['access_level'] = $access_level; if ($access_level == NULL) { Log::write("*** access_level of user is NULL", $user['username']); } } else { // unknown error occurred $response['error'] = true; $response['message'] = "An error occurred. Possible duplicate username?"; $code = 500; Log::write("Could not get user from database", $user['username']); } } else { // user credentials are wrong $response['error'] = true; $response['message'] = 'Login failed. Incorrect credentials'; $code = 401; Log::write("Login failed. Incorrect credentials"); } //finally the response R::echoResponse($code, $response); }); });
$body = $app->request()->getBody(); $request = json_decode($body, true); $response = array(); $intervID = $request['IntervID']; $action = $request['Action']; $date_action = $request['Date_action']; $time = $request['Time']; //read user db and name from request $userdb = R::readDbFromRequest(); $by_user = R::readUsernameFromRequest(); //add work $oIntervention = new Intervention($userdb); $workId = $oIntervention->addWork($intervID, $action, $date_action, $time, $by_user); //read old total work $oldTotalWork = $oIntervention->getTotalWork($intervID); //update new total work as hours (not as minutes) $newTotalWork = $oldTotalWork + $time / 60; $InUpdated = $oIntervention->updateInterventionWork($intervID, $newTotalWork, $by_user); if ($workId != NULL & $InUpdated) { $response["error"] = false; $response["message"] = "Intervention work created"; Log::write("Intervention work with ID " . $workId . " created successfully.", $by_user); R::echoResponse(201, $response); } else { $response["error"] = true; $response["message"] = "Could not create intervention work"; Log::write("Failed to create new intervention work.", $by_user); R::echoResponse(500, $response); } }); });
/** * Read the user belonging to the incoming request and get his/her defaultDB. * * @return String $userdb */ public static function readDbFromRequest() { $app = \Slim\Slim::getInstance(); $oUser = new User(); $request = $app->request(); $public_key = $request->headers('X-PublicKey'); //get User array from sent public key $user = $oUser->getUserByPublicKey($public_key); $userdb = $oUser->setDefaultDatabase($user['LoginID']); if ($userdb != NULL) { return $userdb; } else { $response["error"] = true; $response["defaultdb"] = "Could not select database of user."; LogHelper::write("Could not select database, check if the user's DefaultDB is available.", $user['username']); RequestHelper::echoResponse(500, $response); $app->stop(); } }