@livdot-tech/contracts 1.11.27 → 1.11.29
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.
- package/dist/auth/index.js +1 -1
- package/dist/auth/index.mjs +1 -1
- package/dist/booking/index.d.mts +59 -3
- package/dist/booking/index.d.ts +59 -3
- package/dist/booking/index.js +1 -1
- package/dist/booking/index.mjs +1 -1
- package/dist/chunk-2P4RID7B.mjs +2 -0
- package/dist/chunk-2P4RID7B.mjs.map +1 -0
- package/dist/{chunk-J7KH6FYN.js → chunk-2RR5GZKF.js} +2 -2
- package/dist/{chunk-J7KH6FYN.js.map → chunk-2RR5GZKF.js.map} +1 -1
- package/dist/{chunk-EWAVQV4Y.mjs → chunk-6RLSSV2J.mjs} +2 -2
- package/dist/{chunk-EWAVQV4Y.mjs.map → chunk-6RLSSV2J.mjs.map} +1 -1
- package/dist/chunk-CBL6SUWX.mjs +2 -0
- package/dist/chunk-CBL6SUWX.mjs.map +1 -0
- package/dist/{chunk-ES4IKYQU.js → chunk-HRVNQI2I.js} +2 -2
- package/dist/{chunk-ES4IKYQU.js.map → chunk-HRVNQI2I.js.map} +1 -1
- package/dist/chunk-HTK4LWKI.mjs +2 -0
- package/dist/chunk-HTK4LWKI.mjs.map +1 -0
- package/dist/chunk-I3Y2U4YV.js +2 -0
- package/dist/chunk-I3Y2U4YV.js.map +1 -0
- package/dist/chunk-RV53QWOB.js +2 -0
- package/dist/chunk-RV53QWOB.js.map +1 -0
- package/dist/{chunk-D5MLOZC6.mjs → chunk-RZS4REHX.mjs} +2 -2
- package/dist/{chunk-D5MLOZC6.mjs.map → chunk-RZS4REHX.mjs.map} +1 -1
- package/dist/chunk-SO4VWNZU.js +2 -0
- package/dist/chunk-SO4VWNZU.js.map +1 -0
- package/dist/chunk-T3A4OTCN.mjs +2 -0
- package/dist/chunk-T3A4OTCN.mjs.map +1 -0
- package/dist/chunk-WHTUXSF6.js +2 -0
- package/dist/chunk-WHTUXSF6.js.map +1 -0
- package/dist/dispute/index.d.mts +118 -5
- package/dist/dispute/index.d.ts +118 -5
- package/dist/dispute/index.js +1 -1
- package/dist/dispute/index.mjs +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/marketplace/index.d.mts +18 -0
- package/dist/marketplace/index.d.ts +18 -0
- package/dist/marketplace/index.js +1 -1
- package/dist/marketplace/index.mjs +1 -1
- package/dist/notification/index.js +1 -1
- package/dist/notification/index.mjs +1 -1
- package/dist/user/index.d.mts +26 -1
- package/dist/user/index.d.ts +26 -1
- package/dist/user/index.js +1 -1
- package/dist/user/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-5BJU6AZT.mjs +0 -2
- package/dist/chunk-5BJU6AZT.mjs.map +0 -1
- package/dist/chunk-7PU752O4.js +0 -2
- package/dist/chunk-7PU752O4.js.map +0 -1
- package/dist/chunk-CAYVR5TG.mjs +0 -2
- package/dist/chunk-CAYVR5TG.mjs.map +0 -1
- package/dist/chunk-CMQWFYU4.js +0 -2
- package/dist/chunk-CMQWFYU4.js.map +0 -1
- package/dist/chunk-E6L4BMIP.mjs +0 -2
- package/dist/chunk-E6L4BMIP.mjs.map +0 -1
- package/dist/chunk-QZMRMFXE.js +0 -2
- package/dist/chunk-QZMRMFXE.js.map +0 -1
- package/dist/chunk-TDGWNGV5.js +0 -2
- package/dist/chunk-TDGWNGV5.js.map +0 -1
- package/dist/chunk-VGLL5EUR.mjs +0 -2
- package/dist/chunk-VGLL5EUR.mjs.map +0 -1
|
@@ -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","MarketplaceBookingAssignedEventSchema","MarketplaceBookingResponseSchema","MoneySchema","CreateMarketplaceBookingResponseSchema","bookingTransitionReasonSchema","TransitionMarketplaceBookingRequestSchema","TransitionMarketplaceBookingResponseSchema","CompleteMarketplaceBookingRequestSchema","ForceCompleteMarketplaceBookingRequestSchema","CompleteMarketplaceBookingResponseSchema","jobListingEventTitleRefine","jobListingRequiredDateRefine","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","MarketplaceHiringThreadAttachmentFileNameSchema","MarketplaceHiringThreadPendingAttachmentSchema","MarketplaceHiringMessageAttachmentSchema","MarketplaceHiringMessageSchema","ListMarketplaceHiringThreadMessagesQuerySchema","ListMarketplaceHiringThreadMessagesResponseSchema","PaginationResponseSchema","GetMarketplaceHiringThreadResponseSchema","PostMarketplaceHiringThreadMessageRequestSchema","PostMarketplaceHiringThreadMessageResponseSchema","UploadMarketplaceHiringThreadAttachmentResponseSchema","DeleteMarketplaceHiringThreadPendingAttachmentRequestSchema","DeleteMarketplaceHiringThreadMessageAttachmentResponseSchema","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","ReplaceEventCrewAssignmentRequestSchema","EventCrewAssignmentProducerSummarySchema","EventCrewAssignmentResponseSchema","ListEventCrewAssignmentsResponseSchema","ListEventCrewAssignmentsQuerySchema","raw","v","part","RejectEventCrewAssignmentRequestSchema","AcceptEventCrewAssignmentResponseSchema","ReplaceEventCrewAssignmentResponseSchema"],"mappings":"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","file":"chunk-2P4RID7B.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.DRAFT]: [BookingState.AWAITING_PRODUCER_RESPONSE, BookingState.CANCELLED],\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]: [\n BookingState.IN_PROGRESS,\n BookingState.AWAITING_PRODUCER_RECONFIRM,\n BookingState.CANCELLED,\n ],\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.DRAFT}->${BookingState.AWAITING_PRODUCER_RESPONSE}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.DRAFT}->${BookingState.CANCELLED}`]: [BookingTransitionActor.HOST],\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.PRODUCER,\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.CONFIRMED}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\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 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\n/**\n * Assigned-event execution context on a booking.\n * Schedule + go-live window for the linked event. Full readiness /\n * streaming live on `GET /marketplace/producer/events/:id`.\n *\n * `requiredStartAt` / `requiredEndAt` are derived from the event\n * schedule until `Booking.requiredStartAt` / `requiredEndAt` are written.\n */\nexport const MarketplaceBookingAssignedEventSchema = z.object({\n id: z.uuid(),\n title: z.string(),\n state: z.string(),\n timezone: z.string(),\n scheduledStart: z.iso.datetime(),\n scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n scheduledEnd: z.iso.datetime(),\n scheduledEndLocal: z.iso.datetime({ local: true, offset: false }),\n requiredStartAt: z.iso.datetime(),\n requiredEndAt: z.iso.datetime(),\n /** Earliest go-live instant (scheduledStart − early window). */\n goLiveEligibleAt: z.iso.datetime().nullable(),\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 /**\n * Direct Hire Assign Role fields from `Booking.serviceDetails`.\n * Null when the booking has no structured role payload (non–Direct Hire).\n */\n role: z.string().nullable(),\n /** Invite modal \"Description\" — same source as responsibilities when set. */\n description: z.string().nullable(),\n responsibilities: z.string().nullable(),\n requirements: z.string().nullable(),\n location: z.enum(JobLocation).nullable(),\n notes: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n /**\n * Linked-event schedule + go-live context. Populated on producer\n * booking list/detail when `eventId` is set; otherwise null.\n */\n assignedEvent: MarketplaceBookingAssignedEventSchema.nullable(),\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 jobListingRequiredDateRefine = (\n data: {\n requiredDateLocal?: string | undefined;\n timezone?: string | undefined;\n },\n ctx: z.RefinementCtx,\n) => {\n if (data.requiredDateLocal !== undefined && !data.timezone?.trim()) {\n ctx.addIssue({\n code: 'custom',\n message: 'timezone is required when requiredDateLocal is provided',\n path: ['timezone'],\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 /** Wall-clock local datetime in `timezone` — same contract as Event `scheduledStartLocal`. */\n requiredDateLocal: z.iso.datetime({ local: true, offset: false }).optional(),\n /** IANA timezone for `requiredDateLocal` (e.g. Africa/Lagos). */\n timezone: z.string().min(1).optional(),\n /**\n * @deprecated Prefer `requiredDateLocal` + `timezone`.\n * When sent alone, treated as wall-clock digits (Event wizard legacy path).\n */\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).superRefine(jobListingRequiredDateRefine);\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(jobListingRequiredDateRefine)\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().superRefine(jobListingRequiredDateRefine);\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 /** UTC instant (Event `scheduledStart` analogue). */\n requiredDate: z.string().nullable(),\n /** Wall-clock string, no offset (Event `scheduledStartLocal` analogue). */\n requiredDateLocal: z.string().nullable(),\n timezone: 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\n/** Original upload name (sanitized server-side). Always present on API responses. */\nexport const MarketplaceHiringThreadAttachmentFileNameSchema = z.string().trim().min(1).max(255);\n\nexport const MarketplaceHiringThreadPendingAttachmentSchema = z.object({\n url: z.string().url(),\n /** Storage key from the upload response — used for pre-send delete. */\n key: z.string().min(1),\n mimeType: z.string().min(1).max(120),\n sizeBytes: z.number().int().positive(),\n fileName: MarketplaceHiringThreadAttachmentFileNameSchema,\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 fileName: MarketplaceHiringThreadAttachmentFileNameSchema,\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\n .object({\n /** Optional when at least one attachment is present (attachment-only send). */\n body: z.string().trim().max(5000).optional().default(''),\n attachments: z.array(MarketplaceHiringThreadPendingAttachmentSchema).max(10).optional(),\n })\n .refine((value) => value.body.length > 0 || (value.attachments?.length ?? 0) > 0, {\n message: 'Either a non-empty body or at least one attachment is required',\n path: ['body'],\n });\n\nexport const PostMarketplaceHiringThreadMessageResponseSchema = z.object({\n message: MarketplaceHiringMessageSchema,\n});\n\n/**\n * `POST /marketplace/bookings/:bookingId/thread/attachments`\n * Multipart upload for hiring-thread chat (images, PDF, Word, MP4).\n * FE uploads first, then posts `{ url, key, mimeType, sizeBytes, fileName }`\n * via WS `hiring_thread.message.post` (body optional when attachments present).\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 fileName: MarketplaceHiringThreadAttachmentFileNameSchema,\n});\n\n/**\n * `DELETE /marketplace/bookings/:bookingId/thread/attachments`\n * Drop a pending upload before the message is sent (composer trash).\n */\nexport const DeleteMarketplaceHiringThreadPendingAttachmentRequestSchema = z.object({\n key: z.string().min(1),\n});\n\n/**\n * `DELETE /marketplace/bookings/:bookingId/thread/messages/:messageId/attachments/:attachmentId`\n * Remove one attachment from a sent message (sender only).\n */\nexport const DeleteMarketplaceHiringThreadMessageAttachmentResponseSchema = z.object({\n messageId: z.uuid(),\n messageDeleted: z.boolean(),\n message: MarketplaceHiringMessageSchema.nullable(),\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 /** Always present so host + producer apps can render either participant. */\n producerProfileId: z.uuid(),\n producerDisplayName: z.string(),\n producerAvatarUrl: z.string().nullable(),\n hostProfileId: z.uuid(),\n hostDisplayName: z.string(),\n hostAvatarUrl: z.string().nullable(),\n /**\n * The other participant relative to the authenticated caller.\n * Host inbox → producer; producer inbox → host.\n */\n counterpartyDisplayName: z.string(),\n counterpartyAvatarUrl: z.string().nullable(),\n counterpartyRole: z.enum(['HOST', 'PRODUCER']),\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\n/** `POST /host/events/:eventId/crew-assignments/:id/replace` */\nexport const ReplaceEventCrewAssignmentRequestSchema = z.object({\n producerId: z.uuid(),\n role: z.string().trim().min(1).max(120).optional(),\n responsibilities: z.string().trim().min(1).max(5000).optional(),\n requirements: z.string().trim().min(1).max(5000).optional(),\n compensation: MoneySchema.optional(),\n location: z.enum(JobLocation).optional(),\n notes: z.string().trim().max(2000).optional(),\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 eventScheduledStartLocal: z.iso.datetime({ local: true, offset: false }).nullable().optional(),\n});\n\nexport const ListEventCrewAssignmentsResponseSchema = z.object({\n items: z.array(EventCrewAssignmentResponseSchema),\n});\n\n/**\n * `GET /host/events/:eventId/crew-assignments`\n * Optional Manage Production Team filters.\n *\n * Tab mapping (FE):\n * - All → omit `state`\n * - Confirmed → `state=ACCEPTED`\n * - Pending → `state=INVITED` or `state=INVITED,DRAFT`\n * - Cancelled → `state=CANCELLED` or `state=CANCELLED,REJECTED`\n */\nexport const ListEventCrewAssignmentsQuerySchema = z.object({\n /** Case-insensitive match on producer display name or company name. */\n search: z.string().trim().min(1).max(100).optional(),\n /** Case-insensitive exact match on assignment role. */\n role: z.string().trim().min(1).max(120).optional(),\n /**\n * Invitation status filter (`EventCrewAssignmentState`).\n * Accepts one value or comma-separated values (e.g. `INVITED,DRAFT`).\n */\n state: z.preprocess(\n (raw) => {\n if (raw == null || raw === '') return undefined;\n if (Array.isArray(raw)) {\n return raw.map((v) => String(v).trim()).filter(Boolean);\n }\n return String(raw)\n .split(',')\n .map((part) => part.trim())\n .filter(Boolean);\n },\n z.array(z.enum(EventCrewAssignmentState)).min(1).optional(),\n ),\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\nexport const ReplaceEventCrewAssignmentResponseSchema = z.object({\n assignment: EventCrewAssignmentResponseSchema,\n replacedBookingId: z.uuid(),\n});\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkRV53QWOB_js=require('./chunk-RV53QWOB.js'),chunkO3GYEMUB_js=require('./chunk-O3GYEMUB.js'),zod=require('zod');var n={LOW:"LOW",NORMAL:"NORMAL",HIGH:"HIGH",URGENT:"URGENT"},N={IN_APP:"IN_APP",EMAIL:"EMAIL",SMS:"SMS",PUSH:"PUSH"},r={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",JOB_LISTING_IOI_SHORTLISTED:"JOB_LISTING_IOI_SHORTLISTED",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_DETAILS_UPDATED:"EVENT_DETAILS_UPDATED",STREAM_DISCONNECTED:"STREAM_DISCONNECTED",EVENT_ENDED:"EVENT_ENDED",ACCOUNT_SECURITY:"ACCOUNT_SECURITY"};var T=zod.z.object({id:zod.z.uuid(),userId:zod.z.uuid(),type:zod.z.enum(r),title:zod.z.string(),body:zod.z.string(),actionUrl:zod.z.url().optional(),actionType:zod.z.string().optional(),channels:zod.z.array(zod.z.enum(N)),isRead:zod.z.boolean(),readAt:zod.z.iso.datetime().optional(),deliveredAt:zod.z.iso.datetime().optional(),priority:zod.z.enum(n),metadata:zod.z.record(zod.z.string(),zod.z.any()).optional(),createdAt:zod.z.iso.datetime()}),_=/^ExponentPushToken\[[A-Za-z0-9_-]{18,32}\]$/,C=zod.z.object({expoPushToken:zod.z.string().regex(_),platform:zod.z.enum(["IOS","ANDROID","UNKNOWN"]),appVersion:zod.z.string().max(24).optional(),deviceLabel:zod.z.string().max(80).optional()}),A=zod.z.object({deviceId:zod.z.string(),registeredAt:zod.z.iso.datetime()}),f=chunkO3GYEMUB_js.g.extend({isRead:zod.z.enum(["true","false"]).optional().transform(t=>t===void 0?void 0:t==="true")}),P=zod.z.object({items:zod.z.array(T),...chunkO3GYEMUB_js.k.shape}),m=zod.z.object({count:zod.z.number().int().nonnegative()}),L=zod.z.object({id:zod.z.uuid(),isRead:zod.z.literal(true),readAt:zod.z.iso.datetime()}),d=zod.z.object({markedCount:zod.z.number().int().nonnegative()}),a=zod.z.enum([chunkRV53QWOB_js.f.EVENT_REMINDERS,chunkRV53QWOB_js.f.TICKET_PURCHASES,chunkRV53QWOB_js.f.CREW_UPDATES]),c=zod.z.enum([chunkRV53QWOB_js.f.JOB_INVITATIONS,chunkRV53QWOB_js.f.JOB_CONFIRMATIONS,chunkRV53QWOB_js.f.MESSAGES]),I=zod.z.object({category:a,enabled:zod.z.boolean()}),s=zod.z.object({category:c,enabled:zod.z.boolean()}),G=zod.z.object({preferences:zod.z.record(a,zod.z.boolean())}),u=zod.z.object({preferences:zod.z.record(c,zod.z.boolean())}),y=zod.z.object({preferences:zod.z.array(I).min(1).max(10)}),U=zod.z.object({preferences:zod.z.array(s).min(1).max(10)});exports.a=n;exports.b=N;exports.c=r;exports.d=T;exports.e=C;exports.f=A;exports.g=f;exports.h=P;exports.i=m;exports.j=L;exports.k=d;exports.l=I;exports.m=s;exports.n=G;exports.o=u;exports.p=y;exports.q=U;//# sourceMappingURL=chunk-2RR5GZKF.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-2RR5GZKF.js.map
|
|
@@ -1 +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":"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","file":"chunk-
|
|
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":"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","file":"chunk-2RR5GZKF.js","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 JOB_LISTING_IOI_SHORTLISTED: 'JOB_LISTING_IOI_SHORTLISTED',\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_DETAILS_UPDATED: 'EVENT_DETAILS_UPDATED',\n STREAM_DISCONNECTED: 'STREAM_DISCONNECTED',\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 {f as f$1}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {f as f$1}from'./chunk-HTK4LWKI.mjs';import {g,k}from'./chunk-L4QDS3ET.mjs';import {z}from'zod';var n={LOW:"LOW",NORMAL:"NORMAL",HIGH:"HIGH",URGENT:"URGENT"},N={IN_APP:"IN_APP",EMAIL:"EMAIL",SMS:"SMS",PUSH:"PUSH"},r={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",JOB_LISTING_IOI_SHORTLISTED:"JOB_LISTING_IOI_SHORTLISTED",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_DETAILS_UPDATED:"EVENT_DETAILS_UPDATED",STREAM_DISCONNECTED:"STREAM_DISCONNECTED",EVENT_ENDED:"EVENT_ENDED",ACCOUNT_SECURITY:"ACCOUNT_SECURITY"};var T=z.object({id:z.uuid(),userId:z.uuid(),type:z.enum(r),title:z.string(),body:z.string(),actionUrl:z.url().optional(),actionType:z.string().optional(),channels:z.array(z.enum(N)),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()}),A=z.object({deviceId:z.string(),registeredAt:z.iso.datetime()}),f=g.extend({isRead:z.enum(["true","false"]).optional().transform(t=>t===void 0?void 0:t==="true")}),P=z.object({items:z.array(T),...k.shape}),m=z.object({count:z.number().int().nonnegative()}),L=z.object({id:z.uuid(),isRead:z.literal(true),readAt:z.iso.datetime()}),d=z.object({markedCount:z.number().int().nonnegative()}),a=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]),I=z.object({category:a,enabled:z.boolean()}),s=z.object({category:c,enabled:z.boolean()}),G=z.object({preferences:z.record(a,z.boolean())}),u=z.object({preferences:z.record(c,z.boolean())}),y=z.object({preferences:z.array(I).min(1).max(10)}),U=z.object({preferences:z.array(s).min(1).max(10)});export{n as a,N as b,r as c,T as d,C as e,A as f,f as g,P as h,m as i,L as j,d as k,I as l,s as m,G as n,u as o,y as p,U as q};//# sourceMappingURL=chunk-6RLSSV2J.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-6RLSSV2J.mjs.map
|
|
@@ -1 +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":"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","file":"chunk-
|
|
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,QAAA,CACR,KAAA,CAAO,OAAA,CACP,GAAA,CAAK,MACL,IAAA,CAAM,MACR,CAAA,CAGaC,CAAAA,CAAmB,CAC9B,iBAAA,CAAmB,oBACnB,gBAAA,CAAkB,kBAAA,CAClB,iBAAkB,kBAAA,CAClB,iBAAA,CAAmB,oBACnB,iBAAA,CAAmB,mBAAA,CACnB,iBAAA,CAAmB,mBAAA,CACnB,cAAA,CAAgB,gBAAA,CAChB,iBAAkB,kBAAA,CAClB,gBAAA,CAAkB,kBAAA,CAClB,gBAAA,CAAkB,kBAAA,CAClB,eAAA,CAAiB,kBACjB,qBAAA,CAAuB,uBAAA,CACvB,cAAA,CAAgB,gBAAA,CAChB,gBAAA,CAAkB,kBAAA,CAClB,aAAc,cAAA,CACd,YAAA,CAAc,eACd,iBAAA,CAAmB,mBAAA,CACnB,yBAA0B,0BAAA,CAC1B,wBAAA,CAA0B,0BAAA,CAC1B,2BAAA,CAA6B,6BAAA,CAC7B,yBAAA,CAA2B,4BAC3B,uBAAA,CAAyB,yBAAA,CACzB,wBAAA,CAA0B,0BAAA,CAC1B,iBAAA,CAAmB,mBAAA,CACnB,wBAAyB,yBAAA,CACzB,mBAAA,CAAqB,qBAAA,CACrB,aAAA,CAAe,eAAA,CACf,qBAAA,CAAuB,wBACvB,mBAAA,CAAqB,qBAAA,CACrB,YAAa,aAAA,CACb,gBAAA,CAAkB,kBACpB,EC3CO,IAAMC,EAA6BC,CAAAA,CAAE,MAAA,CAAO,CACjD,EAAA,CAAIA,CAAAA,CAAE,IAAA,GACN,MAAA,CAAQA,CAAAA,CAAE,IAAA,EAAK,CACf,IAAA,CAAMA,CAAAA,CAAE,KAAKF,CAAgB,CAAA,CAC7B,MAAOE,CAAAA,CAAE,MAAA,GACT,IAAA,CAAMA,CAAAA,CAAE,MAAA,EAAO,CACf,SAAA,CAAWA,CAAAA,CAAE,KAAI,CAAE,QAAA,EAAS,CAC5B,UAAA,CAAYA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAChC,QAAA,CAAUA,CAAAA,CAAE,KAAA,CAAMA,CAAAA,CAAE,KAAKH,CAAmB,CAAC,EAC7C,MAAA,CAAQG,CAAAA,CAAE,SAAQ,CAClB,MAAA,CAAQA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAAE,UAAS,CAClC,WAAA,CAAaA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAAE,UAAS,CACvC,QAAA,CAAUA,CAAAA,CAAE,IAAA,CAAKJ,CAAoB,CAAA,CACrC,SAAUI,CAAAA,CAAE,MAAA,CAAOA,EAAE,MAAA,EAAO,CAAGA,EAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS,CACjD,SAAA,CAAWA,EAAE,GAAA,CAAI,QAAA,EACnB,CAAC,CAAA,CAEKC,CAAAA,CAAmB,8CAEZC,CAAAA,CAAkCF,CAAAA,CAAE,MAAA,CAAO,CACtD,aAAA,CAAeA,CAAAA,CAAE,QAAO,CAAE,KAAA,CAAMC,CAAgB,CAAA,CAChD,QAAA,CAAUD,CAAAA,CAAE,KAAK,CAAC,KAAA,CAAO,SAAA,CAAW,SAAS,CAAC,CAAA,CAC9C,WAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,UAAS,CACxC,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,EAClC,CAAC,CAAA,CAEYG,EAAmCH,CAAAA,CAAE,MAAA,CAAO,CACvD,QAAA,CAAUA,CAAAA,CAAE,MAAA,GACZ,YAAA,CAAcA,CAAAA,CAAE,GAAA,CAAI,QAAA,EACtB,CAAC,EAGYI,CAAAA,CAA+BC,CAAAA,CAAuB,MAAA,CAAO,CACxE,MAAA,CAAQL,CAAAA,CACL,KAAK,CAAC,MAAA,CAAQ,OAAO,CAAC,CAAA,CACtB,UAAS,CACT,SAAA,CAAWM,CAAAA,EAAWA,CAAAA,GAAU,MAAA,CAAY,MAAA,CAAYA,IAAU,MAAO,CAC9E,CAAC,CAAA,CAEYC,CAAAA,CAAkCP,CAAAA,CAAE,OAAO,CACtD,KAAA,CAAOA,CAAAA,CAAE,KAAA,CAAMD,CAA0B,CAAA,CACzC,GAAGS,CAAAA,CAAyB,KAC9B,CAAC,CAAA,CAEYC,CAAAA,CAAyCT,EAAE,MAAA,CAAO,CAC7D,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAC1B,CAAC,CAAA,CAEYU,CAAAA,CAAqCV,EAAE,MAAA,CAAO,CACzD,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,OAAQA,CAAAA,CAAE,OAAA,CAAQ,IAAI,CAAA,CACtB,MAAA,CAAQA,EAAE,GAAA,CAAI,QAAA,EAChB,CAAC,CAAA,CAEYW,CAAAA,CAAyCX,EAAE,MAAA,CAAO,CAC7D,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAChC,CAAC,CAAA,CAEKY,CAAAA,CAAgBZ,EAAE,IAAA,CAAK,CAC3Ba,IAAqB,eAAA,CACrBA,GAAAA,CAAqB,iBACrBA,GAAAA,CAAqB,YACvB,CAAC,CAAA,CACKC,CAAAA,CAAoBd,CAAAA,CAAE,KAAK,CAC/Ba,GAAAA,CAAqB,eAAA,CACrBA,GAAAA,CAAqB,iBAAA,CACrBA,GAAAA,CAAqB,QACvB,CAAC,CAAA,CAEYE,CAAAA,CAAuCf,CAAAA,CAAE,MAAA,CAAO,CAC3D,SAAUY,CAAAA,CACV,OAAA,CAASZ,EAAE,OAAA,EACb,CAAC,CAAA,CAEYgB,CAAAA,CAA2ChB,CAAAA,CAAE,MAAA,CAAO,CAC/D,QAAA,CAAUc,EACV,OAAA,CAASd,CAAAA,CAAE,OAAA,EACb,CAAC,CAAA,CAEYiB,EAA4CjB,CAAAA,CAAE,MAAA,CAAO,CAChE,WAAA,CAAaA,CAAAA,CAAE,MAAA,CAAOY,EAAeZ,CAAAA,CAAE,OAAA,EAAS,CAClD,CAAC,EAEYkB,CAAAA,CAAgDlB,CAAAA,CAAE,MAAA,CAAO,CACpE,WAAA,CAAaA,CAAAA,CAAE,OAAOc,CAAAA,CAAmBd,CAAAA,CAAE,OAAA,EAAS,CACtD,CAAC,EAEYmB,CAAAA,CAAiDnB,CAAAA,CAAE,MAAA,CAAO,CACrE,WAAA,CAAaA,CAAAA,CAAE,MAAMe,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-6RLSSV2J.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 JOB_LISTING_IOI_SHORTLISTED: 'JOB_LISTING_IOI_SHORTLISTED',\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_DETAILS_UPDATED: 'EVENT_DETAILS_UPDATED',\n STREAM_DISCONNECTED: 'STREAM_DISCONNECTED',\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"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {n}from'./chunk-XXDKKJEP.mjs';import {k}from'./chunk-L4QDS3ET.mjs';import {z}from'zod';var u={SERVICE_NOT_DELIVERED:"SERVICE_NOT_DELIVERED",QUALITY_ISSUE:"QUALITY_ISSUE",PAYMENT_DISPUTE:"PAYMENT_DISPUTE",CANCELLATION_DISPUTE:"CANCELLATION_DISPUTE",OTHER:"OTHER"},a={OPEN:"OPEN",UNDER_REVIEW:"UNDER_REVIEW",RESOLVED:"RESOLVED",CLOSED:"CLOSED"};var T=z.object({id:z.uuid(),transactionId:z.uuid(),eventId:z.uuid().optional(),bookingId:z.uuid().optional(),userId:z.uuid(),disputeType:z.enum(u),reason:z.string(),amountInDispute:z.number(),disputeStatus:z.enum(a),resolution:z.string().optional(),reportedAt:z.iso.datetime(),slaDeadline:z.iso.datetime(),resolvedAt:z.iso.datetime().optional(),createdAt:z.iso.datetime()}),m=500,c=2e3,p=z.enum(["EVENT_DID_NOT_RUN","POOR_QUALITY","ACCESS_ISSUE","OTHER"]),o=z.enum(["BOOKING_SERVICE_NOT_DELIVERED","BOOKING_SERVICE_POOR_QUALITY","BOOKING_SCOPE_MISMATCH","BOOKING_OTHER"]),d=z.enum([...p.options,...o.options]),r=z.enum(["ENTITLEMENT","BOOKING"]),t=z.enum(["OPEN","RESOLVED_CUSTOMER","RESOLVED_HOST","EXPIRED"]),i=z.enum(["REFUNDED","DENIED","PARTIAL_REFUND"]),E=z.enum(n),b=z.object({entitlementKind:E,reason:p,detail:z.string().trim().min(1).max(m).optional()}).strict(),_=z.object({reason:o,detail:z.string().trim().min(1).max(c).optional()}).strict(),x=z.object({bookingId:z.uuid(),dispute:z.object({id:z.uuid(),state:t,raisedBy:z.enum(["HOST","PRODUCER"])})}).strict(),N=z.object({id:z.uuid(),bookingId:z.uuid(),subjectType:z.literal("BOOKING"),userId:z.uuid(),reason:o,detail:z.string().nullable(),state:t,raisedBy:z.enum(["HOST","PRODUCER"]),resolvedAt:z.iso.datetime().nullable(),resolutionOutcome:i.nullable(),createdAt:z.iso.datetime(),updatedAt:z.iso.datetime()}).strict(),l=z.object({id:z.uuid(),subjectType:r,subjectId:z.string().min(1),entitlementId:z.string().nullable(),eventId:z.uuid().nullable(),bookingId:z.uuid().nullable(),userId:z.uuid(),reason:d,detail:z.string().nullable(),state:t,resolvedAt:z.iso.datetime().nullable(),resolutionOutcome:i.nullable(),correlationId:z.string(),createdAt:z.iso.datetime(),updatedAt:z.iso.datetime()}).strict(),A=z.object({state:t.optional(),pageNumber:z.coerce.number().int().min(1).optional(),pageSize:z.coerce.number().int().min(1).max(100).optional()}).strict(),g=z.object({state:t.optional(),eventId:z.uuid().optional(),bookingId:z.uuid().optional(),subjectType:r.optional(),pageNumber:z.coerce.number().int().min(1).optional(),pageSize:z.coerce.number().int().min(1).max(100).optional()}).strict(),y=z.object({outcome:i,refundId:z.string().min(1).max(100).optional(),resolutionNote:z.string().trim().max(500).optional()}).strict(),L=z.object({items:z.array(l),...k.shape}).strict(),h=z.object({viewerId:z.uuid(),reason:z.string().min(1).max(500).optional()}),P=z.object({eventId:z.uuid(),viewerIds:z.array(z.uuid())});export{u as a,a as b,T as c,m as d,c as e,p as f,o as g,d as h,r as i,t as j,i as k,b as l,_ as m,x as n,N as o,l as p,A as q,g as r,y as s,L as t,h as u,P as v};//# sourceMappingURL=chunk-CBL6SUWX.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-CBL6SUWX.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/dispute/dispute.enums.ts","../src/dispute/dispute.schemas.ts"],"names":["DisputeType","DisputeStatus","DisputeResponseSchema","z","DISPUTE_DETAIL_MAX_LENGTH","BOOKING_DISPUTE_DETAIL_MAX_LENGTH","DisputeReasonSchema","BookingDisputeReasonSchema","AnyDisputeReasonSchema","DisputeSubjectTypeSchema","DisputeStateSchema","DisputeOutcomeSchema","EntitlementKindSchema","EntitlementKind","OpenDisputeRequestSchema","RaiseBookingDisputeRequestSchema","RaiseBookingDisputeResponseSchema","GetBookingDisputeResponseSchema","AdminDisputeResponseSchema","MyDisputesQuerySchema","AdminDisputesQuerySchema","ResolveDisputeRequestSchema","PagedDisputesResponseSchema","PaginationResponseSchema","AdminRevokeViewerPlaybackSchema","AdminRevokedViewersResponseSchema"],"mappings":"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","file":"chunk-CBL6SUWX.mjs","sourcesContent":["export const DisputeType = {\n SERVICE_NOT_DELIVERED: 'SERVICE_NOT_DELIVERED',\n QUALITY_ISSUE: 'QUALITY_ISSUE',\n PAYMENT_DISPUTE: 'PAYMENT_DISPUTE',\n CANCELLATION_DISPUTE: 'CANCELLATION_DISPUTE',\n OTHER: 'OTHER',\n} as const;\nexport type DisputeType = (typeof DisputeType)[keyof typeof DisputeType];\n\nexport const DisputeStatus = {\n OPEN: 'OPEN',\n UNDER_REVIEW: 'UNDER_REVIEW',\n RESOLVED: 'RESOLVED',\n CLOSED: 'CLOSED',\n} as const;\nexport type DisputeStatus = (typeof DisputeStatus)[keyof typeof DisputeStatus];\n","import { z } from 'zod';\nimport { DisputeType, DisputeStatus } from './dispute.enums';\nimport { EntitlementKind } from '../event';\nimport { PaginationResponseSchema } from '../common';\n\nexport const DisputeResponseSchema = z.object({\n id: z.uuid(),\n transactionId: z.uuid(),\n eventId: z.uuid().optional(),\n bookingId: z.uuid().optional(),\n userId: z.uuid(),\n disputeType: z.enum(DisputeType),\n reason: z.string(),\n amountInDispute: z.number(),\n disputeStatus: z.enum(DisputeStatus),\n resolution: z.string().optional(),\n reportedAt: z.iso.datetime(),\n slaDeadline: z.iso.datetime(),\n resolvedAt: z.iso.datetime().optional(),\n createdAt: z.iso.datetime(),\n});\n\nexport const DISPUTE_DETAIL_MAX_LENGTH = 500;\nexport const BOOKING_DISPUTE_DETAIL_MAX_LENGTH = 2000;\n\n/** Viewer entitlement dispute reasons (Prisma `DisputeReason` subset). */\nexport const DisputeReasonSchema = z.enum([\n 'EVENT_DID_NOT_RUN',\n 'POOR_QUALITY',\n 'ACCESS_ISSUE',\n 'OTHER',\n]);\n\n/** Crew / producer booking dispute reasons (Prisma `DisputeReason` subset). */\nexport const BookingDisputeReasonSchema = z.enum([\n 'BOOKING_SERVICE_NOT_DELIVERED',\n 'BOOKING_SERVICE_POOR_QUALITY',\n 'BOOKING_SCOPE_MISMATCH',\n 'BOOKING_OTHER',\n]);\n\n/** Full Prisma `DisputeReason` surface for admin reads. */\nexport const AnyDisputeReasonSchema = z.enum([\n ...DisputeReasonSchema.options,\n ...BookingDisputeReasonSchema.options,\n]);\n\nexport const DisputeSubjectTypeSchema = z.enum(['ENTITLEMENT', 'BOOKING']);\n\n// Mirrors Prisma `DisputeState` enum.\nexport const DisputeStateSchema = z.enum(['OPEN', 'RESOLVED_CUSTOMER', 'RESOLVED_HOST', 'EXPIRED']);\n\n// Mirrors Prisma `DisputeOutcome` enum.\nexport const DisputeOutcomeSchema = z.enum(['REFUNDED', 'DENIED', 'PARTIAL_REFUND']);\n\nconst EntitlementKindSchema = z.enum(EntitlementKind);\n\nexport const OpenDisputeRequestSchema = z\n .object({\n entitlementKind: EntitlementKindSchema,\n reason: DisputeReasonSchema,\n detail: z.string().trim().min(1).max(DISPUTE_DETAIL_MAX_LENGTH).optional(),\n })\n .strict();\n\n/** `POST /marketplace/bookings/:id/dispute` */\nexport const RaiseBookingDisputeRequestSchema = z\n .object({\n reason: BookingDisputeReasonSchema,\n detail: z.string().trim().min(1).max(BOOKING_DISPUTE_DETAIL_MAX_LENGTH).optional(),\n })\n .strict();\n\nexport const RaiseBookingDisputeResponseSchema = z\n .object({\n bookingId: z.uuid(),\n dispute: z.object({\n id: z.uuid(),\n state: DisputeStateSchema,\n raisedBy: z.enum(['HOST', 'PRODUCER']),\n }),\n })\n .strict();\n\n/** `GET /marketplace/bookings/:id/dispute` — queryable row linked to the booking. */\nexport const GetBookingDisputeResponseSchema = z\n .object({\n id: z.uuid(),\n bookingId: z.uuid(),\n subjectType: z.literal('BOOKING'),\n userId: z.uuid(),\n reason: BookingDisputeReasonSchema,\n detail: z.string().nullable(),\n state: DisputeStateSchema,\n raisedBy: z.enum(['HOST', 'PRODUCER']),\n resolvedAt: z.iso.datetime().nullable(),\n resolutionOutcome: DisputeOutcomeSchema.nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n })\n .strict();\n\nexport const AdminDisputeResponseSchema = z\n .object({\n id: z.uuid(),\n subjectType: DisputeSubjectTypeSchema,\n subjectId: z.string().min(1),\n entitlementId: z.string().nullable(),\n eventId: z.uuid().nullable(),\n bookingId: z.uuid().nullable(),\n userId: z.uuid(),\n reason: AnyDisputeReasonSchema,\n detail: z.string().nullable(),\n state: DisputeStateSchema,\n resolvedAt: z.iso.datetime().nullable(),\n resolutionOutcome: DisputeOutcomeSchema.nullable(),\n correlationId: z.string(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n })\n .strict();\n\nexport const MyDisputesQuerySchema = z\n .object({\n state: DisputeStateSchema.optional(),\n pageNumber: z.coerce.number().int().min(1).optional(),\n pageSize: z.coerce.number().int().min(1).max(100).optional(),\n })\n .strict();\n\nexport const AdminDisputesQuerySchema = z\n .object({\n state: DisputeStateSchema.optional(),\n eventId: z.uuid().optional(),\n bookingId: z.uuid().optional(),\n subjectType: DisputeSubjectTypeSchema.optional(),\n pageNumber: z.coerce.number().int().min(1).optional(),\n pageSize: z.coerce.number().int().min(1).max(100).optional(),\n })\n .strict();\n\nexport const ResolveDisputeRequestSchema = z\n .object({\n outcome: DisputeOutcomeSchema,\n refundId: z.string().min(1).max(100).optional(),\n resolutionNote: z.string().trim().max(500).optional(),\n })\n .strict();\n\nexport const PagedDisputesResponseSchema = z\n .object({\n items: z.array(AdminDisputeResponseSchema),\n ...PaginationResponseSchema.shape,\n })\n .strict();\n\nexport const AdminRevokeViewerPlaybackSchema = z.object({\n viewerId: z.uuid(),\n reason: z.string().min(1).max(500).optional(),\n});\n\nexport const AdminRevokedViewersResponseSchema = z.object({\n eventId: z.uuid(),\n viewerIds: z.array(z.uuid()),\n});\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkRV53QWOB_js=require('./chunk-RV53QWOB.js'),r=require('zod');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var r__default=/*#__PURE__*/_interopDefault(r);var a={GOOGLE:"GOOGLE",APPLE:"APPLE",FACEBOOK:"FACEBOOK",TWITTER:"TWITTER"},p={EMAIL_MATCH:"email_match",EMAIL_MISS:"email_missing"},x={SIGNED_IN:"signed_in",SIGNED_UP:"signed_up",LINK_REQUIRED:"link_required"};var u=new RegExp("^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[ !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]).{8,}$"),m="Password must be at least 8 characters and include an uppercase letter, a lowercase letter, a number, and a special character.",s=r.z.string().min(8,m).regex(u,m),E=r.z.object({email:r.z.email().toLowerCase(),password:s,firstName:r.z.string(),lastName:r.z.string(),role:r.z.enum(chunkRV53QWOB_js.a).optional()}),T=r.z.object({username:r.z.string(),reference:r.z.string(),role:r.z.enum(chunkRV53QWOB_js.a).optional()}),b=r.z.object({email:r.z.email().toLowerCase(),password:s,role:r.z.enum(chunkRV53QWOB_js.a).optional()}),A=r.z.object({otp:r.z.string().length(4),reference:r.z.string(),type:r.z.enum(["registration","passwordReset"])}),C=r.z.object({reference:r.z.string(),type:r.z.enum(["registration","passwordReset"])}),y=r.z.object({isValid:r.z.boolean(),message:r.z.string(),reference:r.z.string().optional()}),O=r.z.object({AccessToken:r.z.string(),RefreshToken:r.z.string(),IdToken:r.z.string(),ExpiresIn:r.z.number(),TokenType:r.z.literal("Bearer"),availableRoles:r.z.array(r.z.enum(chunkRV53QWOB_js.a)),lastActiveRole:r.z.enum(chunkRV53QWOB_js.a).nullable()}),k=r.z.object({role:r.z.enum(chunkRV53QWOB_js.a)}),_=r.z.object({lastActiveRole:r.z.enum(chunkRV53QWOB_js.a)}),L=r.z.object({refreshToken:r.z.string()}),I=r.z.object({refreshToken:r.z.string(),accessToken:r.z.string()}),N=r.z.object({email:r.z.email().toLowerCase()}),j=r.z.object({destination:r.z.string(),deliveryMedium:r.z.string(),attributeName:r.z.string()}),P=r.z.object({token:r.z.string(),newPassword:s}),w=r.z.object({currentPassword:s,newPassword:s}),q=r.z.object({redirectTo:r.z.string().min(1).max(2048).optional()}),v=r.z.object({authorizeUrl:r.z.url()}),D=r.z.object({handoff:r.z.string().min(16).max(128)}),M=r.z.object({idToken:r.z.string().min(1).max(8192),nonce:r.z.string().min(8).max(256),authorizationCode:r.z.string().min(1).max(1024).optional(),user:r.z.object({name:r.z.object({firstName:r.z.string().max(128).nullable().optional(),lastName:r.z.string().max(128).nullable().optional()}).optional()}).optional()}),U=r.z.object({linkHandoff:r.z.string().min(16).max(128),password:s.optional(),otpReference:r.z.string().min(1).max(128).optional(),otp:r.z.string().length(4).optional()}).refine(o=>o.password?true:o.otpReference&&o.otp,"either `password` OR (`otpReference` AND `otp`) must be provided"),W=r.z.object({linkHandoff:r.z.string().min(16).max(128)}),H=r.z.object({kind:r.z.literal("link_required"),reason:r.z.enum(p),linkHandoff:r.z.string(),maskedEmail:r.z.string(),hasPassword:r.z.boolean(),provider:r.z.enum(a)}),F=r.z.object({otpReference:r.z.string()}),R=r.z.object({name:r.z.enum(a),enabled:r.z.boolean(),canSignUp:r.z.boolean()}),V=r.z.object({providers:r.z.array(R)}),B=r.z.object({linkHandoff:r.z.string().min(16).max(128),email:r.z.email().max(320)});var d={WITHDRAW:"WITHDRAW",CANCEL_EVENT:"CANCEL_EVENT",END_LIVE:"END_LIVE",DISABLE_MFA:"DISABLE_MFA",UPDATE_SETTLEMENT_ACCOUNT:"UPDATE_SETTLEMENT_ACCOUNT"};var i=r__default.default.string().trim().regex(/^\d{6}$/,"totpCode must be 6 digits"),l=r__default.default.string().trim().regex(/^[A-Za-z0-9-]{10,12}$/,"recoveryCode is malformed"),Q=r__default.default.object({totpCode:i}),Z=r__default.default.object({totpCode:i.optional(),recoveryCode:l.optional()}).refine(o=>!!o.totpCode!=!!o.recoveryCode,"Provide exactly one of totpCode or recoveryCode"),X=r__default.default.object({action:r__default.default.enum(d)}),J=r__default.default.object({challengeToken:r__default.default.string().min(16,"challengeToken is required"),totpCode:i.optional(),recoveryCode:l.optional()}).refine(o=>!!o.totpCode!=!!o.recoveryCode,"Provide exactly one of totpCode or recoveryCode");var c={END_LIVE:"END_LIVE",CANCEL_EVENT:"CANCEL_EVENT",WITHDRAW:"WITHDRAW",FUND_ESCROW:"FUND_ESCROW"};var re=r.z.object({pin:r.z.string().trim().regex(/^\d{4,8}$/,"pin must be 4-8 digits"),action:r.z.enum(c)}),ne=r.z.object({reauthToken:r.z.string(),action:r.z.enum(c),expiresAt:r.z.iso.datetime()});exports.A=F;exports.B=R;exports.C=V;exports.D=B;exports.E=d;exports.F=i;exports.G=l;exports.H=Q;exports.I=Z;exports.J=X;exports.K=J;exports.L=c;exports.M=re;exports.N=ne;exports.a=a;exports.b=p;exports.c=x;exports.d=s;exports.e=E;exports.f=T;exports.g=b;exports.h=A;exports.i=C;exports.j=y;exports.k=O;exports.l=k;exports.m=_;exports.n=L;exports.o=I;exports.p=N;exports.q=j;exports.r=P;exports.s=w;exports.t=q;exports.u=v;exports.v=D;exports.w=M;exports.x=U;exports.y=W;exports.z=H;//# sourceMappingURL=chunk-HRVNQI2I.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-HRVNQI2I.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/auth/auth.enums.ts","../src/auth/auth.schemas.ts","../src/auth/mfa.enums.ts","../src/auth/mfa.schemas.ts","../src/auth/reauth.enums.ts","../src/auth/reauth.schemas.ts"],"names":["IdentityProvider","LinkRequiredReasonEnum","OauthResolveKind","PASSWORD_REGEX","PASSWORD_MESSAGE","PasswordSchema","z","RegisterRequestSchema","UserRole","RegisterResponseSchema","LoginRequestSchema","VerifyOtpRequestSchema","ResendOtpRequestSchema","VerifyOtpResponseSchema","LoginResponseSchema","SwitchProfileRequestSchema","SwitchProfileResponseSchema","RefreshTokenRequestSchema","LogoutRequestSchema","ForgotPasswordRequestSchema","ForgotPasswordResponseSchema","ResetPasswordRequestSchema","ChangePasswordRequestSchema","OauthStartQuerySchema","OauthStartResponseSchema","OauthExchangeRequestSchema","OauthDirectTokenRequestSchema","OauthLinkCompleteRequestSchema","v","OauthLinkSendOtpRequestSchema","LinkRequiredResponseSchema","OauthLinkSendOtpResponseSchema","ProvidersListItemSchema","ProvidersListResponseSchema","OauthLinkCompleteEmailRequestSchema","MFA_ACTIONS","TotpCodeSchema","RecoveryCodeSchema","EnableMfaBodySchema","DisableMfaBodySchema","MfaChallengeBodySchema","MfaVerifyBodySchema","REAUTH_ACTIONS","ConfirmPinSchema","ReauthTokenResponseSchema"],"mappings":"kMAAO,IAAMA,EAAmB,CAC9B,MAAA,CAAQ,SACR,KAAA,CAAO,OAAA,CACP,SAAU,UAAA,CACV,OAAA,CAAS,SACX,CAAA,CAEaC,CAAAA,CAAyB,CACpC,WAAA,CAAa,aAAA,CACb,WAAY,eACd,CAAA,CAGaC,EAAmB,CAC9B,SAAA,CAAW,YACX,SAAA,CAAW,WAAA,CACX,cAAe,eACjB,MCbMC,CAAAA,CAAiB,IAAI,OACzB,yFACF,CAAA,CAEMC,EACJ,gIAAA,CAEWC,CAAAA,CAAiBC,IAC3B,MAAA,EAAO,CACP,GAAA,CAAI,CAAA,CAAGF,CAAgB,CAAA,CACvB,MAAMD,CAAAA,CAAgBC,CAAgB,EAK5BG,CAAAA,CAAwBD,GAAAA,CAAE,OAAO,CAC5C,KAAA,CAAOA,IAAE,KAAA,EAAM,CAAE,aAAY,CAC7B,QAAA,CAAUD,EACV,SAAA,CAAWC,GAAAA,CAAE,QAAO,CACpB,QAAA,CAAUA,IAAE,MAAA,EAAO,CACnB,KAAMA,GAAAA,CAAE,IAAA,CAAKE,kBAAQ,CAAA,CAAE,QAAA,EACzB,CAAC,CAAA,CAKYC,EAAyBH,GAAAA,CAAE,MAAA,CAAO,CAC7C,QAAA,CAAUA,GAAAA,CAAE,QAAO,CACnB,SAAA,CAAWA,IAAE,MAAA,EAAO,CACpB,IAAA,CAAMA,GAAAA,CAAE,IAAA,CAAKE,kBAAQ,EAAE,QAAA,EACzB,CAAC,CAAA,CAKYE,CAAAA,CAAqBJ,IAAE,MAAA,CAAO,CACzC,MAAOA,GAAAA,CAAE,KAAA,GAAQ,WAAA,EAAY,CAC7B,SAAUD,CAAAA,CACV,IAAA,CAAMC,IAAE,IAAA,CAAKE,kBAAQ,EAAE,QAAA,EACzB,CAAC,CAAA,CAEYG,CAAAA,CAAyBL,IAAE,MAAA,CAAO,CAC7C,IAAKA,GAAAA,CAAE,MAAA,GAAS,MAAA,CAAO,CAAC,EACxB,SAAA,CAAWA,GAAAA,CAAE,QAAO,CACpB,IAAA,CAAMA,IAAE,IAAA,CAAK,CAAC,cAAA,CAAgB,eAAe,CAAC,CAChD,CAAC,CAAA,CAEYM,CAAAA,CAAyBN,IAAE,MAAA,CAAO,CAC7C,UAAWA,GAAAA,CAAE,MAAA,GACb,IAAA,CAAMA,GAAAA,CAAE,KAAK,CAAC,cAAA,CAAgB,eAAe,CAAC,CAChD,CAAC,CAAA,CAEYO,CAAAA,CAA0BP,IAAE,MAAA,CAAO,CAC9C,QAASA,GAAAA,CAAE,OAAA,GACX,OAAA,CAASA,GAAAA,CAAE,QAAO,CAClB,SAAA,CAAWA,IAAE,MAAA,EAAO,CAAE,UACxB,CAAC,EAKYQ,CAAAA,CAAsBR,GAAAA,CAAE,OAAO,CAC1C,WAAA,CAAaA,GAAAA,CAAE,MAAA,EAAO,CACtB,YAAA,CAAcA,IAAE,MAAA,EAAO,CACvB,QAASA,GAAAA,CAAE,MAAA,GACX,SAAA,CAAWA,GAAAA,CAAE,QAAO,CACpB,SAAA,CAAWA,IAAE,OAAA,CAAQ,QAAQ,EAE7B,cAAA,CAAgBA,GAAAA,CAAE,MAAMA,GAAAA,CAAE,IAAA,CAAKE,kBAAQ,CAAC,CAAA,CAExC,eAAgBF,GAAAA,CAAE,IAAA,CAAKE,kBAAQ,CAAA,CAAE,QAAA,EACnC,CAAC,CAAA,CAKYO,EAA6BT,GAAAA,CAAE,MAAA,CAAO,CACjD,IAAA,CAAMA,GAAAA,CAAE,KAAKE,kBAAQ,CACvB,CAAC,CAAA,CAKYQ,CAAAA,CAA8BV,GAAAA,CAAE,MAAA,CAAO,CAClD,cAAA,CAAgBA,IAAE,IAAA,CAAKE,kBAAQ,CACjC,CAAC,CAAA,CAKYS,EAA4BX,GAAAA,CAAE,MAAA,CAAO,CAChD,YAAA,CAAcA,GAAAA,CAAE,QAClB,CAAC,EAEYY,CAAAA,CAAsBZ,GAAAA,CAAE,OAAO,CAC1C,YAAA,CAAcA,IAAE,MAAA,EAAO,CACvB,YAAaA,GAAAA,CAAE,MAAA,EACjB,CAAC,CAAA,CAKYa,EAA8Bb,GAAAA,CAAE,MAAA,CAAO,CAClD,KAAA,CAAOA,GAAAA,CAAE,OAAM,CAAE,WAAA,EACnB,CAAC,CAAA,CAEYc,EAA+Bd,GAAAA,CAAE,MAAA,CAAO,CACnD,WAAA,CAAaA,GAAAA,CAAE,MAAA,GACf,cAAA,CAAgBA,GAAAA,CAAE,QAAO,CACzB,aAAA,CAAeA,IAAE,MAAA,EACnB,CAAC,CAAA,CAKYe,CAAAA,CAA6Bf,IAAE,MAAA,CAAO,CACjD,MAAOA,GAAAA,CAAE,MAAA,GACT,WAAA,CAAaD,CACf,CAAC,CAAA,CAKYiB,CAAAA,CAA8BhB,IAAE,MAAA,CAAO,CAClD,gBAAiBD,CAAAA,CACjB,WAAA,CAAaA,CACf,CAAC,CAAA,CAEYkB,EAAwBjB,GAAAA,CAAE,MAAA,CAAO,CAC5C,UAAA,CAAYA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,IAAI,CAAA,CAAE,QAAA,EAC1C,CAAC,CAAA,CAEYkB,CAAAA,CAA2BlB,IAAE,MAAA,CAAO,CAC/C,aAAcA,GAAAA,CAAE,GAAA,EAClB,CAAC,CAAA,CAEYmB,EAA6BnB,GAAAA,CAAE,MAAA,CAAO,CACjD,OAAA,CAASA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,GAAA,CAAI,GAAG,CACrC,CAAC,CAAA,CAEYoB,EAAgCpB,GAAAA,CAAE,MAAA,CAAO,CACpD,OAAA,CAASA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,IAAI,CAAA,CACnC,KAAA,CAAOA,IAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAChC,iBAAA,CAAmBA,IAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,IAAI,CAAA,CAAE,UAAS,CACxD,IAAA,CAAMA,IACH,MAAA,CAAO,CACN,KAAMA,GAAAA,CACH,MAAA,CAAO,CACN,SAAA,CAAWA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,GAAW,QAAA,EAAS,CACnD,SAAUA,GAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS,CAAE,UAC3C,CAAC,CAAA,CACA,QAAA,EACL,CAAC,EACA,QAAA,EACL,CAAC,CAAA,CAEYqB,CAAAA,CAAiCrB,IAC3C,MAAA,CAAO,CACN,YAAaA,GAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,EAAE,EAAE,GAAA,CAAI,GAAG,EACvC,QAAA,CAAUD,CAAAA,CAAe,UAAS,CAClC,YAAA,CAAcC,IAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA,CAAE,UAAS,CAClD,GAAA,CAAKA,IAAE,MAAA,EAAO,CAAE,OAAO,CAAC,CAAA,CAAE,UAC5B,CAAC,CAAA,CACA,MAAA,CACEsB,CAAAA,EAAOA,CAAAA,CAAE,SAAW,IAAA,CAAOA,CAAAA,CAAE,cAAgBA,CAAAA,CAAE,GAAA,CAChD,kEACF,CAAA,CAEWC,CAAAA,CAAgCvB,IAAE,MAAA,CAAO,CACpD,YAAaA,GAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,EAAE,EAAE,GAAA,CAAI,GAAG,CACzC,CAAC,CAAA,CAEYwB,EAA6BxB,GAAAA,CAAE,MAAA,CAAO,CACjD,IAAA,CAAMA,GAAAA,CAAE,QAAQ,eAAe,CAAA,CAC/B,OAAQA,GAAAA,CAAE,IAAA,CAAKL,CAAsB,CAAA,CACrC,WAAA,CAAaK,IAAE,MAAA,EAAO,CACtB,YAAaA,GAAAA,CAAE,MAAA,EAAO,CACtB,WAAA,CAAaA,GAAAA,CAAE,OAAA,GACf,QAAA,CAAUA,GAAAA,CAAE,KAAKN,CAAgB,CACnC,CAAC,CAAA,CAEY+B,CAAAA,CAAiCzB,IAAE,MAAA,CAAO,CACrD,aAAcA,GAAAA,CAAE,MAAA,EAClB,CAAC,CAAA,CAEY0B,EAA0B1B,GAAAA,CAAE,MAAA,CAAO,CAC9C,IAAA,CAAMA,GAAAA,CAAE,KAAKN,CAAgB,CAAA,CAC7B,QAASM,GAAAA,CAAE,OAAA,GACX,SAAA,CAAWA,GAAAA,CAAE,SACf,CAAC,EAEY2B,CAAAA,CAA8B3B,GAAAA,CAAE,OAAO,CAClD,SAAA,CAAWA,IAAE,KAAA,CAAM0B,CAAuB,CAC5C,CAAC,CAAA,CAEYE,CAAAA,CAAsC5B,IAAE,MAAA,CAAO,CAC1D,YAAaA,GAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,EAAE,EAAE,GAAA,CAAI,GAAG,EACvC,KAAA,CAAOA,GAAAA,CAAE,OAAM,CAAE,GAAA,CAAI,GAAG,CAC1B,CAAC,EC1MM,IAAM6B,CAAAA,CAAc,CACzB,QAAA,CAAU,UAAA,CACV,aAAc,cAAA,CACd,QAAA,CAAU,WACV,WAAA,CAAa,aAAA,CACb,0BAA2B,2BAC7B,MCHaC,CAAAA,CAAiB9B,kBAAAA,CAC3B,QAAO,CACP,IAAA,EAAK,CACL,KAAA,CAAM,SAAA,CAAW,2BAA2B,EAElC+B,CAAAA,CAAqB/B,kBAAAA,CAC/B,QAAO,CACP,IAAA,GACA,KAAA,CAAM,uBAAA,CAAyB,2BAA2B,CAAA,CAEhDgC,CAAAA,CAAsBhC,mBAAE,MAAA,CAAO,CAC1C,SAAU8B,CACZ,CAAC,EAEYG,CAAAA,CAAuBjC,kBAAAA,CACjC,OAAO,CACN,QAAA,CAAU8B,EAAe,QAAA,EAAS,CAClC,aAAcC,CAAAA,CAAmB,QAAA,EACnC,CAAC,CAAA,CACA,OACET,CAAAA,EAAM,CAAC,CAACA,CAAAA,CAAE,QAAA,EAAa,CAAC,CAACA,CAAAA,CAAE,aAC5B,iDACF,CAAA,CAEWY,CAAAA,CAAyBlC,kBAAAA,CAAE,MAAA,CAAO,CAC7C,OAAQA,kBAAAA,CAAE,IAAA,CAAK6B,CAAW,CAC5B,CAAC,EAEYM,CAAAA,CAAsBnC,kBAAAA,CAChC,OAAO,CACN,cAAA,CAAgBA,mBAAE,MAAA,EAAO,CAAE,IAAI,EAAA,CAAI,4BAA4B,EAC/D,QAAA,CAAU8B,CAAAA,CAAe,UAAS,CAClC,YAAA,CAAcC,EAAmB,QAAA,EACnC,CAAC,CAAA,CACA,MAAA,CACET,GAAM,CAAC,CAACA,EAAE,QAAA,EAAa,CAAC,CAACA,CAAAA,CAAE,YAAA,CAC5B,iDACF,EC9BK,IAAMc,EAAiB,CAC5B,QAAA,CAAU,UAAA,CACV,YAAA,CAAc,cAAA,CACd,QAAA,CAAU,WACV,WAAA,CAAa,aACf,ECRO,IAAMC,GAAmBrC,GAAAA,CAAE,MAAA,CAAO,CACvC,GAAA,CAAKA,GAAAA,CACF,QAAO,CACP,IAAA,GACA,KAAA,CAAM,WAAA,CAAa,wBAAwB,CAAA,CAC9C,MAAA,CAAQA,GAAAA,CAAE,KAAKoC,CAAc,CAC/B,CAAC,CAAA,CAOYE,EAAAA,CAA4BtC,IAAE,MAAA,CAAO,CAChD,YAAaA,GAAAA,CAAE,MAAA,GACf,MAAA,CAAQA,GAAAA,CAAE,KAAKoC,CAAc,CAAA,CAC7B,UAAWpC,GAAAA,CAAE,GAAA,CAAI,QAAA,EACnB,CAAC","file":"chunk-ES4IKYQU.js","sourcesContent":["export const IdentityProvider = {\n GOOGLE: 'GOOGLE',\n APPLE: 'APPLE',\n FACEBOOK: 'FACEBOOK',\n TWITTER: 'TWITTER',\n} as const;\nexport type IdentityProvider = (typeof IdentityProvider)[keyof typeof IdentityProvider];\nexport const LinkRequiredReasonEnum = {\n EMAIL_MATCH: 'email_match',\n EMAIL_MISS: 'email_missing',\n} as const;\nexport type LinkRequiredReasonEnum =\n (typeof LinkRequiredReasonEnum)[keyof typeof LinkRequiredReasonEnum];\nexport const OauthResolveKind = {\n SIGNED_IN: 'signed_in',\n SIGNED_UP: 'signed_up',\n LINK_REQUIRED: 'link_required',\n} as const;\nexport type OauthResolveKind = (typeof OauthResolveKind)[keyof typeof OauthResolveKind];\n","import { z } from 'zod';\nimport { UserRole } from '../user';\nimport { IdentityProvider, LinkRequiredReasonEnum } from './auth.enums';\n\nconst PASSWORD_REGEX = new RegExp(\n '^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[ !\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~]).{8,}$',\n);\n\nconst PASSWORD_MESSAGE =\n 'Password must be at least 8 characters and include an uppercase letter, a lowercase letter, a number, and a special character.';\n\nexport const PasswordSchema = z\n .string()\n .min(8, PASSWORD_MESSAGE)\n .regex(PASSWORD_REGEX, PASSWORD_MESSAGE);\n\n/**\n * Zod schema for registration request.\n */\nexport const RegisterRequestSchema = z.object({\n email: z.email().toLowerCase(),\n password: PasswordSchema,\n firstName: z.string(),\n lastName: z.string(),\n role: z.enum(UserRole).optional(),\n});\n\n/**\n * Zod schema for registration response.\n */\nexport const RegisterResponseSchema = z.object({\n username: z.string(),\n reference: z.string(),\n role: z.enum(UserRole).optional(),\n});\n\n/**\n * Zod schema for login request.\n */\nexport const LoginRequestSchema = z.object({\n email: z.email().toLowerCase(),\n password: PasswordSchema,\n role: z.enum(UserRole).optional(),\n});\n\nexport const VerifyOtpRequestSchema = z.object({\n otp: z.string().length(4),\n reference: z.string(),\n type: z.enum(['registration', 'passwordReset']),\n});\n\nexport const ResendOtpRequestSchema = z.object({\n reference: z.string(),\n type: z.enum(['registration', 'passwordReset']),\n});\n\nexport const VerifyOtpResponseSchema = z.object({\n isValid: z.boolean(),\n message: z.string(),\n reference: z.string().optional(),\n});\n\n/**\n * Zod schema for login response.\n */\nexport const LoginResponseSchema = z.object({\n AccessToken: z.string(),\n RefreshToken: z.string(),\n IdToken: z.string(),\n ExpiresIn: z.number(),\n TokenType: z.literal('Bearer'),\n /** The user's roles bitmask decomposed into an array of UserRole values. */\n availableRoles: z.array(z.enum(UserRole)),\n /** The role the user was last active as, or null on first login / never-switched. */\n lastActiveRole: z.enum(UserRole).nullable(),\n});\n\n/**\n * Zod schema for switch profile request.\n */\nexport const SwitchProfileRequestSchema = z.object({\n role: z.enum(UserRole),\n});\n\n/**\n * Zod schema for switch profile response.\n */\nexport const SwitchProfileResponseSchema = z.object({\n lastActiveRole: z.enum(UserRole),\n});\n\n/**\n * Zod schema for refresh token request.\n */\nexport const RefreshTokenRequestSchema = z.object({\n refreshToken: z.string(),\n});\n\nexport const LogoutRequestSchema = z.object({\n refreshToken: z.string(),\n accessToken: z.string(),\n});\n\n/**\n * Zod schema for forgot password request.\n */\nexport const ForgotPasswordRequestSchema = z.object({\n email: z.email().toLowerCase(),\n});\n\nexport const ForgotPasswordResponseSchema = z.object({\n destination: z.string(),\n deliveryMedium: z.string(),\n attributeName: z.string(),\n});\n\n/**\n * Zod schema for reset password request.\n */\nexport const ResetPasswordRequestSchema = z.object({\n token: z.string(),\n newPassword: PasswordSchema,\n});\n\n/**\n * Zod schema for change password request.\n */\nexport const ChangePasswordRequestSchema = z.object({\n currentPassword: PasswordSchema,\n newPassword: PasswordSchema,\n});\n\nexport const OauthStartQuerySchema = z.object({\n redirectTo: z.string().min(1).max(2048).optional(),\n});\n\nexport const OauthStartResponseSchema = z.object({\n authorizeUrl: z.url(),\n});\n\nexport const OauthExchangeRequestSchema = z.object({\n handoff: z.string().min(16).max(128),\n});\n\nexport const OauthDirectTokenRequestSchema = z.object({\n idToken: z.string().min(1).max(8192),\n nonce: z.string().min(8).max(256),\n authorizationCode: z.string().min(1).max(1024).optional(),\n user: z\n .object({\n name: z\n .object({\n firstName: z.string().max(128).nullable().optional(),\n lastName: z.string().max(128).nullable().optional(),\n })\n .optional(),\n })\n .optional(),\n});\n\nexport const OauthLinkCompleteRequestSchema = z\n .object({\n linkHandoff: z.string().min(16).max(128),\n password: PasswordSchema.optional(),\n otpReference: z.string().min(1).max(128).optional(),\n otp: z.string().length(4).optional(),\n })\n .refine(\n (v) => (v.password ? true : v.otpReference && v.otp),\n 'either `password` OR (`otpReference` AND `otp`) must be provided',\n );\n\nexport const OauthLinkSendOtpRequestSchema = z.object({\n linkHandoff: z.string().min(16).max(128),\n});\n\nexport const LinkRequiredResponseSchema = z.object({\n kind: z.literal('link_required'),\n reason: z.enum(LinkRequiredReasonEnum),\n linkHandoff: z.string(),\n maskedEmail: z.string(),\n hasPassword: z.boolean(),\n provider: z.enum(IdentityProvider),\n});\n\nexport const OauthLinkSendOtpResponseSchema = z.object({\n otpReference: z.string(),\n});\n\nexport const ProvidersListItemSchema = z.object({\n name: z.enum(IdentityProvider),\n enabled: z.boolean(),\n canSignUp: z.boolean(),\n});\n\nexport const ProvidersListResponseSchema = z.object({\n providers: z.array(ProvidersListItemSchema),\n});\n\nexport const OauthLinkCompleteEmailRequestSchema = z.object({\n linkHandoff: z.string().min(16).max(128),\n email: z.email().max(320),\n});\n","export const MFA_ACTIONS = {\n WITHDRAW: 'WITHDRAW',\n CANCEL_EVENT: 'CANCEL_EVENT',\n END_LIVE: 'END_LIVE',\n DISABLE_MFA: 'DISABLE_MFA',\n UPDATE_SETTLEMENT_ACCOUNT: 'UPDATE_SETTLEMENT_ACCOUNT',\n} as const;\n\nexport type MfaAction = (typeof MFA_ACTIONS)[keyof typeof MFA_ACTIONS];\n","import z from 'zod';\nimport { MFA_ACTIONS } from './mfa.enums';\n\nexport const TotpCodeSchema = z\n .string()\n .trim()\n .regex(/^\\d{6}$/, 'totpCode must be 6 digits');\n\nexport const RecoveryCodeSchema = z\n .string()\n .trim()\n .regex(/^[A-Za-z0-9-]{10,12}$/, 'recoveryCode is malformed');\n\nexport const EnableMfaBodySchema = z.object({\n totpCode: TotpCodeSchema,\n});\n\nexport const DisableMfaBodySchema = z\n .object({\n totpCode: TotpCodeSchema.optional(),\n recoveryCode: RecoveryCodeSchema.optional(),\n })\n .refine(\n (v) => !!v.totpCode !== !!v.recoveryCode,\n 'Provide exactly one of totpCode or recoveryCode',\n );\n\nexport const MfaChallengeBodySchema = z.object({\n action: z.enum(MFA_ACTIONS),\n});\n\nexport const MfaVerifyBodySchema = z\n .object({\n challengeToken: z.string().min(16, 'challengeToken is required'),\n totpCode: TotpCodeSchema.optional(),\n recoveryCode: RecoveryCodeSchema.optional(),\n })\n .refine(\n (v) => !!v.totpCode !== !!v.recoveryCode,\n 'Provide exactly one of totpCode or recoveryCode',\n );\n","/**\n * Actions that require step-up reauth (a fresh PIN confirmation) before\n * they can be executed. Each protected endpoint on the backend declares\n * its action via `@ReauthRequired(...)`; the FE mints an action-scoped\n * token through `POST /auth/confirm-pin` and passes it in the\n * `X-Reauth-Token` header.\n *\n * Tokens are single-use, TTL-bounded (5 min), and scoped — a token\n * issued for `WITHDRAW` will 401 if replayed against `END_LIVE`.\n */\nexport const REAUTH_ACTIONS = {\n END_LIVE: 'END_LIVE',\n CANCEL_EVENT: 'CANCEL_EVENT',\n WITHDRAW: 'WITHDRAW',\n FUND_ESCROW: 'FUND_ESCROW',\n} as const;\n\nexport type ReauthAction = (typeof REAUTH_ACTIONS)[keyof typeof REAUTH_ACTIONS];\n","import { z } from 'zod';\nimport { REAUTH_ACTIONS } from './reauth.enums';\n\n/**\n * `POST /auth/confirm-pin` body. Regex matches the digit-string PIN\n * format enforced when the PIN was first set (`POST /users/pin`).\n */\nexport const ConfirmPinSchema = z.object({\n pin: z\n .string()\n .trim()\n .regex(/^\\d{4,8}$/, 'pin must be 4-8 digits'),\n action: z.enum(REAUTH_ACTIONS),\n});\n\n/**\n * `POST /auth/confirm-pin` response. The `reauthToken` is presented via\n * `X-Reauth-Token` on the subsequent destructive request; single-use,\n * scoped to `action`.\n */\nexport const ReauthTokenResponseSchema = z.object({\n reauthToken: z.string(),\n action: z.enum(REAUTH_ACTIONS),\n expiresAt: z.iso.datetime(),\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/auth/auth.enums.ts","../src/auth/auth.schemas.ts","../src/auth/mfa.enums.ts","../src/auth/mfa.schemas.ts","../src/auth/reauth.enums.ts","../src/auth/reauth.schemas.ts"],"names":["IdentityProvider","LinkRequiredReasonEnum","OauthResolveKind","PASSWORD_REGEX","PASSWORD_MESSAGE","PasswordSchema","z","RegisterRequestSchema","UserRole","RegisterResponseSchema","LoginRequestSchema","VerifyOtpRequestSchema","ResendOtpRequestSchema","VerifyOtpResponseSchema","LoginResponseSchema","SwitchProfileRequestSchema","SwitchProfileResponseSchema","RefreshTokenRequestSchema","LogoutRequestSchema","ForgotPasswordRequestSchema","ForgotPasswordResponseSchema","ResetPasswordRequestSchema","ChangePasswordRequestSchema","OauthStartQuerySchema","OauthStartResponseSchema","OauthExchangeRequestSchema","OauthDirectTokenRequestSchema","OauthLinkCompleteRequestSchema","v","OauthLinkSendOtpRequestSchema","LinkRequiredResponseSchema","OauthLinkSendOtpResponseSchema","ProvidersListItemSchema","ProvidersListResponseSchema","OauthLinkCompleteEmailRequestSchema","MFA_ACTIONS","TotpCodeSchema","RecoveryCodeSchema","EnableMfaBodySchema","DisableMfaBodySchema","MfaChallengeBodySchema","MfaVerifyBodySchema","REAUTH_ACTIONS","ConfirmPinSchema","ReauthTokenResponseSchema"],"mappings":"kMAAO,IAAMA,EAAmB,CAC9B,MAAA,CAAQ,SACR,KAAA,CAAO,OAAA,CACP,SAAU,UAAA,CACV,OAAA,CAAS,SACX,CAAA,CAEaC,CAAAA,CAAyB,CACpC,WAAA,CAAa,aAAA,CACb,WAAY,eACd,CAAA,CAGaC,EAAmB,CAC9B,SAAA,CAAW,YACX,SAAA,CAAW,WAAA,CACX,cAAe,eACjB,MCbMC,CAAAA,CAAiB,IAAI,OACzB,yFACF,CAAA,CAEMC,EACJ,gIAAA,CAEWC,CAAAA,CAAiBC,IAC3B,MAAA,EAAO,CACP,GAAA,CAAI,CAAA,CAAGF,CAAgB,CAAA,CACvB,MAAMD,CAAAA,CAAgBC,CAAgB,EAK5BG,CAAAA,CAAwBD,GAAAA,CAAE,OAAO,CAC5C,KAAA,CAAOA,IAAE,KAAA,EAAM,CAAE,aAAY,CAC7B,QAAA,CAAUD,EACV,SAAA,CAAWC,GAAAA,CAAE,QAAO,CACpB,QAAA,CAAUA,IAAE,MAAA,EAAO,CACnB,KAAMA,GAAAA,CAAE,IAAA,CAAKE,kBAAQ,CAAA,CAAE,QAAA,EACzB,CAAC,CAAA,CAKYC,EAAyBH,GAAAA,CAAE,MAAA,CAAO,CAC7C,QAAA,CAAUA,GAAAA,CAAE,QAAO,CACnB,SAAA,CAAWA,IAAE,MAAA,EAAO,CACpB,IAAA,CAAMA,GAAAA,CAAE,IAAA,CAAKE,kBAAQ,EAAE,QAAA,EACzB,CAAC,CAAA,CAKYE,CAAAA,CAAqBJ,IAAE,MAAA,CAAO,CACzC,MAAOA,GAAAA,CAAE,KAAA,GAAQ,WAAA,EAAY,CAC7B,SAAUD,CAAAA,CACV,IAAA,CAAMC,IAAE,IAAA,CAAKE,kBAAQ,EAAE,QAAA,EACzB,CAAC,CAAA,CAEYG,CAAAA,CAAyBL,IAAE,MAAA,CAAO,CAC7C,IAAKA,GAAAA,CAAE,MAAA,GAAS,MAAA,CAAO,CAAC,EACxB,SAAA,CAAWA,GAAAA,CAAE,QAAO,CACpB,IAAA,CAAMA,IAAE,IAAA,CAAK,CAAC,cAAA,CAAgB,eAAe,CAAC,CAChD,CAAC,CAAA,CAEYM,CAAAA,CAAyBN,IAAE,MAAA,CAAO,CAC7C,UAAWA,GAAAA,CAAE,MAAA,GACb,IAAA,CAAMA,GAAAA,CAAE,KAAK,CAAC,cAAA,CAAgB,eAAe,CAAC,CAChD,CAAC,CAAA,CAEYO,CAAAA,CAA0BP,IAAE,MAAA,CAAO,CAC9C,QAASA,GAAAA,CAAE,OAAA,GACX,OAAA,CAASA,GAAAA,CAAE,QAAO,CAClB,SAAA,CAAWA,IAAE,MAAA,EAAO,CAAE,UACxB,CAAC,EAKYQ,CAAAA,CAAsBR,GAAAA,CAAE,OAAO,CAC1C,WAAA,CAAaA,GAAAA,CAAE,MAAA,EAAO,CACtB,YAAA,CAAcA,IAAE,MAAA,EAAO,CACvB,QAASA,GAAAA,CAAE,MAAA,GACX,SAAA,CAAWA,GAAAA,CAAE,QAAO,CACpB,SAAA,CAAWA,IAAE,OAAA,CAAQ,QAAQ,EAE7B,cAAA,CAAgBA,GAAAA,CAAE,MAAMA,GAAAA,CAAE,IAAA,CAAKE,kBAAQ,CAAC,CAAA,CAExC,eAAgBF,GAAAA,CAAE,IAAA,CAAKE,kBAAQ,CAAA,CAAE,QAAA,EACnC,CAAC,CAAA,CAKYO,EAA6BT,GAAAA,CAAE,MAAA,CAAO,CACjD,IAAA,CAAMA,GAAAA,CAAE,KAAKE,kBAAQ,CACvB,CAAC,CAAA,CAKYQ,CAAAA,CAA8BV,GAAAA,CAAE,MAAA,CAAO,CAClD,cAAA,CAAgBA,IAAE,IAAA,CAAKE,kBAAQ,CACjC,CAAC,CAAA,CAKYS,EAA4BX,GAAAA,CAAE,MAAA,CAAO,CAChD,YAAA,CAAcA,GAAAA,CAAE,QAClB,CAAC,EAEYY,CAAAA,CAAsBZ,GAAAA,CAAE,OAAO,CAC1C,YAAA,CAAcA,IAAE,MAAA,EAAO,CACvB,YAAaA,GAAAA,CAAE,MAAA,EACjB,CAAC,CAAA,CAKYa,EAA8Bb,GAAAA,CAAE,MAAA,CAAO,CAClD,KAAA,CAAOA,GAAAA,CAAE,OAAM,CAAE,WAAA,EACnB,CAAC,CAAA,CAEYc,EAA+Bd,GAAAA,CAAE,MAAA,CAAO,CACnD,WAAA,CAAaA,GAAAA,CAAE,MAAA,GACf,cAAA,CAAgBA,GAAAA,CAAE,QAAO,CACzB,aAAA,CAAeA,IAAE,MAAA,EACnB,CAAC,CAAA,CAKYe,CAAAA,CAA6Bf,IAAE,MAAA,CAAO,CACjD,MAAOA,GAAAA,CAAE,MAAA,GACT,WAAA,CAAaD,CACf,CAAC,CAAA,CAKYiB,CAAAA,CAA8BhB,IAAE,MAAA,CAAO,CAClD,gBAAiBD,CAAAA,CACjB,WAAA,CAAaA,CACf,CAAC,CAAA,CAEYkB,EAAwBjB,GAAAA,CAAE,MAAA,CAAO,CAC5C,UAAA,CAAYA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,IAAI,CAAA,CAAE,QAAA,EAC1C,CAAC,CAAA,CAEYkB,CAAAA,CAA2BlB,IAAE,MAAA,CAAO,CAC/C,aAAcA,GAAAA,CAAE,GAAA,EAClB,CAAC,CAAA,CAEYmB,EAA6BnB,GAAAA,CAAE,MAAA,CAAO,CACjD,OAAA,CAASA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,GAAA,CAAI,GAAG,CACrC,CAAC,CAAA,CAEYoB,EAAgCpB,GAAAA,CAAE,MAAA,CAAO,CACpD,OAAA,CAASA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,IAAI,CAAA,CACnC,KAAA,CAAOA,IAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAChC,iBAAA,CAAmBA,IAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,IAAI,CAAA,CAAE,UAAS,CACxD,IAAA,CAAMA,IACH,MAAA,CAAO,CACN,KAAMA,GAAAA,CACH,MAAA,CAAO,CACN,SAAA,CAAWA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,GAAW,QAAA,EAAS,CACnD,SAAUA,GAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS,CAAE,UAC3C,CAAC,CAAA,CACA,QAAA,EACL,CAAC,EACA,QAAA,EACL,CAAC,CAAA,CAEYqB,CAAAA,CAAiCrB,IAC3C,MAAA,CAAO,CACN,YAAaA,GAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,EAAE,EAAE,GAAA,CAAI,GAAG,EACvC,QAAA,CAAUD,CAAAA,CAAe,UAAS,CAClC,YAAA,CAAcC,IAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA,CAAE,UAAS,CAClD,GAAA,CAAKA,IAAE,MAAA,EAAO,CAAE,OAAO,CAAC,CAAA,CAAE,UAC5B,CAAC,CAAA,CACA,MAAA,CACEsB,CAAAA,EAAOA,CAAAA,CAAE,SAAW,IAAA,CAAOA,CAAAA,CAAE,cAAgBA,CAAAA,CAAE,GAAA,CAChD,kEACF,CAAA,CAEWC,CAAAA,CAAgCvB,IAAE,MAAA,CAAO,CACpD,YAAaA,GAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,EAAE,EAAE,GAAA,CAAI,GAAG,CACzC,CAAC,CAAA,CAEYwB,EAA6BxB,GAAAA,CAAE,MAAA,CAAO,CACjD,IAAA,CAAMA,GAAAA,CAAE,QAAQ,eAAe,CAAA,CAC/B,OAAQA,GAAAA,CAAE,IAAA,CAAKL,CAAsB,CAAA,CACrC,WAAA,CAAaK,IAAE,MAAA,EAAO,CACtB,YAAaA,GAAAA,CAAE,MAAA,EAAO,CACtB,WAAA,CAAaA,GAAAA,CAAE,OAAA,GACf,QAAA,CAAUA,GAAAA,CAAE,KAAKN,CAAgB,CACnC,CAAC,CAAA,CAEY+B,CAAAA,CAAiCzB,IAAE,MAAA,CAAO,CACrD,aAAcA,GAAAA,CAAE,MAAA,EAClB,CAAC,CAAA,CAEY0B,EAA0B1B,GAAAA,CAAE,MAAA,CAAO,CAC9C,IAAA,CAAMA,GAAAA,CAAE,KAAKN,CAAgB,CAAA,CAC7B,QAASM,GAAAA,CAAE,OAAA,GACX,SAAA,CAAWA,GAAAA,CAAE,SACf,CAAC,EAEY2B,CAAAA,CAA8B3B,GAAAA,CAAE,OAAO,CAClD,SAAA,CAAWA,IAAE,KAAA,CAAM0B,CAAuB,CAC5C,CAAC,CAAA,CAEYE,CAAAA,CAAsC5B,IAAE,MAAA,CAAO,CAC1D,YAAaA,GAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,EAAE,EAAE,GAAA,CAAI,GAAG,EACvC,KAAA,CAAOA,GAAAA,CAAE,OAAM,CAAE,GAAA,CAAI,GAAG,CAC1B,CAAC,EC1MM,IAAM6B,CAAAA,CAAc,CACzB,QAAA,CAAU,UAAA,CACV,aAAc,cAAA,CACd,QAAA,CAAU,WACV,WAAA,CAAa,aAAA,CACb,0BAA2B,2BAC7B,MCHaC,CAAAA,CAAiB9B,kBAAAA,CAC3B,QAAO,CACP,IAAA,EAAK,CACL,KAAA,CAAM,SAAA,CAAW,2BAA2B,EAElC+B,CAAAA,CAAqB/B,kBAAAA,CAC/B,QAAO,CACP,IAAA,GACA,KAAA,CAAM,uBAAA,CAAyB,2BAA2B,CAAA,CAEhDgC,CAAAA,CAAsBhC,mBAAE,MAAA,CAAO,CAC1C,SAAU8B,CACZ,CAAC,EAEYG,CAAAA,CAAuBjC,kBAAAA,CACjC,OAAO,CACN,QAAA,CAAU8B,EAAe,QAAA,EAAS,CAClC,aAAcC,CAAAA,CAAmB,QAAA,EACnC,CAAC,CAAA,CACA,OACET,CAAAA,EAAM,CAAC,CAACA,CAAAA,CAAE,QAAA,EAAa,CAAC,CAACA,CAAAA,CAAE,aAC5B,iDACF,CAAA,CAEWY,CAAAA,CAAyBlC,kBAAAA,CAAE,MAAA,CAAO,CAC7C,OAAQA,kBAAAA,CAAE,IAAA,CAAK6B,CAAW,CAC5B,CAAC,EAEYM,CAAAA,CAAsBnC,kBAAAA,CAChC,OAAO,CACN,cAAA,CAAgBA,mBAAE,MAAA,EAAO,CAAE,IAAI,EAAA,CAAI,4BAA4B,EAC/D,QAAA,CAAU8B,CAAAA,CAAe,UAAS,CAClC,YAAA,CAAcC,EAAmB,QAAA,EACnC,CAAC,CAAA,CACA,MAAA,CACET,GAAM,CAAC,CAACA,EAAE,QAAA,EAAa,CAAC,CAACA,CAAAA,CAAE,YAAA,CAC5B,iDACF,EC9BK,IAAMc,EAAiB,CAC5B,QAAA,CAAU,UAAA,CACV,YAAA,CAAc,cAAA,CACd,QAAA,CAAU,WACV,WAAA,CAAa,aACf,ECRO,IAAMC,GAAmBrC,GAAAA,CAAE,MAAA,CAAO,CACvC,GAAA,CAAKA,GAAAA,CACF,QAAO,CACP,IAAA,GACA,KAAA,CAAM,WAAA,CAAa,wBAAwB,CAAA,CAC9C,MAAA,CAAQA,GAAAA,CAAE,KAAKoC,CAAc,CAC/B,CAAC,CAAA,CAOYE,EAAAA,CAA4BtC,IAAE,MAAA,CAAO,CAChD,YAAaA,GAAAA,CAAE,MAAA,GACf,MAAA,CAAQA,GAAAA,CAAE,KAAKoC,CAAc,CAAA,CAC7B,UAAWpC,GAAAA,CAAE,GAAA,CAAI,QAAA,EACnB,CAAC","file":"chunk-HRVNQI2I.js","sourcesContent":["export const IdentityProvider = {\n GOOGLE: 'GOOGLE',\n APPLE: 'APPLE',\n FACEBOOK: 'FACEBOOK',\n TWITTER: 'TWITTER',\n} as const;\nexport type IdentityProvider = (typeof IdentityProvider)[keyof typeof IdentityProvider];\nexport const LinkRequiredReasonEnum = {\n EMAIL_MATCH: 'email_match',\n EMAIL_MISS: 'email_missing',\n} as const;\nexport type LinkRequiredReasonEnum =\n (typeof LinkRequiredReasonEnum)[keyof typeof LinkRequiredReasonEnum];\nexport const OauthResolveKind = {\n SIGNED_IN: 'signed_in',\n SIGNED_UP: 'signed_up',\n LINK_REQUIRED: 'link_required',\n} as const;\nexport type OauthResolveKind = (typeof OauthResolveKind)[keyof typeof OauthResolveKind];\n","import { z } from 'zod';\nimport { UserRole } from '../user';\nimport { IdentityProvider, LinkRequiredReasonEnum } from './auth.enums';\n\nconst PASSWORD_REGEX = new RegExp(\n '^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[ !\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~]).{8,}$',\n);\n\nconst PASSWORD_MESSAGE =\n 'Password must be at least 8 characters and include an uppercase letter, a lowercase letter, a number, and a special character.';\n\nexport const PasswordSchema = z\n .string()\n .min(8, PASSWORD_MESSAGE)\n .regex(PASSWORD_REGEX, PASSWORD_MESSAGE);\n\n/**\n * Zod schema for registration request.\n */\nexport const RegisterRequestSchema = z.object({\n email: z.email().toLowerCase(),\n password: PasswordSchema,\n firstName: z.string(),\n lastName: z.string(),\n role: z.enum(UserRole).optional(),\n});\n\n/**\n * Zod schema for registration response.\n */\nexport const RegisterResponseSchema = z.object({\n username: z.string(),\n reference: z.string(),\n role: z.enum(UserRole).optional(),\n});\n\n/**\n * Zod schema for login request.\n */\nexport const LoginRequestSchema = z.object({\n email: z.email().toLowerCase(),\n password: PasswordSchema,\n role: z.enum(UserRole).optional(),\n});\n\nexport const VerifyOtpRequestSchema = z.object({\n otp: z.string().length(4),\n reference: z.string(),\n type: z.enum(['registration', 'passwordReset']),\n});\n\nexport const ResendOtpRequestSchema = z.object({\n reference: z.string(),\n type: z.enum(['registration', 'passwordReset']),\n});\n\nexport const VerifyOtpResponseSchema = z.object({\n isValid: z.boolean(),\n message: z.string(),\n reference: z.string().optional(),\n});\n\n/**\n * Zod schema for login response.\n */\nexport const LoginResponseSchema = z.object({\n AccessToken: z.string(),\n RefreshToken: z.string(),\n IdToken: z.string(),\n ExpiresIn: z.number(),\n TokenType: z.literal('Bearer'),\n /** The user's roles bitmask decomposed into an array of UserRole values. */\n availableRoles: z.array(z.enum(UserRole)),\n /** The role the user was last active as, or null on first login / never-switched. */\n lastActiveRole: z.enum(UserRole).nullable(),\n});\n\n/**\n * Zod schema for switch profile request.\n */\nexport const SwitchProfileRequestSchema = z.object({\n role: z.enum(UserRole),\n});\n\n/**\n * Zod schema for switch profile response.\n */\nexport const SwitchProfileResponseSchema = z.object({\n lastActiveRole: z.enum(UserRole),\n});\n\n/**\n * Zod schema for refresh token request.\n */\nexport const RefreshTokenRequestSchema = z.object({\n refreshToken: z.string(),\n});\n\nexport const LogoutRequestSchema = z.object({\n refreshToken: z.string(),\n accessToken: z.string(),\n});\n\n/**\n * Zod schema for forgot password request.\n */\nexport const ForgotPasswordRequestSchema = z.object({\n email: z.email().toLowerCase(),\n});\n\nexport const ForgotPasswordResponseSchema = z.object({\n destination: z.string(),\n deliveryMedium: z.string(),\n attributeName: z.string(),\n});\n\n/**\n * Zod schema for reset password request.\n */\nexport const ResetPasswordRequestSchema = z.object({\n token: z.string(),\n newPassword: PasswordSchema,\n});\n\n/**\n * Zod schema for change password request.\n */\nexport const ChangePasswordRequestSchema = z.object({\n currentPassword: PasswordSchema,\n newPassword: PasswordSchema,\n});\n\nexport const OauthStartQuerySchema = z.object({\n redirectTo: z.string().min(1).max(2048).optional(),\n});\n\nexport const OauthStartResponseSchema = z.object({\n authorizeUrl: z.url(),\n});\n\nexport const OauthExchangeRequestSchema = z.object({\n handoff: z.string().min(16).max(128),\n});\n\nexport const OauthDirectTokenRequestSchema = z.object({\n idToken: z.string().min(1).max(8192),\n nonce: z.string().min(8).max(256),\n authorizationCode: z.string().min(1).max(1024).optional(),\n user: z\n .object({\n name: z\n .object({\n firstName: z.string().max(128).nullable().optional(),\n lastName: z.string().max(128).nullable().optional(),\n })\n .optional(),\n })\n .optional(),\n});\n\nexport const OauthLinkCompleteRequestSchema = z\n .object({\n linkHandoff: z.string().min(16).max(128),\n password: PasswordSchema.optional(),\n otpReference: z.string().min(1).max(128).optional(),\n otp: z.string().length(4).optional(),\n })\n .refine(\n (v) => (v.password ? true : v.otpReference && v.otp),\n 'either `password` OR (`otpReference` AND `otp`) must be provided',\n );\n\nexport const OauthLinkSendOtpRequestSchema = z.object({\n linkHandoff: z.string().min(16).max(128),\n});\n\nexport const LinkRequiredResponseSchema = z.object({\n kind: z.literal('link_required'),\n reason: z.enum(LinkRequiredReasonEnum),\n linkHandoff: z.string(),\n maskedEmail: z.string(),\n hasPassword: z.boolean(),\n provider: z.enum(IdentityProvider),\n});\n\nexport const OauthLinkSendOtpResponseSchema = z.object({\n otpReference: z.string(),\n});\n\nexport const ProvidersListItemSchema = z.object({\n name: z.enum(IdentityProvider),\n enabled: z.boolean(),\n canSignUp: z.boolean(),\n});\n\nexport const ProvidersListResponseSchema = z.object({\n providers: z.array(ProvidersListItemSchema),\n});\n\nexport const OauthLinkCompleteEmailRequestSchema = z.object({\n linkHandoff: z.string().min(16).max(128),\n email: z.email().max(320),\n});\n","export const MFA_ACTIONS = {\n WITHDRAW: 'WITHDRAW',\n CANCEL_EVENT: 'CANCEL_EVENT',\n END_LIVE: 'END_LIVE',\n DISABLE_MFA: 'DISABLE_MFA',\n UPDATE_SETTLEMENT_ACCOUNT: 'UPDATE_SETTLEMENT_ACCOUNT',\n} as const;\n\nexport type MfaAction = (typeof MFA_ACTIONS)[keyof typeof MFA_ACTIONS];\n","import z from 'zod';\nimport { MFA_ACTIONS } from './mfa.enums';\n\nexport const TotpCodeSchema = z\n .string()\n .trim()\n .regex(/^\\d{6}$/, 'totpCode must be 6 digits');\n\nexport const RecoveryCodeSchema = z\n .string()\n .trim()\n .regex(/^[A-Za-z0-9-]{10,12}$/, 'recoveryCode is malformed');\n\nexport const EnableMfaBodySchema = z.object({\n totpCode: TotpCodeSchema,\n});\n\nexport const DisableMfaBodySchema = z\n .object({\n totpCode: TotpCodeSchema.optional(),\n recoveryCode: RecoveryCodeSchema.optional(),\n })\n .refine(\n (v) => !!v.totpCode !== !!v.recoveryCode,\n 'Provide exactly one of totpCode or recoveryCode',\n );\n\nexport const MfaChallengeBodySchema = z.object({\n action: z.enum(MFA_ACTIONS),\n});\n\nexport const MfaVerifyBodySchema = z\n .object({\n challengeToken: z.string().min(16, 'challengeToken is required'),\n totpCode: TotpCodeSchema.optional(),\n recoveryCode: RecoveryCodeSchema.optional(),\n })\n .refine(\n (v) => !!v.totpCode !== !!v.recoveryCode,\n 'Provide exactly one of totpCode or recoveryCode',\n );\n","/**\n * Actions that require step-up reauth (a fresh PIN confirmation) before\n * they can be executed. Each protected endpoint on the backend declares\n * its action via `@ReauthRequired(...)`; the FE mints an action-scoped\n * token through `POST /auth/confirm-pin` and passes it in the\n * `X-Reauth-Token` header.\n *\n * Tokens are single-use, TTL-bounded (5 min), and scoped — a token\n * issued for `WITHDRAW` will 401 if replayed against `END_LIVE`.\n */\nexport const REAUTH_ACTIONS = {\n END_LIVE: 'END_LIVE',\n CANCEL_EVENT: 'CANCEL_EVENT',\n WITHDRAW: 'WITHDRAW',\n FUND_ESCROW: 'FUND_ESCROW',\n} as const;\n\nexport type ReauthAction = (typeof REAUTH_ACTIONS)[keyof typeof REAUTH_ACTIONS];\n","import { z } from 'zod';\nimport { REAUTH_ACTIONS } from './reauth.enums';\n\n/**\n * `POST /auth/confirm-pin` body. Regex matches the digit-string PIN\n * format enforced when the PIN was first set (`POST /users/pin`).\n */\nexport const ConfirmPinSchema = z.object({\n pin: z\n .string()\n .trim()\n .regex(/^\\d{4,8}$/, 'pin must be 4-8 digits'),\n action: z.enum(REAUTH_ACTIONS),\n});\n\n/**\n * `POST /auth/confirm-pin` response. The `reauthToken` is presented via\n * `X-Reauth-Token` on the subsequent destructive request; single-use,\n * scoped to `action`.\n */\nexport const ReauthTokenResponseSchema = z.object({\n reauthToken: z.string(),\n action: z.enum(REAUTH_ACTIONS),\n expiresAt: z.iso.datetime(),\n});\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {c as c$1}from'./chunk-IIVGG46P.mjs';import {g as g$1}from'./chunk-L4QDS3ET.mjs';import {z as z$1}from'zod';var o={NGN:"NGN"},g={SOUND:"sound",LIGHTING:"lighting",VIDEO:"video",STAGING:"staging",AV:"av",LOGISTICS:"logistics"},n={AUDIO:"audio",VIDEO:"video",LIGHTING:"lighting",STAGING:"staging",POWER:"power",OTHER:"other"};var P={HOST:1,PRODUCER:2,VIEWER:4},C={ACTIVE:"ACTIVE",SUSPENDED:"SUSPENDED",BANNED:"BANNED",DELETED:"DELETED"},A={PENDING:"PENDING",SUBMITTED:"SUBMITTED",VERIFIED:"VERIFIED",REJECTED:"REJECTED"},N={TRUST:"TRUST",FINANCIAL:"FINANCIAL",LIVE_OPS:"LIVE_OPS",AUDIT:"AUDIT"},R={BUG:"BUG",IDEA:"IDEA",GENERAL:"GENERAL"},T={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"},c={PENDING:"PENDING",APPROVED:"APPROVED",REJECTED:"REJECTED",SUBMITTED:"SUBMITTED",SUSPENDED:"SUSPENDED"},l={BEGINNER:"BEGINNER",INTERMEDIATE:"INTERMEDIATE",EXPERT:"EXPERT"},a={SOLO:"SOLO",SMALL:"SMALL",MEDIUM:"MEDIUM",LARGE:"LARGE"};var k=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$1.shape}),s=z$1.object({id:z$1.uuid(),name:z$1.string(),category:z$1.enum(n),notes:z$1.string().nullable()}),r=z$1.object({id:z$1.uuid(),code:z$1.string(),label:z$1.string()}),O=z$1.object({items:z$1.array(r)}),p=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()}),m=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()}),V=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(),teamSize:z$1.enum(a).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(s),serviceCategories:z$1.array(r),portfolio:z$1.array(p),equipmentItems:z$1.array(r),rateCard:z$1.array(m),createdAt:z$1.iso.datetime(),updatedAt:z$1.iso.datetime(),recentReviews:z$1.array(c$1).optional()});var S=z$1.object({name:z$1.string().min(1).max(255),category:z$1.enum(n),notes:z$1.string().max(2e3).optional()}),f=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()}),z=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(l),yearsExperience:z$1.number().int().nullable(),teamSize:z$1.enum(a).nullable(),maxDistanceKm:z$1.number().int().nullable(),availabilityCalendar:z$1.record(z$1.string(),z$1.unknown()).nullable(),verificationStatus:z$1.enum(c),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(s),serviceCategories:z$1.array(r),portfolio:z$1.array(p),rateCard:z$1.array(m),createdAt:z$1.iso.datetime(),updatedAt:z$1.iso.datetime(),equipmentItems:z$1.array(r)}),F=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(l).optional(),yearsExperience:z$1.number().int().min(0).optional(),teamSize:z$1.enum(a).nullable().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(S).optional(),portfolio:z$1.array(f).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(d=>Object.keys(d).length>0,{message:"At least one field is required"}),w=z$1.object({verificationStatus:z$1.literal(c.SUBMITTED)}),K=z$1.object({view:z$1.literal("workspace").optional()});var I=z$1.string().trim().min(5,"Reason must be at least 5 characters"),H=z$1.object({notes:z$1.string().max(2e3).optional()}),y=z$1.object({reason:I,notes:z$1.string().max(2e3).optional()}),Q=y,X=y;export{H as A,y as B,Q as C,X as D,P as a,C as b,A as c,N as d,R as e,T as f,c as g,l as h,a as i,o as j,g as k,n as l,k as m,s as n,r as o,O as p,p as q,m as r,V as s,S as t,f as u,b as v,z as w,F as x,w as y,K as z};//# sourceMappingURL=chunk-HTK4LWKI.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-HTK4LWKI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/marketplace/marketplace.enums.ts","../src/user/user.enums.ts","../src/marketplace/marketplace.schemas.ts","../src/marketplace/workspace.schemas.ts","../src/marketplace/verification.schemas.ts"],"names":["MarketplaceCurrency","ServiceCategoryCode","EquipmentCategory","UserRole","AccountStatus","KycStatus","AdminScopeCode","FeedbackCategory","NotificationCategory","ProducerVerificationStatus","ProducerExperienceLevel","ProducerTeamSize","ListProducersQuerySchema","z","PaginationParamsSchema","PublicProducerListEquipmentItemSchema","PublicProducerListCategorySchema","ServiceCategoryListResponseSchema","PublicProducerListPortfolioItemSchema","PublicProducerListRateCardItemSchema","PublicProducerListItemSchema","ProducerRecentReviewSchema","WorkspaceEquipmentItemInputSchema","WorkspacePortfolioItemInputSchema","WorkspaceRateCardItemInputSchema","ProducerProfileWorkspaceSchema","UpsertProducerWorkspaceProfileSchema","data","SubmitProducerForVerificationSchema","GetProducerProfileQuerySchema","verificationReasonSchema","AdminApproveProducerVerificationSchema","AdminProducerVerificationReasonBodySchema","AdminRejectProducerVerificationSchema","AdminSuspendProducerVerificationSchema"],"mappings":"mHACO,IAAMA,CAAAA,CAAsB,CACjC,GAAA,CAAK,KACP,CAAA,CAOaC,CAAAA,CAAsB,CACjC,KAAA,CAAO,OAAA,CACP,QAAA,CAAU,UAAA,CACV,KAAA,CAAO,OAAA,CACP,QAAS,SAAA,CACT,EAAA,CAAI,IAAA,CACJ,SAAA,CAAW,WACb,CAAA,CAIaC,CAAAA,CAAoB,CAC/B,KAAA,CAAO,OAAA,CACP,KAAA,CAAO,OAAA,CACP,QAAA,CAAU,UAAA,CACV,QAAS,SAAA,CACT,KAAA,CAAO,OAAA,CACP,KAAA,CAAO,OACT,EC5BO,IAAMC,CAAAA,CAAW,CACtB,IAAA,CAAM,EACN,QAAA,CAAU,CAAA,CACV,MAAA,CAAQ,CACV,CAAA,CAGaC,CAAAA,CAAgB,CAC3B,MAAA,CAAQ,QAAA,CACR,SAAA,CAAW,WAAA,CACX,MAAA,CAAQ,QAAA,CACR,OAAA,CAAS,SACX,CAAA,CAGaC,CAAAA,CAAY,CACvB,OAAA,CAAS,SAAA,CACT,SAAA,CAAW,WAAA,CACX,QAAA,CAAU,UAAA,CACV,QAAA,CAAU,UACZ,CAAA,CAMaC,CAAAA,CAAiB,CAC5B,MAAO,OAAA,CACP,SAAA,CAAW,WAAA,CACX,QAAA,CAAU,UAAA,CACV,KAAA,CAAO,OACT,CAAA,CAGaC,CAAAA,CAAmB,CAC9B,GAAA,CAAK,KAAA,CACL,IAAA,CAAM,MAAA,CACN,QAAS,SACX,CAAA,CAGaC,CAAAA,CAAuB,CAClC,eAAA,CAAiB,iBAAA,CACjB,WAAA,CAAa,aAAA,CACb,eAAA,CAAiB,iBAAA,CACjB,eAAA,CAAiB,iBAAA,CACjB,iBAAA,CAAmB,mBAAA,CACnB,QAAA,CAAU,UAAA,CACV,gBAAA,CAAkB,kBAAA,CAClB,YAAA,CAAc,cAChB,CAAA,CAGaC,CAAAA,CAA6B,CACxC,OAAA,CAAS,SAAA,CACT,QAAA,CAAU,UAAA,CACV,QAAA,CAAU,UAAA,CACV,SAAA,CAAW,YACX,SAAA,CAAW,WACb,CAAA,CAIaC,CAAAA,CAA0B,CACrC,QAAA,CAAU,UAAA,CACV,YAAA,CAAc,cAAA,CACd,MAAA,CAAQ,QACV,CAAA,CAIaC,CAAAA,CAAmB,CAC9B,KAAM,MAAA,CACN,KAAA,CAAO,OAAA,CACP,MAAA,CAAQ,QAAA,CACR,KAAA,CAAO,OACT,ECtEO,IAAMC,CAAAA,CAA2BC,GAAAA,CAAE,MAAA,CAAO,CAC/C,QAAA,CAAUA,IAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAC9B,OAAA,CAASA,GAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,UAAS,CACjD,OAAA,CAASA,GAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CACjD,gBAAA,CAAkBA,IAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAEtC,MAAA,CAAQA,GAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,EAAS,CACnD,GAAGC,GAAAA,CAAuB,KAC5B,CAAC,CAAA,CAEYC,CAAAA,CAAwCF,GAAAA,CAAE,MAAA,CAAO,CAC5D,EAAA,CAAIA,GAAAA,CAAE,MAAK,CACX,IAAA,CAAMA,GAAAA,CAAE,MAAA,EAAO,CACf,QAAA,CAAUA,GAAAA,CAAE,IAAA,CAAKX,CAAiB,CAAA,CAClC,KAAA,CAAOW,GAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EACpB,CAAC,CAAA,CAEYG,CAAAA,CAAmCH,GAAAA,CAAE,MAAA,CAAO,CACvD,EAAA,CAAIA,GAAAA,CAAE,IAAA,EAAK,CACX,IAAA,CAAMA,GAAAA,CAAE,MAAA,EAAO,CACf,MAAOA,GAAAA,CAAE,MAAA,EACX,CAAC,CAAA,CAEYI,CAAAA,CAAoCJ,GAAAA,CAAE,MAAA,CAAO,CACxD,KAAA,CAAOA,GAAAA,CAAE,KAAA,CAAMG,CAAgC,CACjD,CAAC,CAAA,CAEYE,CAAAA,CAAwCL,GAAAA,CAAE,MAAA,CAAO,CAC5D,EAAA,CAAIA,GAAAA,CAAE,IAAA,EAAK,CACX,KAAA,CAAOA,GAAAA,CAAE,MAAA,EAAO,CAChB,WAAA,CAAaA,IAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACjC,QAAA,CAAUA,GAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAC3B,WAAA,CAAaA,GAAAA,CAAE,GAAA,EAAI,CAAE,UAAS,CAC9B,SAAA,CAAWA,GAAAA,CAAE,GAAA,CAAI,QAAA,EACnB,CAAC,CAAA,CAEYM,CAAAA,CAAuCN,GAAAA,CAAE,MAAA,CAAO,CAC3D,EAAA,CAAIA,GAAAA,CAAE,MAAK,CACX,KAAA,CAAOA,GAAAA,CAAE,MAAA,EAAO,CAChB,MAAA,CAAQA,GAAAA,CAAE,MAAA,EAAO,CACjB,QAAA,CAAUA,GAAAA,CAAE,IAAA,CAAKb,CAAmB,CAAA,CACpC,MAAOa,GAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EACpB,CAAC,CAAA,CAGYO,CAAAA,CAA+BP,GAAAA,CAAE,MAAA,CAAO,CACnD,EAAA,CAAIA,GAAAA,CAAE,IAAA,GACN,MAAA,CAAQA,GAAAA,CAAE,IAAA,EAAK,CACf,WAAA,CAAaA,GAAAA,CAAE,MAAA,EAAO,CACtB,SAAA,CAAWA,GAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAC5B,kBAAA,CAAoBA,GAAAA,CAAE,OAAA,EAAQ,CAC9B,WAAA,CAAaA,GAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACjC,GAAA,CAAKA,GAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACzB,gBAAiBA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAC3C,QAAA,CAAUA,GAAAA,CAAE,IAAA,CAAKF,CAAgB,CAAA,CAAE,QAAA,EAAS,CAC5C,cAAeE,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CACzC,WAAA,CAAaA,GAAAA,CAAE,OAAA,EAAQ,CACvB,aAAA,CAAeA,GAAAA,CAAE,MAAA,GACjB,YAAA,CAAcA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAC7B,cAAA,CAAgBA,GAAAA,CAAE,MAAA,EAAO,CACzB,iBAAA,CAAmBA,GAAAA,CAAE,KAAA,CAAME,CAAqC,EAChE,iBAAA,CAAmBF,GAAAA,CAAE,KAAA,CAAMG,CAAgC,CAAA,CAC3D,SAAA,CAAWH,GAAAA,CAAE,KAAA,CAAMK,CAAqC,CAAA,CACxD,cAAA,CAAgBL,GAAAA,CAAE,KAAA,CAAMG,CAAgC,EACxD,QAAA,CAAUH,GAAAA,CAAE,KAAA,CAAMM,CAAoC,CAAA,CACtD,SAAA,CAAWN,GAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAC1B,SAAA,CAAWA,GAAAA,CAAE,GAAA,CAAI,QAAA,GACjB,aAAA,CAAeA,GAAAA,CAAE,KAAA,CAAMQ,GAA0B,CAAA,CAAE,QAAA,EACrD,CAAC,EC3DM,IAAMC,EAAoCT,GAAAA,CAAE,MAAA,CAAO,CACxD,IAAA,CAAMA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAC/B,QAAA,CAAUA,GAAAA,CAAE,IAAA,CAAKX,CAAiB,CAAA,CAClC,KAAA,CAAOW,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAC9B,CAAC,CAAA,CAEYU,CAAAA,CAAoCV,IAAE,MAAA,CAAO,CACxD,KAAA,CAAOA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAChC,WAAA,CAAaA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAAS,CAC3C,QAAA,CAAUA,GAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAC3B,WAAA,CAAaA,GAAAA,CAAE,KAAI,CAAE,QAAA,EACvB,CAAC,CAAA,CAEYW,CAAAA,CAAmCX,GAAAA,CAAE,MAAA,CAAO,CACvD,KAAA,CAAOA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAChC,MAAA,CAAQA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CACxB,QAAA,CAAUA,GAAAA,CAAE,IAAA,CAAKb,CAAmB,CAAA,CAAE,OAAA,CAAQA,CAAAA,CAAoB,GAAG,CAAA,CACrE,KAAA,CAAOa,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAC9B,CAAC,CAAA,CAMYY,CAAAA,CAAiCZ,GAAAA,CAAE,MAAA,CAAO,CACrD,EAAA,CAAIA,GAAAA,CAAE,IAAA,EAAK,CACX,MAAA,CAAQA,GAAAA,CAAE,IAAA,EAAK,CACf,WAAA,CAAaA,IAAE,MAAA,EAAO,CACtB,GAAA,CAAKA,GAAAA,CAAE,MAAA,EAAO,CACd,OAAA,CAASA,GAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAC1B,eAAA,CAAiBA,GAAAA,CAAE,IAAA,CAAKH,CAAuB,CAAA,CAC/C,eAAA,CAAiBG,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAC3C,QAAA,CAAUA,GAAAA,CAAE,IAAA,CAAKF,CAAgB,CAAA,CAAE,UAAS,CAC5C,aAAA,CAAeE,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CACzC,oBAAA,CAAsBA,GAAAA,CAAE,MAAA,CAAOA,GAAAA,CAAE,MAAA,GAAUA,GAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CACjE,kBAAA,CAAoBA,GAAAA,CAAE,IAAA,CAAKJ,CAA0B,CAAA,CACrD,kBAAA,CAAoBI,GAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACxC,UAAA,CAAYA,GAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAAE,QAAA,EAAS,CACtC,oBAAA,CAAsBA,GAAAA,CAAE,OAAA,EAAQ,CAChC,WAAA,CAAaA,IAAE,OAAA,EAAQ,CACvB,eAAA,CAAiBA,GAAAA,CAAE,IAAA,CAAKb,CAAmB,CAAA,CAC3C,aAAA,CAAea,GAAAA,CAAE,MAAA,EAAO,CACxB,YAAA,CAAcA,GAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAC7B,cAAA,CAAgBA,GAAAA,CAAE,MAAA,EAAO,CACzB,MAAA,CAAQA,GAAAA,CAAE,OAAA,EAAQ,CAClB,iBAAA,CAAmBA,GAAAA,CAAE,KAAA,CAAME,CAAqC,EAChE,iBAAA,CAAmBF,GAAAA,CAAE,KAAA,CAAMG,CAAgC,CAAA,CAC3D,SAAA,CAAWH,GAAAA,CAAE,KAAA,CAAMK,CAAqC,CAAA,CACxD,QAAA,CAAUL,GAAAA,CAAE,KAAA,CAAMM,CAAoC,EACtD,SAAA,CAAWN,GAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAC1B,SAAA,CAAWA,GAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAC1B,cAAA,CAAgBA,GAAAA,CAAE,KAAA,CAAMG,CAAgC,CAC1D,CAAC,CAAA,CAGYU,CAAAA,CAAuCb,GAAAA,CACjD,MAAA,CAAO,CACN,WAAA,CAAaA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS,CACjD,GAAA,CAAKA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAAS,CAC1C,QAASA,GAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,QAAA,EAAS,CACrC,eAAA,CAAiBA,GAAAA,CAAE,IAAA,CAAKH,CAAuB,CAAA,CAAE,QAAA,EAAS,CAC1D,gBAAiBG,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAClD,QAAA,CAAUA,GAAAA,CAAE,IAAA,CAAKF,CAAgB,EAAE,QAAA,EAAS,CAAE,QAAA,EAAS,CACvD,YAAA,CAAcE,GAAAA,CAAE,KAAA,CAAMA,GAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAC3C,aAAA,CAAeA,IAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,EAAS,CAC3D,oBAAA,CAAsBA,GAAAA,CAAE,MAAA,CAAOA,IAAE,MAAA,EAAO,CAAGA,GAAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,EAAS,CAC5E,WAAA,CAAaA,GAAAA,CAAE,OAAA,EAAQ,CAAE,UAAS,CAClC,oBAAA,CAAsBA,GAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS,CAC3C,iBAAA,CAAmBA,GAAAA,CAAE,KAAA,CAAMS,CAAiC,CAAA,CAAE,QAAA,EAAS,CACvE,SAAA,CAAWT,GAAAA,CAAE,KAAA,CAAMU,CAAiC,CAAA,CAAE,QAAA,EAAS,CAC/D,QAAA,CAAUV,GAAAA,CAAE,KAAA,CAAMW,CAAgC,CAAA,CAAE,QAAA,EAAS,CAC7D,gBAAA,CAAkBX,GAAAA,CAAE,MAAMA,GAAAA,CAAE,IAAA,EAAM,CAAA,CAAE,QAAA,EAAS,CAC7C,kBAAA,CAAoBA,GAAAA,CAAE,KAAA,CAAMA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,EAAE,GAAA,CAAI,EAAE,CAAC,CAAA,CAAE,QAAA,EAAS,CAChE,aAAA,CAAeA,GAAAA,CAAE,KAAA,CAAMA,GAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EACrC,CAAC,CAAA,CACA,MAAA,CAAQc,CAAAA,EAAS,MAAA,CAAO,IAAA,CAAKA,CAAI,CAAA,CAAE,MAAA,CAAS,CAAA,CAAG,CAC9C,OAAA,CAAS,gCACX,CAAC,CAAA,CAGUC,CAAAA,CAAsCf,GAAAA,CAAE,MAAA,CAAO,CAC1D,kBAAA,CAAoBA,GAAAA,CAAE,OAAA,CAAQJ,CAAAA,CAA2B,SAAS,CACpE,CAAC,CAAA,CAGYoB,CAAAA,CAAgChB,GAAAA,CAAE,MAAA,CAAO,CACpD,IAAA,CAAMA,GAAAA,CAAE,OAAA,CAAQ,WAAW,CAAA,CAAE,QAAA,EAC/B,CAAC,ECpGD,IAAMiB,EAA2BjB,GAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,CAAA,CAAG,sCAAsC,CAAA,CAGnFkB,CAAAA,CAAyClB,GAAAA,CAAE,MAAA,CAAO,CAC7D,KAAA,CAAOA,IAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAC9B,CAAC,CAAA,CAMYmB,CAAAA,CAA4CnB,GAAAA,CAAE,MAAA,CAAO,CAChE,MAAA,CAAQiB,CAAAA,CACR,KAAA,CAAOjB,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAC9B,CAAC,CAAA,CAGYoB,CAAAA,CAAwCD,CAAAA,CAGxCE,CAAAA,CAAyCF","file":"chunk-HTK4LWKI.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","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\nexport const ProducerTeamSize = {\n SOLO: 'SOLO',\n SMALL: 'SMALL',\n MEDIUM: 'MEDIUM',\n LARGE: 'LARGE',\n} as const;\nexport type ProducerTeamSize = (typeof ProducerTeamSize)[keyof typeof ProducerTeamSize];\n","import { z } from 'zod';\nimport { EquipmentCategory, MarketplaceCurrency } from './marketplace.enums';\nimport { PaginationParamsSchema } from '../common';\nimport { ProducerRecentReviewSchema } from '../booking/review.schemas';\nimport { ProducerTeamSize } from '../user/user.enums';\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 teamSize: z.enum(ProducerTeamSize).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","import { z } from 'zod';\nimport {\n ProducerExperienceLevel,\n ProducerTeamSize,\n ProducerVerificationStatus,\n} 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 teamSize: z.enum(ProducerTeamSize).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 teamSize: z.enum(ProducerTeamSize).nullable().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"]}
|