28 lines
1.8 KiB
C#
28 lines
1.8 KiB
C#
namespace MiaoJiZhang.Api.Contracts;
|
|
|
|
// ---- Auth(当前仅用户名密码;快捷登录接口预留不实现)----
|
|
public record RegisterRequest(string Username, string Password, bool AgreedToTerms = false);
|
|
public record LoginRequest(string Username, string Password);
|
|
public record AuthResponse(long UserId, string Username, string Token, DateTime ExpiresAt, bool AccountClosureCancelled = false);
|
|
|
|
// ---- Onboarding ----
|
|
public record OnboardingRequest(string AppMode, string AvatarKey, string PersonaKey, string? CustomName);
|
|
public record SwitchModeRequest(string AppMode);
|
|
public record UpdateCompanionRequest(string? AvatarKey, string? PersonaKey, string? CustomName, int? RoastLevel, int? StickerFrequency, int? ProactiveLevel);
|
|
|
|
// ---- User profile ----
|
|
public record AiCompanionDto(string AvatarKey, string PersonaKey, string? CustomName, int RoastLevel, int StickerFrequency, int ProactiveLevel);
|
|
public record UserPermissionsDto(bool Ai);
|
|
public record AiChatQuotaDto(int Limit, int Used, int Remaining, string Period, DateTime ResetAt);
|
|
public record UserProfileResponse(long UserId, string Username, string? Nickname, string AppMode, AiCompanionDto? AiCompanion, bool OnboardingDone, UserPermissionsDto Permissions, AiChatQuotaDto AiChatQuota);
|
|
public record UpdateProfileRequest(string? Nickname);
|
|
public record ChangePasswordRequest(string CurrentPassword, string NewPassword);
|
|
public record DeleteAccountRequest(string Password, string? ConfirmationText = null);
|
|
public record AccountClosureResponse(DateTime RequestedAt, DateTime ScheduledAt);
|
|
public record UpdateUserPermissionsRequest(bool Ai);
|
|
public record UpdateAiChatQuotaRequest(int Limit, string Period, bool ResetUsage = false);
|
|
|
|
// ---- 通用 ----
|
|
public record ApiError(string Code, string Message);
|
|
|