Add password reset functionality for admin users: implement ResetPassword endpoint, update AdminUserEndpoints to include password reset logic, and enhance user interface for password management. Update translations for new features and ensure proper error handling in the reset process.
This commit is contained in:
@@ -19,13 +19,36 @@ public sealed record PlannerHourWindow(int StartHour, int EndHour)
|
||||
public bool Contains(int hour) => hour >= StartHour && hour < EndHour;
|
||||
}
|
||||
|
||||
/// <summary>Override в терминах планировщика: окно + режим + шоу с весами.</summary>
|
||||
/// <summary>
|
||||
/// Override в терминах планировщика: режим + шоу с весами + правило действия (разовое окно либо
|
||||
/// еженедельно по дню недели на окне минут суток UTC).
|
||||
/// </summary>
|
||||
public sealed record PlannerOverride(
|
||||
DateTimeOffset StartsAtUtc,
|
||||
DateTimeOffset EndsAtUtc,
|
||||
OverrideMode Mode,
|
||||
IReadOnlyList<PlannerOverrideShow> Shows
|
||||
);
|
||||
IReadOnlyList<PlannerOverrideShow> Shows,
|
||||
OverrideRecurrence Recurrence = OverrideRecurrence.OneTime,
|
||||
DateTimeOffset? StartsAtUtc = null,
|
||||
DateTimeOffset? EndsAtUtc = null,
|
||||
int? DayOfWeek = null,
|
||||
int? StartMinute = null,
|
||||
int? EndMinute = null
|
||||
)
|
||||
{
|
||||
/// <summary>Действует ли override в этот момент.</summary>
|
||||
public bool Covers(DateTimeOffset moment)
|
||||
{
|
||||
if (Recurrence == OverrideRecurrence.Weekly)
|
||||
{
|
||||
var utc = moment.UtcDateTime;
|
||||
var minuteOfDay = utc.Hour * 60 + utc.Minute;
|
||||
return (int)utc.DayOfWeek == DayOfWeek
|
||||
&& minuteOfDay >= StartMinute
|
||||
&& minuteOfDay < EndMinute;
|
||||
}
|
||||
|
||||
return moment >= StartsAtUtc && moment < EndsAtUtc;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed record PlannerOverrideShow(Guid ShowId, int Weight);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user