@@ -3,16 +3,20 @@ import { pgTable, text, uuid } from "drizzle-orm/pg-core";
33import { createInsertSchema , createSelectSchema } from "drizzle-zod" ;
44
55import { purchaseOrdersSchema , ticketsSchema , usersSchema } from "./schema" ;
6- import { createdAndUpdatedAtFields } from "./shared" ;
6+ import {
7+ createdAndUpdatedAtFields ,
8+ TypescriptEnumAsDBEnumOptions ,
9+ } from "./shared" ;
710
8- export const userTicketsApprovalStatusEnum = [
9- "approved" ,
10- "pending" ,
11- "gifted" ,
12- "not_required" ,
13- "rejected" ,
14- "cancelled" ,
15- ] as const ;
11+ export enum UserTicketsApprovalStatusEnum {
12+ Approved = "approved" ,
13+ GiftAccepted = "gift_accepted" ,
14+ NotRequired = "not_required" ,
15+ Pending = "pending" ,
16+ Gifted = "gifted" ,
17+ Rejected = "rejected" ,
18+ Cancelled = "cancelled" ,
19+ }
1620export const userTicketsRedemptionStatusEnum = [ "redeemed" , "pending" ] as const ;
1721// USER-TICKETS-TABLE
1822export const userTicketsSchema = pgTable ( "user_tickets" , {
@@ -25,9 +29,9 @@ export const userTicketsSchema = pgTable("user_tickets", {
2529 . references ( ( ) => purchaseOrdersSchema . id )
2630 . notNull ( ) ,
2731 approvalStatus : text ( "approval_status" , {
28- enum : userTicketsApprovalStatusEnum ,
32+ enum : TypescriptEnumAsDBEnumOptions ( UserTicketsApprovalStatusEnum ) ,
2933 } )
30- . default ( "pending" )
34+ . default ( UserTicketsApprovalStatusEnum . Pending )
3135 . notNull ( ) ,
3236 redemptionStatus : text ( "redemption_status" , {
3337 enum : userTicketsRedemptionStatusEnum ,
0 commit comments