/** * Delete user's account * * @param string $username username of a user * @param Slim $app * @return string */ public static function delete($username, Slim $app) { $app->response->headers->set('Content-Type', 'application/json'); try { $user = User::where('username', $username); } catch (RecordNotFoundException $e) { $app->halt(404, json_encode(['message' => 'Not Found'])); } if (is_object($user)) { $fields = $app->request->isPut() ? $app->request->put() : $app->request->patch(); if (md5($fields['password']) == $user->getRecord()['dbData']['password']) { $check = User::destroy($user->getRecord()['dbData']['id']); if ($check === 1) { return json_encode(['message' => 'Account Deleted']); } else { $app->halt(304); } } else { $app->halt(401); } } else { $app->halt(503); } }