refractor(auth): removed password from everywhere
This commit is contained in:
@@ -33,19 +33,6 @@ std::optional<visione::auth::UserContext> requireUser(
|
||||
return user;
|
||||
}
|
||||
|
||||
bool blockPasswordChangeRequired(
|
||||
const visione::auth::UserContext &user,
|
||||
std::function<void(const HttpResponsePtr &)> &callback)
|
||||
{
|
||||
if (!visione::auth::mustChangePassword(user))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
callback(visione::http::error("password_change_required",
|
||||
drogon::k403Forbidden));
|
||||
return true;
|
||||
}
|
||||
|
||||
void sendAdmin(Json::Value body,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
@@ -86,7 +73,7 @@ void AdminController::createCategory(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -100,7 +87,7 @@ void AdminController::createArea(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -114,7 +101,7 @@ void AdminController::createTeam(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -129,7 +116,7 @@ void AdminController::updateCategory(
|
||||
long long categoryId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -144,7 +131,7 @@ void AdminController::deleteCategory(
|
||||
long long categoryId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -158,7 +145,7 @@ void AdminController::updateArea(
|
||||
long long areaId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -173,7 +160,7 @@ void AdminController::deleteArea(
|
||||
long long areaId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -187,7 +174,7 @@ void AdminController::updateTeam(
|
||||
long long teamId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -202,7 +189,7 @@ void AdminController::deleteTeam(
|
||||
long long teamId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -215,7 +202,7 @@ void AdminController::overviewStats(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -228,7 +215,7 @@ void AdminController::listModeration(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -246,7 +233,7 @@ void AdminController::updateModeration(
|
||||
long long flagId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -260,7 +247,7 @@ void AdminController::listUsers(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -274,7 +261,7 @@ void AdminController::updateUserRoles(
|
||||
long long userId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -289,7 +276,7 @@ void AdminController::updateUserBan(
|
||||
long long userId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -66,43 +66,6 @@ void AuthController::verifyOtp(
|
||||
serviceResponse(service.verifyOtp(body), std::move(callback));
|
||||
}
|
||||
|
||||
void AuthController::loginWithPassword(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
const auto body = visione::http::requireJson(req);
|
||||
if (body.isNull())
|
||||
{
|
||||
callback(visione::http::error("invalid_json", drogon::k400BadRequest));
|
||||
return;
|
||||
}
|
||||
|
||||
visione::services::AuthService service;
|
||||
serviceResponse(service.loginWithPassword(body), std::move(callback));
|
||||
}
|
||||
|
||||
void AuthController::changePassword(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
const auto user = visione::auth::authenticate(req);
|
||||
if (!user)
|
||||
{
|
||||
callback(visione::http::error("unauthorized", drogon::k401Unauthorized));
|
||||
return;
|
||||
}
|
||||
|
||||
const auto body = visione::http::requireJson(req);
|
||||
if (body.isNull())
|
||||
{
|
||||
callback(visione::http::error("invalid_json", drogon::k400BadRequest));
|
||||
return;
|
||||
}
|
||||
|
||||
visione::services::AuthService service;
|
||||
serviceResponse(service.changePassword(*user, body), std::move(callback));
|
||||
}
|
||||
|
||||
void AuthController::me(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
|
||||
@@ -15,12 +15,6 @@ class AuthController : public drogon::HttpController<AuthController>
|
||||
ADD_METHOD_TO(AuthController::verifyOtp,
|
||||
"/api/v1/auth/otp/verify",
|
||||
drogon::Post);
|
||||
ADD_METHOD_TO(AuthController::loginWithPassword,
|
||||
"/api/v1/auth/login/password",
|
||||
drogon::Post);
|
||||
ADD_METHOD_TO(AuthController::changePassword,
|
||||
"/api/v1/auth/change-password",
|
||||
drogon::Post);
|
||||
ADD_METHOD_TO(AuthController::me, "/api/v1/me", drogon::Get);
|
||||
ADD_METHOD_TO(AuthController::editUser, "/api/v1/me", drogon::Patch);
|
||||
METHOD_LIST_END
|
||||
@@ -34,12 +28,6 @@ class AuthController : public drogon::HttpController<AuthController>
|
||||
void verifyOtp(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
||||
void loginWithPassword(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
||||
void changePassword(
|
||||
const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
||||
void me(const drogon::HttpRequestPtr &req,
|
||||
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
|
||||
void editUser(const drogon::HttpRequestPtr &req,
|
||||
|
||||
@@ -36,19 +36,6 @@ std::optional<visione::auth::UserContext> requireUser(
|
||||
return user;
|
||||
}
|
||||
|
||||
bool blockPasswordChangeRequired(
|
||||
const visione::auth::UserContext &user,
|
||||
std::function<void(const HttpResponsePtr &)> &callback)
|
||||
{
|
||||
if (!visione::auth::mustChangePassword(user))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
callback(visione::http::error("password_change_required",
|
||||
drogon::k403Forbidden));
|
||||
return true;
|
||||
}
|
||||
|
||||
void sendService(Json::Value body,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
@@ -119,7 +106,7 @@ void ReportController::create(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -139,7 +126,7 @@ void ReportController::list(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -157,7 +144,7 @@ void ReportController::listCategories(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -170,7 +157,7 @@ void ReportController::listTeams(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -183,7 +170,7 @@ void ReportController::assignedReports(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -199,7 +186,7 @@ void ReportController::openReports(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -215,7 +202,7 @@ void ReportController::otherOperatorReports(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -232,7 +219,7 @@ void ReportController::detail(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -246,7 +233,7 @@ void ReportController::interventionSummary(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -260,7 +247,7 @@ void ReportController::teamSuggestions(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -274,7 +261,7 @@ void ReportController::createInterventionLink(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -288,7 +275,7 @@ void ReportController::revokeInterventionLink(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -302,7 +289,7 @@ void ReportController::updateStatus(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -317,7 +304,7 @@ void ReportController::takeReport(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -331,7 +318,7 @@ void ReportController::addMessage(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -346,7 +333,7 @@ void ReportController::listMessages(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -361,7 +348,7 @@ void ReportController::flagMessage(
|
||||
long long messageId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -377,7 +364,7 @@ void ReportController::assignTeam(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -392,7 +379,7 @@ void ReportController::addFeedback(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -407,7 +394,7 @@ void ReportController::flagReport(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -422,7 +409,7 @@ void ReportController::uploadMedia(
|
||||
long long reportId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -32,19 +32,6 @@ std::optional<visione::auth::UserContext> requireUser(
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
||||
bool blockPasswordChangeRequired(
|
||||
const visione::auth::UserContext &user,
|
||||
std::function<void(const HttpResponsePtr &)> &callback)
|
||||
{
|
||||
if (!visione::auth::mustChangePassword(user))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
callback(visione::http::error("password_change_required",
|
||||
drogon::k403Forbidden));
|
||||
return true;
|
||||
}
|
||||
} // namespace
|
||||
|
||||
void UserController::listNotifications(
|
||||
@@ -52,7 +39,7 @@ void UserController::listNotifications(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -68,7 +55,7 @@ void UserController::markNotificationRead(
|
||||
long long notificationId)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -84,7 +71,7 @@ void UserController::markAllNotificationsRead(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -97,7 +84,7 @@ void UserController::rewards(
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
auto user = requireUser(req, callback);
|
||||
if (!user || blockPasswordChangeRequired(*user, callback))
|
||||
if (!user)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user