mirror of
https://github.com/hex248/sprint.git
synced 2026-02-08 02:33:01 +00:00
User.email and implementation
This commit is contained in:
@@ -9,6 +9,7 @@ import {
|
||||
ORG_NAME_MAX_LENGTH,
|
||||
ORG_SLUG_MAX_LENGTH,
|
||||
PROJECT_NAME_MAX_LENGTH,
|
||||
USER_EMAIL_MAX_LENGTH,
|
||||
USER_NAME_MAX_LENGTH,
|
||||
USER_USERNAME_MAX_LENGTH,
|
||||
} from "./constants";
|
||||
@@ -40,6 +41,7 @@ export const RegisterRequestSchema = z.object({
|
||||
.min(1, "Username is required")
|
||||
.max(USER_USERNAME_MAX_LENGTH)
|
||||
.regex(/^[a-zA-Z0-9_-]+$/, "Username can only contain letters, numbers, underscores, and hyphens"),
|
||||
email: z.string().min(1, "Email is required").email("Invalid email address").max(USER_EMAIL_MAX_LENGTH),
|
||||
password: z
|
||||
.string()
|
||||
.min(8, "Password must be at least 8 characters")
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
export const USER_NAME_MAX_LENGTH = 64;
|
||||
export const USER_USERNAME_MAX_LENGTH = 32;
|
||||
export const USER_EMAIL_MAX_LENGTH = 256;
|
||||
|
||||
export const ORG_NAME_MAX_LENGTH = 64;
|
||||
export const ORG_DESCRIPTION_MAX_LENGTH = 1024;
|
||||
|
||||
@@ -146,6 +146,7 @@ export {
|
||||
PROJECT_DESCRIPTION_MAX_LENGTH,
|
||||
PROJECT_NAME_MAX_LENGTH,
|
||||
PROJECT_SLUG_MAX_LENGTH,
|
||||
USER_EMAIL_MAX_LENGTH,
|
||||
USER_NAME_MAX_LENGTH,
|
||||
USER_USERNAME_MAX_LENGTH,
|
||||
} from "./constants";
|
||||
|
||||
@@ -11,6 +11,7 @@ import {
|
||||
ORG_NAME_MAX_LENGTH,
|
||||
ORG_SLUG_MAX_LENGTH,
|
||||
PROJECT_NAME_MAX_LENGTH,
|
||||
USER_EMAIL_MAX_LENGTH,
|
||||
USER_NAME_MAX_LENGTH,
|
||||
USER_USERNAME_MAX_LENGTH,
|
||||
} from "./constants";
|
||||
@@ -56,6 +57,7 @@ export const User = pgTable("User", {
|
||||
id: integer().primaryKey().generatedAlwaysAsIdentity(),
|
||||
name: varchar({ length: USER_NAME_MAX_LENGTH }).notNull(),
|
||||
username: varchar({ length: USER_USERNAME_MAX_LENGTH }).notNull().unique(),
|
||||
email: varchar({ length: USER_EMAIL_MAX_LENGTH }).notNull().unique(),
|
||||
passwordHash: varchar({ length: 255 }).notNull(),
|
||||
avatarURL: varchar({ length: 512 }),
|
||||
iconPreference: varchar({ length: 10 }).notNull().default("pixel").$type<IconStyle>(),
|
||||
|
||||
Reference in New Issue
Block a user