summary refs log tree commit diff
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/entities/User.ts23
-rw-r--r--src/util/schemas/UserModifySchema.ts4
-rw-r--r--src/util/schemas/UserSettingsSchema.ts2
3 files changed, 13 insertions, 16 deletions
diff --git a/src/util/entities/User.ts b/src/util/entities/User.ts

index fa8c7aa7..7b67c2ac 100644 --- a/src/util/entities/User.ts +++ b/src/util/entities/User.ts
@@ -246,27 +246,20 @@ export class User extends BaseClass { if (this.discriminator) { const discrim = Number(this.discriminator); - if (this.discriminator.length > 4) - throw FieldErrors({ - discriminator: { - message: "Discriminator cannot be more than 4 digits.", - code: "DISCRIMINATOR_INVALID", - }, - }); - if (isNaN(discrim)) - throw FieldErrors({ - discriminator: { - message: "Discriminator must be a number.", - code: "DISCRIMINATOR_INVALID", - }, - }); - if (discrim <= 0 || discrim >= 10000) + if ( + isNaN(discrim) || + !(typeof discrim == "number") || + !Number.isInteger(discrim) || + discrim <= 0 || + discrim >= 10000 + ) throw FieldErrors({ discriminator: { message: "Discriminator must be a number.", code: "DISCRIMINATOR_INVALID", }, }); + this.discriminator = discrim.toString().padStart(4, "0"); } } diff --git a/src/util/schemas/UserModifySchema.ts b/src/util/schemas/UserModifySchema.ts
index 2316477e..7851ec22 100644 --- a/src/util/schemas/UserModifySchema.ts +++ b/src/util/schemas/UserModifySchema.ts
@@ -33,5 +33,9 @@ export interface UserModifySchema { new_password?: string; code?: string; email?: string; + /** + * @minLength 4 + * @maxLength 4 + */ discriminator?: string; } diff --git a/src/util/schemas/UserSettingsSchema.ts b/src/util/schemas/UserSettingsSchema.ts
index 5a590b02..f315892e 100644 --- a/src/util/schemas/UserSettingsSchema.ts +++ b/src/util/schemas/UserSettingsSchema.ts
@@ -18,4 +18,4 @@ import { UserSettings } from "@fosscord/util"; -export type UserSettingsSchema = Partial<UserSettings>; +export type UserSettingsSchema = Omit<Partial<UserSettings>, "index">;