Files
tiku-backend.net/Tiku.Application/Auth/AuthContracts.cs
2026-07-26 13:12:53 +08:00

63 lines
1.4 KiB
C#

using Tiku.Domain.Tenancy;
namespace Tiku.Application.Auth;
public sealed record AuthTokenPair(
string AccessToken,
string RefreshToken,
DateTimeOffset AccessTokenExpiresAt,
DateTimeOffset RefreshTokenExpiresAt);
public sealed record TenantMembershipSummary(
Guid TenantId,
string TenantName,
TenantRole Role,
MembershipStatus Status);
public sealed record AuthenticatedUser(
Guid UserId,
string? Phone,
string? Email,
string? Name,
TenantMembershipSummary Tenant,
AuthTokenPair Tokens);
public sealed record PasswordLoginRequest(
Guid TenantId,
string Phone,
string Password,
string? IpAddress,
string? UserAgent);
public sealed record SmsLoginRequest(
Guid TenantId,
string Phone,
string Code,
string? IpAddress,
string? UserAgent);
public sealed record WechatLoginRequest(
Guid TenantId,
string Code,
string? IpAddress,
string? UserAgent);
public sealed record RefreshSessionRequest(
string RefreshToken,
string? IpAddress,
string? UserAgent);
public sealed record LogoutSessionRequest(
string RefreshToken);
public sealed record SmsSendResult(
Guid VerificationId,
DateTimeOffset ExpiresAt);
public sealed record SendSmsCodeRequest(
Guid TenantId,
string Phone,
SmsPurpose Purpose,
string? IpAddress,
string? UserAgent);