Отформатировать списки параметров по код-стайлу
Больше двух параметров — каждый на отдельной строке (закрывающая скобка в конце последнего); два и меньше — в одну строку. Правило добавлено в docs/spec/Код-стайл-Дейл.md; применено к 628 сигнатурам в 253 файлах.
This commit is contained in:
@@ -35,7 +35,10 @@ public sealed class AnalyticsService(
|
||||
/// <param name="to">Конец периода (включительно; null — без границы).</param>
|
||||
/// <param name="ct">Токен отмены.</param>
|
||||
/// <returns>Сводка аналитики.</returns>
|
||||
public async Task<AnalyticsOverviewDto> OverviewAsync(DateTimeOffset? from, DateTimeOffset? to, CancellationToken ct)
|
||||
public async Task<AnalyticsOverviewDto> OverviewAsync(
|
||||
DateTimeOffset? from,
|
||||
DateTimeOffset? to,
|
||||
CancellationToken ct)
|
||||
{
|
||||
IReadOnlyList<TenantRecordDto> allTenants = await tenants.ListAsync(ct);
|
||||
int active = allTenants.Count(tenant => tenant.Status == TenantStatuses.Active);
|
||||
@@ -82,7 +85,11 @@ public sealed class AnalyticsService(
|
||||
/// <param name="ct">Токен отмены.</param>
|
||||
/// <returns>Строки агрегатов и итог.</returns>
|
||||
public async Task<AnalyticsTokensDto> TokensAsync(
|
||||
string groupBy, Guid? tenantId, DateTimeOffset? from, DateTimeOffset? to, CancellationToken ct)
|
||||
string groupBy,
|
||||
Guid? tenantId,
|
||||
DateTimeOffset? from,
|
||||
DateTimeOffset? to,
|
||||
CancellationToken ct)
|
||||
{
|
||||
IReadOnlyList<TokenUsageAggregateDto> items = await tokenUsage.AggregateAsync(
|
||||
new TokenUsageEventQueryDto(tenantId, null, null, null, from, to, groupBy), ct);
|
||||
@@ -146,7 +153,10 @@ public sealed class AnalyticsService(
|
||||
// ct: Токен отмены.
|
||||
// Возвращает: Сумма по типам событий.
|
||||
private async Task<int> CountEventTypesAsync(
|
||||
DateTimeOffset? from, DateTimeOffset? to, string[] eventTypes, CancellationToken ct)
|
||||
DateTimeOffset? from,
|
||||
DateTimeOffset? to,
|
||||
string[] eventTypes,
|
||||
CancellationToken ct)
|
||||
{
|
||||
int total = 0;
|
||||
foreach (string eventType in eventTypes)
|
||||
|
||||
@@ -54,7 +54,10 @@ public sealed class AuthService(
|
||||
/// заблокированный вход приостановленного тенанта (<see cref="LoginResultDto.ErrorTenantSuspended"/>,
|
||||
/// UserId/TenantId заполнены) от «неверные учётные данные» (Error null, UserId/TenantId пусты).
|
||||
/// </returns>
|
||||
public async Task<LoginResultDto> LoginAsync(string login, string password, CancellationToken ct)
|
||||
public async Task<LoginResultDto> LoginAsync(
|
||||
string login,
|
||||
string password,
|
||||
CancellationToken ct)
|
||||
{
|
||||
var normalizedLogin = NormalizeLogin(login);
|
||||
if (string.IsNullOrEmpty(normalizedLogin) || string.IsNullOrEmpty(password))
|
||||
@@ -293,7 +296,11 @@ public sealed class AuthService(
|
||||
// login: Логин пользователя.
|
||||
// tenantId: Тенант пользователя.
|
||||
// Возвращает: ImpersonationResultDto с Ok=true.
|
||||
private ImpersonationResultDto Success(string rawToken, Guid userId, string login, Guid tenantId) =>
|
||||
private ImpersonationResultDto Success(
|
||||
string rawToken,
|
||||
Guid userId,
|
||||
string login,
|
||||
Guid tenantId) =>
|
||||
new(
|
||||
Ok: true,
|
||||
Error: null,
|
||||
|
||||
@@ -44,7 +44,10 @@ public sealed partial class InvitesService(IInviteStore inviteStore)
|
||||
/// <param name="ct">Токен отмены.</param>
|
||||
/// <returns>Ok=true + созданное приглашение, либо код ошибки (текст — HTTP-слой).</returns>
|
||||
public async Task<InviteCreateResultDto> CreateInviteAsync(
|
||||
Guid operatorId, string? email, Guid? tenantId, CancellationToken ct)
|
||||
Guid operatorId,
|
||||
string? email,
|
||||
Guid? tenantId,
|
||||
CancellationToken ct)
|
||||
{
|
||||
string normalizedEmail = NormalizeEmail(email);
|
||||
if (!IsValidEmail(normalizedEmail))
|
||||
|
||||
@@ -32,7 +32,10 @@ public sealed class OperatorAuthService(IOperatorAuthStore operatorAuthStore, IP
|
||||
/// <param name="password">Пароль в открытом виде.</param>
|
||||
/// <param name="ct">Токен отмены.</param>
|
||||
/// <returns>При успехе — Login и Token; иначе оба null (текст «Неверный логин или пароль оператора» фиксирует endpoint).</returns>
|
||||
public async Task<OperatorLoginResultDto> LoginAsync(string login, string password, CancellationToken ct)
|
||||
public async Task<OperatorLoginResultDto> LoginAsync(
|
||||
string login,
|
||||
string password,
|
||||
CancellationToken ct)
|
||||
{
|
||||
var normalizedLogin = NormalizeLogin(login);
|
||||
if (string.IsNullOrEmpty(normalizedLogin) || string.IsNullOrEmpty(password))
|
||||
|
||||
@@ -122,7 +122,10 @@ public sealed class SuspiciousActivityService
|
||||
/// <param name="to">Конец окна (включительно); null — «сейчас».</param>
|
||||
/// <param name="ct">Токен отмены.</param>
|
||||
/// <returns>Сводка: окно, число разобранных записей, признак усечения и список находок.</returns>
|
||||
public async Task<SuspiciousActivityDto> AnalyzeAsync(DateTimeOffset? from, DateTimeOffset? to, CancellationToken ct)
|
||||
public async Task<SuspiciousActivityDto> AnalyzeAsync(
|
||||
DateTimeOffset? from,
|
||||
DateTimeOffset? to,
|
||||
CancellationToken ct)
|
||||
{
|
||||
DateTimeOffset windowTo = to ?? _clock();
|
||||
DateTimeOffset windowFrom = from ?? windowTo.AddHours(-DefaultWindowHours);
|
||||
|
||||
@@ -41,7 +41,10 @@ public sealed class TenantAdminService(
|
||||
/// Ok=true — тенант создан (Tenant); при email дополнительно OwnerUserId/OwnerLogin/InitialPassword.
|
||||
/// Ok=false — код ошибки (имя пусто, email невалиден/уже зарегистрирован); текст — HTTP-слой.
|
||||
/// </returns>
|
||||
public async Task<TenantCreateResultDto> CreateAsync(string? name, string? email, CancellationToken ct)
|
||||
public async Task<TenantCreateResultDto> CreateAsync(
|
||||
string? name,
|
||||
string? email,
|
||||
CancellationToken ct)
|
||||
{
|
||||
string tenantName = name?.Trim() ?? string.Empty;
|
||||
if (string.IsNullOrEmpty(tenantName))
|
||||
@@ -142,7 +145,10 @@ public sealed class TenantAdminService(
|
||||
/// <param name="status">Новый статус — константа <c>TenantStatuses</c>.</param>
|
||||
/// <param name="ct">Токен отмены.</param>
|
||||
/// <returns>Результат: тенант не найден (404) или применение с признаком реального изменения (Changed).</returns>
|
||||
public async Task<TenantStatusChangeResultDto> ChangeStatusAsync(Guid id, string status, CancellationToken ct)
|
||||
public async Task<TenantStatusChangeResultDto> ChangeStatusAsync(
|
||||
Guid id,
|
||||
string status,
|
||||
CancellationToken ct)
|
||||
{
|
||||
var tenant = await tenantRepository.FindByIdAsync(id, ct);
|
||||
if (tenant is null)
|
||||
|
||||
@@ -28,7 +28,10 @@ public sealed class TenantService(ITenantRepository tenantRepository, ITenantPro
|
||||
/// <param name="id">Идентификатор тенанта (определяет имя схемы).</param>
|
||||
/// <param name="ct">Токен отмены.</param>
|
||||
/// <returns>Идентификатор созданного тенанта (он же имя схемы tenant_<id>).</returns>
|
||||
public async Task<TenantId> CreateTenantAsync(string name, Guid id, CancellationToken ct)
|
||||
public async Task<TenantId> CreateTenantAsync(
|
||||
string name,
|
||||
Guid id,
|
||||
CancellationToken ct)
|
||||
{
|
||||
await tenantRepository.CreateAsync(
|
||||
new TenantRecordDto(
|
||||
|
||||
@@ -25,7 +25,10 @@ public sealed class TokenBudgetService
|
||||
/// <param name="period">Тип периода (<see cref="TenantLimitPeriods"/>; любое иное значение трактуется как месяц).</param>
|
||||
/// <param name="now">Текущий момент (UTC).</param>
|
||||
/// <returns>True — пора обнулить счётчик и сдвинуть PeriodStart на now.</returns>
|
||||
public bool IsPeriodExpired(DateTimeOffset periodStart, string period, DateTimeOffset now)
|
||||
public bool IsPeriodExpired(
|
||||
DateTimeOffset periodStart,
|
||||
string period,
|
||||
DateTimeOffset now)
|
||||
{
|
||||
DateTimeOffset periodEnd = period == TenantLimitPeriods.Day
|
||||
? periodStart.AddDays(1)
|
||||
|
||||
Reference in New Issue
Block a user