1- import { pgTable , text , timestamp } from "drizzle-orm/pg-core" ;
1+ import { pgTable , text , timestamp , varchar } from "drizzle-orm/pg-core" ;
2+ import { TEXT_LIMITS } from "../constants/resource-limits.js" ;
23import { user } from "./user.schema.js" ;
34
45export const organization = pgTable ( "organization" , {
56 id : text ( "id" ) . primaryKey ( ) ,
6- name : text ( "name" ) . notNull ( ) ,
7- slug : text ( "slug" ) . unique ( ) ,
8- logo : text ( "logo" ) ,
7+ name : varchar ( "name" , { length : TEXT_LIMITS . NAME } ) . notNull ( ) ,
8+ slug : varchar ( "slug" , { length : TEXT_LIMITS . SLUG } ) . unique ( ) ,
9+ logo : varchar ( "logo" , { length : TEXT_LIMITS . URL } ) ,
910 createdAt : timestamp ( "created_at" ) . notNull ( ) ,
10- metadata : text ( "metadata" ) ,
11+ metadata : varchar ( "metadata" , { length : TEXT_LIMITS . URL } ) ,
1112} ) ;
1213
1314export const member = pgTable ( "member" , {
@@ -18,7 +19,9 @@ export const member = pgTable("member", {
1819 userId : text ( "user_id" )
1920 . notNull ( )
2021 . references ( ( ) => user . id , { onDelete : "cascade" } ) ,
21- role : text ( "role" ) . default ( "member" ) . notNull ( ) ,
22+ role : varchar ( "role" , { length : TEXT_LIMITS . STATUS } )
23+ . default ( "member" )
24+ . notNull ( ) ,
2225 createdAt : timestamp ( "created_at" ) . notNull ( ) ,
2326} ) ;
2427
@@ -27,9 +30,11 @@ export const invitation = pgTable("invitation", {
2730 organizationId : text ( "organization_id" )
2831 . notNull ( )
2932 . references ( ( ) => organization . id , { onDelete : "cascade" } ) ,
30- email : text ( "email" ) . notNull ( ) ,
31- role : text ( "role" ) ,
32- status : text ( "status" ) . default ( "pending" ) . notNull ( ) ,
33+ email : varchar ( "email" , { length : TEXT_LIMITS . EMAIL } ) . notNull ( ) ,
34+ role : varchar ( "role" , { length : TEXT_LIMITS . STATUS } ) ,
35+ status : varchar ( "status" , { length : TEXT_LIMITS . STATUS } )
36+ . default ( "pending" )
37+ . notNull ( ) ,
3338 expiresAt : timestamp ( "expires_at" ) . notNull ( ) ,
3439 inviterId : text ( "inviter_id" )
3540 . notNull ( )
0 commit comments