diff options
author | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2023-02-02 22:24:56 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-02 22:24:56 +1100 |
commit | 067d2d8be8edc0f8f4492e7d02a0899f244c2dde (patch) | |
tree | 606c7569ed928a0a8f6727c32bb303211e7f64c2 /src/util | |
parent | Merge pull request from GHSA-9q7f-pv47-cxp9 (diff) | |
download | server-067d2d8be8edc0f8f4492e7d02a0899f244c2dde.tar.xz |
Merge pull request from GHSA-hqqp-gpqw-9w5c
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/entities/User.ts | 23 | ||||
-rw-r--r-- | src/util/schemas/UserModifySchema.ts | 4 | ||||
-rw-r--r-- | src/util/schemas/UserSettingsSchema.ts | 2 |
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">; |