diff --git a/src/util/entities/User.ts b/src/util/entities/User.ts index ed9e3884..086580c3 100644 --- a/src/util/entities/User.ts +++ b/src/util/entities/User.ts @@ -113,67 +113,67 @@ export class User extends BaseClass { phone?: string; // phone number of the user @Column({ select: false }) - desktop: boolean = false; // if the user has desktop app installed + desktop: boolean; // if the user has desktop app installed @Column({ select: false }) - mobile: boolean = false; // if the user has mobile app installed + mobile: boolean; // if the user has mobile app installed @Column() - premium: boolean = Config.get().defaults.user.premium ?? false; // if user bought individual premium + premium: boolean; // if user bought individual premium @Column() - premium_type: number = Config.get().defaults.user.premiumType ?? 0; // individual premium level + premium_type: number; // individual premium level @Column() - bot: boolean = false; // if user is bot + bot: boolean; // if user is bot @Column() - bio: string = ""; // short description of the user (max 190 chars -> should be configurable) + bio: string; // short description of the user (max 190 chars -> should be configurable) @Column() system: boolean = false; // shouldn't be used, the api sends this field type true, if the generated message comes from a system generated author @Column({ select: false }) - nsfw_allowed: boolean = true; // if the user can do age-restricted actions (NSFW channels/guilds/commands) // TODO: depending on age + nsfw_allowed: boolean; // if the user can do age-restricted actions (NSFW channels/guilds/commands) // TODO: depending on age @Column({ select: false }) - mfa_enabled: boolean = false; // if multi factor authentication is enabled + mfa_enabled: boolean; // if multi factor authentication is enabled @Column({ select: false, nullable: true }) - totp_secret?: string = ""; + totp_secret?: string; @Column({ nullable: true, select: false }) - totp_last_ticket?: string = ""; + totp_last_ticket?: string; @Column() - created_at: Date = new Date(); // registration date + created_at: Date; // registration date @Column({ nullable: true }) premium_since: Date; // premium date @Column({ select: false }) - verified: boolean = Config.get().defaults.user.verified ?? true; // email is verified + verified: boolean; // email is verified @Column() - disabled: boolean = false; // if the account is disabled + disabled: boolean; // if the account is disabled @Column() - deleted: boolean = false; // if the user was deleted + deleted: boolean; // if the user was deleted @Column({ nullable: true, select: false }) email?: string; // email of the user @Column() - flags: string = "0"; // UserFlags // TODO: generate + flags: string; // UserFlags // TODO: generate @Column() - public_flags: number = 0; + public_flags: number; @Column() - purchased_flags: number = 0; + purchased_flags: number; @Column() - premium_usage_flags: number = 0; + premium_usage_flags: number; @Column({ type: "bigint" }) rights: string; @@ -363,6 +363,7 @@ export class User extends BaseClass { locale: language, }); + // Rory - 2023-01-19 - Move defaults to create function const user = User.create({ username: username, discriminator, @@ -378,6 +379,30 @@ export class User extends BaseClass { : undefined, settings: settings, rights: Config.get().register.defaultRights, + premium: Config.get().defaults.user.premium ?? false, + premium_type: + Config.get().defaults.user.premiumType ?? + Config.get().defaults.user.premium + ? 2 + : 0 ?? 0, + verified: Config.get().defaults.user.verified ?? true, + + //statics + system: false, + nsfw_allowed: true, + totp_secret: "", + totp_last_ticket: "", + bio: "", + bot: false, + desktop: false, + mobile: false, + created_at: new Date(), + disabled: false, + deleted: false, + flags: "0", + public_flags: 0, + purchased_flags: 0, + premium_usage_flags: 0, }); user.validate();