Почистить комментарии от упоминаний процесса
Удалены <remarks>, <summary> сжаты до короткой фразы, вырезаны ссылки на Task/Ruling/этап/python/прототип; //-комментарии со ссылками на процесс удалены; то же в .proto. Правила обновлены в docs/spec/Код-стайл-Дейл.md. Строк комментариев 27210 -> ~19100.
This commit is contained in:
@@ -5,17 +5,8 @@ using Deal.Modules.Tenants.Application.Services;
|
||||
namespace Deal.Api.Endpoints;
|
||||
|
||||
/// <summary>
|
||||
/// Публичный эндпоинт активации инвайта: POST /api/join (Ruling 2/11 этапа 7).
|
||||
/// Публичный эндпоинт активации инвайта
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Ручка не требует сессии (публичная; фронт её не вызывает — API-only, curl/будущий UI). Тело
|
||||
/// {code, email, name?, password} → JoinService: валидация кода/email/пароля, CAS-резервирование инвайта,
|
||||
/// создание тенанта (при пустом TenantId — с провижинингом схемы) и пользователя. Кука НЕ ставится: после
|
||||
/// активации клиент входит обычным /api/auth/login (план Task 6). Успех — {ok:true, login}; ошибки — 400
|
||||
/// {detail} с фиксированным текстом причины (все отказы активации — 400, включая истёкший инвайт: слой
|
||||
/// эндпоинта, см. Task 6; Ruling 2 называет это «410-семантикой» — ресурс больше недоступен). Результат
|
||||
/// пишется в аудит — invite_joined (актор — новый пользователь тенанта, детали email+codeHash).
|
||||
/// </remarks>
|
||||
public static class JoinEndpoint
|
||||
{
|
||||
// Путь ручки (вне группы /api/operator — публичная).
|
||||
@@ -27,7 +18,6 @@ public static class JoinEndpoint
|
||||
// Текст 400: приглашение с таким кодом не найдено.
|
||||
private const string InviteNotFoundDetail = "Приглашение не найдено";
|
||||
|
||||
// Текст 400: срок действия приглашения истёк (план Task 6, Ruling 2).
|
||||
private const string InviteExpiredDetail = "Срок действия приглашения истёк";
|
||||
|
||||
// Текст 400: приглашение уже активировано (повторная активация тем же кодом).
|
||||
@@ -36,13 +26,10 @@ public static class JoinEndpoint
|
||||
// Текст 400: приглашение отозвано оператором.
|
||||
private const string InviteRevokedDetail = "Приглашение отозвано";
|
||||
|
||||
// Текст 400: email запроса не совпадает с email приглашения (Ruling 2).
|
||||
private const string EmailMismatchDetail = "Email не совпадает с приглашением";
|
||||
|
||||
// Текст 400: пользователь с таким email уже зарегистрирован (users.login unique, Ruling 2).
|
||||
private const string EmailTakenDetail = "Этот email уже зарегистрирован";
|
||||
|
||||
// Текст 400: пароль короче минимума (текст как в AuthEndpoints, план Task 6).
|
||||
private const string PasswordTooShortDetail = "Пароль слишком короткий (минимум 8 символов)";
|
||||
|
||||
// Текст 400: целевой тенант инвайта не существует (Security review).
|
||||
@@ -62,7 +49,6 @@ public static class JoinEndpoint
|
||||
return app;
|
||||
}
|
||||
|
||||
// POST /api/join: активация инвайта; успех пишется в аудит (invite_activated, Task 6/Ruling 4).
|
||||
private static async Task<IResult> JoinAsync(
|
||||
JoinRequest body,
|
||||
JoinService joinService,
|
||||
|
||||
Reference in New Issue
Block a user