SpaceNinjaServer/src/types/loginTypes.ts
Sainan f549b042d6 feat: ignore list (#1711)
Closes #1707

Reviewed-on: OpenWF/SpaceNinjaServer#1711
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-04-18 11:16:43 -07:00

66 lines
1.4 KiB
TypeScript

import { Types } from "mongoose";
export interface IAccountAndLoginResponseCommons {
DisplayName: string;
CountryCode: string;
ClientType: string;
CrossPlatformAllowed: boolean;
ForceLogoutVersion: number;
AmazonAuthToken?: string;
AmazonRefreshToken?: string;
ConsentNeeded: boolean;
TrackedSettings: string[];
Nonce: number;
}
export interface IDatabaseAccountRequiredFields extends IAccountAndLoginResponseCommons {
email: string;
password: string;
}
export interface IDatabaseAccount extends IDatabaseAccountRequiredFields {
Dropped?: boolean;
LatestEventMessageDate: Date;
LastLoginRewardDate: number;
LoginDays: number;
}
// Includes virtual ID
export interface IDatabaseAccountJson extends IDatabaseAccount {
id: string;
}
export interface ILoginRequest {
email: string;
password: string;
time: number;
s: string;
lang: string;
date: number;
ClientType: string;
PS: string;
kick?: boolean;
}
export interface ILoginResponse extends IAccountAndLoginResponseCommons {
id: string;
Groups: IGroup[];
BuildLabel: string;
MatchmakingBuildId: string;
platformCDNs?: string[];
NRS?: string[];
DTLS: number;
IRC: string[];
HUB?: string;
}
export interface IGroup {
experiment: string;
experimentGroup: string;
}
export interface IIgnore {
ignorer: Types.ObjectId;
ignoree: Types.ObjectId;
}