@livdot-tech/contracts 1.10.16 → 1.10.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/auth/index.js +1 -1
  2. package/dist/auth/index.mjs +1 -1
  3. package/dist/booking/index.d.mts +219 -1
  4. package/dist/booking/index.d.ts +219 -1
  5. package/dist/booking/index.js +1 -1
  6. package/dist/booking/index.mjs +1 -1
  7. package/dist/chat/index.js +1 -1
  8. package/dist/chat/index.mjs +1 -1
  9. package/dist/chunk-32M7XMQN.js +2 -0
  10. package/dist/chunk-32M7XMQN.js.map +1 -0
  11. package/dist/chunk-3DN3XCL3.js +2 -0
  12. package/dist/chunk-3DN3XCL3.js.map +1 -0
  13. package/dist/{chunk-N72ONAXT.js → chunk-7BWECLAF.js} +2 -2
  14. package/dist/{chunk-N72ONAXT.js.map → chunk-7BWECLAF.js.map} +1 -1
  15. package/dist/{chunk-PIL6YB5R.mjs → chunk-E3YC5RU5.mjs} +2 -2
  16. package/dist/{chunk-PIL6YB5R.mjs.map → chunk-E3YC5RU5.mjs.map} +1 -1
  17. package/dist/{chunk-ZAMU3CRH.js → chunk-H277725H.js} +2 -2
  18. package/dist/{chunk-ZAMU3CRH.js.map → chunk-H277725H.js.map} +1 -1
  19. package/dist/chunk-H3ELUNNV.mjs +2 -0
  20. package/dist/chunk-H3ELUNNV.mjs.map +1 -0
  21. package/dist/{chunk-OD5Y55T4.js → chunk-I6UZ2TZL.js} +2 -2
  22. package/dist/{chunk-OD5Y55T4.js.map → chunk-I6UZ2TZL.js.map} +1 -1
  23. package/dist/{chunk-QINVXHGM.mjs → chunk-IR4E7GOJ.mjs} +2 -2
  24. package/dist/{chunk-QINVXHGM.mjs.map → chunk-IR4E7GOJ.mjs.map} +1 -1
  25. package/dist/chunk-J4BOJ37X.mjs +2 -0
  26. package/dist/chunk-J4BOJ37X.mjs.map +1 -0
  27. package/dist/{chunk-NISKHDVO.mjs → chunk-JGK6ENB3.mjs} +2 -2
  28. package/dist/{chunk-NISKHDVO.mjs.map → chunk-JGK6ENB3.mjs.map} +1 -1
  29. package/dist/chunk-KUUTVCGE.mjs +2 -0
  30. package/dist/chunk-KUUTVCGE.mjs.map +1 -0
  31. package/dist/{chunk-MTB7722H.js → chunk-ORDM2W6R.js} +2 -2
  32. package/dist/chunk-ORDM2W6R.js.map +1 -0
  33. package/dist/{chunk-2EWNFPTC.mjs → chunk-PAUYI2FU.mjs} +2 -2
  34. package/dist/chunk-PAUYI2FU.mjs.map +1 -0
  35. package/dist/{chunk-JZUWF6Y3.mjs → chunk-QG45YPMB.mjs} +2 -2
  36. package/dist/{chunk-JZUWF6Y3.mjs.map → chunk-QG45YPMB.mjs.map} +1 -1
  37. package/dist/{chunk-STSCLCJ3.js → chunk-SQAKUQIU.js} +2 -2
  38. package/dist/chunk-SQAKUQIU.js.map +1 -0
  39. package/dist/chunk-SZNCSPCB.js +2 -0
  40. package/dist/chunk-SZNCSPCB.js.map +1 -0
  41. package/dist/{chunk-ETCUSAFU.mjs → chunk-UFD4QDMB.mjs} +2 -2
  42. package/dist/chunk-UFD4QDMB.mjs.map +1 -0
  43. package/dist/{chunk-RJDU6MHM.js → chunk-UFQCZR62.js} +2 -2
  44. package/dist/{chunk-RJDU6MHM.js.map → chunk-UFQCZR62.js.map} +1 -1
  45. package/dist/chunk-UIIFE5UT.mjs +2 -0
  46. package/dist/chunk-UIIFE5UT.mjs.map +1 -0
  47. package/dist/chunk-WR3AQ6HR.js +2 -0
  48. package/dist/chunk-WR3AQ6HR.js.map +1 -0
  49. package/dist/{chunk-URL5LS2K.js → chunk-X6XWQGGL.js} +2 -2
  50. package/dist/{chunk-URL5LS2K.js.map → chunk-X6XWQGGL.js.map} +1 -1
  51. package/dist/{chunk-CWFO44TY.mjs → chunk-ZNOAOGKM.mjs} +2 -2
  52. package/dist/{chunk-CWFO44TY.mjs.map → chunk-ZNOAOGKM.mjs.map} +1 -1
  53. package/dist/common/index.d.mts +10 -0
  54. package/dist/common/index.d.ts +10 -0
  55. package/dist/common/index.js +1 -1
  56. package/dist/common/index.mjs +1 -1
  57. package/dist/dispute/index.js +1 -1
  58. package/dist/dispute/index.mjs +1 -1
  59. package/dist/errors/index.d.mts +4 -0
  60. package/dist/errors/index.d.ts +4 -0
  61. package/dist/errors/index.js +1 -1
  62. package/dist/errors/index.mjs +1 -1
  63. package/dist/event/index.d.mts +1 -1
  64. package/dist/event/index.d.ts +1 -1
  65. package/dist/event/index.js +1 -1
  66. package/dist/event/index.mjs +1 -1
  67. package/dist/host/index.d.mts +32 -0
  68. package/dist/host/index.d.ts +32 -0
  69. package/dist/host/index.js +1 -1
  70. package/dist/host/index.mjs +1 -1
  71. package/dist/index.d.mts +1 -1
  72. package/dist/index.d.ts +1 -1
  73. package/dist/index.js +1 -1
  74. package/dist/index.mjs +1 -1
  75. package/dist/marketplace/index.js +1 -1
  76. package/dist/marketplace/index.mjs +1 -1
  77. package/dist/notification/index.d.mts +6 -0
  78. package/dist/notification/index.d.ts +6 -0
  79. package/dist/notification/index.js +1 -1
  80. package/dist/notification/index.mjs +1 -1
  81. package/dist/payment/index.d.mts +1 -1
  82. package/dist/payment/index.d.ts +1 -1
  83. package/dist/payment/index.js +1 -1
  84. package/dist/payment/index.mjs +1 -1
  85. package/dist/user/index.js +1 -1
  86. package/dist/user/index.mjs +1 -1
  87. package/package.json +1 -1
  88. package/dist/chunk-2EWNFPTC.mjs.map +0 -1
  89. package/dist/chunk-2OB7TIGX.js +0 -2
  90. package/dist/chunk-2OB7TIGX.js.map +0 -1
  91. package/dist/chunk-A5232F5G.mjs +0 -2
  92. package/dist/chunk-A5232F5G.mjs.map +0 -1
  93. package/dist/chunk-ETCUSAFU.mjs.map +0 -1
  94. package/dist/chunk-F6ZZKXYK.js +0 -2
  95. package/dist/chunk-F6ZZKXYK.js.map +0 -1
  96. package/dist/chunk-GESZYAWR.js +0 -2
  97. package/dist/chunk-GESZYAWR.js.map +0 -1
  98. package/dist/chunk-MIIMVEK7.mjs +0 -2
  99. package/dist/chunk-MIIMVEK7.mjs.map +0 -1
  100. package/dist/chunk-MTB7722H.js.map +0 -1
  101. package/dist/chunk-Q3M4WNEW.mjs +0 -2
  102. package/dist/chunk-Q3M4WNEW.mjs.map +0 -1
  103. package/dist/chunk-QQUSZFET.mjs +0 -2
  104. package/dist/chunk-QQUSZFET.mjs.map +0 -1
  105. package/dist/chunk-STSCLCJ3.js.map +0 -1
  106. package/dist/chunk-ZSRRIYKT.js +0 -2
  107. package/dist/chunk-ZSRRIYKT.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import {b,f as f$1,a,e,c,g as g$1}from'./chunk-JWVW5AP2.mjs';import {a as a$1}from'./chunk-ASVBPXYH.mjs';import {h as h$1,g,k as k$1,b as b$1}from'./chunk-PAUYI2FU.mjs';import {z as z$1}from'zod';var U=[b.REJECTED,b.CANCELLED,b.CLOSED],k=[...U,b.IN_DISPUTE],$={[b.REQUESTED]:[b.AWAITING_PRODUCER_RESPONSE,b.CANCELLED],[b.AWAITING_PRODUCER_RESPONSE]:[b.IN_NEGOTIATION,b.ACCEPTED,b.REJECTED,b.CANCELLED],[b.IN_NEGOTIATION]:[b.ACCEPTED,b.REJECTED,b.CANCELLED],[b.ACCEPTED]:[b.AWAITING_ESCROW_FUNDING,b.CANCELLED],[b.AWAITING_ESCROW_FUNDING]:[b.CONFIRMED,b.CANCELLED],[b.CONFIRMED]:[b.IN_PROGRESS,b.AWAITING_PRODUCER_RECONFIRM],[b.AWAITING_PRODUCER_RECONFIRM]:[b.CONFIRMED,b.CANCELLED],[b.IN_PROGRESS]:[b.SERVICE_COMPLETED,b.CANCELLED],[b.SERVICE_COMPLETED]:[b.CLOSED],[b.IN_DISPUTE]:[b.CLOSED],[b.REJECTED]:[],[b.CANCELLED]:[],[b.CLOSED]:[]},q={[`${b.REQUESTED}->${b.AWAITING_PRODUCER_RESPONSE}`]:[f$1.HOST,f$1.SYSTEM],[`${b.REQUESTED}->${b.CANCELLED}`]:[f$1.HOST],[`${b.AWAITING_PRODUCER_RESPONSE}->${b.IN_NEGOTIATION}`]:[f$1.PRODUCER],[`${b.AWAITING_PRODUCER_RESPONSE}->${b.ACCEPTED}`]:[f$1.PRODUCER],[`${b.AWAITING_PRODUCER_RESPONSE}->${b.REJECTED}`]:[f$1.PRODUCER],[`${b.AWAITING_PRODUCER_RESPONSE}->${b.CANCELLED}`]:[f$1.HOST,f$1.PRODUCER],[`${b.IN_NEGOTIATION}->${b.ACCEPTED}`]:[f$1.HOST,f$1.PRODUCER],[`${b.IN_NEGOTIATION}->${b.REJECTED}`]:[f$1.HOST,f$1.PRODUCER],[`${b.IN_NEGOTIATION}->${b.CANCELLED}`]:[f$1.HOST,f$1.PRODUCER],[`${b.ACCEPTED}->${b.AWAITING_ESCROW_FUNDING}`]:[f$1.HOST,f$1.SYSTEM],[`${b.ACCEPTED}->${b.CANCELLED}`]:[f$1.HOST,f$1.PRODUCER],[`${b.AWAITING_ESCROW_FUNDING}->${b.CONFIRMED}`]:[f$1.SYSTEM,f$1.ADMIN],[`${b.AWAITING_ESCROW_FUNDING}->${b.CANCELLED}`]:[f$1.HOST,f$1.ADMIN],[`${b.CONFIRMED}->${b.IN_PROGRESS}`]:[f$1.HOST,f$1.PRODUCER,f$1.ADMIN],[`${b.CONFIRMED}->${b.AWAITING_PRODUCER_RECONFIRM}`]:[f$1.HOST,f$1.SYSTEM,f$1.ADMIN],[`${b.AWAITING_PRODUCER_RECONFIRM}->${b.CONFIRMED}`]:[f$1.PRODUCER,f$1.ADMIN],[`${b.AWAITING_PRODUCER_RECONFIRM}->${b.CANCELLED}`]:[f$1.HOST,f$1.PRODUCER,f$1.ADMIN],[`${b.IN_PROGRESS}->${b.SERVICE_COMPLETED}`]:[f$1.PRODUCER,f$1.SYSTEM,f$1.ADMIN],[`${b.IN_PROGRESS}->${b.CANCELLED}`]:[f$1.HOST,f$1.ADMIN],[`${b.SERVICE_COMPLETED}->${b.CLOSED}`]:[f$1.HOST,f$1.ADMIN,f$1.SYSTEM],[`${b.IN_DISPUTE}->${b.CLOSED}`]:[f$1.ADMIN,f$1.HOST]},H=[b.REJECTED,b.CANCELLED,b.IN_DISPUTE];function w(r,a){return `${r}->${a}`}function W(r){let a=$[r]??[];return k.includes(r)?a:[...a,b.IN_DISPUTE]}function de(r,a){return W(r).includes(a)}function F(r,a){return a===b.IN_DISPUTE&&!k.includes(r)?[f$1.HOST,f$1.PRODUCER]:q[w(r,a)]??[]}function pe(r,a,b){return F(r,a).includes(b)}function ge(r,a){return H.includes(a)}var Se=z$1.object({origin:z$1.enum(a),eventId:z$1.uuid().optional(),producerId:z$1.uuid(),agreedAmount:z$1.number().min(0)}),Re=z$1.object({escrowReference:z$1.string()}),Te=z$1.object({id:z$1.uuid(),eventId:z$1.uuid().optional(),hostId:z$1.uuid(),producerId:z$1.uuid(),quotedPrice:z$1.number(),currency:z$1.string(),scopeOfWork:z$1.record(z$1.string(),z$1.any()).optional(),requiredStartAt:z$1.iso.datetime(),requiredEndAt:z$1.iso.datetime(),bookingState:z$1.enum(b),paymentStatus:z$1.enum(e),escrowReference:z$1.string().optional(),completedAt:z$1.iso.datetime().optional(),hostRating:z$1.number().optional(),hostReview:z$1.string().optional(),producerRating:z$1.number().optional(),producerReview:z$1.string().optional(),createdAt:z$1.iso.datetime(),updatedAt:z$1.iso.datetime()}),Ae=z$1.object({title:z$1.string().max(255),description:z$1.string(),requiredDate:z$1.iso.datetime(),estimatedDurationMinutes:z$1.number().int().positive().optional(),location:z$1.string(),budgetRangeMin:z$1.number().optional(),budgetRangeMax:z$1.number().optional()}),Ce=z$1.object({id:z$1.uuid(),hostProfileId:z$1.uuid(),eventId:z$1.uuid().optional(),title:z$1.string(),description:z$1.string(),requiredDate:z$1.iso.datetime(),estimatedDurationMinutes:z$1.number().int().nullable().optional(),location:z$1.string(),budgetRangeMin:z$1.number().optional(),budgetRangeMax:z$1.number().optional(),state:z$1.enum(c),proposalCount:z$1.number(),createdAt:z$1.iso.datetime()});var d={ONSITE:"ONSITE",REMOTE:"REMOTE"},f={LOW:"LOW",MID:"MID",HIGH:"HIGH"};var M=z$1.record(z$1.string(),z$1.unknown()),fe=z$1.object({producerId:z$1.uuid(),origin:z$1.enum(a),eventId:z$1.uuid().optional(),jobListingId:z$1.uuid().optional(),sourceIoiId:z$1.uuid().optional(),agreedAmount:z$1.coerce.number().nonnegative().optional(),scopeOfWork:z$1.string().max(5e3).optional()}).superRefine((r,a$1)=>{r.origin===a.EVENT_DIRECT&&!r.eventId&&a$1.addIssue({code:"custom",message:"eventId is required when origin is EVENT_DIRECT",path:["eventId"]}),r.origin===a.MARKETPLACE_DIRECT&&(r.eventId&&a$1.addIssue({code:"custom",message:"eventId must not be set when origin is MARKETPLACE_DIRECT",path:["eventId"]}),r.sourceIoiId&&a$1.addIssue({code:"custom",message:"sourceIoiId must not be set when origin is MARKETPLACE_DIRECT",path:["sourceIoiId"]})),r.origin===a.JOB_LISTING&&(r.sourceIoiId||a$1.addIssue({code:"custom",message:"sourceIoiId is required when origin is JOB_LISTING",path:["sourceIoiId"]}),r.eventId&&a$1.addIssue({code:"custom",message:"eventId must not be set when origin is JOB_LISTING",path:["eventId"]})),r.sourceIoiId&&r.origin!==a.JOB_LISTING&&a$1.addIssue({code:"custom",message:"sourceIoiId is only allowed when origin is JOB_LISTING",path:["sourceIoiId"]});}),C=z$1.object({id:z$1.uuid(),eventId:z$1.uuid().nullable(),eventLinked:z$1.boolean(),hostProfileId:z$1.uuid(),producerProfileId:z$1.uuid(),origin:z$1.enum(a),jobListingId:z$1.uuid().nullable(),sourceIoiId:z$1.uuid().nullable(),state:z$1.enum(b),agreedAmount:h$1.nullable(),scopeOfWork:z$1.string().nullable(),createdAt:z$1.string(),updatedAt:z$1.string()}),Me=z$1.object({bookingId:z$1.uuid(),booking:C}),K=z$1.string().trim().min(5).max(500),Pe=z$1.object({targetState:z$1.enum(b),reason:K.optional()}).superRefine((r,a)=>{(r.targetState===b.REJECTED||r.targetState===b.CANCELLED||r.targetState===b.IN_DISPUTE)&&r.reason===void 0&&a.addIssue({code:"custom",message:"reason is required for this transition",path:["reason"]});}),ye=z$1.object({booking:C}),ve=z$1.object({notes:z$1.string().max(2e3).optional()}),_e=z$1.object({notes:z$1.string().max(2e3).optional()}),Be=z$1.object({booking:C,hostAcked:z$1.boolean(),producerAcked:z$1.boolean(),completed:z$1.boolean(),forced:z$1.boolean().optional()}),V=(r,a)=>{if(r.eventId)return;r.eventTitle?.trim()||r.title?.trim()||a.addIssue({code:"custom",message:"eventTitle is required when eventId is not provided",path:["eventTitle"]});},D=z$1.object({eventTitle:z$1.string().min(1).max(200).optional(),title:z$1.string().min(1).max(200).optional(),description:z$1.string().min(1).max(5e3),responsibilities:z$1.string().min(1),requirements:z$1.string().min(1),role:z$1.string().min(1).max(120),requiredCount:z$1.coerce.number().int().min(1),requiredDate:z$1.iso.datetime().optional(),estimatedDurationMinutes:z$1.coerce.number().int().positive().optional(),location:z$1.enum(d),notes:z$1.string().max(2e3).optional(),compensation:z$1.coerce.number().nonnegative().optional(),attachments:M.optional(),eventId:z$1.uuid().optional()}),z=D.superRefine(V),Q=z$1.object({eventTitle:z$1.string().min(1).max(200).optional(),title:z$1.string().min(1).max(200).optional(),description:z$1.string().min(1).max(5e3),responsibilities:z$1.string().min(1),requirements:z$1.string().min(1),role:z$1.string().min(1).max(120),requiredCount:z$1.coerce.number().int().min(1),location:z$1.enum(d),eventId:z$1.uuid().optional()}),Y=Q,je=D.partial().extend({saveAsDraft:z$1.boolean().optional().default(false)}).superRefine((r,a)=>{if(r.saveAsDraft)return;let b=z.safeParse(r);b.success||a.addIssue({code:"custom",message:b.error.issues.map(J=>J.message).join("; ")});}),Ge=D.partial(),Je=z$1.object({...g.shape,location:z$1.enum(d).optional(),search:z$1.string().trim().min(2).max(100).optional(),roles:z$1.string().trim().min(1).max(500).optional(),requiredDateFrom:z$1.string().optional(),requiredDateTo:z$1.string().optional(),minCompensation:z$1.coerce.number().int().min(0).optional(),maxCompensation:z$1.coerce.number().int().min(0).optional(),compensationTier:z$1.enum(f).optional(),matchMyAvailability:z$1.enum(["true","false"]).optional().transform(r=>r==="true")}),Ue=z$1.object({...g.shape,state:z$1.enum(c).optional(),search:z$1.string().trim().min(2).max(100).optional()}),$e=Y.superRefine((r,a)=>{if(r.eventId)return;r.eventTitle?.trim()||r.title?.trim()||a.addIssue({code:"custom",message:"eventTitle is required for standalone job listings",path:["eventTitle"]});}),qe=z$1.object({id:z$1.uuid(),state:z$1.literal("OPEN")}),He=z$1.object({id:z$1.uuid(),hostProfileId:z$1.uuid(),eventId:z$1.uuid().nullable(),title:z$1.string(),eventTitle:z$1.string().nullable(),notes:z$1.string().nullable(),description:z$1.string(),responsibilities:z$1.string(),requirements:z$1.string(),role:z$1.string(),requiredCount:z$1.number().int().min(1),requiredDate:z$1.string().nullable(),estimatedDurationMinutes:z$1.number().int().nullable(),location:z$1.enum(d),compensation:h$1.nullable(),attachments:z$1.unknown().nullable(),state:z$1.enum(c),proposalCount:z$1.number().int(),cancelledAt:z$1.string().nullable(),cancelledReason:z$1.string().nullable(),createdAt:z$1.string(),updatedAt:z$1.string()}),we=z$1.object({reason:z$1.string().trim().min(5).max(500).optional()}),We=z$1.object({id:z$1.uuid(),state:z$1.literal("CANCELLED"),cancelledAt:z$1.iso.datetime().nullable()}),Fe=z$1.object({id:z$1.uuid(),state:z$1.literal(c.SUSPENDED)}),Ke=z$1.object({id:z$1.uuid(),state:z$1.literal(c.OPEN)}),Ve=z$1.object({coverMessage:z$1.string().min(1).max(2e3).optional(),proposedAmount:z$1.coerce.number().nonnegative().optional(),availabilityNotes:z$1.string().max(2e3).optional(),attachments:M.optional()}),P=z$1.object({id:z$1.uuid(),jobListingId:z$1.uuid(),producerProfileId:z$1.uuid(),coverMessage:z$1.string().nullable(),proposedAmount:h$1.nullable(),availabilityNotes:z$1.string().nullable(),state:z$1.enum(a$1),resultingBookingId:z$1.uuid().nullable(),withdrawnAt:z$1.string().nullable(),selectedAt:z$1.string().nullable(),createdAt:z$1.string(),updatedAt:z$1.string()}),X=P.extend({producerCompanyName:z$1.string().nullable()}),T={CREATED_AT:"createdAt",UPDATED_AT:"updatedAt",PROPOSED_AMOUNT:"proposedAmount"},A={ASC:"asc",DESC:"desc"},ze=z$1.object({...g.shape,jobListingId:z$1.uuid().optional(),state:z$1.enum(a$1).optional(),search:z$1.string().trim().min(2).max(100).optional(),sortBy:z$1.enum(T).default(T.CREATED_AT),sortOrder:z$1.enum(A).default(A.DESC)}),Qe=X.extend({producerDisplayName:z$1.string(),producerAvatarUrl:z$1.url().nullable(),producerServiceCategoryLabels:z$1.array(z$1.string()),producerEquipmentLabels:z$1.array(z$1.string()),producerIsVerified:z$1.boolean(),jobListingTitle:z$1.string(),jobListingRole:z$1.string(),jobListingState:z$1.enum(c),jobListingLocation:z$1.enum(d),jobListingEventId:z$1.uuid().nullable(),jobListingEventTitle:z$1.string().nullable()}),Ye=z$1.object({...g.shape,jobListingId:z$1.uuid().optional(),state:z$1.enum(a$1).optional(),search:z$1.string().trim().min(2).max(100).optional(),sortBy:z$1.enum(T).default(T.CREATED_AT),sortOrder:z$1.enum(A).default(A.DESC)}),Xe=P.extend({hostBusinessName:z$1.string().nullable(),jobListingTitle:z$1.string(),jobListingRole:z$1.string(),jobListingState:z$1.enum(c),jobListingLocation:z$1.enum(d),jobListingEventId:z$1.uuid().nullable(),jobListingEventTitle:z$1.string().nullable(),jobListingRequiredDate:z$1.string().nullable(),jobListingCompensation:h$1.nullable()});var y={SENT:"SENT",DELIVERED:"DELIVERED",READ:"READ"};var Z=z$1.object({id:z$1.uuid(),bookingId:z$1.uuid(),hostProfileId:z$1.uuid(),producerProfileId:z$1.uuid(),createdAt:z$1.string(),updatedAt:z$1.string()}),ee=z$1.object({id:z$1.uuid(),url:z$1.string(),mimeType:z$1.string(),sizeBytes:z$1.number().int(),createdAt:z$1.string()}),N=z$1.object({id:z$1.uuid(),threadId:z$1.uuid(),senderUserId:z$1.uuid(),body:z$1.string(),sentAt:z$1.string(),deliveryStatus:z$1.enum(y),readAt:z$1.string().nullable(),attachments:z$1.array(ee)}),rt=g,st=z$1.object({messages:z$1.array(N),...k$1.shape}),at=z$1.object({thread:Z,messages:z$1.array(N),...k$1.shape}),ut=z$1.object({body:z$1.string().trim().min(1).max(5e3),attachments:z$1.array(z$1.object({url:z$1.string().url(),mimeType:z$1.string().min(1).max(120),sizeBytes:z$1.number().int().positive()})).max(10).optional()}),ct=z$1.object({message:N}),lt=z$1.object({url:z$1.url(),key:z$1.string().min(1),mimeType:z$1.string().min(1).max(120),sizeBytes:z$1.number().int().positive()}),mt=z$1.object({upToMessageId:z$1.uuid().optional()}),dt=z$1.object({markedCount:z$1.number().int().nonnegative()}),te=z$1.object({threadId:z$1.uuid(),bookingId:z$1.uuid(),title:z$1.string(),lastMessagePreview:z$1.string().nullable(),lastMessageAt:z$1.string().nullable(),lastSenderUserId:z$1.uuid().nullable(),lastSenderDisplayName:z$1.string().nullable(),unreadCount:z$1.number().int().nonnegative(),bookingState:z$1.enum(b)}),pt=z$1.object({items:z$1.array(te),...k$1.shape});var v=z$1.enum(["APPLICATIONS","UPCOMING","LIVE","COMPLETED","JOB_INVITES"]),oe=z$1.enum(["PENDING","SHORTLISTED","SELECTED","WITHDRAWN","REJECTED","CANCELLED","INVITED","NEGOTIATING","CONFIRMED","LIVE","COMPLETED","DISPUTED"]),ne=z$1.enum(["IOI","BOOKING","ASSIGNMENT"]),bt=z$1.object({tab:v,search:z$1.string().trim().min(2).max(100).optional(),...g.shape}),ie=z$1.object({id:z$1.uuid(),kind:ne,eventName:z$1.string(),date:z$1.string().nullable(),role:z$1.string(),payment:h$1.nullable(),status:oe,statusCode:z$1.string(),jobListingId:z$1.uuid().nullable(),bookingId:z$1.uuid().nullable(),ioiId:z$1.uuid().nullable(),eventId:z$1.uuid().nullable(),assignmentId:z$1.uuid().nullable().optional()}),St=z$1.object({tab:v,items:z$1.array(ie),...k$1.shape}),Rt=z$1.object({applications:z$1.number().int().nonnegative(),upcoming:z$1.number().int().nonnegative(),live:z$1.number().int().nonnegative(),completed:z$1.number().int().nonnegative(),jobInvites:z$1.number().int().nonnegative()});var re=z$1.object({id:z$1.string(),role:b$1}),h=z$1.object({reason:z$1.string().optional(),ipAddress:z$1.string().optional(),userAgent:z$1.string().optional(),traceId:z$1.string().optional()}),_=z$1.record(z$1.string(),z$1.unknown()),se=h.extend({beforeState:_.optional(),afterState:_.optional()}),ae=h.extend({messageId:z$1.string(),bodyPreview:z$1.string(),attachmentCount:z$1.number().int().nonnegative().optional()}),ue=h.extend({messageId:z$1.string(),attachmentId:z$1.string(),url:z$1.string(),mimeType:z$1.string(),sizeBytes:z$1.number().int().nonnegative()}),O={timestamp:z$1.string().datetime(),actor:re};function S(r){return z$1.object({...O,action:z$1.literal(r),details:se})}var ce=z$1.discriminatedUnion("action",[S(g$1.STATE_CHANGED),S(g$1.TERMS_MODIFIED),S(g$1.BOOKING_CREATED),S(g$1.BOOKING_COMPLETED),S(g$1.BOOKING_CANCELLED),S(g$1.BOOKING_ACCEPTED),S(g$1.BOOKING_REJECTED),z$1.object({...O,action:z$1.literal(g$1.MESSAGE_SENT),details:ae}),z$1.object({...O,action:z$1.literal(g$1.ATTACHMENT_ADDED),details:ue})]),Ot=z$1.object({items:z$1.array(ce),...k$1.shape});var B={DRAFT:"DRAFT",INVITED:"INVITED",ACCEPTED:"ACCEPTED",REJECTED:"REJECTED",CANCELLED:"CANCELLED",EXPIRED:"EXPIRED"};var j=z$1.object({role:z$1.string().trim().min(1).max(120),responsibilities:z$1.string().trim().min(1).max(5e3),requirements:z$1.string().trim().min(1).max(5e3),compensation:h$1,location:z$1.enum(d),notes:z$1.string().trim().max(2e3).optional()}),Pt=j.extend({producerId:z$1.uuid()}),yt=j.partial().refine(r=>Object.keys(r).length>0,{message:"At least one field is required"}),le=z$1.object({id:z$1.uuid(),companyName:z$1.string(),displayName:z$1.string().nullable(),avatarUrl:z$1.string().nullable(),producerIsVerified:z$1.boolean()}),G=z$1.object({id:z$1.uuid(),eventId:z$1.uuid(),hostId:z$1.uuid(),producerId:z$1.uuid(),role:z$1.string(),responsibilities:z$1.string(),requirements:z$1.string(),compensation:h$1,location:z$1.enum(d),notes:z$1.string().nullable(),state:z$1.enum(B),bookingId:z$1.uuid().nullable(),invitedAt:z$1.iso.datetime().nullable(),respondedAt:z$1.iso.datetime().nullable(),rejectReason:z$1.string().nullable(),createdAt:z$1.iso.datetime(),updatedAt:z$1.iso.datetime(),producer:le.optional(),eventTitle:z$1.string().optional(),eventScheduledStart:z$1.iso.datetime().nullable().optional()}),vt=z$1.object({items:z$1.array(G)}),_t=z$1.object({reason:z$1.string().trim().min(5).max(500)}),Bt=z$1.object({assignment:G,bookingId:z$1.uuid()});export{ct as $,Ge as A,_t as Aa,Je as B,Bt as Ba,Ue as C,$e as D,qe as E,He as F,we as G,We as H,Fe as I,Ke as J,Ve as K,P as L,X as M,T as N,A as O,ze as P,Qe as Q,Ye as R,Xe as S,y as T,Z as U,ee as V,N as W,rt as X,st as Y,at as Z,ut as _,U as a,lt as aa,$ as b,mt as ba,q as c,dt as ca,H as d,te as da,w as e,pt as ea,W as f,v as fa,de as g,oe as ga,F as h,ne as ha,pe as i,bt as ia,ge as j,ie as ja,Se as k,St as ka,Re as l,Rt as la,Te as m,re as ma,Ae as n,h as na,Ce as o,_ as oa,d as p,se as pa,f as q,ae as qa,fe as r,ue as ra,C as s,ce as sa,Me as t,Ot as ta,Pe as u,B as ua,ye as v,Pt as va,ve as w,yt as wa,_e as x,le as xa,Be as y,G as ya,je as z,vt as za};//# sourceMappingURL=chunk-H3ELUNNV.mjs.map
