From f60a60618a78991ba54fbf7900ce930e8434efc1 Mon Sep 17 00:00:00 2001 From: William Oldham Date: Sat, 29 Aug 2026 17:39:06 +0100 Subject: [PATCH] chore(errors): change password error naming and add additional errors --- server/api/auth/register.post.ts | 10 +++++----- shared/errors.ts | 14 ++++++++++---- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/server/api/auth/register.post.ts b/server/api/auth/register.post.ts index b62b6a6..c6061ec 100644 --- a/server/api/auth/register.post.ts +++ b/server/api/auth/register.post.ts @@ -21,11 +21,11 @@ const errors: Record = { 'INVALID_ARGUMENT: Two or more punctuation characters cannot be used in a row': 'USERNAME_INVALID_CHARS', 'INVALID_ARGUMENT: PNID already in use': 'USERNAME_IN_USE', 'INVALID_ARGUMENT: Mii name too long': 'MIINAME_TOO_LONG', - 'INVALID_ARGUMENT: Password must be between 6 and 16 characters long': 'INVALID_PASSWORD_INPUT', - 'INVALID_ARGUMENT: Password cannot be the same as username': 'INVALID_PASSWORD_INPUT', - 'INVALID_ARGUMENT: Password must have combination of letters, numbers, and/or punctuation characters': 'INVALID_PASSWORD_INPUT', - 'INVALID_ARGUMENT: Password may not have 3 repeating characters': 'INVALID_PASSWORD_INPUT', - 'INVALID_ARGUMENT: Passwords do not match': 'INVALID_PASSWORD_NO_MATCH' + 'INVALID_ARGUMENT: Password must be between 6 and 16 characters long': 'PASSWORD_INVALID_LENGTH', + 'INVALID_ARGUMENT: Password cannot be the same as username': 'PASSWORD_NOT_USERNAME', + 'INVALID_ARGUMENT: Password must have combination of letters, numbers, and/or punctuation characters': 'PASSWORD_NEEDS_CHARS', + 'INVALID_ARGUMENT: Password may not have 3 repeating characters': 'PASSWORD_REPEATED_CHARS', + 'INVALID_ARGUMENT: Passwords do not match': 'PASSWORDS_DO_NOT_MATCH' }; function getCutoffDateForAge(today: Date, age: number) { diff --git a/shared/errors.ts b/shared/errors.ts index bd83c98..47bb7cd 100644 --- a/shared/errors.ts +++ b/shared/errors.ts @@ -16,8 +16,11 @@ const apiErrorCodes = { USERNAME_INVALID_CHARS: 'Username contains invalid characters', USERNAME_IN_USE: 'PNID already in use', MIINAME_TOO_LONG: 'Mii name too long', - INVALID_PASSWORD_INPUT: 'Password must be between 6 and 16 characters long', - INVALID_PASSWORD_NO_MATCH: 'Passwords do not match', + PASSWORD_INVALID_LENGTH: 'Password must be between 6 and 16 characters long', + PASSWORD_NOT_USERNAME: 'Password cannot be the same as your username', + PASSWORD_NEEDS_CHARS: 'Password must have combination of letters, numbers, and/or punctuation characters', + PASSWORDS_DO_NOT_MATCH: 'Passwords do not match', + PASSWORD_REPEATED_CHARS: 'Password may not have 3 repeating characters', ACCOUNT_DELETED: 'Account has been deleted', INVALID_ACCESS_LEVEL: 'Invalid access level', BANNED: 'Account is banned', @@ -45,8 +48,11 @@ export const apiErrorCodeStatus: Record = { UNDER_THIRTEEN: 400, ACCOUNT_DELETED: 400, INVALID_EMAIL: 400, - INVALID_PASSWORD_INPUT: 400, - INVALID_PASSWORD_NO_MATCH: 400, + PASSWORD_INVALID_LENGTH: 400, + PASSWORD_NOT_USERNAME: 400, + PASSWORD_NEEDS_CHARS: 400, + PASSWORDS_DO_NOT_MATCH: 400, + PASSWORD_REPEATED_CHARS: 400, MIINAME_TOO_LONG: 400, USERNAME_IN_USE: 400, USERNAME_INVALID_CHARS: 400,