2
+ //# sourceMappingURL=chunk-H3ELUNNV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/booking/booking-state-machine.ts","../src/booking/booking.schemas.ts","../src/booking/hiring.enums.ts","../src/booking/hiring.schemas.ts","../src/booking/thread.enums.ts","../src/booking/thread.schemas.ts","../src/booking/producer-jobs.schemas.ts","../src/booking/booking-audit.schemas.ts","../src/booking/crew-assignment.enums.ts","../src/booking/crew-assignment.schemas.ts"],"names":["BOOKING_TERMINAL_STATES","BookingState","DISPUTE_EXCLUDED_FROM","VALID_BOOKING_TRANSITIONS","BOOKING_TRANSITION_ACTORS","BookingTransitionActor","BOOKING_TRANSITION_TARGETS_REQUIRING_REASON","bookingTransitionKey","from","to","getAllowedBookingTargetStates","base","isValidBookingTransition","getBookingTransitionActors","canActorPerformBookingTransition","actor","bookingTransitionRequiresReason","_from","CreateBookingRequestSchema","z","BookingOrigin","ConfirmBookingRequestSchema","BookingResponseSchema","BookingPaymentStatus","CreateJobListingRequestSchema","JobListingResponseSchema","JobListingState","JobLocation","JobListingCompensationTier","jsonRecordSchema","CreateMarketplaceBookingRequestSchema","data","ctx","MarketplaceBookingResponseSchema","MoneySchema","CreateMarketplaceBookingResponseSchema","bookingTransitionReasonSchema","TransitionMarketplaceBookingRequestSchema","TransitionMarketplaceBookingResponseSchema","CompleteMarketplaceBookingRequestSchema","ForceCompleteMarketplaceBookingRequestSchema","CompleteMarketplaceBookingResponseSchema","jobListingEventTitleRefine","MarketplaceJobListingBodyFieldsSchema","MarketplaceJobListingBodySchema","PublishableJobListingBodyFieldsSchema","PublishableJobListingBodySchema","CreateMarketplaceJobListingRequestSchema","result","issue","UpdateMarketplaceJobListingRequestSchema","ListMarketplaceJobListingsQuerySchema","PaginationParamsSchema","value","ListHostMarketplaceJobListingsQuerySchema","PublishReadyJobListingSchema","PublishMarketplaceJobListingResponseSchema","MarketplaceJobListingResponseSchema","CancelMarketplaceJobListingRequestSchema","CancelMarketplaceJobListingResponseSchema","CloseMarketplaceJobListingResponseSchema","OpenMarketplaceJobListingResponseSchema","SubmitMarketplaceIndicationOfInterestRequestSchema","MarketplaceIndicationOfInterestResponseSchema","JobInterestState","MarketplaceIndicationOfInterestHostItemSchema","HostIndicationOfInterestSortBy","SortOrder","ListHostMarketplaceIndicationsQuerySchema","MarketplaceHostIndicationOfInterestInboxItemSchema","ListProducerMarketplaceIndicationsQuerySchema","MarketplaceProducerIndicationOfInterestInboxItemSchema","MessageDeliveryStatus","MarketplaceHiringThreadSchema","MarketplaceHiringMessageAttachmentSchema","MarketplaceHiringMessageSchema","ListMarketplaceHiringThreadMessagesQuerySchema","ListMarketplaceHiringThreadMessagesResponseSchema","PaginationResponseSchema","GetMarketplaceHiringThreadResponseSchema","PostMarketplaceHiringThreadMessageRequestSchema","PostMarketplaceHiringThreadMessageResponseSchema","UploadMarketplaceHiringThreadAttachmentResponseSchema","MarkMarketplaceHiringThreadReadRequestSchema","MarkMarketplaceHiringThreadReadResponseSchema","MarketplaceHiringThreadInboxItemSchema","ListMarketplaceHiringThreadsResponseSchema","ProducerJobsTabSchema","ProducerJobRowStatusSchema","ProducerJobRowKindSchema","ListProducerJobsQuerySchema","ProducerJobRowSchema","ProducerJobsTabResponseSchema","ProducerJobsTabCountsResponseSchema","BookingAuditActorSchema","AuditActorRoleSchema","BookingAuditRequestMetadataSchema","BookingAuditSnapshotSchema","BookingAuditStateTransitionDetailsSchema","BookingAuditMessageSentDetailsSchema","BookingAuditAttachmentAddedDetailsSchema","auditEntryBase","stateTransitionAuditEntry","action","AdminBookingAuditEntrySchema","BookingAuditAction","AdminBookingAuditResponseSchema","EventCrewAssignmentState","RoleFieldsSchema","CreateEventCrewAssignmentRequestSchema","UpdateEventCrewAssignmentRequestSchema","body","EventCrewAssignmentProducerSummarySchema","EventCrewAssignmentResponseSchema","ListEventCrewAssignmentsResponseSchema","RejectEventCrewAssignmentRequestSchema","AcceptEventCrewAssignmentResponseSchema"],"mappings":"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","file":"chunk-H3ELUNNV.mjs","sourcesContent":["import { BookingState, BookingTransitionActor } from './booking.enums';\n\nexport type BookingTransitionKey = `${BookingState}->${BookingState}`;\n\nexport const BOOKING_TERMINAL_STATES: readonly BookingState[] = [\n BookingState.REJECTED,\n BookingState.CANCELLED,\n BookingState.CLOSED,\n];\n\nconst DISPUTE_EXCLUDED_FROM: readonly BookingState[] = [\n ...BOOKING_TERMINAL_STATES,\n BookingState.IN_DISPUTE,\n];\n\n/** Valid target states per source (excludes dispute shortcut — see `getAllowedBookingTargetStates`). */\nexport const VALID_BOOKING_TRANSITIONS: Record<BookingState, readonly BookingState[]> = {\n [BookingState.REQUESTED]: [BookingState.AWAITING_PRODUCER_RESPONSE, BookingState.CANCELLED],\n [BookingState.AWAITING_PRODUCER_RESPONSE]: [\n BookingState.IN_NEGOTIATION,\n BookingState.ACCEPTED,\n BookingState.REJECTED,\n BookingState.CANCELLED,\n ],\n [BookingState.IN_NEGOTIATION]: [\n BookingState.ACCEPTED,\n BookingState.REJECTED,\n BookingState.CANCELLED,\n ],\n [BookingState.ACCEPTED]: [BookingState.AWAITING_ESCROW_FUNDING, BookingState.CANCELLED],\n [BookingState.AWAITING_ESCROW_FUNDING]: [BookingState.CONFIRMED, BookingState.CANCELLED],\n [BookingState.CONFIRMED]: [BookingState.IN_PROGRESS, BookingState.AWAITING_PRODUCER_RECONFIRM],\n [BookingState.AWAITING_PRODUCER_RECONFIRM]: [BookingState.CONFIRMED, BookingState.CANCELLED],\n [BookingState.IN_PROGRESS]: [BookingState.SERVICE_COMPLETED, BookingState.CANCELLED],\n [BookingState.SERVICE_COMPLETED]: [BookingState.CLOSED],\n [BookingState.IN_DISPUTE]: [BookingState.CLOSED],\n [BookingState.REJECTED]: [],\n [BookingState.CANCELLED]: [],\n [BookingState.CLOSED]: [],\n};\n\n/** RBAC: which actor may perform each transition (dispute edges merged at runtime). */\nexport const BOOKING_TRANSITION_ACTORS: Partial<\n Record<BookingTransitionKey, readonly BookingTransitionActor[]>\n> = {\n [`${BookingState.REQUESTED}->${BookingState.AWAITING_PRODUCER_RESPONSE}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.REQUESTED}->${BookingState.CANCELLED}`]: [BookingTransitionActor.HOST],\n [`${BookingState.AWAITING_PRODUCER_RESPONSE}->${BookingState.IN_NEGOTIATION}`]: [\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.AWAITING_PRODUCER_RESPONSE}->${BookingState.ACCEPTED}`]: [\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.AWAITING_PRODUCER_RESPONSE}->${BookingState.REJECTED}`]: [\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.AWAITING_PRODUCER_RESPONSE}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.IN_NEGOTIATION}->${BookingState.ACCEPTED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.IN_NEGOTIATION}->${BookingState.REJECTED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.IN_NEGOTIATION}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.ACCEPTED}->${BookingState.AWAITING_ESCROW_FUNDING}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.ACCEPTED}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.AWAITING_ESCROW_FUNDING}->${BookingState.CONFIRMED}`]: [\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_ESCROW_FUNDING}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.CONFIRMED}->${BookingState.IN_PROGRESS}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.CONFIRMED}->${BookingState.AWAITING_PRODUCER_RECONFIRM}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_PRODUCER_RECONFIRM}->${BookingState.CONFIRMED}`]: [\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_PRODUCER_RECONFIRM}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.IN_PROGRESS}->${BookingState.SERVICE_COMPLETED}`]: [\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.IN_PROGRESS}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.SERVICE_COMPLETED}->${BookingState.CLOSED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.IN_DISPUTE}->${BookingState.CLOSED}`]: [\n BookingTransitionActor.ADMIN,\n BookingTransitionActor.HOST,\n ],\n};\n\n/** Target states that require a `reason` on the transition request. */\nexport const BOOKING_TRANSITION_TARGETS_REQUIRING_REASON: readonly BookingState[] = [\n BookingState.REJECTED,\n BookingState.CANCELLED,\n BookingState.IN_DISPUTE,\n];\n\nexport function bookingTransitionKey(from: BookingState, to: BookingState): BookingTransitionKey {\n return `${from}->${to}`;\n}\n\nexport function getAllowedBookingTargetStates(from: BookingState): readonly BookingState[] {\n const base = VALID_BOOKING_TRANSITIONS[from] ?? [];\n if (!DISPUTE_EXCLUDED_FROM.includes(from)) {\n return [...base, BookingState.IN_DISPUTE];\n }\n return base;\n}\n\nexport function isValidBookingTransition(from: BookingState, to: BookingState): boolean {\n return getAllowedBookingTargetStates(from).includes(to);\n}\n\nexport function getBookingTransitionActors(\n from: BookingState,\n to: BookingState,\n): readonly BookingTransitionActor[] {\n if (to === BookingState.IN_DISPUTE && !DISPUTE_EXCLUDED_FROM.includes(from)) {\n return [BookingTransitionActor.HOST, BookingTransitionActor.PRODUCER];\n }\n return BOOKING_TRANSITION_ACTORS[bookingTransitionKey(from, to)] ?? [];\n}\n\nexport function canActorPerformBookingTransition(\n from: BookingState,\n to: BookingState,\n actor: BookingTransitionActor,\n): boolean {\n return getBookingTransitionActors(from, to).includes(actor);\n}\n\nexport function bookingTransitionRequiresReason(_from: BookingState, to: BookingState): boolean {\n return BOOKING_TRANSITION_TARGETS_REQUIRING_REASON.includes(to);\n}\n","import { z } from 'zod';\nimport {\n BookingOrigin,\n BookingState,\n JobListingState,\n BookingPaymentStatus,\n} from './booking.enums';\n\nexport const CreateBookingRequestSchema = z.object({\n origin: z.enum(BookingOrigin),\n eventId: z.uuid().optional(),\n producerId: z.uuid(),\n agreedAmount: z.number().min(0),\n});\n\nexport const ConfirmBookingRequestSchema = z.object({\n escrowReference: z.string(),\n});\n\nexport const BookingResponseSchema = z.object({\n id: z.uuid(),\n eventId: z.uuid().optional(),\n hostId: z.uuid(),\n producerId: z.uuid(),\n quotedPrice: z.number(),\n currency: z.string(),\n scopeOfWork: z.record(z.string(), z.any()).optional(),\n requiredStartAt: z.iso.datetime(),\n requiredEndAt: z.iso.datetime(),\n bookingState: z.enum(BookingState),\n paymentStatus: z.enum(BookingPaymentStatus),\n escrowReference: z.string().optional(),\n completedAt: z.iso.datetime().optional(),\n hostRating: z.number().optional(),\n hostReview: z.string().optional(),\n producerRating: z.number().optional(),\n producerReview: z.string().optional(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const CreateJobListingRequestSchema = z.object({\n title: z.string().max(255),\n description: z.string(),\n requiredDate: z.iso.datetime(),\n estimatedDurationMinutes: z.number().int().positive().optional(),\n location: z.string(),\n budgetRangeMin: z.number().optional(),\n budgetRangeMax: z.number().optional(),\n});\n\nexport const JobListingResponseSchema = z.object({\n id: z.uuid(),\n hostProfileId: z.uuid(),\n eventId: z.uuid().optional(),\n title: z.string(),\n description: z.string(),\n requiredDate: z.iso.datetime(),\n estimatedDurationMinutes: z.number().int().nullable().optional(),\n location: z.string(),\n budgetRangeMin: z.number().optional(),\n budgetRangeMax: z.number().optional(),\n state: z.enum(JobListingState),\n proposalCount: z.number(),\n createdAt: z.iso.datetime(),\n});\n","export const JobLocation = {\n ONSITE: 'ONSITE',\n REMOTE: 'REMOTE',\n} as const;\nexport type JobLocation = (typeof JobLocation)[keyof typeof JobLocation];\n\n/** Discover-jobs compensation bracket filter (NGN). */\nexport const JobListingCompensationTier = {\n LOW: 'LOW',\n MID: 'MID',\n HIGH: 'HIGH',\n} as const;\nexport type JobListingCompensationTier =\n (typeof JobListingCompensationTier)[keyof typeof JobListingCompensationTier];\n","import { z } from 'zod';\nimport { JobInterestState } from '../joblisting/listing.enum';\nimport { BookingOrigin, BookingState, JobListingState } from './booking.enums';\nimport { JobListingCompensationTier, JobLocation } from './hiring.enums';\nimport { MoneySchema, PaginationParamsSchema } from '../common';\n\nconst jsonRecordSchema = z.record(z.string(), z.unknown());\n\n/** `POST /marketplace/bookings` */\nexport const CreateMarketplaceBookingRequestSchema = z\n .object({\n producerId: z.uuid(),\n origin: z.enum(BookingOrigin),\n eventId: z.uuid().optional(),\n jobListingId: z.uuid().optional(),\n sourceIoiId: z.uuid().optional(),\n agreedAmount: z.coerce.number().nonnegative().optional(),\n scopeOfWork: z.string().max(5000).optional(),\n })\n .superRefine((data, ctx) => {\n if (data.origin === BookingOrigin.EVENT_DIRECT && !data.eventId) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventId is required when origin is EVENT_DIRECT',\n path: ['eventId'],\n });\n }\n if (data.origin === BookingOrigin.MARKETPLACE_DIRECT) {\n if (data.eventId) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventId must not be set when origin is MARKETPLACE_DIRECT',\n path: ['eventId'],\n });\n }\n if (data.sourceIoiId) {\n ctx.addIssue({\n code: 'custom',\n message: 'sourceIoiId must not be set when origin is MARKETPLACE_DIRECT',\n path: ['sourceIoiId'],\n });\n }\n }\n if (data.origin === BookingOrigin.JOB_LISTING) {\n if (!data.sourceIoiId) {\n ctx.addIssue({\n code: 'custom',\n message: 'sourceIoiId is required when origin is JOB_LISTING',\n path: ['sourceIoiId'],\n });\n }\n if (data.eventId) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventId must not be set when origin is JOB_LISTING',\n path: ['eventId'],\n });\n }\n }\n if (data.sourceIoiId && data.origin !== BookingOrigin.JOB_LISTING) {\n ctx.addIssue({\n code: 'custom',\n message: 'sourceIoiId is only allowed when origin is JOB_LISTING',\n path: ['sourceIoiId'],\n });\n }\n });\n\nexport const MarketplaceBookingResponseSchema = z.object({\n id: z.uuid(),\n eventId: z.uuid().nullable(),\n eventLinked: z.boolean(),\n hostProfileId: z.uuid(),\n producerProfileId: z.uuid(),\n origin: z.enum(BookingOrigin),\n jobListingId: z.uuid().nullable(),\n sourceIoiId: z.uuid().nullable(),\n state: z.enum(BookingState),\n /** Server-inherited currency + minor-unit amount (MONEY_MULTI_CURRENCY.md §4). */\n agreedAmount: MoneySchema.nullable(),\n scopeOfWork: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\n/** `POST /marketplace/bookings` — create acknowledgement */\nexport const CreateMarketplaceBookingResponseSchema = z.object({\n bookingId: z.uuid(),\n booking: MarketplaceBookingResponseSchema,\n});\n\nconst bookingTransitionReasonSchema = z.string().trim().min(5).max(500);\n\n/** `POST /marketplace/bookings/:id/transition` (host, producer, admin) */\nexport const TransitionMarketplaceBookingRequestSchema = z\n .object({\n targetState: z.enum(BookingState),\n reason: bookingTransitionReasonSchema.optional(),\n })\n .superRefine((data, ctx) => {\n const requiresReason =\n data.targetState === BookingState.REJECTED ||\n data.targetState === BookingState.CANCELLED ||\n data.targetState === BookingState.IN_DISPUTE;\n if (requiresReason && data.reason === undefined) {\n ctx.addIssue({\n code: 'custom',\n message: 'reason is required for this transition',\n path: ['reason'],\n });\n }\n });\n\nexport const TransitionMarketplaceBookingResponseSchema = z.object({\n booking: MarketplaceBookingResponseSchema,\n});\n\n/** `POST /marketplace/bookings/:id/complete` — dual-ack manual completion */\nexport const CompleteMarketplaceBookingRequestSchema = z.object({\n notes: z.string().max(2000).optional(),\n});\n\n/** `POST /marketplace/bookings/:id/admin-force-complete` — TRUST admin override */\nexport const ForceCompleteMarketplaceBookingRequestSchema = z.object({\n notes: z.string().max(2000).optional(),\n});\n\nexport const CompleteMarketplaceBookingResponseSchema = z.object({\n booking: MarketplaceBookingResponseSchema,\n hostAcked: z.boolean(),\n producerAcked: z.boolean(),\n completed: z.boolean(),\n forced: z.boolean().optional(),\n});\n\nconst jobListingEventTitleRefine = (\n data: {\n eventId?: string | undefined;\n eventTitle?: string | undefined;\n title?: string | undefined;\n },\n ctx: z.RefinementCtx,\n) => {\n if (data.eventId) {\n return;\n }\n const standaloneTitle = data.eventTitle?.trim() || data.title?.trim();\n if (!standaloneTitle) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventTitle is required when eventId is not provided',\n path: ['eventTitle'],\n });\n }\n};\n\nconst MarketplaceJobListingBodyFieldsSchema = z.object({\n /** Standalone event title — required when `eventId` is absent. Ignored when linked. */\n eventTitle: z.string().min(1).max(200).optional(),\n /** @deprecated Use `eventTitle`. Kept for backward compatibility. */\n title: z.string().min(1).max(200).optional(),\n description: z.string().min(1).max(5000),\n responsibilities: z.string().min(1),\n requirements: z.string().min(1),\n role: z.string().min(1).max(120),\n requiredCount: z.coerce.number().int().min(1),\n requiredDate: z.iso.datetime().optional(),\n estimatedDurationMinutes: z.coerce.number().int().positive().optional(),\n location: z.enum(JobLocation),\n notes: z.string().max(2000).optional(),\n compensation: z.coerce.number().nonnegative().optional(),\n attachments: jsonRecordSchema.optional(),\n eventId: z.uuid().optional(),\n});\n\nconst MarketplaceJobListingBodySchema = MarketplaceJobListingBodyFieldsSchema.superRefine(\n jobListingEventTitleRefine,\n);\n\n/** Publish/create body without event-title guard (linked listings resolve title at read time). */\nconst PublishableJobListingBodyFieldsSchema = z.object({\n eventTitle: z.string().min(1).max(200).optional(),\n title: z.string().min(1).max(200).optional(),\n description: z.string().min(1).max(5000),\n responsibilities: z.string().min(1),\n requirements: z.string().min(1),\n role: z.string().min(1).max(120),\n requiredCount: z.coerce.number().int().min(1),\n location: z.enum(JobLocation),\n eventId: z.uuid().optional(),\n});\n\nconst PublishableJobListingBodySchema = PublishableJobListingBodyFieldsSchema;\n\n/** `POST /marketplace/job-listings` — publish immediately unless `saveAsDraft` */\nexport const CreateMarketplaceJobListingRequestSchema =\n MarketplaceJobListingBodyFieldsSchema.partial()\n .extend({\n saveAsDraft: z.boolean().optional().default(false),\n })\n .superRefine((data, ctx) => {\n if (data.saveAsDraft) {\n return;\n }\n const result = MarketplaceJobListingBodySchema.safeParse(data);\n if (!result.success) {\n ctx.addIssue({\n code: 'custom',\n message: result.error.issues.map((issue) => issue.message).join('; '),\n });\n }\n });\n\nexport const UpdateMarketplaceJobListingRequestSchema =\n MarketplaceJobListingBodyFieldsSchema.partial();\n\nexport const ListMarketplaceJobListingsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n location: z.enum(JobLocation).optional(),\n /** Case-insensitive match on listing title, role, linked event title, or host business name */\n search: z.string().trim().min(2).max(100).optional(),\n /** Comma-separated role slugs, e.g. `camera-operator,sound-engineer` */\n roles: z.string().trim().min(1).max(500).optional(),\n requiredDateFrom: z.string().optional(),\n requiredDateTo: z.string().optional(),\n minCompensation: z.coerce.number().int().min(0).optional(),\n maxCompensation: z.coerce.number().int().min(0).optional(),\n compensationTier: z.enum(JobListingCompensationTier).optional(),\n /** When true, only listings whose requiredDate falls on a day the authenticated producer marked available */\n matchMyAvailability: z\n .enum(['true', 'false'])\n .optional()\n .transform((value) => value === 'true'),\n});\n\n/** `GET /marketplace/job-listings/mine` (host) */\nexport const ListHostMarketplaceJobListingsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n state: z.enum(JobListingState).optional(),\n /** Case-insensitive match on listing title, role, or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n});\n\n/** Required persisted fields before a DRAFT job listing can be published */\nexport const PublishReadyJobListingSchema = PublishableJobListingBodySchema.superRefine(\n (data, ctx) => {\n if (data.eventId) {\n return;\n }\n const standaloneTitle = data.eventTitle?.trim() || data.title?.trim();\n if (!standaloneTitle) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventTitle is required for standalone job listings',\n path: ['eventTitle'],\n });\n }\n },\n);\n\n/** `POST /marketplace/job-listings/:id/publish` (host owner) */\nexport const PublishMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('OPEN'),\n});\n\nexport const MarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n hostProfileId: z.uuid(),\n eventId: z.uuid().nullable(),\n /** Resolved display title — linked events use the current Event title. */\n title: z.string(),\n eventTitle: z.string().nullable(),\n notes: z.string().nullable(),\n description: z.string(),\n responsibilities: z.string(),\n requirements: z.string(),\n role: z.string(),\n requiredCount: z.number().int().min(1),\n requiredDate: z.string().nullable(),\n estimatedDurationMinutes: z.number().int().nullable(),\n location: z.enum(JobLocation),\n /** Host-set compensation for the listing (MoneyDto, MONEY_MULTI_CURRENCY.md §4). */\n compensation: MoneySchema.nullable(),\n attachments: z.unknown().nullable(),\n state: z.enum(JobListingState),\n proposalCount: z.number().int(),\n cancelledAt: z.string().nullable(),\n cancelledReason: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\n/** `POST /marketplace/job-listings/:id/cancel` (host owner) — mirrors HostEventCancelResponseSchema shape */\nexport const CancelMarketplaceJobListingRequestSchema = z.object({\n reason: z.string().trim().min(5).max(500).optional(),\n});\n\nexport const CancelMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('CANCELLED'),\n cancelledAt: z.iso.datetime().nullable(),\n});\n\n/**\n * `POST /marketplace/job-listings/:id/close` (host owner) —\n * pause new applications (`OPEN` → `SUSPENDED`). Pending IoIs are kept.\n */\nexport const CloseMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal(JobListingState.SUSPENDED),\n});\n\n/**\n * `POST /marketplace/job-listings/:id/open` (host owner) —\n * resume applications (`SUSPENDED` | `CLOSED` → `OPEN`) when capacity remains.\n */\nexport const OpenMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal(JobListingState.OPEN),\n});\n\n/** `POST .../indications-of-interest` */\nexport const SubmitMarketplaceIndicationOfInterestRequestSchema = z.object({\n coverMessage: z.string().min(1).max(2000).optional(),\n proposedAmount: z.coerce.number().nonnegative().optional(),\n availabilityNotes: z.string().max(2000).optional(),\n attachments: jsonRecordSchema.optional(),\n});\n\nexport const MarketplaceIndicationOfInterestResponseSchema = z.object({\n id: z.uuid(),\n jobListingId: z.uuid(),\n producerProfileId: z.uuid(),\n coverMessage: z.string().nullable(),\n /** Producer-proposed compensation (MoneyDto — currency inherits from parent listing). */\n proposedAmount: MoneySchema.nullable(),\n availabilityNotes: z.string().nullable(),\n state: z.enum(JobInterestState),\n resultingBookingId: z.uuid().nullable(),\n withdrawnAt: z.string().nullable(),\n selectedAt: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\n/** Host review row — IoI plus producer display label */\nexport const MarketplaceIndicationOfInterestHostItemSchema =\n MarketplaceIndicationOfInterestResponseSchema.extend({\n producerCompanyName: z.string().nullable(),\n });\n\nexport const HostIndicationOfInterestSortBy = {\n CREATED_AT: 'createdAt',\n UPDATED_AT: 'updatedAt',\n PROPOSED_AMOUNT: 'proposedAmount',\n} as const;\n\nexport const SortOrder = {\n ASC: 'asc',\n DESC: 'desc',\n} as const;\n\n/** `GET /marketplace/job-listings/indications-of-interest/mine` (host inbox) */\nexport const ListHostMarketplaceIndicationsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n jobListingId: z.uuid().optional(),\n state: z.enum(JobInterestState).optional(),\n /** Case-insensitive match on job listing title or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n sortBy: z.enum(HostIndicationOfInterestSortBy).default(HostIndicationOfInterestSortBy.CREATED_AT),\n sortOrder: z.enum(SortOrder).default(SortOrder.DESC),\n});\n\n/** Host inbox row — IoI with applicant + parent job listing summary */\nexport const MarketplaceHostIndicationOfInterestInboxItemSchema =\n MarketplaceIndicationOfInterestHostItemSchema.extend({\n producerDisplayName: z.string(),\n producerAvatarUrl: z.url().nullable(),\n producerServiceCategoryLabels: z.array(z.string()),\n producerEquipmentLabels: z.array(z.string()),\n producerIsVerified: z.boolean(),\n jobListingTitle: z.string(),\n jobListingRole: z.string(),\n jobListingState: z.enum(JobListingState),\n jobListingLocation: z.enum(JobLocation),\n jobListingEventId: z.uuid().nullable(),\n jobListingEventTitle: z.string().nullable(),\n });\n\n/** `GET /marketplace/indications-of-interest/mine` (producer applications inbox) */\nexport const ListProducerMarketplaceIndicationsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n jobListingId: z.uuid().optional(),\n state: z.enum(JobInterestState).optional(),\n /** Case-insensitive match on job listing title or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n sortBy: z.enum(HostIndicationOfInterestSortBy).default(HostIndicationOfInterestSortBy.CREATED_AT),\n sortOrder: z.enum(SortOrder).default(SortOrder.DESC),\n});\n\n/** Producer applications inbox row — IoI with parent job listing summary */\nexport const MarketplaceProducerIndicationOfInterestInboxItemSchema =\n MarketplaceIndicationOfInterestResponseSchema.extend({\n hostBusinessName: z.string().nullable(),\n jobListingTitle: z.string(),\n jobListingRole: z.string(),\n jobListingState: z.enum(JobListingState),\n jobListingLocation: z.enum(JobLocation),\n jobListingEventId: z.uuid().nullable(),\n jobListingEventTitle: z.string().nullable(),\n jobListingRequiredDate: z.string().nullable(),\n jobListingCompensation: MoneySchema.nullable(),\n });\n","export const MessageDeliveryStatus = {\n SENT: 'SENT',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n} as const;\nexport type MessageDeliveryStatus =\n (typeof MessageDeliveryStatus)[keyof typeof MessageDeliveryStatus];\n","import { z } from 'zod';\nimport { BookingState } from './booking.enums';\nimport { MessageDeliveryStatus } from './thread.enums';\nimport { PaginationParamsSchema, PaginationResponseSchema } from '../common/common.schemas';\n\nexport const MarketplaceHiringThreadSchema = z.object({\n id: z.uuid(),\n bookingId: z.uuid(),\n hostProfileId: z.uuid(),\n producerProfileId: z.uuid(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const MarketplaceHiringMessageAttachmentSchema = z.object({\n id: z.uuid(),\n url: z.string(),\n mimeType: z.string(),\n sizeBytes: z.number().int(),\n createdAt: z.string(),\n});\n\nexport const MarketplaceHiringMessageSchema = z.object({\n id: z.uuid(),\n threadId: z.uuid(),\n senderUserId: z.uuid(),\n body: z.string(),\n sentAt: z.string(),\n deliveryStatus: z.enum(MessageDeliveryStatus),\n readAt: z.string().nullable(),\n attachments: z.array(MarketplaceHiringMessageAttachmentSchema),\n});\n\nexport const ListMarketplaceHiringThreadMessagesQuerySchema = PaginationParamsSchema;\n\nexport const ListMarketplaceHiringThreadMessagesResponseSchema = z.object({\n messages: z.array(MarketplaceHiringMessageSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const GetMarketplaceHiringThreadResponseSchema = z.object({\n thread: MarketplaceHiringThreadSchema,\n messages: z.array(MarketplaceHiringMessageSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const PostMarketplaceHiringThreadMessageRequestSchema = z.object({\n body: z.string().trim().min(1).max(5000),\n attachments: z\n .array(\n z.object({\n url: z.string().url(),\n mimeType: z.string().min(1).max(120),\n sizeBytes: z.number().int().positive(),\n }),\n )\n .max(10)\n .optional(),\n});\n\nexport const PostMarketplaceHiringThreadMessageResponseSchema = z.object({\n message: MarketplaceHiringMessageSchema,\n});\n\n/**\n * `POST /marketplace/bookings/:bookingId/thread/attachments`\n * Multipart image upload for hiring-thread chat. FE uploads first, then\n * posts the returned `{ url, mimeType, sizeBytes }` via the existing\n * WS `hiring_thread.message.post` attachments array (URL path unchanged).\n */\nexport const UploadMarketplaceHiringThreadAttachmentResponseSchema = z.object({\n url: z.url(),\n key: z.string().min(1),\n mimeType: z.string().min(1).max(120),\n sizeBytes: z.number().int().positive(),\n});\n\nexport const MarkMarketplaceHiringThreadReadRequestSchema = z.object({\n upToMessageId: z.uuid().optional(),\n});\n\nexport const MarkMarketplaceHiringThreadReadResponseSchema = z.object({\n markedCount: z.number().int().nonnegative(),\n});\n\n/** Inbox row for host/producer — one conversation per booking thread. */\nexport const MarketplaceHiringThreadInboxItemSchema = z.object({\n threadId: z.uuid(),\n bookingId: z.uuid(),\n title: z.string(),\n lastMessagePreview: z.string().nullable(),\n lastMessageAt: z.string().nullable(),\n lastSenderUserId: z.uuid().nullable(),\n lastSenderDisplayName: z.string().nullable(),\n unreadCount: z.number().int().nonnegative(),\n bookingState: z.enum(BookingState),\n});\n\nexport const ListMarketplaceHiringThreadsResponseSchema = z.object({\n items: z.array(MarketplaceHiringThreadInboxItemSchema),\n ...PaginationResponseSchema.shape,\n});\n","import { z } from 'zod';\nimport { MoneySchema, PaginationParamsSchema, PaginationResponseSchema } from '../common';\n\n/** Crew dashboard \"My Jobs\" tabs — mirrors host `GET /host/events?tab=`. */\nexport const ProducerJobsTabSchema = z.enum([\n 'APPLICATIONS',\n 'UPCOMING',\n 'LIVE',\n 'COMPLETED',\n 'JOB_INVITES',\n]);\n\n/**\n * Unified display status for the My Jobs table.\n * Mapped from IoI state (Applications) or booking state (other tabs).\n */\nexport const ProducerJobRowStatusSchema = z.enum([\n 'PENDING',\n 'SHORTLISTED',\n 'SELECTED',\n 'WITHDRAWN',\n 'REJECTED',\n 'CANCELLED',\n 'INVITED',\n 'NEGOTIATING',\n 'CONFIRMED',\n 'LIVE',\n 'COMPLETED',\n 'DISPUTED',\n]);\n\nexport const ProducerJobRowKindSchema = z.enum(['IOI', 'BOOKING', 'ASSIGNMENT']);\n\n/** `GET /marketplace/producer/jobs` */\nexport const ListProducerJobsQuerySchema = z.object({\n tab: ProducerJobsTabSchema,\n /** Case-insensitive match on event / job listing title */\n search: z.string().trim().min(2).max(100).optional(),\n ...PaginationParamsSchema.shape,\n});\n\n/** One row in the My Jobs table (Applications / Upcoming / Live / …). */\nexport const ProducerJobRowSchema = z.object({\n id: z.uuid(),\n kind: ProducerJobRowKindSchema,\n eventName: z.string(),\n date: z.string().nullable(),\n role: z.string(),\n payment: MoneySchema.nullable(),\n status: ProducerJobRowStatusSchema,\n /** Raw IoI, booking, or assignment state for FE debugging / detail navigation */\n statusCode: z.string(),\n jobListingId: z.uuid().nullable(),\n bookingId: z.uuid().nullable(),\n ioiId: z.uuid().nullable(),\n eventId: z.uuid().nullable(),\n /** Present when kind=ASSIGNMENT */\n assignmentId: z.uuid().nullable().optional(),\n});\n\nexport const ProducerJobsTabResponseSchema = z.object({\n tab: ProducerJobsTabSchema,\n items: z.array(ProducerJobRowSchema),\n ...PaginationResponseSchema.shape,\n});\n\n/** `GET /marketplace/producer/jobs/counts` — tab badge numbers */\nexport const ProducerJobsTabCountsResponseSchema = z.object({\n applications: z.number().int().nonnegative(),\n upcoming: z.number().int().nonnegative(),\n live: z.number().int().nonnegative(),\n completed: z.number().int().nonnegative(),\n jobInvites: z.number().int().nonnegative(),\n});\n","import { z } from 'zod';\nimport { AuditActorRoleSchema } from '../common/audit.enums';\nimport { PaginationResponseSchema } from '../common/common.schemas';\nimport { BookingAuditAction } from './booking.enums';\n\nexport const BookingAuditActorSchema = z.object({\n id: z.string(),\n role: AuditActorRoleSchema,\n});\n\n/** Optional request metadata copied into admin `details` when present. */\nexport const BookingAuditRequestMetadataSchema = z.object({\n reason: z.string().optional(),\n ipAddress: z.string().optional(),\n userAgent: z.string().optional(),\n traceId: z.string().optional(),\n});\n\n/** Snapshot blob stored in audit `before` / `after` JSON columns. */\nexport const BookingAuditSnapshotSchema = z.record(z.string(), z.unknown());\n\n/**\n * STATE_CHANGED, TERMS_MODIFIED, and booking lifecycle actions surface\n * `beforeState` / `afterState` via admin formatters.\n */\nexport const BookingAuditStateTransitionDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n beforeState: BookingAuditSnapshotSchema.optional(),\n afterState: BookingAuditSnapshotSchema.optional(),\n});\n\nexport const BookingAuditMessageSentDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n messageId: z.string(),\n bodyPreview: z.string(),\n attachmentCount: z.number().int().nonnegative().optional(),\n});\n\nexport const BookingAuditAttachmentAddedDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n messageId: z.string(),\n attachmentId: z.string(),\n url: z.string(),\n mimeType: z.string(),\n sizeBytes: z.number().int().nonnegative(),\n});\n\nconst auditEntryBase = {\n timestamp: z.string().datetime(),\n actor: BookingAuditActorSchema,\n};\n\nfunction stateTransitionAuditEntry<\n A extends (typeof BookingAuditAction)[keyof typeof BookingAuditAction],\n>(action: A) {\n return z.object({\n ...auditEntryBase,\n action: z.literal(action),\n details: BookingAuditStateTransitionDetailsSchema,\n });\n}\n\n/** One audit row in `GET /admin/bookings/:id/audit` — discriminated by `action`. */\nexport const AdminBookingAuditEntrySchema = z.discriminatedUnion('action', [\n stateTransitionAuditEntry(BookingAuditAction.STATE_CHANGED),\n stateTransitionAuditEntry(BookingAuditAction.TERMS_MODIFIED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_CREATED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_COMPLETED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_CANCELLED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_ACCEPTED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_REJECTED),\n z.object({\n ...auditEntryBase,\n action: z.literal(BookingAuditAction.MESSAGE_SENT),\n details: BookingAuditMessageSentDetailsSchema,\n }),\n z.object({\n ...auditEntryBase,\n action: z.literal(BookingAuditAction.ATTACHMENT_ADDED),\n details: BookingAuditAttachmentAddedDetailsSchema,\n }),\n]);\n\nexport const AdminBookingAuditResponseSchema = z.object({\n items: z.array(AdminBookingAuditEntrySchema),\n ...PaginationResponseSchema.shape,\n});\n","export const EventCrewAssignmentState = {\n DRAFT: 'DRAFT',\n INVITED: 'INVITED',\n ACCEPTED: 'ACCEPTED',\n REJECTED: 'REJECTED',\n CANCELLED: 'CANCELLED',\n EXPIRED: 'EXPIRED',\n} as const;\nexport type EventCrewAssignmentState =\n (typeof EventCrewAssignmentState)[keyof typeof EventCrewAssignmentState];\n","import { z } from 'zod';\nimport { MoneySchema } from '../common';\nimport { JobLocation } from './hiring.enums';\nimport { EventCrewAssignmentState } from './crew-assignment.enums';\n\nconst RoleFieldsSchema = z.object({\n role: z.string().trim().min(1).max(120),\n responsibilities: z.string().trim().min(1).max(5000),\n requirements: z.string().trim().min(1).max(5000),\n compensation: MoneySchema,\n location: z.enum(JobLocation),\n notes: z.string().trim().max(2000).optional(),\n});\n\n/** `POST /host/events/:eventId/crew-assignments` */\nexport const CreateEventCrewAssignmentRequestSchema = RoleFieldsSchema.extend({\n producerId: z.uuid(),\n});\n\n/** `PATCH /host/events/:eventId/crew-assignments/:id` */\nexport const UpdateEventCrewAssignmentRequestSchema = RoleFieldsSchema.partial().refine(\n (body) => Object.keys(body).length > 0,\n { message: 'At least one field is required' },\n);\n\nexport const EventCrewAssignmentProducerSummarySchema = z.object({\n id: z.uuid(),\n companyName: z.string(),\n displayName: z.string().nullable(),\n avatarUrl: z.string().nullable(),\n producerIsVerified: z.boolean(),\n});\n\nexport const EventCrewAssignmentResponseSchema = z.object({\n id: z.uuid(),\n eventId: z.uuid(),\n hostId: z.uuid(),\n producerId: z.uuid(),\n role: z.string(),\n responsibilities: z.string(),\n requirements: z.string(),\n compensation: MoneySchema,\n location: z.enum(JobLocation),\n notes: z.string().nullable(),\n state: z.enum(EventCrewAssignmentState),\n bookingId: z.uuid().nullable(),\n invitedAt: z.iso.datetime().nullable(),\n respondedAt: z.iso.datetime().nullable(),\n rejectReason: z.string().nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n producer: EventCrewAssignmentProducerSummarySchema.optional(),\n eventTitle: z.string().optional(),\n eventScheduledStart: z.iso.datetime().nullable().optional(),\n});\n\nexport const ListEventCrewAssignmentsResponseSchema = z.object({\n items: z.array(EventCrewAssignmentResponseSchema),\n});\n\n/** `POST /marketplace/crew-assignments/:id/reject` */\nexport const RejectEventCrewAssignmentRequestSchema = z.object({\n reason: z.string().trim().min(5).max(500),\n});\n\nexport const AcceptEventCrewAssignmentResponseSchema = z.object({\n assignment: EventCrewAssignmentResponseSchema,\n bookingId: z.uuid(),\n});\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkRJDU6MHM_js=require('./chunk-RJDU6MHM.js'),chunkGESZYAWR_js=require('./chunk-GESZYAWR.js'),zod=require('zod');var u=zod.z.object({id:zod.z.uuid(),userId:zod.z.uuid(),businessName:zod.z.string(),totalEvents:zod.z.number(),totalSpent:zod.z.number(),averageRating:zod.z.number(),defaultCurrency:zod.z.string(),description:zod.z.string().optional(),category:zod.z.array(zod.z.enum(chunkGESZYAWR_js.g)),logoUrl:zod.z.url().optional(),hasPin:zod.z.boolean(),businessRegNumber:zod.z.string().optional(),taxId:zod.z.string().optional(),settlementBankCode:zod.z.string().optional(),settlementAccountNumber:zod.z.string().optional(),settlementAccountName:zod.z.string().optional(),paystackSubaccountCode:zod.z.string().optional(),createdAt:zod.z.iso.datetime()}),d=zod.z.object({id:zod.z.uuid(),userId:zod.z.uuid(),companyName:zod.z.string(),bio:zod.z.string(),yearsExperience:zod.z.number().optional(),experienceLevel:zod.z.enum(chunkRJDU6MHM_js.h),equipmentManifest:zod.z.array(zod.z.record(zod.z.string(),zod.z.any())),serviceCategories:zod.z.array(chunkRJDU6MHM_js.n),equipmentItems:zod.z.array(chunkRJDU6MHM_js.n),verificationStatus:zod.z.enum(chunkRJDU6MHM_js.g),averageRating:zod.z.number().positive().multipleOf(.01),totalReviews:zod.z.number(),completionRate:zod.z.number(),isAvailable:zod.z.boolean(),hasPin:zod.z.boolean(),createdAt:zod.z.iso.datetime()}),N=zod.z.object({id:zod.z.uuid(),email:zod.z.email().toLowerCase(),emailVerified:zod.z.boolean(),emailVerifiedAt:zod.z.iso.datetime().optional(),phoneNumber:zod.z.string().optional(),firstName:zod.z.string().optional(),lastName:zod.z.string().optional(),displayName:zod.z.string().optional(),avatarUrl:zod.z.url().optional(),role:zod.z.number().min(1).max(15),accountStatus:zod.z.enum(chunkRJDU6MHM_js.b),kycStatus:zod.z.enum(chunkRJDU6MHM_js.c),hostProfile:u.optional(),producerProfile:d.optional(),createdAt:zod.z.iso.datetime(),updatedAt:zod.z.iso.datetime(),eventCategory:zod.z.array(zod.z.enum(chunkGESZYAWR_js.g)).optional()}),R=zod.z.object({firstName:zod.z.string().optional(),lastName:zod.z.string().optional(),displayName:zod.z.string().optional(),avatarUrl:zod.z.url().optional(),phoneNumber:zod.z.string().optional(),eventCategory:zod.z.array(zod.z.enum(chunkGESZYAWR_js.g)).optional()}),v=zod.z.object({businessName:zod.z.string(),description:zod.z.string().optional(),logoUrl:zod.z.string().optional(),category:zod.z.array(zod.z.enum(chunkGESZYAWR_js.g)).min(1)}),C=zod.z.object({businessName:zod.z.string().min(1).max(120).optional(),description:zod.z.string().max(2e3).optional(),logoUrl:zod.z.string().optional(),category:zod.z.array(zod.z.enum(chunkGESZYAWR_js.g)).min(1).optional(),businessRegNumber:zod.z.string().max(64).optional(),taxId:zod.z.string().max(64).optional()}),P=zod.z.object({companyName:zod.z.string(),bio:zod.z.string(),logoUrl:zod.z.string().optional(),serviceCategoryIds:zod.z.array(zod.z.uuid()).optional(),serviceCategoryCodes:zod.z.array(zod.z.string().min(1).max(64)).optional(),equipmentItemIds:zod.z.array(zod.z.uuid()).optional(),equipmentItemCodes:zod.z.array(zod.z.string().min(1).max(64)).optional(),yearsExperience:zod.z.number(),experienceLevel:zod.z.enum(chunkRJDU6MHM_js.h),minFee:zod.z.number(),maxFee:zod.z.number(),isAvailable:zod.z.boolean()}),E=zod.z.object({pin:zod.z.string().trim().regex(/^\d{4,8}$/,"pin must be 4-8 digits"),currentPin:zod.z.string().trim().regex(/^\d{4,8}$/,"currentPin must be 4-8 digits").optional()}),g=new Set(["admin","support","livdot","host","producer","system","null","undefined","me","settings","viewer","auth","events","streaming","producers","marketplace","users"]),b=zod.z.string().trim().toLowerCase().min(3,"Display name must be at least 3 characters").max(30,"Display name must be at most 30 characters").regex(/^[a-z0-9_]+$/,"Display name may only contain lowercase letters, digits, and underscores").refine(r=>!g.has(r),{message:"This display name is reserved"}),j=zod.z.object({displayName:b}).strict(),A=zod.z.object({preferredCurrency:zod.z.string().trim().toUpperCase().length(3).regex(/^[A-Z]{3}$/)}).strict(),l=zod.z.enum([chunkRJDU6MHM_js.f.LIVE_ALERTS,chunkRJDU6MHM_js.f.RECOMMENDATIONS,chunkRJDU6MHM_js.f.EVENT_REMINDERS]),y=zod.z.object({category:l,enabled:zod.z.boolean()}),U=zod.z.object({preferences:zod.z.array(y).min(1).max(10).refine(r=>new Set(r.map(p=>p.category)).size===r.length,{message:"Duplicate category in preferences"})}).strict(),I=zod.z.object({category:zod.z.enum(chunkRJDU6MHM_js.e),message:zod.z.string().trim().min(10).max(2e3)}).strict(),q=zod.z.object({id:zod.z.uuid(),email:zod.z.email(),emailVerified:zod.z.boolean(),displayName:zod.z.string().nullable(),avatarUrl:zod.z.url().nullable(),roles:zod.z.number().int(),preferredCurrency:zod.z.string(),notificationsEnabledCount:zod.z.number().int(),hasPushDevice:zod.z.boolean()}),w=zod.z.object({preferences:zod.z.record(l,zod.z.boolean())}),D=zod.z.object({id:zod.z.uuid()});exports.a=u;exports.b=d;exports.c=N;exports.d=R;exports.e=v;exports.f=C;exports.g=P;exports.h=E;exports.i=g;exports.j=b;exports.k=j;exports.l=A;exports.m=y;exports.n=U;exports.o=I;exports.p=q;exports.q=w;exports.r=D;//# sourceMappingURL=chunk-OD5Y55T4.js.map
2
- //# sourceMappingURL=chunk-OD5Y55T4.js.map
1
+ 'use strict';var chunkUFQCZR62_js=require('./chunk-UFQCZR62.js'),chunkWR3AQ6HR_js=require('./chunk-WR3AQ6HR.js'),zod=require('zod');var u=zod.z.object({id:zod.z.uuid(),userId:zod.z.uuid(),businessName:zod.z.string(),totalEvents:zod.z.number(),totalSpent:zod.z.number(),averageRating:zod.z.number(),defaultCurrency:zod.z.string(),description:zod.z.string().optional(),category:zod.z.array(zod.z.enum(chunkWR3AQ6HR_js.g)),logoUrl:zod.z.url().optional(),hasPin:zod.z.boolean(),businessRegNumber:zod.z.string().optional(),taxId:zod.z.string().optional(),settlementBankCode:zod.z.string().optional(),settlementAccountNumber:zod.z.string().optional(),settlementAccountName:zod.z.string().optional(),paystackSubaccountCode:zod.z.string().optional(),createdAt:zod.z.iso.datetime()}),d=zod.z.object({id:zod.z.uuid(),userId:zod.z.uuid(),companyName:zod.z.string(),bio:zod.z.string(),yearsExperience:zod.z.number().optional(),experienceLevel:zod.z.enum(chunkUFQCZR62_js.h),equipmentManifest:zod.z.array(zod.z.record(zod.z.string(),zod.z.any())),serviceCategories:zod.z.array(chunkUFQCZR62_js.n),equipmentItems:zod.z.array(chunkUFQCZR62_js.n),verificationStatus:zod.z.enum(chunkUFQCZR62_js.g),averageRating:zod.z.number().positive().multipleOf(.01),totalReviews:zod.z.number(),completionRate:zod.z.number(),isAvailable:zod.z.boolean(),hasPin:zod.z.boolean(),createdAt:zod.z.iso.datetime()}),N=zod.z.object({id:zod.z.uuid(),email:zod.z.email().toLowerCase(),emailVerified:zod.z.boolean(),emailVerifiedAt:zod.z.iso.datetime().optional(),phoneNumber:zod.z.string().optional(),firstName:zod.z.string().optional(),lastName:zod.z.string().optional(),displayName:zod.z.string().optional(),avatarUrl:zod.z.url().optional(),role:zod.z.number().min(1).max(15),accountStatus:zod.z.enum(chunkUFQCZR62_js.b),kycStatus:zod.z.enum(chunkUFQCZR62_js.c),hostProfile:u.optional(),producerProfile:d.optional(),createdAt:zod.z.iso.datetime(),updatedAt:zod.z.iso.datetime(),eventCategory:zod.z.array(zod.z.enum(chunkWR3AQ6HR_js.g)).optional()}),R=zod.z.object({firstName:zod.z.string().optional(),lastName:zod.z.string().optional(),displayName:zod.z.string().optional(),avatarUrl:zod.z.url().optional(),phoneNumber:zod.z.string().optional(),eventCategory:zod.z.array(zod.z.enum(chunkWR3AQ6HR_js.g)).optional()}),v=zod.z.object({businessName:zod.z.string(),description:zod.z.string().optional(),logoUrl:zod.z.string().optional(),category:zod.z.array(zod.z.enum(chunkWR3AQ6HR_js.g)).min(1)}),C=zod.z.object({businessName:zod.z.string().min(1).max(120).optional(),description:zod.z.string().max(2e3).optional(),logoUrl:zod.z.string().optional(),category:zod.z.array(zod.z.enum(chunkWR3AQ6HR_js.g)).min(1).optional(),businessRegNumber:zod.z.string().max(64).optional(),taxId:zod.z.string().max(64).optional()}),P=zod.z.object({companyName:zod.z.string(),bio:zod.z.string(),logoUrl:zod.z.string().optional(),serviceCategoryIds:zod.z.array(zod.z.uuid()).optional(),serviceCategoryCodes:zod.z.array(zod.z.string().min(1).max(64)).optional(),equipmentItemIds:zod.z.array(zod.z.uuid()).optional(),equipmentItemCodes:zod.z.array(zod.z.string().min(1).max(64)).optional(),yearsExperience:zod.z.number(),experienceLevel:zod.z.enum(chunkUFQCZR62_js.h),minFee:zod.z.number(),maxFee:zod.z.number(),isAvailable:zod.z.boolean()}),E=zod.z.object({pin:zod.z.string().trim().regex(/^\d{4,8}$/,"pin must be 4-8 digits"),currentPin:zod.z.string().trim().regex(/^\d{4,8}$/,"currentPin must be 4-8 digits").optional()}),g=new Set(["admin","support","livdot","host","producer","system","null","undefined","me","settings","viewer","auth","events","streaming","producers","marketplace","users"]),b=zod.z.string().trim().toLowerCase().min(3,"Display name must be at least 3 characters").max(30,"Display name must be at most 30 characters").regex(/^[a-z0-9_]+$/,"Display name may only contain lowercase letters, digits, and underscores").refine(r=>!g.has(r),{message:"This display name is reserved"}),j=zod.z.object({displayName:b}).strict(),A=zod.z.object({preferredCurrency:zod.z.string().trim().toUpperCase().length(3).regex(/^[A-Z]{3}$/)}).strict(),l=zod.z.enum([chunkUFQCZR62_js.f.LIVE_ALERTS,chunkUFQCZR62_js.f.RECOMMENDATIONS,chunkUFQCZR62_js.f.EVENT_REMINDERS]),y=zod.z.object({category:l,enabled:zod.z.boolean()}),U=zod.z.object({preferences:zod.z.array(y).min(1).max(10).refine(r=>new Set(r.map(p=>p.category)).size===r.length,{message:"Duplicate category in preferences"})}).strict(),I=zod.z.object({category:zod.z.enum(chunkUFQCZR62_js.e),message:zod.z.string().trim().min(10).max(2e3)}).strict(),q=zod.z.object({id:zod.z.uuid(),email:zod.z.email(),emailVerified:zod.z.boolean(),displayName:zod.z.string().nullable(),avatarUrl:zod.z.url().nullable(),roles:zod.z.number().int(),preferredCurrency:zod.z.string(),notificationsEnabledCount:zod.z.number().int(),hasPushDevice:zod.z.boolean()}),w=zod.z.object({preferences:zod.z.record(l,zod.z.boolean())}),D=zod.z.object({id:zod.z.uuid()});exports.a=u;exports.b=d;exports.c=N;exports.d=R;exports.e=v;exports.f=C;exports.g=P;exports.h=E;exports.i=g;exports.j=b;exports.k=j;exports.l=A;exports.m=y;exports.n=U;exports.o=I;exports.p=q;exports.q=w;exports.r=D;//# sourceMappingURL=chunk-I6UZ2TZL.js.map
2
+ //# sourceMappingURL=chunk-I6UZ2TZL.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/user/user.schemas.ts"],"names":["HostProfileResponseSchema","z","EventCategory","ProducerProfileResponseSchema","ProducerExperienceLevel","PublicProducerListCategorySchema","ProducerVerificationStatus","UserResponseSchema","AccountStatus","KycStatus","UpdateUserRequestSchema","CreateHostProfileRequestSchema","UpdateHostProfileRequestSchema","CreateProducerProfileRequestSchema","SetProfilePinSchema","RESERVED_DISPLAY_NAMES","DisplayNameSchema","v","UpdateViewerProfileRequestSchema","UpdateViewerCurrencyRequestSchema","USER_CATEGORY","NotificationCategory","NotificationPreferenceItemSchema","UpdateNotificationPreferencesRequestSchema","items","i","SendFeedbackRequestSchema","FeedbackCategory","ViewerMeResponseSchema","NotificationPreferencesResponseSchema","SendFeedbackResponseSchema"],"mappings":"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","file":"chunk-OD5Y55T4.js","sourcesContent":["import { z } from 'zod';\nimport {\n AccountStatus,\n FeedbackCategory,\n KycStatus,\n NotificationCategory,\n ProducerExperienceLevel,\n ProducerVerificationStatus,\n} from './user.enums';\nimport { EventCategory } from '../event';\nimport { PublicProducerListCategorySchema } from '../marketplace';\n\nexport const HostProfileResponseSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n businessName: z.string(),\n totalEvents: z.number(),\n totalSpent: z.number(),\n averageRating: z.number(),\n defaultCurrency: z.string(),\n description: z.string().optional(),\n category: z.array(z.enum(EventCategory)),\n logoUrl: z.url().optional(),\n hasPin: z.boolean(),\n businessRegNumber: z.string().optional(),\n taxId: z.string().optional(),\n settlementBankCode: z.string().optional(),\n settlementAccountNumber: z.string().optional(),\n settlementAccountName: z.string().optional(),\n paystackSubaccountCode: z.string().optional(),\n createdAt: z.iso.datetime(),\n});\n\nexport const ProducerProfileResponseSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n companyName: z.string(),\n bio: z.string(),\n yearsExperience: z.number().optional(),\n experienceLevel: z.enum(ProducerExperienceLevel),\n equipmentManifest: z.array(z.record(z.string(), z.any())),\n serviceCategories: z.array(PublicProducerListCategorySchema),\n equipmentItems: z.array(PublicProducerListCategorySchema),\n verificationStatus: z.enum(ProducerVerificationStatus),\n averageRating: z.number().positive().multipleOf(0.01),\n totalReviews: z.number(),\n completionRate: z.number(),\n isAvailable: z.boolean(),\n hasPin: z.boolean(),\n createdAt: z.iso.datetime(),\n});\n\nexport const UserResponseSchema = z.object({\n id: z.uuid(),\n email: z.email().toLowerCase(),\n emailVerified: z.boolean(),\n emailVerifiedAt: z.iso.datetime().optional(),\n phoneNumber: z.string().optional(),\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n displayName: z.string().optional(),\n avatarUrl: z.url().optional(),\n role: z.number().min(1).max(15),\n accountStatus: z.enum(AccountStatus),\n kycStatus: z.enum(KycStatus),\n hostProfile: HostProfileResponseSchema.optional(),\n producerProfile: ProducerProfileResponseSchema.optional(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n eventCategory: z.array(z.enum(EventCategory)).optional(),\n});\n\nexport const UpdateUserRequestSchema = z.object({\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n displayName: z.string().optional(),\n avatarUrl: z.url().optional(),\n phoneNumber: z.string().optional(),\n eventCategory: z.array(z.enum(EventCategory)).optional(),\n});\n\nexport const CreateHostProfileRequestSchema = z.object({\n businessName: z.string(),\n description: z.string().optional(),\n logoUrl: z.string().optional(),\n category: z.array(z.enum(EventCategory)).min(1),\n});\n\nexport const UpdateHostProfileRequestSchema = z.object({\n businessName: z.string().min(1).max(120).optional(),\n description: z.string().max(2000).optional(),\n logoUrl: z.string().optional(),\n category: z.array(z.enum(EventCategory)).min(1).optional(),\n businessRegNumber: z.string().max(64).optional(),\n taxId: z.string().max(64).optional(),\n});\n\nexport const CreateProducerProfileRequestSchema = z.object({\n companyName: z.string(),\n bio: z.string(),\n logoUrl: z.string().optional(),\n serviceCategoryIds: z.array(z.uuid()).optional(),\n serviceCategoryCodes: z.array(z.string().min(1).max(64)).optional(),\n equipmentItemIds: z.array(z.uuid()).optional(),\n equipmentItemCodes: z.array(z.string().min(1).max(64)).optional(),\n yearsExperience: z.number(),\n experienceLevel: z.enum(ProducerExperienceLevel),\n minFee: z.number(),\n maxFee: z.number(),\n isAvailable: z.boolean(),\n});\n\nexport const SetProfilePinSchema = z.object({\n pin: z\n .string()\n .trim()\n .regex(/^\\d{4,8}$/, 'pin must be 4-8 digits'),\n currentPin: z\n .string()\n .trim()\n .regex(/^\\d{4,8}$/, 'currentPin must be 4-8 digits')\n .optional(),\n});\n\nexport const RESERVED_DISPLAY_NAMES: ReadonlySet<string> = new Set([\n 'admin',\n 'support',\n 'livdot',\n 'host',\n 'producer',\n 'system',\n 'null',\n 'undefined',\n 'me',\n 'settings',\n 'viewer',\n 'auth',\n 'events',\n 'streaming',\n 'producers',\n 'marketplace',\n 'users',\n]);\n\n/** Handle constraints — see viewer-settings.md §3.1. */\nexport const DisplayNameSchema = z\n .string()\n .trim()\n .toLowerCase()\n .min(3, 'Display name must be at least 3 characters')\n .max(30, 'Display name must be at most 30 characters')\n .regex(/^[a-z0-9_]+$/, 'Display name may only contain lowercase letters, digits, and underscores')\n .refine((v) => !RESERVED_DISPLAY_NAMES.has(v), {\n message: 'This display name is reserved',\n });\n\nexport const UpdateViewerProfileRequestSchema = z\n .object({\n displayName: DisplayNameSchema,\n })\n .strict();\n\nexport const UpdateViewerCurrencyRequestSchema = z\n .object({\n preferredCurrency: z\n .string()\n .trim()\n .toUpperCase()\n .length(3)\n .regex(/^[A-Z]{3}$/),\n })\n .strict();\nconst USER_CATEGORY = z.enum([\n NotificationCategory.LIVE_ALERTS,\n NotificationCategory.RECOMMENDATIONS,\n NotificationCategory.EVENT_REMINDERS,\n]);\n\nexport const NotificationPreferenceItemSchema = z.object({\n category: USER_CATEGORY,\n enabled: z.boolean(),\n});\n\nexport const UpdateNotificationPreferencesRequestSchema = z\n .object({\n preferences: z\n .array(NotificationPreferenceItemSchema)\n .min(1)\n .max(10)\n .refine((items) => new Set(items.map((i) => i.category)).size === items.length, {\n message: 'Duplicate category in preferences',\n }),\n })\n .strict();\n\nexport const SendFeedbackRequestSchema = z\n .object({\n category: z.enum(FeedbackCategory),\n message: z.string().trim().min(10).max(2000),\n })\n .strict();\n\nexport const ViewerMeResponseSchema = z.object({\n id: z.uuid(),\n email: z.email(),\n emailVerified: z.boolean(),\n displayName: z.string().nullable(),\n avatarUrl: z.url().nullable(),\n roles: z.number().int(),\n preferredCurrency: z.string(),\n notificationsEnabledCount: z.number().int(),\n hasPushDevice: z.boolean(),\n});\n\nexport const NotificationPreferencesResponseSchema = z.object({\n preferences: z.record(USER_CATEGORY, z.boolean()),\n});\n\nexport const SendFeedbackResponseSchema = z.object({\n id: z.uuid(),\n});\n"]}
1
+ {"version":3,"sources":["../src/user/user.schemas.ts"],"names":["HostProfileResponseSchema","z","EventCategory","ProducerProfileResponseSchema","ProducerExperienceLevel","PublicProducerListCategorySchema","ProducerVerificationStatus","UserResponseSchema","AccountStatus","KycStatus","UpdateUserRequestSchema","CreateHostProfileRequestSchema","UpdateHostProfileRequestSchema","CreateProducerProfileRequestSchema","SetProfilePinSchema","RESERVED_DISPLAY_NAMES","DisplayNameSchema","v","UpdateViewerProfileRequestSchema","UpdateViewerCurrencyRequestSchema","USER_CATEGORY","NotificationCategory","NotificationPreferenceItemSchema","UpdateNotificationPreferencesRequestSchema","items","i","SendFeedbackRequestSchema","FeedbackCategory","ViewerMeResponseSchema","NotificationPreferencesResponseSchema","SendFeedbackResponseSchema"],"mappings":"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","file":"chunk-I6UZ2TZL.js","sourcesContent":["import { z } from 'zod';\nimport {\n AccountStatus,\n FeedbackCategory,\n KycStatus,\n NotificationCategory,\n ProducerExperienceLevel,\n ProducerVerificationStatus,\n} from './user.enums';\nimport { EventCategory } from '../event';\nimport { PublicProducerListCategorySchema } from '../marketplace';\n\nexport const HostProfileResponseSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n businessName: z.string(),\n totalEvents: z.number(),\n totalSpent: z.number(),\n averageRating: z.number(),\n defaultCurrency: z.string(),\n description: z.string().optional(),\n category: z.array(z.enum(EventCategory)),\n logoUrl: z.url().optional(),\n hasPin: z.boolean(),\n businessRegNumber: z.string().optional(),\n taxId: z.string().optional(),\n settlementBankCode: z.string().optional(),\n settlementAccountNumber: z.string().optional(),\n settlementAccountName: z.string().optional(),\n paystackSubaccountCode: z.string().optional(),\n createdAt: z.iso.datetime(),\n});\n\nexport const ProducerProfileResponseSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n companyName: z.string(),\n bio: z.string(),\n yearsExperience: z.number().optional(),\n experienceLevel: z.enum(ProducerExperienceLevel),\n equipmentManifest: z.array(z.record(z.string(), z.any())),\n serviceCategories: z.array(PublicProducerListCategorySchema),\n equipmentItems: z.array(PublicProducerListCategorySchema),\n verificationStatus: z.enum(ProducerVerificationStatus),\n averageRating: z.number().positive().multipleOf(0.01),\n totalReviews: z.number(),\n completionRate: z.number(),\n isAvailable: z.boolean(),\n hasPin: z.boolean(),\n createdAt: z.iso.datetime(),\n});\n\nexport const UserResponseSchema = z.object({\n id: z.uuid(),\n email: z.email().toLowerCase(),\n emailVerified: z.boolean(),\n emailVerifiedAt: z.iso.datetime().optional(),\n phoneNumber: z.string().optional(),\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n displayName: z.string().optional(),\n avatarUrl: z.url().optional(),\n role: z.number().min(1).max(15),\n accountStatus: z.enum(AccountStatus),\n kycStatus: z.enum(KycStatus),\n hostProfile: HostProfileResponseSchema.optional(),\n producerProfile: ProducerProfileResponseSchema.optional(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n eventCategory: z.array(z.enum(EventCategory)).optional(),\n});\n\nexport const UpdateUserRequestSchema = z.object({\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n displayName: z.string().optional(),\n avatarUrl: z.url().optional(),\n phoneNumber: z.string().optional(),\n eventCategory: z.array(z.enum(EventCategory)).optional(),\n});\n\nexport const CreateHostProfileRequestSchema = z.object({\n businessName: z.string(),\n description: z.string().optional(),\n logoUrl: z.string().optional(),\n category: z.array(z.enum(EventCategory)).min(1),\n});\n\nexport const UpdateHostProfileRequestSchema = z.object({\n businessName: z.string().min(1).max(120).optional(),\n description: z.string().max(2000).optional(),\n logoUrl: z.string().optional(),\n category: z.array(z.enum(EventCategory)).min(1).optional(),\n businessRegNumber: z.string().max(64).optional(),\n taxId: z.string().max(64).optional(),\n});\n\nexport const CreateProducerProfileRequestSchema = z.object({\n companyName: z.string(),\n bio: z.string(),\n logoUrl: z.string().optional(),\n serviceCategoryIds: z.array(z.uuid()).optional(),\n serviceCategoryCodes: z.array(z.string().min(1).max(64)).optional(),\n equipmentItemIds: z.array(z.uuid()).optional(),\n equipmentItemCodes: z.array(z.string().min(1).max(64)).optional(),\n yearsExperience: z.number(),\n experienceLevel: z.enum(ProducerExperienceLevel),\n minFee: z.number(),\n maxFee: z.number(),\n isAvailable: z.boolean(),\n});\n\nexport const SetProfilePinSchema = z.object({\n pin: z\n .string()\n .trim()\n .regex(/^\\d{4,8}$/, 'pin must be 4-8 digits'),\n currentPin: z\n .string()\n .trim()\n .regex(/^\\d{4,8}$/, 'currentPin must be 4-8 digits')\n .optional(),\n});\n\nexport const RESERVED_DISPLAY_NAMES: ReadonlySet<string> = new Set([\n 'admin',\n 'support',\n 'livdot',\n 'host',\n 'producer',\n 'system',\n 'null',\n 'undefined',\n 'me',\n 'settings',\n 'viewer',\n 'auth',\n 'events',\n 'streaming',\n 'producers',\n 'marketplace',\n 'users',\n]);\n\n/** Handle constraints — see viewer-settings.md §3.1. */\nexport const DisplayNameSchema = z\n .string()\n .trim()\n .toLowerCase()\n .min(3, 'Display name must be at least 3 characters')\n .max(30, 'Display name must be at most 30 characters')\n .regex(/^[a-z0-9_]+$/, 'Display name may only contain lowercase letters, digits, and underscores')\n .refine((v) => !RESERVED_DISPLAY_NAMES.has(v), {\n message: 'This display name is reserved',\n });\n\nexport const UpdateViewerProfileRequestSchema = z\n .object({\n displayName: DisplayNameSchema,\n })\n .strict();\n\nexport const UpdateViewerCurrencyRequestSchema = z\n .object({\n preferredCurrency: z\n .string()\n .trim()\n .toUpperCase()\n .length(3)\n .regex(/^[A-Z]{3}$/),\n })\n .strict();\nconst USER_CATEGORY = z.enum([\n NotificationCategory.LIVE_ALERTS,\n NotificationCategory.RECOMMENDATIONS,\n NotificationCategory.EVENT_REMINDERS,\n]);\n\nexport const NotificationPreferenceItemSchema = z.object({\n category: USER_CATEGORY,\n enabled: z.boolean(),\n});\n\nexport const UpdateNotificationPreferencesRequestSchema = z\n .object({\n preferences: z\n .array(NotificationPreferenceItemSchema)\n .min(1)\n .max(10)\n .refine((items) => new Set(items.map((i) => i.category)).size === items.length, {\n message: 'Duplicate category in preferences',\n }),\n })\n .strict();\n\nexport const SendFeedbackRequestSchema = z\n .object({\n category: z.enum(FeedbackCategory),\n message: z.string().trim().min(10).max(2000),\n })\n .strict();\n\nexport const ViewerMeResponseSchema = z.object({\n id: z.uuid(),\n email: z.email(),\n emailVerified: z.boolean(),\n displayName: z.string().nullable(),\n avatarUrl: z.url().nullable(),\n roles: z.number().int(),\n preferredCurrency: z.string(),\n notificationsEnabledCount: z.number().int(),\n hasPushDevice: z.boolean(),\n});\n\nexport const NotificationPreferencesResponseSchema = z.object({\n preferences: z.record(USER_CATEGORY, z.boolean()),\n});\n\nexport const SendFeedbackResponseSchema = z.object({\n id: z.uuid(),\n});\n"]}
@@ -1,2 +1,2 @@
1
- import {c as c$1}from'./chunk-O563NPZQ.mjs';import {g}from'./chunk-2EWNFPTC.mjs';import {z as z$1}from'zod';var o={NGN:"NGN"},I={SOUND:"sound",LIGHTING:"lighting",VIDEO:"video",STAGING:"staging",AV:"av",LOGISTICS:"logistics"},i={AUDIO:"audio",VIDEO:"video",LIGHTING:"lighting",STAGING:"staging",POWER:"power",OTHER:"other"};var R=z$1.object({category:z$1.string().optional(),minRate:z$1.coerce.number().int().min(0).optional(),maxRate:z$1.coerce.number().int().min(0).optional(),availabilityDate:z$1.string().optional(),search:z$1.string().trim().min(2).max(100).optional(),...g.shape}),n=z$1.object({id:z$1.uuid(),name:z$1.string(),category:z$1.enum(i),notes:z$1.string().nullable()}),r=z$1.object({id:z$1.uuid(),code:z$1.string(),label:z$1.string()}),A=z$1.object({items:z$1.array(r)}),c=z$1.object({id:z$1.uuid(),title:z$1.string(),description:z$1.string().nullable(),mediaUrl:z$1.url().nullable(),externalUrl:z$1.url().nullable(),createdAt:z$1.iso.datetime()}),s=z$1.object({id:z$1.uuid(),label:z$1.string(),amount:z$1.string(),currency:z$1.enum(o),notes:z$1.string().nullable()}),T=z$1.object({id:z$1.uuid(),userId:z$1.uuid(),displayName:z$1.string(),avatarUrl:z$1.url().nullable(),producerIsVerified:z$1.boolean(),companyName:z$1.string().nullable(),bio:z$1.string().nullable(),yearsExperience:z$1.number().int().nullable(),maxDistanceKm:z$1.number().int().nullable(),isAvailable:z$1.boolean(),averageRating:z$1.string(),totalReviews:z$1.number().int(),completionRate:z$1.string(),equipmentManifest:z$1.array(n),serviceCategories:z$1.array(r),portfolio:z$1.array(c),equipmentItems:z$1.array(r),rateCard:z$1.array(s),createdAt:z$1.iso.datetime(),updatedAt:z$1.iso.datetime(),recentReviews:z$1.array(c$1).optional()});var v={HOST:1,PRODUCER:2,VIEWER:4},U={ACTIVE:"ACTIVE",SUSPENDED:"SUSPENDED",BANNED:"BANNED",DELETED:"DELETED"},h={PENDING:"PENDING",SUBMITTED:"SUBMITTED",VERIFIED:"VERIFIED",REJECTED:"REJECTED"},L={TRUST:"TRUST",FINANCIAL:"FINANCIAL",LIVE_OPS:"LIVE_OPS",AUDIT:"AUDIT"},k={BUG:"BUG",IDEA:"IDEA",GENERAL:"GENERAL"},V={EVENT_REMINDERS:"EVENT_REMINDERS",LIVE_ALERTS:"LIVE_ALERTS",RECOMMENDATIONS:"RECOMMENDATIONS",JOB_INVITATIONS:"JOB_INVITATIONS",JOB_CONFIRMATIONS:"JOB_CONFIRMATIONS",MESSAGES:"MESSAGES",TICKET_PURCHASES:"TICKET_PURCHASES",CREW_UPDATES:"CREW_UPDATES"},l={PENDING:"PENDING",APPROVED:"APPROVED",REJECTED:"REJECTED",SUBMITTED:"SUBMITTED",SUSPENDED:"SUSPENDED"},p={BEGINNER:"BEGINNER",INTERMEDIATE:"INTERMEDIATE",EXPERT:"EXPERT"};var d=z$1.object({name:z$1.string().min(1).max(255),category:z$1.enum(i),notes:z$1.string().max(2e3).optional()}),S=z$1.object({title:z$1.string().min(1).max(255),description:z$1.string().max(2e3).optional(),mediaUrl:z$1.url().optional(),externalUrl:z$1.url().optional()}),b=z$1.object({label:z$1.string().min(1).max(255),amount:z$1.number().min(0),currency:z$1.enum(o).default(o.NGN),notes:z$1.string().max(2e3).optional()}),B=z$1.object({id:z$1.uuid(),userId:z$1.uuid(),companyName:z$1.string(),bio:z$1.string(),logoUrl:z$1.url().nullable(),experienceLevel:z$1.enum(p),yearsExperience:z$1.number().int().nullable(),maxDistanceKm:z$1.number().int().nullable(),availabilityCalendar:z$1.record(z$1.string(),z$1.unknown()).nullable(),verificationStatus:z$1.enum(l),verificationReason:z$1.string().nullable(),verifiedAt:z$1.iso.datetime().nullable(),visibleInMarketplace:z$1.boolean(),isAvailable:z$1.boolean(),defaultCurrency:z$1.enum(o),averageRating:z$1.number(),totalReviews:z$1.number().int(),completionRate:z$1.number(),hasPin:z$1.boolean(),equipmentManifest:z$1.array(n),serviceCategories:z$1.array(r),portfolio:z$1.array(c),rateCard:z$1.array(s),createdAt:z$1.iso.datetime(),updatedAt:z$1.iso.datetime(),equipmentItems:z$1.array(r)}),_=z$1.object({companyName:z$1.string().min(1).max(120).optional(),bio:z$1.string().min(1).max(2e3).optional(),logoUrl:z$1.url().nullable().optional(),experienceLevel:z$1.enum(p).optional(),yearsExperience:z$1.number().int().min(0).optional(),serviceAreas:z$1.array(z$1.string()).optional(),maxDistanceKm:z$1.number().int().min(0).nullable().optional(),availabilityCalendar:z$1.record(z$1.string(),z$1.unknown()).nullable().optional(),isAvailable:z$1.boolean().optional(),visibleInMarketplace:z$1.boolean().optional(),equipmentManifest:z$1.array(d).optional(),portfolio:z$1.array(S).optional(),rateCard:z$1.array(b).optional(),equipmentItemIds:z$1.array(z$1.uuid()).optional(),equipmentItemCodes:z$1.array(z$1.string().min(1).max(64)).optional(),categoryCodes:z$1.array(z$1.string()).optional()}).refine(y=>Object.keys(y).length>0,{message:"At least one field is required"}),F=z$1.object({verificationStatus:z$1.literal(l.SUBMITTED)}),w=z$1.object({view:z$1.literal("workspace").optional()});var f=z$1.string().trim().min(5,"Reason must be at least 5 characters"),J=z$1.object({notes:z$1.string().max(2e3).optional()}),E=z$1.object({reason:f,notes:z$1.string().max(2e3).optional()}),H=E,z=E;export{E as A,H as B,z as C,v as a,U as b,h as c,L as d,k as e,V as f,l as g,p as h,o as i,I as j,i as k,R as l,n as m,r as n,A as o,c as p,s as q,T as r,d as s,S as t,b as u,B as v,_ as w,F as x,w as y,J as z};//# sourceMappingURL=chunk-QINVXHGM.mjs.map
2
- //# sourceMappingURL=chunk-QINVXHGM.mjs.map
1
+ import {c as c$1}from'./chunk-O563NPZQ.mjs';import {g}from'./chunk-PAUYI2FU.mjs';import {z as z$1}from'zod';var o={NGN:"NGN"},I={SOUND:"sound",LIGHTING:"lighting",VIDEO:"video",STAGING:"staging",AV:"av",LOGISTICS:"logistics"},i={AUDIO:"audio",VIDEO:"video",LIGHTING:"lighting",STAGING:"staging",POWER:"power",OTHER:"other"};var R=z$1.object({category:z$1.string().optional(),minRate:z$1.coerce.number().int().min(0).optional(),maxRate:z$1.coerce.number().int().min(0).optional(),availabilityDate:z$1.string().optional(),search:z$1.string().trim().min(2).max(100).optional(),...g.shape}),n=z$1.object({id:z$1.uuid(),name:z$1.string(),category:z$1.enum(i),notes:z$1.string().nullable()}),r=z$1.object({id:z$1.uuid(),code:z$1.string(),label:z$1.string()}),A=z$1.object({items:z$1.array(r)}),c=z$1.object({id:z$1.uuid(),title:z$1.string(),description:z$1.string().nullable(),mediaUrl:z$1.url().nullable(),externalUrl:z$1.url().nullable(),createdAt:z$1.iso.datetime()}),s=z$1.object({id:z$1.uuid(),label:z$1.string(),amount:z$1.string(),currency:z$1.enum(o),notes:z$1.string().nullable()}),T=z$1.object({id:z$1.uuid(),userId:z$1.uuid(),displayName:z$1.string(),avatarUrl:z$1.url().nullable(),producerIsVerified:z$1.boolean(),companyName:z$1.string().nullable(),bio:z$1.string().nullable(),yearsExperience:z$1.number().int().nullable(),maxDistanceKm:z$1.number().int().nullable(),isAvailable:z$1.boolean(),averageRating:z$1.string(),totalReviews:z$1.number().int(),completionRate:z$1.string(),equipmentManifest:z$1.array(n),serviceCategories:z$1.array(r),portfolio:z$1.array(c),equipmentItems:z$1.array(r),rateCard:z$1.array(s),createdAt:z$1.iso.datetime(),updatedAt:z$1.iso.datetime(),recentReviews:z$1.array(c$1).optional()});var v={HOST:1,PRODUCER:2,VIEWER:4},U={ACTIVE:"ACTIVE",SUSPENDED:"SUSPENDED",BANNED:"BANNED",DELETED:"DELETED"},h={PENDING:"PENDING",SUBMITTED:"SUBMITTED",VERIFIED:"VERIFIED",REJECTED:"REJECTED"},L={TRUST:"TRUST",FINANCIAL:"FINANCIAL",LIVE_OPS:"LIVE_OPS",AUDIT:"AUDIT"},k={BUG:"BUG",IDEA:"IDEA",GENERAL:"GENERAL"},V={EVENT_REMINDERS:"EVENT_REMINDERS",LIVE_ALERTS:"LIVE_ALERTS",RECOMMENDATIONS:"RECOMMENDATIONS",JOB_INVITATIONS:"JOB_INVITATIONS",JOB_CONFIRMATIONS:"JOB_CONFIRMATIONS",MESSAGES:"MESSAGES",TICKET_PURCHASES:"TICKET_PURCHASES",CREW_UPDATES:"CREW_UPDATES"},l={PENDING:"PENDING",APPROVED:"APPROVED",REJECTED:"REJECTED",SUBMITTED:"SUBMITTED",SUSPENDED:"SUSPENDED"},p={BEGINNER:"BEGINNER",INTERMEDIATE:"INTERMEDIATE",EXPERT:"EXPERT"};var d=z$1.object({name:z$1.string().min(1).max(255),category:z$1.enum(i),notes:z$1.string().max(2e3).optional()}),S=z$1.object({title:z$1.string().min(1).max(255),description:z$1.string().max(2e3).optional(),mediaUrl:z$1.url().optional(),externalUrl:z$1.url().optional()}),b=z$1.object({label:z$1.string().min(1).max(255),amount:z$1.number().min(0),currency:z$1.enum(o).default(o.NGN),notes:z$1.string().max(2e3).optional()}),B=z$1.object({id:z$1.uuid(),userId:z$1.uuid(),companyName:z$1.string(),bio:z$1.string(),logoUrl:z$1.url().nullable(),experienceLevel:z$1.enum(p),yearsExperience:z$1.number().int().nullable(),maxDistanceKm:z$1.number().int().nullable(),availabilityCalendar:z$1.record(z$1.string(),z$1.unknown()).nullable(),verificationStatus:z$1.enum(l),verificationReason:z$1.string().nullable(),verifiedAt:z$1.iso.datetime().nullable(),visibleInMarketplace:z$1.boolean(),isAvailable:z$1.boolean(),defaultCurrency:z$1.enum(o),averageRating:z$1.number(),totalReviews:z$1.number().int(),completionRate:z$1.number(),hasPin:z$1.boolean(),equipmentManifest:z$1.array(n),serviceCategories:z$1.array(r),portfolio:z$1.array(c),rateCard:z$1.array(s),createdAt:z$1.iso.datetime(),updatedAt:z$1.iso.datetime(),equipmentItems:z$1.array(r)}),_=z$1.object({companyName:z$1.string().min(1).max(120).optional(),bio:z$1.string().min(1).max(2e3).optional(),logoUrl:z$1.url().nullable().optional(),experienceLevel:z$1.enum(p).optional(),yearsExperience:z$1.number().int().min(0).optional(),serviceAreas:z$1.array(z$1.string()).optional(),maxDistanceKm:z$1.number().int().min(0).nullable().optional(),availabilityCalendar:z$1.record(z$1.string(),z$1.unknown()).nullable().optional(),isAvailable:z$1.boolean().optional(),visibleInMarketplace:z$1.boolean().optional(),equipmentManifest:z$1.array(d).optional(),portfolio:z$1.array(S).optional(),rateCard:z$1.array(b).optional(),equipmentItemIds:z$1.array(z$1.uuid()).optional(),equipmentItemCodes:z$1.array(z$1.string().min(1).max(64)).optional(),categoryCodes:z$1.array(z$1.string()).optional()}).refine(y=>Object.keys(y).length>0,{message:"At least one field is required"}),F=z$1.object({verificationStatus:z$1.literal(l.SUBMITTED)}),w=z$1.object({view:z$1.literal("workspace").optional()});var f=z$1.string().trim().min(5,"Reason must be at least 5 characters"),J=z$1.object({notes:z$1.string().max(2e3).optional()}),E=z$1.object({reason:f,notes:z$1.string().max(2e3).optional()}),H=E,z=E;export{E as A,H as B,z as C,v as a,U as b,h as c,L as d,k as e,V as f,l as g,p as h,o as i,I as j,i as k,R as l,n as m,r as n,A as o,c as p,s as q,T as r,d as s,S as t,b as u,B as v,_ as w,F as x,w as y,J as z};//# sourceMappingURL=chunk-IR4E7GOJ.mjs.map
2
+ //# sourceMappingURL=chunk-IR4E7GOJ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/marketplace/marketplace.enums.ts","../src/marketplace/marketplace.schemas.ts","../src/user/user.enums.ts","../src/marketplace/workspace.schemas.ts","../src/marketplace/verification.schemas.ts"],"names":["MarketplaceCurrency","ServiceCategoryCode","EquipmentCategory","ListProducersQuerySchema","z","PaginationParamsSchema","PublicProducerListEquipmentItemSchema","PublicProducerListCategorySchema","ServiceCategoryListResponseSchema","PublicProducerListPortfolioItemSchema","PublicProducerListRateCardItemSchema","PublicProducerListItemSchema","ProducerRecentReviewSchema","UserRole","AccountStatus","KycStatus","AdminScopeCode","FeedbackCategory","NotificationCategory","ProducerVerificationStatus","ProducerExperienceLevel","WorkspaceEquipmentItemInputSchema","WorkspacePortfolioItemInputSchema","WorkspaceRateCardItemInputSchema","ProducerProfileWorkspaceSchema","UpsertProducerWorkspaceProfileSchema","data","SubmitProducerForVerificationSchema","GetProducerProfileQuerySchema","verificationReasonSchema","AdminApproveProducerVerificationSchema","AdminProducerVerificationReasonBodySchema","AdminRejectProducerVerificationSchema","AdminSuspendProducerVerificationSchema"],"mappings":"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","file":"chunk-QINVXHGM.mjs","sourcesContent":["/** ISO 4217 codes supported on marketplace rate cards. */\nexport const MarketplaceCurrency = {\n NGN: 'NGN',\n} as const;\nexport type MarketplaceCurrency = (typeof MarketplaceCurrency)[keyof typeof MarketplaceCurrency];\n\n/**\n * Known service category codes for producer capability filters.\n * Additional codes may exist in the catalog; listing responses use `z.string()` for `code`.\n */\nexport const ServiceCategoryCode = {\n SOUND: 'sound',\n LIGHTING: 'lighting',\n VIDEO: 'video',\n STAGING: 'staging',\n AV: 'av',\n LOGISTICS: 'logistics',\n} as const;\nexport type ServiceCategoryCode = (typeof ServiceCategoryCode)[keyof typeof ServiceCategoryCode];\n\n/** Equipment manifest categories on public producer listings. */\nexport const EquipmentCategory = {\n AUDIO: 'audio',\n VIDEO: 'video',\n LIGHTING: 'lighting',\n STAGING: 'staging',\n POWER: 'power',\n OTHER: 'other',\n} as const;\nexport type EquipmentCategory = (typeof EquipmentCategory)[keyof typeof EquipmentCategory];\n","import { z } from 'zod';\nimport { EquipmentCategory, MarketplaceCurrency } from './marketplace.enums';\nimport { PaginationParamsSchema } from '../common';\nimport { ProducerRecentReviewSchema } from '../booking/review.schemas';\n\nexport const ListProducersQuerySchema = z.object({\n category: z.string().optional(),\n minRate: z.coerce.number().int().min(0).optional(),\n maxRate: z.coerce.number().int().min(0).optional(),\n availabilityDate: z.string().optional(),\n /** Case-insensitive match on name, company, role/skill, or equipment */\n search: z.string().trim().min(2).max(100).optional(),\n ...PaginationParamsSchema.shape,\n});\n\nexport const PublicProducerListEquipmentItemSchema = z.object({\n id: z.uuid(),\n name: z.string(),\n category: z.enum(EquipmentCategory),\n notes: z.string().nullable(),\n});\n\nexport const PublicProducerListCategorySchema = z.object({\n id: z.uuid(),\n code: z.string(),\n label: z.string(),\n});\n\nexport const ServiceCategoryListResponseSchema = z.object({\n items: z.array(PublicProducerListCategorySchema),\n});\n\nexport const PublicProducerListPortfolioItemSchema = z.object({\n id: z.uuid(),\n title: z.string(),\n description: z.string().nullable(),\n mediaUrl: z.url().nullable(),\n externalUrl: z.url().nullable(),\n createdAt: z.iso.datetime(),\n});\n\nexport const PublicProducerListRateCardItemSchema = z.object({\n id: z.uuid(),\n label: z.string(),\n amount: z.string(),\n currency: z.enum(MarketplaceCurrency),\n notes: z.string().nullable(),\n});\n\n/** One element of `ListProducersResponse.producers`. */\nexport const PublicProducerListItemSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n displayName: z.string(),\n avatarUrl: z.url().nullable(),\n producerIsVerified: z.boolean(),\n companyName: z.string().nullable(),\n bio: z.string().nullable(),\n yearsExperience: z.number().int().nullable(),\n maxDistanceKm: z.number().int().nullable(),\n isAvailable: z.boolean(),\n averageRating: z.string(),\n totalReviews: z.number().int(),\n completionRate: z.string(),\n equipmentManifest: z.array(PublicProducerListEquipmentItemSchema),\n serviceCategories: z.array(PublicProducerListCategorySchema),\n portfolio: z.array(PublicProducerListPortfolioItemSchema),\n equipmentItems: z.array(PublicProducerListCategorySchema),\n rateCard: z.array(PublicProducerListRateCardItemSchema),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n recentReviews: z.array(ProducerRecentReviewSchema).optional(),\n});\n","export const UserRole = {\n HOST: 1,\n PRODUCER: 2,\n VIEWER: 4,\n} as const;\nexport type UserRole = (typeof UserRole)[keyof typeof UserRole];\n\nexport const AccountStatus = {\n ACTIVE: 'ACTIVE',\n SUSPENDED: 'SUSPENDED',\n BANNED: 'BANNED',\n DELETED: 'DELETED',\n} as const;\nexport type AccountStatus = (typeof AccountStatus)[keyof typeof AccountStatus];\n\nexport const KycStatus = {\n PENDING: 'PENDING',\n SUBMITTED: 'SUBMITTED',\n VERIFIED: 'VERIFIED',\n REJECTED: 'REJECTED',\n} as const;\nexport type KycStatus = (typeof KycStatus)[keyof typeof KycStatus];\n\n/**\n * Enum for admin scope codes.\n */\nexport const AdminScopeCode = {\n TRUST: 'TRUST',\n FINANCIAL: 'FINANCIAL',\n LIVE_OPS: 'LIVE_OPS',\n AUDIT: 'AUDIT',\n} as const;\nexport type AdminScopeCode = (typeof AdminScopeCode)[keyof typeof AdminScopeCode];\n\nexport const FeedbackCategory = {\n BUG: 'BUG',\n IDEA: 'IDEA',\n GENERAL: 'GENERAL',\n} as const;\nexport type FeedbackCategory = (typeof FeedbackCategory)[keyof typeof FeedbackCategory];\n\nexport const NotificationCategory = {\n EVENT_REMINDERS: 'EVENT_REMINDERS',\n LIVE_ALERTS: 'LIVE_ALERTS',\n RECOMMENDATIONS: 'RECOMMENDATIONS',\n JOB_INVITATIONS: 'JOB_INVITATIONS',\n JOB_CONFIRMATIONS: 'JOB_CONFIRMATIONS',\n MESSAGES: 'MESSAGES',\n TICKET_PURCHASES: 'TICKET_PURCHASES',\n CREW_UPDATES: 'CREW_UPDATES',\n} as const;\nexport type NotificationCategory = (typeof NotificationCategory)[keyof typeof NotificationCategory];\n\nexport const ProducerVerificationStatus = {\n PENDING: 'PENDING',\n APPROVED: 'APPROVED',\n REJECTED: 'REJECTED',\n SUBMITTED: 'SUBMITTED',\n SUSPENDED: 'SUSPENDED',\n} as const;\nexport type ProducerVerificationStatus =\n (typeof ProducerVerificationStatus)[keyof typeof ProducerVerificationStatus];\n\nexport const ProducerExperienceLevel = {\n BEGINNER: 'BEGINNER',\n INTERMEDIATE: 'INTERMEDIATE',\n EXPERT: 'EXPERT',\n} as const;\nexport type ProducerExperienceLevel =\n (typeof ProducerExperienceLevel)[keyof typeof ProducerExperienceLevel];\n","import { z } from 'zod';\nimport { ProducerExperienceLevel, ProducerVerificationStatus } from '../user/user.enums';\nimport { EquipmentCategory, MarketplaceCurrency } from './marketplace.enums';\nimport {\n PublicProducerListCategorySchema,\n PublicProducerListEquipmentItemSchema,\n PublicProducerListPortfolioItemSchema,\n PublicProducerListRateCardItemSchema,\n} from './marketplace.schemas';\n\n/** Workspace equipment row (full manifest; public API uses the same shape). */\nexport const WorkspaceEquipmentItemInputSchema = z.object({\n name: z.string().min(1).max(255),\n category: z.enum(EquipmentCategory),\n notes: z.string().max(2000).optional(),\n});\n\nexport const WorkspacePortfolioItemInputSchema = z.object({\n title: z.string().min(1).max(255),\n description: z.string().max(2000).optional(),\n mediaUrl: z.url().optional(),\n externalUrl: z.url().optional(),\n});\n\nexport const WorkspaceRateCardItemInputSchema = z.object({\n label: z.string().min(1).max(255),\n amount: z.number().min(0),\n currency: z.enum(MarketplaceCurrency).default(MarketplaceCurrency.NGN),\n notes: z.string().max(2000).optional(),\n});\n\n/**\n * Authenticated producer workspace profile (owner view).\n * Includes verification workflow fields and raw availability; never returned on public routes.\n */\nexport const ProducerProfileWorkspaceSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n companyName: z.string(),\n bio: z.string(),\n logoUrl: z.url().nullable(),\n experienceLevel: z.enum(ProducerExperienceLevel),\n yearsExperience: z.number().int().nullable(),\n maxDistanceKm: z.number().int().nullable(),\n availabilityCalendar: z.record(z.string(), z.unknown()).nullable(),\n verificationStatus: z.enum(ProducerVerificationStatus),\n verificationReason: z.string().nullable(),\n verifiedAt: z.iso.datetime().nullable(),\n visibleInMarketplace: z.boolean(),\n isAvailable: z.boolean(),\n defaultCurrency: z.enum(MarketplaceCurrency),\n averageRating: z.number(),\n totalReviews: z.number().int(),\n completionRate: z.number(),\n hasPin: z.boolean(),\n equipmentManifest: z.array(PublicProducerListEquipmentItemSchema),\n serviceCategories: z.array(PublicProducerListCategorySchema),\n portfolio: z.array(PublicProducerListPortfolioItemSchema),\n rateCard: z.array(PublicProducerListRateCardItemSchema),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n equipmentItems: z.array(PublicProducerListCategorySchema),\n});\n\n/** PATCH body for workspace profile updates (partial). */\nexport const UpsertProducerWorkspaceProfileSchema = z\n .object({\n companyName: z.string().min(1).max(120).optional(),\n bio: z.string().min(1).max(2000).optional(),\n logoUrl: z.url().nullable().optional(),\n experienceLevel: z.enum(ProducerExperienceLevel).optional(),\n yearsExperience: z.number().int().min(0).optional(),\n serviceAreas: z.array(z.string()).optional(),\n maxDistanceKm: z.number().int().min(0).nullable().optional(),\n availabilityCalendar: z.record(z.string(), z.unknown()).nullable().optional(),\n isAvailable: z.boolean().optional(),\n visibleInMarketplace: z.boolean().optional(),\n equipmentManifest: z.array(WorkspaceEquipmentItemInputSchema).optional(),\n portfolio: z.array(WorkspacePortfolioItemInputSchema).optional(),\n rateCard: z.array(WorkspaceRateCardItemInputSchema).optional(),\n equipmentItemIds: z.array(z.uuid()).optional(),\n equipmentItemCodes: z.array(z.string().min(1).max(64)).optional(),\n categoryCodes: z.array(z.string()).optional(),\n })\n .refine((data) => Object.keys(data).length > 0, {\n message: 'At least one field is required',\n });\n\n/** POST body for submit-for-verification (explicit intent for signing). */\nexport const SubmitProducerForVerificationSchema = z.object({\n verificationStatus: z.literal(ProducerVerificationStatus.SUBMITTED),\n});\n\n/** Query for `GET /users/me/producer-profile` — `view=workspace` returns owner workspace shape. */\nexport const GetProducerProfileQuerySchema = z.object({\n view: z.literal('workspace').optional(),\n});\n","import { z } from 'zod';\n\nconst verificationReasonSchema = z.string().trim().min(5, 'Reason must be at least 5 characters');\n\n/** Admin approves a submitted producer (SUBMITTED → APPROVED) or reinstates (SUSPENDED → APPROVED). */\nexport const AdminApproveProducerVerificationSchema = z.object({\n notes: z.string().max(2000).optional(),\n});\n\n/**\n * Shared body for admin actions that require a decision reason.\n * `reason` → producer-facing verificationReason + audit; `notes` → optional internal admin context.\n */\nexport const AdminProducerVerificationReasonBodySchema = z.object({\n reason: verificationReasonSchema,\n notes: z.string().max(2000).optional(),\n});\n\n/** Admin rejects a submitted producer (SUBMITTED → REJECTED). */\nexport const AdminRejectProducerVerificationSchema = AdminProducerVerificationReasonBodySchema;\n\n/** Admin suspends an approved producer (APPROVED → SUSPENDED). */\nexport const AdminSuspendProducerVerificationSchema = AdminProducerVerificationReasonBodySchema;\n"]}
1
+ {"version":3,"sources":["../src/marketplace/marketplace.enums.ts","../src/marketplace/marketplace.schemas.ts","../src/user/user.enums.ts","../src/marketplace/workspace.schemas.ts","../src/marketplace/verification.schemas.ts"],"names":["MarketplaceCurrency","ServiceCategoryCode","EquipmentCategory","ListProducersQuerySchema","z","PaginationParamsSchema","PublicProducerListEquipmentItemSchema","PublicProducerListCategorySchema","ServiceCategoryListResponseSchema","PublicProducerListPortfolioItemSchema","PublicProducerListRateCardItemSchema","PublicProducerListItemSchema","ProducerRecentReviewSchema","UserRole","AccountStatus","KycStatus","AdminScopeCode","FeedbackCategory","NotificationCategory","ProducerVerificationStatus","ProducerExperienceLevel","WorkspaceEquipmentItemInputSchema","WorkspacePortfolioItemInputSchema","WorkspaceRateCardItemInputSchema","ProducerProfileWorkspaceSchema","UpsertProducerWorkspaceProfileSchema","data","SubmitProducerForVerificationSchema","GetProducerProfileQuerySchema","verificationReasonSchema","AdminApproveProducerVerificationSchema","AdminProducerVerificationReasonBodySchema","AdminRejectProducerVerificationSchema","AdminSuspendProducerVerificationSchema"],"mappings":"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","file":"chunk-IR4E7GOJ.mjs","sourcesContent":["/** ISO 4217 codes supported on marketplace rate cards. */\nexport const MarketplaceCurrency = {\n NGN: 'NGN',\n} as const;\nexport type MarketplaceCurrency = (typeof MarketplaceCurrency)[keyof typeof MarketplaceCurrency];\n\n/**\n * Known service category codes for producer capability filters.\n * Additional codes may exist in the catalog; listing responses use `z.string()` for `code`.\n */\nexport const ServiceCategoryCode = {\n SOUND: 'sound',\n LIGHTING: 'lighting',\n VIDEO: 'video',\n STAGING: 'staging',\n AV: 'av',\n LOGISTICS: 'logistics',\n} as const;\nexport type ServiceCategoryCode = (typeof ServiceCategoryCode)[keyof typeof ServiceCategoryCode];\n\n/** Equipment manifest categories on public producer listings. */\nexport const EquipmentCategory = {\n AUDIO: 'audio',\n VIDEO: 'video',\n LIGHTING: 'lighting',\n STAGING: 'staging',\n POWER: 'power',\n OTHER: 'other',\n} as const;\nexport type EquipmentCategory = (typeof EquipmentCategory)[keyof typeof EquipmentCategory];\n","import { z } from 'zod';\nimport { EquipmentCategory, MarketplaceCurrency } from './marketplace.enums';\nimport { PaginationParamsSchema } from '../common';\nimport { ProducerRecentReviewSchema } from '../booking/review.schemas';\n\nexport const ListProducersQuerySchema = z.object({\n category: z.string().optional(),\n minRate: z.coerce.number().int().min(0).optional(),\n maxRate: z.coerce.number().int().min(0).optional(),\n availabilityDate: z.string().optional(),\n /** Case-insensitive match on name, company, role/skill, or equipment */\n search: z.string().trim().min(2).max(100).optional(),\n ...PaginationParamsSchema.shape,\n});\n\nexport const PublicProducerListEquipmentItemSchema = z.object({\n id: z.uuid(),\n name: z.string(),\n category: z.enum(EquipmentCategory),\n notes: z.string().nullable(),\n});\n\nexport const PublicProducerListCategorySchema = z.object({\n id: z.uuid(),\n code: z.string(),\n label: z.string(),\n});\n\nexport const ServiceCategoryListResponseSchema = z.object({\n items: z.array(PublicProducerListCategorySchema),\n});\n\nexport const PublicProducerListPortfolioItemSchema = z.object({\n id: z.uuid(),\n title: z.string(),\n description: z.string().nullable(),\n mediaUrl: z.url().nullable(),\n externalUrl: z.url().nullable(),\n createdAt: z.iso.datetime(),\n});\n\nexport const PublicProducerListRateCardItemSchema = z.object({\n id: z.uuid(),\n label: z.string(),\n amount: z.string(),\n currency: z.enum(MarketplaceCurrency),\n notes: z.string().nullable(),\n});\n\n/** One element of `ListProducersResponse.producers`. */\nexport const PublicProducerListItemSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n displayName: z.string(),\n avatarUrl: z.url().nullable(),\n producerIsVerified: z.boolean(),\n companyName: z.string().nullable(),\n bio: z.string().nullable(),\n yearsExperience: z.number().int().nullable(),\n maxDistanceKm: z.number().int().nullable(),\n isAvailable: z.boolean(),\n averageRating: z.string(),\n totalReviews: z.number().int(),\n completionRate: z.string(),\n equipmentManifest: z.array(PublicProducerListEquipmentItemSchema),\n serviceCategories: z.array(PublicProducerListCategorySchema),\n portfolio: z.array(PublicProducerListPortfolioItemSchema),\n equipmentItems: z.array(PublicProducerListCategorySchema),\n rateCard: z.array(PublicProducerListRateCardItemSchema),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n recentReviews: z.array(ProducerRecentReviewSchema).optional(),\n});\n","export const UserRole = {\n HOST: 1,\n PRODUCER: 2,\n VIEWER: 4,\n} as const;\nexport type UserRole = (typeof UserRole)[keyof typeof UserRole];\n\nexport const AccountStatus = {\n ACTIVE: 'ACTIVE',\n SUSPENDED: 'SUSPENDED',\n BANNED: 'BANNED',\n DELETED: 'DELETED',\n} as const;\nexport type AccountStatus = (typeof AccountStatus)[keyof typeof AccountStatus];\n\nexport const KycStatus = {\n PENDING: 'PENDING',\n SUBMITTED: 'SUBMITTED',\n VERIFIED: 'VERIFIED',\n REJECTED: 'REJECTED',\n} as const;\nexport type KycStatus = (typeof KycStatus)[keyof typeof KycStatus];\n\n/**\n * Enum for admin scope codes.\n */\nexport const AdminScopeCode = {\n TRUST: 'TRUST',\n FINANCIAL: 'FINANCIAL',\n LIVE_OPS: 'LIVE_OPS',\n AUDIT: 'AUDIT',\n} as const;\nexport type AdminScopeCode = (typeof AdminScopeCode)[keyof typeof AdminScopeCode];\n\nexport const FeedbackCategory = {\n BUG: 'BUG',\n IDEA: 'IDEA',\n GENERAL: 'GENERAL',\n} as const;\nexport type FeedbackCategory = (typeof FeedbackCategory)[keyof typeof FeedbackCategory];\n\nexport const NotificationCategory = {\n EVENT_REMINDERS: 'EVENT_REMINDERS',\n LIVE_ALERTS: 'LIVE_ALERTS',\n RECOMMENDATIONS: 'RECOMMENDATIONS',\n JOB_INVITATIONS: 'JOB_INVITATIONS',\n JOB_CONFIRMATIONS: 'JOB_CONFIRMATIONS',\n MESSAGES: 'MESSAGES',\n TICKET_PURCHASES: 'TICKET_PURCHASES',\n CREW_UPDATES: 'CREW_UPDATES',\n} as const;\nexport type NotificationCategory = (typeof NotificationCategory)[keyof typeof NotificationCategory];\n\nexport const ProducerVerificationStatus = {\n PENDING: 'PENDING',\n APPROVED: 'APPROVED',\n REJECTED: 'REJECTED',\n SUBMITTED: 'SUBMITTED',\n SUSPENDED: 'SUSPENDED',\n} as const;\nexport type ProducerVerificationStatus =\n (typeof ProducerVerificationStatus)[keyof typeof ProducerVerificationStatus];\n\nexport const ProducerExperienceLevel = {\n BEGINNER: 'BEGINNER',\n INTERMEDIATE: 'INTERMEDIATE',\n EXPERT: 'EXPERT',\n} as const;\nexport type ProducerExperienceLevel =\n (typeof ProducerExperienceLevel)[keyof typeof ProducerExperienceLevel];\n","import { z } from 'zod';\nimport { ProducerExperienceLevel, ProducerVerificationStatus } from '../user/user.enums';\nimport { EquipmentCategory, MarketplaceCurrency } from './marketplace.enums';\nimport {\n PublicProducerListCategorySchema,\n PublicProducerListEquipmentItemSchema,\n PublicProducerListPortfolioItemSchema,\n PublicProducerListRateCardItemSchema,\n} from './marketplace.schemas';\n\n/** Workspace equipment row (full manifest; public API uses the same shape). */\nexport const WorkspaceEquipmentItemInputSchema = z.object({\n name: z.string().min(1).max(255),\n category: z.enum(EquipmentCategory),\n notes: z.string().max(2000).optional(),\n});\n\nexport const WorkspacePortfolioItemInputSchema = z.object({\n title: z.string().min(1).max(255),\n description: z.string().max(2000).optional(),\n mediaUrl: z.url().optional(),\n externalUrl: z.url().optional(),\n});\n\nexport const WorkspaceRateCardItemInputSchema = z.object({\n label: z.string().min(1).max(255),\n amount: z.number().min(0),\n currency: z.enum(MarketplaceCurrency).default(MarketplaceCurrency.NGN),\n notes: z.string().max(2000).optional(),\n});\n\n/**\n * Authenticated producer workspace profile (owner view).\n * Includes verification workflow fields and raw availability; never returned on public routes.\n */\nexport const ProducerProfileWorkspaceSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n companyName: z.string(),\n bio: z.string(),\n logoUrl: z.url().nullable(),\n experienceLevel: z.enum(ProducerExperienceLevel),\n yearsExperience: z.number().int().nullable(),\n maxDistanceKm: z.number().int().nullable(),\n availabilityCalendar: z.record(z.string(), z.unknown()).nullable(),\n verificationStatus: z.enum(ProducerVerificationStatus),\n verificationReason: z.string().nullable(),\n verifiedAt: z.iso.datetime().nullable(),\n visibleInMarketplace: z.boolean(),\n isAvailable: z.boolean(),\n defaultCurrency: z.enum(MarketplaceCurrency),\n averageRating: z.number(),\n totalReviews: z.number().int(),\n completionRate: z.number(),\n hasPin: z.boolean(),\n equipmentManifest: z.array(PublicProducerListEquipmentItemSchema),\n serviceCategories: z.array(PublicProducerListCategorySchema),\n portfolio: z.array(PublicProducerListPortfolioItemSchema),\n rateCard: z.array(PublicProducerListRateCardItemSchema),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n equipmentItems: z.array(PublicProducerListCategorySchema),\n});\n\n/** PATCH body for workspace profile updates (partial). */\nexport const UpsertProducerWorkspaceProfileSchema = z\n .object({\n companyName: z.string().min(1).max(120).optional(),\n bio: z.string().min(1).max(2000).optional(),\n logoUrl: z.url().nullable().optional(),\n experienceLevel: z.enum(ProducerExperienceLevel).optional(),\n yearsExperience: z.number().int().min(0).optional(),\n serviceAreas: z.array(z.string()).optional(),\n maxDistanceKm: z.number().int().min(0).nullable().optional(),\n availabilityCalendar: z.record(z.string(), z.unknown()).nullable().optional(),\n isAvailable: z.boolean().optional(),\n visibleInMarketplace: z.boolean().optional(),\n equipmentManifest: z.array(WorkspaceEquipmentItemInputSchema).optional(),\n portfolio: z.array(WorkspacePortfolioItemInputSchema).optional(),\n rateCard: z.array(WorkspaceRateCardItemInputSchema).optional(),\n equipmentItemIds: z.array(z.uuid()).optional(),\n equipmentItemCodes: z.array(z.string().min(1).max(64)).optional(),\n categoryCodes: z.array(z.string()).optional(),\n })\n .refine((data) => Object.keys(data).length > 0, {\n message: 'At least one field is required',\n });\n\n/** POST body for submit-for-verification (explicit intent for signing). */\nexport const SubmitProducerForVerificationSchema = z.object({\n verificationStatus: z.literal(ProducerVerificationStatus.SUBMITTED),\n});\n\n/** Query for `GET /users/me/producer-profile` — `view=workspace` returns owner workspace shape. */\nexport const GetProducerProfileQuerySchema = z.object({\n view: z.literal('workspace').optional(),\n});\n","import { z } from 'zod';\n\nconst verificationReasonSchema = z.string().trim().min(5, 'Reason must be at least 5 characters');\n\n/** Admin approves a submitted producer (SUBMITTED → APPROVED) or reinstates (SUSPENDED → APPROVED). */\nexport const AdminApproveProducerVerificationSchema = z.object({\n notes: z.string().max(2000).optional(),\n});\n\n/**\n * Shared body for admin actions that require a decision reason.\n * `reason` → producer-facing verificationReason + audit; `notes` → optional internal admin context.\n */\nexport const AdminProducerVerificationReasonBodySchema = z.object({\n reason: verificationReasonSchema,\n notes: z.string().max(2000).optional(),\n});\n\n/** Admin rejects a submitted producer (SUBMITTED → REJECTED). */\nexport const AdminRejectProducerVerificationSchema = AdminProducerVerificationReasonBodySchema;\n\n/** Admin suspends an approved producer (APPROVED → SUSPENDED). */\nexport const AdminSuspendProducerVerificationSchema = AdminProducerVerificationReasonBodySchema;\n"]}
@@ -0,0 +1,2 @@
1
+ import {f as f$1}from'./chunk-IR4E7GOJ.mjs';import {g,k}from'./chunk-PAUYI2FU.mjs';import {z}from'zod';var n={LOW:"LOW",NORMAL:"NORMAL",HIGH:"HIGH",URGENT:"URGENT"},r={IN_APP:"IN_APP",EMAIL:"EMAIL",SMS:"SMS",PUSH:"PUSH"},a={BOOKING_REQUESTED:"BOOKING_REQUESTED",BOOKING_ACCEPTED:"BOOKING_ACCEPTED",BOOKING_REJECTED:"BOOKING_REJECTED",BOOKING_CONFIRMED:"BOOKING_CONFIRMED",BOOKING_CANCELLED:"BOOKING_CANCELLED",BOOKING_COMPLETED:"BOOKING_COMPLETED",PAYMENT_FAILED:"PAYMENT_FAILED",PAYMENT_RECEIVED:"PAYMENT_RECEIVED",PAYOUT_PROCESSED:"PAYOUT_PROCESSED",EVENT_GOING_LIVE:"EVENT_GOING_LIVE",EVENT_CANCELLED:"EVENT_CANCELLED",ENTITLEMENT_WITHDRAWN:"ENTITLEMENT_WITHDRAWN",DISPUTE_OPENED:"DISPUTE_OPENED",DISPUTE_RESOLVED:"DISPUTE_RESOLVED",KYC_APPROVED:"KYC_APPROVED",KYC_REJECTED:"KYC_REJECTED",PRODUCER_VERIFIED:"PRODUCER_VERIFIED",JOB_LISTING_NEW_INTEREST:"JOB_LISTING_NEW_INTEREST",JOB_LISTING_IOI_REJECTED:"JOB_LISTING_IOI_REJECTED",HIRING_THREAD_NEW_MESSAGE:"HIRING_THREAD_NEW_MESSAGE",CREW_ASSIGNMENT_INVITED:"CREW_ASSIGNMENT_INVITED",CREW_ASSIGNMENT_REJECTED:"CREW_ASSIGNMENT_REJECTED",EVENT_RESCHEDULED:"EVENT_RESCHEDULED",EVENT_CANCELLED_NO_SHOW:"EVENT_CANCELLED_NO_SHOW",EVENT_FAILED_OUTAGE:"EVENT_FAILED_OUTAGE",EVENT_RENAMED:"EVENT_RENAMED",EVENT_ENDED:"EVENT_ENDED",ACCOUNT_SECURITY:"ACCOUNT_SECURITY"};var s=z.object({id:z.uuid(),userId:z.uuid(),type:z.enum(a),title:z.string(),body:z.string(),actionUrl:z.url().optional(),actionType:z.string().optional(),channels:z.array(z.enum(r)),isRead:z.boolean(),readAt:z.iso.datetime().optional(),deliveredAt:z.iso.datetime().optional(),priority:z.enum(n),metadata:z.record(z.string(),z.any()).optional(),createdAt:z.iso.datetime()}),_=/^ExponentPushToken\[[A-Za-z0-9_-]{18,32}\]$/,C=z.object({expoPushToken:z.string().regex(_),platform:z.enum(["IOS","ANDROID","UNKNOWN"]),appVersion:z.string().max(24).optional(),deviceLabel:z.string().max(80).optional()}),f=z.object({deviceId:z.string(),registeredAt:z.iso.datetime()}),A=g.extend({isRead:z.enum(["true","false"]).optional().transform(t=>t===void 0?void 0:t==="true")}),m=z.object({items:z.array(s),...k.shape}),P=z.object({count:z.number().int().nonnegative()}),d=z.object({id:z.uuid(),isRead:z.literal(true),readAt:z.iso.datetime()}),L=z.object({markedCount:z.number().int().nonnegative()}),N=z.enum([f$1.EVENT_REMINDERS,f$1.TICKET_PURCHASES,f$1.CREW_UPDATES]),c=z.enum([f$1.JOB_INVITATIONS,f$1.JOB_CONFIRMATIONS,f$1.MESSAGES]),T=z.object({category:N,enabled:z.boolean()}),I=z.object({category:c,enabled:z.boolean()}),G=z.object({preferences:z.record(N,z.boolean())}),u=z.object({preferences:z.record(c,z.boolean())}),y=z.object({preferences:z.array(T).min(1).max(10)}),l=z.object({preferences:z.array(I).min(1).max(10)});export{n as a,r as b,a as c,s as d,C as e,f,A as g,m as h,P as i,d as j,L as k,T as l,I as m,G as n,u as o,y as p,l as q};//# sourceMappingURL=chunk-J4BOJ37X.mjs.map
2
+ //# sourceMappingURL=chunk-J4BOJ37X.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/notification/notification.enums.ts","../src/notification/notification.schemas.ts"],"names":["NotificationPriority","NotificationChannel","NotificationType","NotificationResponseSchema","z","EXPO_TOKEN_REGEX","RegisterPushDeviceRequestSchema","RegisterPushDeviceResponseSchema","ListNotificationsQuerySchema","PaginationParamsSchema","value","ListNotificationsResponseSchema","PaginationResponseSchema","NotificationsUnreadCountResponseSchema","MarkNotificationReadResponseSchema","MarkAllNotificationsReadResponseSchema","HOST_CATEGORY","NotificationCategory","PRODUCER_CATEGORY","HostNotificationPreferenceItemSchema","ProducerNotificationPreferenceItemSchema","HostNotificationPreferencesResponseSchema","ProducerNotificationPreferencesResponseSchema","UpdateHostNotificationPreferencesRequestSchema","UpdateProducerNotificationPreferencesRequestSchema"],"mappings":"uGAAO,IAAMA,CAAAA,CAAuB,CAClC,GAAA,CAAK,KAAA,CACL,OAAQ,QAAA,CACR,IAAA,CAAM,MAAA,CACN,MAAA,CAAQ,QACV,CAAA,CAGaC,EAAsB,CACjC,MAAA,CAAQ,SACR,KAAA,CAAO,OAAA,CACP,IAAK,KAAA,CACL,IAAA,CAAM,MACR,CAAA,CAGaC,CAAAA,CAAmB,CAC9B,kBAAmB,mBAAA,CACnB,gBAAA,CAAkB,mBAClB,gBAAA,CAAkB,kBAAA,CAClB,kBAAmB,mBAAA,CACnB,iBAAA,CAAmB,mBAAA,CACnB,iBAAA,CAAmB,mBAAA,CACnB,cAAA,CAAgB,iBAChB,gBAAA,CAAkB,kBAAA,CAClB,gBAAA,CAAkB,kBAAA,CAClB,gBAAA,CAAkB,kBAAA,CAClB,gBAAiB,iBAAA,CACjB,qBAAA,CAAuB,uBAAA,CACvB,cAAA,CAAgB,gBAAA,CAChB,gBAAA,CAAkB,mBAClB,YAAA,CAAc,cAAA,CACd,aAAc,cAAA,CACd,iBAAA,CAAmB,oBACnB,wBAAA,CAA0B,0BAAA,CAC1B,wBAAA,CAA0B,0BAAA,CAC1B,yBAAA,CAA2B,2BAAA,CAC3B,wBAAyB,yBAAA,CACzB,wBAAA,CAA0B,0BAAA,CAC1B,iBAAA,CAAmB,mBAAA,CACnB,uBAAA,CAAyB,0BACzB,mBAAA,CAAqB,qBAAA,CACrB,aAAA,CAAe,eAAA,CACf,WAAA,CAAa,aAAA,CACb,iBAAkB,kBACpB,ECxCO,IAAMC,CAAAA,CAA6BC,CAAAA,CAAE,MAAA,CAAO,CACjD,EAAA,CAAIA,EAAE,IAAA,EAAK,CACX,MAAA,CAAQA,CAAAA,CAAE,IAAA,EAAK,CACf,KAAMA,CAAAA,CAAE,IAAA,CAAKF,CAAgB,CAAA,CAC7B,KAAA,CAAOE,CAAAA,CAAE,QAAO,CAChB,IAAA,CAAMA,EAAE,MAAA,EAAO,CACf,UAAWA,CAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAC5B,UAAA,CAAYA,EAAE,MAAA,EAAO,CAAE,UAAS,CAChC,QAAA,CAAUA,EAAE,KAAA,CAAMA,CAAAA,CAAE,IAAA,CAAKH,CAAmB,CAAC,CAAA,CAC7C,OAAQG,CAAAA,CAAE,OAAA,GACV,MAAA,CAAQA,CAAAA,CAAE,IAAI,QAAA,EAAS,CAAE,QAAA,EAAS,CAClC,WAAA,CAAaA,CAAAA,CAAE,IAAI,QAAA,EAAS,CAAE,QAAA,EAAS,CACvC,QAAA,CAAUA,CAAAA,CAAE,KAAKJ,CAAoB,CAAA,CACrC,QAAA,CAAUI,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,QAAO,CAAGA,CAAAA,CAAE,KAAK,CAAA,CAAE,UAAS,CACjD,SAAA,CAAWA,CAAAA,CAAE,GAAA,CAAI,QAAA,EACnB,CAAC,CAAA,CAEKC,CAAAA,CAAmB,6CAAA,CAEZC,CAAAA,CAAkCF,CAAAA,CAAE,MAAA,CAAO,CACtD,aAAA,CAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,KAAA,CAAMC,CAAgB,EAChD,QAAA,CAAUD,CAAAA,CAAE,KAAK,CAAC,KAAA,CAAO,UAAW,SAAS,CAAC,CAAA,CAC9C,UAAA,CAAYA,CAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAAS,CACxC,WAAA,CAAaA,EAAE,MAAA,EAAO,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAClC,CAAC,CAAA,CAEYG,EAAmCH,CAAAA,CAAE,MAAA,CAAO,CACvD,QAAA,CAAUA,CAAAA,CAAE,MAAA,EAAO,CACnB,YAAA,CAAcA,CAAAA,CAAE,IAAI,QAAA,EACtB,CAAC,CAAA,CAGYI,CAAAA,CAA+BC,EAAuB,MAAA,CAAO,CACxE,MAAA,CAAQL,CAAAA,CACL,IAAA,CAAK,CAAC,OAAQ,OAAO,CAAC,EACtB,QAAA,EAAS,CACT,UAAWM,CAAAA,EAAWA,CAAAA,GAAU,MAAA,CAAY,MAAA,CAAYA,CAAAA,GAAU,MAAO,CAC9E,CAAC,CAAA,CAEYC,CAAAA,CAAkCP,CAAAA,CAAE,MAAA,CAAO,CACtD,MAAOA,CAAAA,CAAE,KAAA,CAAMD,CAA0B,CAAA,CACzC,GAAGS,CAAAA,CAAyB,KAC9B,CAAC,CAAA,CAEYC,EAAyCT,CAAAA,CAAE,MAAA,CAAO,CAC7D,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,aAC1B,CAAC,CAAA,CAEYU,CAAAA,CAAqCV,CAAAA,CAAE,MAAA,CAAO,CACzD,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,MAAA,CAAQA,CAAAA,CAAE,QAAQ,IAAI,CAAA,CACtB,OAAQA,CAAAA,CAAE,GAAA,CAAI,UAChB,CAAC,CAAA,CAEYW,CAAAA,CAAyCX,CAAAA,CAAE,MAAA,CAAO,CAC7D,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,aAChC,CAAC,CAAA,CAEKY,CAAAA,CAAgBZ,CAAAA,CAAE,IAAA,CAAK,CAC3Ba,GAAAA,CAAqB,eAAA,CACrBA,IAAqB,gBAAA,CACrBA,GAAAA,CAAqB,YACvB,CAAC,CAAA,CACKC,CAAAA,CAAoBd,CAAAA,CAAE,IAAA,CAAK,CAC/Ba,IAAqB,eAAA,CACrBA,GAAAA,CAAqB,kBACrBA,GAAAA,CAAqB,QACvB,CAAC,CAAA,CAEYE,CAAAA,CAAuCf,CAAAA,CAAE,MAAA,CAAO,CAC3D,QAAA,CAAUY,EACV,OAAA,CAASZ,CAAAA,CAAE,SACb,CAAC,EAEYgB,CAAAA,CAA2ChB,CAAAA,CAAE,MAAA,CAAO,CAC/D,QAAA,CAAUc,CAAAA,CACV,QAASd,CAAAA,CAAE,OAAA,EACb,CAAC,CAAA,CAEYiB,CAAAA,CAA4CjB,EAAE,MAAA,CAAO,CAChE,WAAA,CAAaA,CAAAA,CAAE,MAAA,CAAOY,CAAAA,CAAeZ,EAAE,OAAA,EAAS,CAClD,CAAC,CAAA,CAEYkB,EAAgDlB,CAAAA,CAAE,MAAA,CAAO,CACpE,WAAA,CAAaA,CAAAA,CAAE,MAAA,CAAOc,EAAmBd,CAAAA,CAAE,OAAA,EAAS,CACtD,CAAC,CAAA,CAEYmB,EAAiDnB,CAAAA,CAAE,MAAA,CAAO,CACrE,WAAA,CAAaA,CAAAA,CAAE,KAAA,CAAMe,CAAoC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAC1E,CAAC,CAAA,CAEYK,CAAAA,CAAqDpB,CAAAA,CAAE,MAAA,CAAO,CACzE,WAAA,CAAaA,CAAAA,CAAE,KAAA,CAAMgB,CAAwC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAC9E,CAAC","file":"chunk-J4BOJ37X.mjs","sourcesContent":["export const NotificationPriority = {\n LOW: 'LOW',\n NORMAL: 'NORMAL',\n HIGH: 'HIGH',\n URGENT: 'URGENT',\n} as const;\nexport type NotificationPriority = (typeof NotificationPriority)[keyof typeof NotificationPriority];\n\nexport const NotificationChannel = {\n IN_APP: 'IN_APP',\n EMAIL: 'EMAIL',\n SMS: 'SMS',\n PUSH: 'PUSH',\n} as const;\nexport type NotificationChannel = (typeof NotificationChannel)[keyof typeof NotificationChannel];\n\nexport const NotificationType = {\n BOOKING_REQUESTED: 'BOOKING_REQUESTED',\n BOOKING_ACCEPTED: 'BOOKING_ACCEPTED',\n BOOKING_REJECTED: 'BOOKING_REJECTED',\n BOOKING_CONFIRMED: 'BOOKING_CONFIRMED',\n BOOKING_CANCELLED: 'BOOKING_CANCELLED',\n BOOKING_COMPLETED: 'BOOKING_COMPLETED',\n PAYMENT_FAILED: 'PAYMENT_FAILED',\n PAYMENT_RECEIVED: 'PAYMENT_RECEIVED',\n PAYOUT_PROCESSED: 'PAYOUT_PROCESSED',\n EVENT_GOING_LIVE: 'EVENT_GOING_LIVE',\n EVENT_CANCELLED: 'EVENT_CANCELLED',\n ENTITLEMENT_WITHDRAWN: 'ENTITLEMENT_WITHDRAWN',\n DISPUTE_OPENED: 'DISPUTE_OPENED',\n DISPUTE_RESOLVED: 'DISPUTE_RESOLVED',\n KYC_APPROVED: 'KYC_APPROVED',\n KYC_REJECTED: 'KYC_REJECTED',\n PRODUCER_VERIFIED: 'PRODUCER_VERIFIED',\n JOB_LISTING_NEW_INTEREST: 'JOB_LISTING_NEW_INTEREST',\n JOB_LISTING_IOI_REJECTED: 'JOB_LISTING_IOI_REJECTED',\n HIRING_THREAD_NEW_MESSAGE: 'HIRING_THREAD_NEW_MESSAGE',\n CREW_ASSIGNMENT_INVITED: 'CREW_ASSIGNMENT_INVITED',\n CREW_ASSIGNMENT_REJECTED: 'CREW_ASSIGNMENT_REJECTED',\n EVENT_RESCHEDULED: 'EVENT_RESCHEDULED',\n EVENT_CANCELLED_NO_SHOW: 'EVENT_CANCELLED_NO_SHOW',\n EVENT_FAILED_OUTAGE: 'EVENT_FAILED_OUTAGE',\n EVENT_RENAMED: 'EVENT_RENAMED',\n EVENT_ENDED: 'EVENT_ENDED',\n ACCOUNT_SECURITY: 'ACCOUNT_SECURITY',\n} as const;\nexport type NotificationType = (typeof NotificationType)[keyof typeof NotificationType];\n","import { z } from 'zod';\nimport { NotificationType, NotificationPriority, NotificationChannel } from './notification.enums';\nimport { PaginationParamsSchema, PaginationResponseSchema } from '../common/common.schemas';\nimport { NotificationCategory } from '../user';\n\nexport const NotificationResponseSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n type: z.enum(NotificationType),\n title: z.string(),\n body: z.string(),\n actionUrl: z.url().optional(),\n actionType: z.string().optional(),\n channels: z.array(z.enum(NotificationChannel)),\n isRead: z.boolean(),\n readAt: z.iso.datetime().optional(),\n deliveredAt: z.iso.datetime().optional(),\n priority: z.enum(NotificationPriority),\n metadata: z.record(z.string(), z.any()).optional(),\n createdAt: z.iso.datetime(),\n});\n\nconst EXPO_TOKEN_REGEX = /^ExponentPushToken\\[[A-Za-z0-9_-]{18,32}\\]$/;\n\nexport const RegisterPushDeviceRequestSchema = z.object({\n expoPushToken: z.string().regex(EXPO_TOKEN_REGEX),\n platform: z.enum(['IOS', 'ANDROID', 'UNKNOWN']),\n appVersion: z.string().max(24).optional(),\n deviceLabel: z.string().max(80).optional(),\n});\n\nexport const RegisterPushDeviceResponseSchema = z.object({\n deviceId: z.string(),\n registeredAt: z.iso.datetime(),\n});\n\n/** `GET /notifications` — paged in-app notification inbox for the authenticated user. */\nexport const ListNotificationsQuerySchema = PaginationParamsSchema.extend({\n isRead: z\n .enum(['true', 'false'])\n .optional()\n .transform((value) => (value === undefined ? undefined : value === 'true')),\n});\n\nexport const ListNotificationsResponseSchema = z.object({\n items: z.array(NotificationResponseSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const NotificationsUnreadCountResponseSchema = z.object({\n count: z.number().int().nonnegative(),\n});\n\nexport const MarkNotificationReadResponseSchema = z.object({\n id: z.uuid(),\n isRead: z.literal(true),\n readAt: z.iso.datetime(),\n});\n\nexport const MarkAllNotificationsReadResponseSchema = z.object({\n markedCount: z.number().int().nonnegative(),\n});\n\nconst HOST_CATEGORY = z.enum([\n NotificationCategory.EVENT_REMINDERS,\n NotificationCategory.TICKET_PURCHASES,\n NotificationCategory.CREW_UPDATES,\n]);\nconst PRODUCER_CATEGORY = z.enum([\n NotificationCategory.JOB_INVITATIONS,\n NotificationCategory.JOB_CONFIRMATIONS,\n NotificationCategory.MESSAGES,\n]);\n\nexport const HostNotificationPreferenceItemSchema = z.object({\n category: HOST_CATEGORY,\n enabled: z.boolean(),\n});\n\nexport const ProducerNotificationPreferenceItemSchema = z.object({\n category: PRODUCER_CATEGORY,\n enabled: z.boolean(),\n});\n\nexport const HostNotificationPreferencesResponseSchema = z.object({\n preferences: z.record(HOST_CATEGORY, z.boolean()),\n});\n\nexport const ProducerNotificationPreferencesResponseSchema = z.object({\n preferences: z.record(PRODUCER_CATEGORY, z.boolean()),\n});\n\nexport const UpdateHostNotificationPreferencesRequestSchema = z.object({\n preferences: z.array(HostNotificationPreferenceItemSchema).min(1).max(10),\n});\n\nexport const UpdateProducerNotificationPreferencesRequestSchema = z.object({\n preferences: z.array(ProducerNotificationPreferenceItemSchema).min(1).max(10),\n});\n"]}
@@ -1,2 +1,2 @@
1
- import {k}from'./chunk-2EWNFPTC.mjs';import t from'zod';var s=1,i=500,o=200,r=t.object({id:t.string(),displayName:t.string(),colorHex:t.string().regex(/^#[0-9A-Fa-f]{6}$/)}),a=t.object({id:t.string(),body:t.string(),createdAt:t.iso.datetime(),user:r,deletedAt:t.iso.datetime().optional()}),p=t.object({items:t.array(a),...k.shape}),d=t.object({body:t.string().trim().min(s).max(i)}),g=t.object({reason:t.string().trim().max(o).optional()}).strict(),l=t.object({until:t.iso.datetime().refine(n=>new Date(n).getTime()>Date.now(),{message:"until must be a future timestamp"}).optional(),reason:t.string().trim().max(o).optional()}).strict(),h=t.object({eventId:t.string(),mutedUntil:t.iso.datetime().nullable()}),x=t.discriminatedUnion("kind",[t.object({kind:t.literal("in-process"),wsNamespace:t.string(),token:t.string(),eventRoomId:t.string()}),t.object({kind:t.literal("ivs"),roomIdentifier:t.string(),endpoint:t.string(),token:t.string(),tokenTtlSeconds:t.number().int().positive()})]),S=t.object({kind:t.literal("in-process"),wsNamespace:t.string(),token:t.string(),eventRoomId:t.string()}),b=t.object({kind:t.literal("ivs"),roomIdentifier:t.string(),endpoint:t.string(),token:t.string(),tokenTtlSeconds:t.number().int()});export{s as a,i as b,o as c,r as d,a as e,p as f,d as g,g as h,l as i,h as j,x as k,S as l,b as m};//# sourceMappingURL=chunk-NISKHDVO.mjs.map
2
- //# sourceMappingURL=chunk-NISKHDVO.mjs.map
1
+ import {k}from'./chunk-PAUYI2FU.mjs';import t from'zod';var s=1,i=500,o=200,r=t.object({id:t.string(),displayName:t.string(),colorHex:t.string().regex(/^#[0-9A-Fa-f]{6}$/)}),a=t.object({id:t.string(),body:t.string(),createdAt:t.iso.datetime(),user:r,deletedAt:t.iso.datetime().optional()}),p=t.object({items:t.array(a),...k.shape}),d=t.object({body:t.string().trim().min(s).max(i)}),g=t.object({reason:t.string().trim().max(o).optional()}).strict(),l=t.object({until:t.iso.datetime().refine(n=>new Date(n).getTime()>Date.now(),{message:"until must be a future timestamp"}).optional(),reason:t.string().trim().max(o).optional()}).strict(),h=t.object({eventId:t.string(),mutedUntil:t.iso.datetime().nullable()}),x=t.discriminatedUnion("kind",[t.object({kind:t.literal("in-process"),wsNamespace:t.string(),token:t.string(),eventRoomId:t.string()}),t.object({kind:t.literal("ivs"),roomIdentifier:t.string(),endpoint:t.string(),token:t.string(),tokenTtlSeconds:t.number().int().positive()})]),S=t.object({kind:t.literal("in-process"),wsNamespace:t.string(),token:t.string(),eventRoomId:t.string()}),b=t.object({kind:t.literal("ivs"),roomIdentifier:t.string(),endpoint:t.string(),token:t.string(),tokenTtlSeconds:t.number().int()});export{s as a,i as b,o as c,r as d,a as e,p as f,d as g,g as h,l as i,h as j,x as k,S as l,b as m};//# sourceMappingURL=chunk-JGK6ENB3.mjs.map
2
+ //# sourceMappingURL=chunk-JGK6ENB3.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chat/chat.schemas.ts"],"names":["CHAT_MESSAGE_BODY_MIN_LENGTH","CHAT_MESSAGE_BODY_MAX_LENGTH","CHAT_MODERATION_REASON_MAX_LENGTH","ChatMessageUserSchema","z","ChatMessageSchema","ChatHistoryResponseSchema","PaginationResponseSchema","PostChatMessageRequestSchema","ChatModerationDeleteRequestSchema","ChatModerationMuteRequestSchema","value","ChatMuteStateResponseSchema","ChatCredentialsResponseSchema","InProcessChatCredentialsSchema","IvsChatCredentialsSchema"],"mappings":"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","file":"chunk-NISKHDVO.mjs","sourcesContent":["import z from 'zod';\nimport { PaginationResponseSchema } from '../common';\n\nexport const CHAT_MESSAGE_BODY_MIN_LENGTH = 1;\nexport const CHAT_MESSAGE_BODY_MAX_LENGTH = 500;\n\nexport const CHAT_MODERATION_REASON_MAX_LENGTH = 200;\n\nexport const ChatMessageUserSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n colorHex: z.string().regex(/^#[0-9A-Fa-f]{6}$/),\n});\n\nexport const ChatMessageSchema = z.object({\n id: z.string(),\n body: z.string(),\n createdAt: z.iso.datetime(),\n user: ChatMessageUserSchema,\n deletedAt: z.iso.datetime().optional(),\n});\n\nexport const ChatHistoryResponseSchema = z.object({\n items: z.array(ChatMessageSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const PostChatMessageRequestSchema = z.object({\n body: z.string().trim().min(CHAT_MESSAGE_BODY_MIN_LENGTH).max(CHAT_MESSAGE_BODY_MAX_LENGTH),\n});\n\nexport const ChatModerationDeleteRequestSchema = z\n .object({\n reason: z.string().trim().max(CHAT_MODERATION_REASON_MAX_LENGTH).optional(),\n })\n .strict();\n\nexport const ChatModerationMuteRequestSchema = z\n .object({\n /** Optional explicit future timestamp. Omit for the ~1y indefinite default. */\n until: z.iso\n .datetime()\n .refine((value) => new Date(value).getTime() > Date.now(), {\n message: 'until must be a future timestamp',\n })\n .optional(),\n reason: z.string().trim().max(CHAT_MODERATION_REASON_MAX_LENGTH).optional(),\n })\n .strict();\n\n/**\n * Public-shape response for `POST /chat/mute`. `mutedUntil` is the source\n * of truth (`null` = not muted). `mutedBy` is intentionally omitted —\n * moderation metadata stays out of the response surface.\n */\nexport const ChatMuteStateResponseSchema = z.object({\n eventId: z.string(),\n mutedUntil: z.iso.datetime().nullable(),\n});\n\nexport const ChatCredentialsResponseSchema = z.discriminatedUnion('kind', [\n z.object({\n kind: z.literal('in-process'),\n wsNamespace: z.string(),\n token: z.string(),\n eventRoomId: z.string(),\n }),\n z.object({\n kind: z.literal('ivs'),\n roomIdentifier: z.string(),\n endpoint: z.string(),\n token: z.string(),\n tokenTtlSeconds: z.number().int().positive(),\n }),\n]);\n\nexport const InProcessChatCredentialsSchema = z.object({\n kind: z.literal('in-process'),\n wsNamespace: z.string(),\n token: z.string(),\n eventRoomId: z.string(),\n});\nexport const IvsChatCredentialsSchema = z.object({\n kind: z.literal('ivs'),\n roomIdentifier: z.string(),\n endpoint: z.string(),\n token: z.string(),\n tokenTtlSeconds: z.number().int(),\n});\n"]}
1
+ {"version":3,"sources":["../src/chat/chat.schemas.ts"],"names":["CHAT_MESSAGE_BODY_MIN_LENGTH","CHAT_MESSAGE_BODY_MAX_LENGTH","CHAT_MODERATION_REASON_MAX_LENGTH","ChatMessageUserSchema","z","ChatMessageSchema","ChatHistoryResponseSchema","PaginationResponseSchema","PostChatMessageRequestSchema","ChatModerationDeleteRequestSchema","ChatModerationMuteRequestSchema","value","ChatMuteStateResponseSchema","ChatCredentialsResponseSchema","InProcessChatCredentialsSchema","IvsChatCredentialsSchema"],"mappings":"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","file":"chunk-JGK6ENB3.mjs","sourcesContent":["import z from 'zod';\nimport { PaginationResponseSchema } from '../common';\n\nexport const CHAT_MESSAGE_BODY_MIN_LENGTH = 1;\nexport const CHAT_MESSAGE_BODY_MAX_LENGTH = 500;\n\nexport const CHAT_MODERATION_REASON_MAX_LENGTH = 200;\n\nexport const ChatMessageUserSchema = z.object({\n id: z.string(),\n displayName: z.string(),\n colorHex: z.string().regex(/^#[0-9A-Fa-f]{6}$/),\n});\n\nexport const ChatMessageSchema = z.object({\n id: z.string(),\n body: z.string(),\n createdAt: z.iso.datetime(),\n user: ChatMessageUserSchema,\n deletedAt: z.iso.datetime().optional(),\n});\n\nexport const ChatHistoryResponseSchema = z.object({\n items: z.array(ChatMessageSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const PostChatMessageRequestSchema = z.object({\n body: z.string().trim().min(CHAT_MESSAGE_BODY_MIN_LENGTH).max(CHAT_MESSAGE_BODY_MAX_LENGTH),\n});\n\nexport const ChatModerationDeleteRequestSchema = z\n .object({\n reason: z.string().trim().max(CHAT_MODERATION_REASON_MAX_LENGTH).optional(),\n })\n .strict();\n\nexport const ChatModerationMuteRequestSchema = z\n .object({\n /** Optional explicit future timestamp. Omit for the ~1y indefinite default. */\n until: z.iso\n .datetime()\n .refine((value) => new Date(value).getTime() > Date.now(), {\n message: 'until must be a future timestamp',\n })\n .optional(),\n reason: z.string().trim().max(CHAT_MODERATION_REASON_MAX_LENGTH).optional(),\n })\n .strict();\n\n/**\n * Public-shape response for `POST /chat/mute`. `mutedUntil` is the source\n * of truth (`null` = not muted). `mutedBy` is intentionally omitted —\n * moderation metadata stays out of the response surface.\n */\nexport const ChatMuteStateResponseSchema = z.object({\n eventId: z.string(),\n mutedUntil: z.iso.datetime().nullable(),\n});\n\nexport const ChatCredentialsResponseSchema = z.discriminatedUnion('kind', [\n z.object({\n kind: z.literal('in-process'),\n wsNamespace: z.string(),\n token: z.string(),\n eventRoomId: z.string(),\n }),\n z.object({\n kind: z.literal('ivs'),\n roomIdentifier: z.string(),\n endpoint: z.string(),\n token: z.string(),\n tokenTtlSeconds: z.number().int().positive(),\n }),\n]);\n\nexport const InProcessChatCredentialsSchema = z.object({\n kind: z.literal('in-process'),\n wsNamespace: z.string(),\n token: z.string(),\n eventRoomId: z.string(),\n});\nexport const IvsChatCredentialsSchema = z.object({\n kind: z.literal('ivs'),\n roomIdentifier: z.string(),\n endpoint: z.string(),\n token: z.string(),\n tokenTtlSeconds: z.number().int(),\n});\n"]}
@@ -0,0 +1,2 @@
1
+ import {e as e$1}from'./chunk-JGK6ENB3.mjs';import {b}from'./chunk-JWVW5AP2.mjs';import {a,ya,wa,xa,f as f$1,Pa}from'./chunk-UIIFE5UT.mjs';import {g as g$1,k as k$1,h as h$1}from'./chunk-PAUYI2FU.mjs';import e from'zod';var d=["last7d","last30d","last90d"];var re=e.object({range:e.enum([...d,"custom"]).optional(),start:e.iso.datetime().optional(),end:e.iso.datetime().optional()}),i=e.enum(["UPCOMING","LIVE","ENDED","DRAFTS"]),se=e.object({q:e.string().trim().min(2).max(120),limit:e.coerce.number().int().min(1).max(10).default(10)}),le=e.object({title:e.string().min(1).max(120).optional(),description:e.string().max(2e3).optional(),coverImageUrl:e.any().optional(),previewClipUrl:e.url().nullable().optional(),ticketPrice:e.string().optional(),category:xa.optional(),scheduledStart:e.iso.datetime().optional(),durationMinutes:e.number().int().positive().optional(),tags:e.array(e.string()).optional(),location:e.string().max(255).optional(),accessModel:e.enum(["FREE","PAID"]).optional(),currency:wa.optional(),maxTickets:e.number().int().positive().nullable().optional(),visibility:ya.optional(),guestEmails:e.array(e.email()).optional(),replayAccess:e.enum(a).optional(),replayWindow:e.number().int().positive().optional(),replayPrice:e.number().nonnegative().optional(),productionMode:e.enum(["SELF","HIRE"]).optional(),crewIds:e.array(e.uuid()).optional(),productionNotes:e.string().max(2e3).nullable().optional(),backupStreamEnabled:e.boolean().optional()}),ce=e.object({tab:i,...g$1.shape}),g=e.object({eventId:e.string(),title:e.string(),date:e.iso.datetime(),ticketsSold:e.number(),plannedDurationMinutes:e.number().nullable(),revenue:e.object({currency:e.string(),value:e.string()}),status:e.enum(["ACTIVE","PAUSED","LIVE","ENDED","DRAFT","CANCELLED"])}),ue=e.object({tab:i,rows:e.array(g),...k$1.shape}),me=e.object({upcoming:e.number(),live:e.number(),ended:e.number(),drafts:e.number()}),be=e.object({title:e.string().min(3).max(120).optional()}),de=e.object({tab:i,...g$1.shape}),pe=e.object({id:e.uuid(),state:e.literal("DRAFT"),wizardStep:e.number().int().min(1).max(5).nullable()}),ge=e.object({id:e.uuid(),wizardStep:e.number().int().min(1).max(5).nullable(),streamingVerified:e.boolean().optional(),verificationToken:e.string().optional(),crewIds:e.array(e.uuid()).optional(),crewAssignments:e.array(e.object({id:e.uuid(),producerId:e.uuid(),role:e.string(),state:e.string(),compensation:h$1,location:e.string()})).optional()}),Ee=e.object({id:e.uuid(),state:e.literal("SCHEDULED"),publishedAt:e.iso.datetime().nullable(),bookingIds:e.array(e.uuid())}),Se=e.object({id:e.uuid(),state:e.literal("CANCELLED"),cancelledAt:e.iso.datetime().nullable()}),h=e.object({amount:h$1,deltaPct:e.number().nullable()}),y=e.object({count:e.number().int(),nextStartsAt:e.string().nullable()}),R=e.object({eventCount:e.number().int(),totalViewers:e.number().int()}),A=e.object({value:e.number().int(),deltaPct:e.number().nullable()}),x=e.object({eventId:e.uuid(),title:e.string(),viewers:e.number().int()}),T=e.object({eventId:e.uuid(),title:e.string(),scheduledStart:e.string(),canGoLive:e.boolean()}),E=e.object({kind:e.string(),subjectType:e.enum(["Event","Booking","PaymentIntent","ReplayPurchase"]),subjectId:e.string(),occurredAt:e.number().int(),payload:e.record(e.string(),e.unknown()),dedupeId:e.string()}),ve=e.object({range:e.object({start:e.string(),end:e.string(),preset:e.string().optional()}),kpis:e.object({totalRevenue:h,upcomingEvents:y,liveNow:R,totalViews:A}),live:e.array(x),upcoming:e.array(T),activity:e.array(E)}),he=e.object({items:e.array(E),...k$1.shape}),I=e.object({eventId:e.uuid(),title:e.string(),scheduledStart:e.string(),state:e.string()}),ye=e.object({hits:e.array(I)}),Re=e.object({count:e.number().int()}),Ae=e.object({tab:i,items:e.array(g),...k$1.shape}),j=e.object({id:e.uuid(),hostId:e.uuid(),title:e.string(),description:e.string().nullable(),coverImageUrl:e.string().nullable(),previewClipUrl:e.string().nullable(),venueLocation:e.string().nullable(),scheduledStart:e.string(),scheduledEnd:e.string(),timezone:e.string(),expectedAudience:e.number().int().nullable(),plannedDurationMinutes:e.number().int().nullable(),visibility:e.string(),accessModel:e.string(),ticketPrice:h$1.nullable(),maxTickets:e.number().int().nullable(),allowlistData:e.array(e.string()),replayAccess:e.enum(a),replayAccessFee:h$1,retentionDays:e.number().int(),replayAvailableUntil:e.string().nullable(),shareableUrl:e.string().nullable(),state:e.string(),tags:e.array(e.string()),isFeatured:e.boolean(),createdAt:e.string(),updatedAt:e.string(),publishedAt:e.string().nullable(),liveStartedAt:e.string().nullable(),liveEndedAt:e.string().nullable(),cancelledAt:e.string().nullable(),cancelledReason:e.string().nullable(),category:e.string(),wizardStep:e.number().int().nullable(),productionMode:e.string().nullable(),productionNotes:e.string().nullable()}),xe=j.extend({crewIds:e.array(e.uuid()),crewAssignments:e.array(e.object({id:e.uuid(),producerId:e.uuid(),role:e.string(),state:e.string(),compensation:h$1,location:e.string()})).optional().default([])}),C=e.enum(["EVENT_DETAILS","PRICING","CREW_ASSIGNED","STREAM_TESTED"]),H=e.enum(["PASS","WARN","FAIL"]),D=e.enum(["OPEN_WIZARD_STEP_1","OPEN_WIZARD_STEP_2","OPEN_WIZARD_STEP_3","OPEN_HIRE_CREW","RUN_STREAM_TEST"]),L=e.enum(["CHECKLIST_INCOMPLETE","BEFORE_WINDOW","AFTER_WINDOW","ALREADY_LIVE","NOT_OWNED"]),N=e.enum(["NOT_PROVISIONED","READY_FOR_TEST","LIVE","STREAM_TEST_FAILED","STREAM_TEST_SUCCESSFUL"]),p=e.enum(["SELF","HIRE"]),P=e.object({id:C,label:e.string(),state:H,detail:e.string().optional(),cta:D.optional()}),S=e.object({progress:e.number().min(0).max(1),items:e.array(P),canGoLive:e.boolean(),blockReason:L.optional()}),Te=e.object({crewSearch:e.string().trim().min(2).max(100).optional(),crewState:e.enum(b).optional()}),v=e.object({bookingId:e.string(),producerProfileId:e.string(),displayName:e.string(),companyName:e.string(),producerAvatarUrl:e.url().nullable(),producerServiceCategoryLabels:e.array(e.string()),producerEquipmentLabels:e.array(e.string()),producerIsVerified:e.boolean(),role:e.string().nullable(),state:e.enum(b),confirmedAt:e.iso.datetime().nullable()}),_=e.enum(["ACTIVE","PAST"]),Ie=e.object({phase:_.default("ACTIVE"),eventId:e.uuid().optional(),crewSearch:e.string().trim().min(2).max(100).optional(),crewState:e.enum(b).optional(),...g$1.shape}),w=v.extend({eventId:e.uuid(),eventTitle:e.string()}),k=e.object({eventId:e.uuid(),totalViewers:e.number().int().nonnegative(),uniqueViewers:e.number().int().nonnegative(),peakConcurrent:e.number().int().nonnegative(),registeredCount:e.number().int().nonnegative(),paidCount:e.number().int().nonnegative(),refundedCount:e.number().int().nonnegative(),returningViewerCount:e.number().int().nonnegative().nullable(),highValueBuyerCount:e.number().int().nonnegative().nullable(),grossRevenue:h$1,computedAt:e.iso.datetime(),byDeviceType:e.record(e.string(),e.number()).nullable()}),O=e.object({eventId:e.uuid(),totalReplayViewers:e.number().int().nonnegative(),completedViews:e.number().int().nonnegative(),avgWatchProgressPct:e.number().min(0).max(1).nullable(),totalWatchTimeSec:e.number().int().nonnegative(),activeReplayPurchases:e.number().int().nonnegative(),replayRevenue:h$1,computedAt:e.iso.datetime(),points:e.array(e.object({date:e.string(),viewsCount:e.number().int().nonnegative(),revenue:h$1}))}),f=e.object({audience:k.nullable(),replayPerformance:O.nullable()}),je=e.object({items:e.array(w),...k$1.shape}),Ce=e.object({serverNow:e.iso.datetime(),event:e.object({id:e.string(),title:e.string(),description:e.string().nullable(),coverImageUrl:e.string().nullable(),scheduledStart:e.iso.datetime({local:true}),scheduledEnd:e.iso.datetime(),timezone:e.string(),accessModel:e.string(),ticketPrice:h$1.nullable(),shareableUrl:e.string().nullable(),state:e.string(),visibility:e.string(),productionMode:p.nullable(),goLiveEligibleAt:e.iso.datetime().nullable()}),ticketing:e.object({totalPayingCapacity:e.number().int().nullable(),ticketsSold:e.number().int(),revenue:h$1,liveRevenue:h$1,ticketRevenue:h$1,replayRevenue:h$1,hostShare:h$1,platformFee:h$1}),audience:e.object({registered:e.number().int(),watchingNow:e.number().int().nonnegative(),byCountry:e.record(e.string(),e.number().int()).nullable(),byTrafficSource:e.record(e.string(),e.number().int()).nullable()}),readiness:S,production:e.object({mode:p,crew:e.array(v)}),streaming:e.object({status:N,serverUrl:e.string().nullable(),streamKey:e.null(),lastStreamTestAt:e.iso.datetime().nullable(),testAvailableAt:e.iso.datetime().nullable(),lastStreamTestFailedAt:e.iso.datetime().nullable(),lastStreamTestFailureReason:e.string().nullable()}),share:e.object({shareableUrl:e.string(),slug:e.string()}),postEvent:f.nullable()}),He=S,De=e.object({shareableUrl:e.string(),slug:e.string(),copyText:e.string(),channelLinks:e.object({twitter:e.string(),facebook:e.string(),email:e.string(),embed:e.string()}),qrCodeDataUrl:e.string()}),M=e.enum(["PRE_LIVE","LIVE","ENDED"]),U=e.enum(["PROCESSING","READY","UNAVAILABLE"]),V=e.enum(["HEALTHY","DEGRADED","INGEST_DOWN"]),F=e.enum(["HOST_TERMINATED","HOST_TERMINATED_EARLY","AUTO_AFTER_SILENCE","AUTO_AT_SCHEDULED_END","ADMIN_FORCED"]),W=e.enum(["AUDIO_QUALITY","VIDEO_QUALITY","BITRATE_DROP","INGEST_DISCONNECTED","INGEST_RECONNECTED","RECORDING_FAILED","STREAM_DENIED"]),G=e.enum(["INFO","WARN","ERROR"]),z=e.object({id:e.string(),title:e.string(),scheduledStart:e.iso.datetime(),scheduledEnd:e.iso.datetime(),state:e.enum(f$1),currency:e.string(),accessModel:e.string()}),B=e.object({streamEnabled:e.boolean(),canGoLive:e.boolean(),canEndLive:e.boolean(),requiresReauthToEnd:e.boolean()}),K=e.object({viewers:e.number().int(),peakViewers:e.number().int(),ticketsSold:e.number().int(),revenue:e.object({value:e.string(),currency:e.string()}),joinedTotal:e.number().int()}),Q=e.object({bitrateKbps:e.number(),resolution:e.string(),latencyMs:e.number().nullable(),ingestHealth:V,lastSampleAt:e.iso.datetime()}),Y=e.object({bookingId:e.string(),producerProfileId:e.string(),displayName:e.string(),role:e.string().nullable(),online:e.boolean()}),q=e.object({id:e.string(),kind:W,severity:G,message:e.string(),startedAt:e.iso.datetime(),acknowledgedAt:e.iso.datetime().nullable()}),Z=e.object({enabled:e.boolean(),socketNamespace:e.string(),backfill:e.array(e$1)}),J=e.object({endedAt:e.iso.datetime(),endedEarly:e.boolean(),endedReason:F,replayState:U,replayAvailableAt:e.iso.datetime().nullable()}),Le=e.object({serverNow:e.iso.datetime(),slice:M,event:z,controls:B,metrics:K,telemetry:Q.nullable(),crew:e.array(Y),alerts:e.array(q),activity:e.array(e.never()),chat:Z,ended:J.nullable(),livePreview:Pa.nullable()}),Ne=e.object({from:e.iso.datetime().optional(),to:e.iso.datetime().optional()}),X=e.object({bucketStart:e.iso.datetime(),concurrentViewers:e.number().int().nonnegative(),chatMessages:e.number().int().nonnegative().nullable(),reactions:e.number().int().nonnegative().nullable(),bitrateKbps:e.number().int().nonnegative().nullable(),ingestHealth:e.enum(["HEALTHY","DEGRADED","INGEST_DOWN"]).nullable(),resolution:e.string().nullable()}),Pe=e.object({eventId:e.uuid(),from:e.iso.datetime(),to:e.iso.datetime(),granularity:e.literal("minute"),buckets:e.array(X)});export{q as $,N as A,p as B,P as C,S as D,Te as E,v as F,_ as G,Ie as H,w as I,k as J,O as K,f as L,je as M,Ce as N,He as O,De as P,M as Q,U as R,V as S,F as T,W as U,G as V,z as W,B as X,K as Y,Q as Z,Y as _,d as a,Z as aa,re as b,J as ba,i as c,Le as ca,se as d,Ne as da,le as e,X as ea,ce as f,Pe as fa,g,ue as h,me as i,be as j,de as k,pe as l,ge as m,Ee as n,Se as o,ve as p,he as q,I as r,ye as s,Re as t,Ae as u,j as v,xe as w,C as x,H as y,L as z};//# sourceMappingURL=chunk-KUUTVCGE.mjs.map
2
+ //# sourceMappingURL=chunk-KUUTVCGE.mjs.map