@livdot-tech/contracts 1.11.14 → 1.11.16
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.js +1 -1
- package/dist/booking/index.mjs +1 -1
- package/dist/chat/index.d.mts +10 -1
- package/dist/chat/index.d.ts +10 -1
- package/dist/chat/index.js +1 -1
- package/dist/chat/index.mjs +1 -1
- package/dist/{chunk-PN2BNA6L.mjs → chunk-3GRU2QY2.mjs} +2 -2
- package/dist/{chunk-PN2BNA6L.mjs.map → chunk-3GRU2QY2.mjs.map} +1 -1
- package/dist/{chunk-TPEL6PL7.js → chunk-62J2YERL.js} +2 -2
- package/dist/{chunk-TPEL6PL7.js.map → chunk-62J2YERL.js.map} +1 -1
- package/dist/{chunk-DWFDZJGV.js → chunk-6SDVUWDK.js} +2 -2
- package/dist/{chunk-DWFDZJGV.js.map → chunk-6SDVUWDK.js.map} +1 -1
- package/dist/{chunk-6DWMO2IJ.mjs → chunk-AFHPPDY5.mjs} +2 -2
- package/dist/chunk-AFHPPDY5.mjs.map +1 -0
- package/dist/{chunk-HO7POUXZ.js → chunk-AHKBIVL2.js} +2 -2
- package/dist/{chunk-HO7POUXZ.js.map → chunk-AHKBIVL2.js.map} +1 -1
- package/dist/{chunk-EC7CB75Z.mjs → chunk-CEFLZP7Z.mjs} +2 -2
- package/dist/{chunk-EC7CB75Z.mjs.map → chunk-CEFLZP7Z.mjs.map} +1 -1
- package/dist/{chunk-JPTEPX6P.js → chunk-EYYN73UK.js} +2 -2
- package/dist/{chunk-JPTEPX6P.js.map → chunk-EYYN73UK.js.map} +1 -1
- package/dist/{chunk-URMWKVBY.mjs → chunk-GES7ZVB4.mjs} +2 -2
- package/dist/{chunk-URMWKVBY.mjs.map → chunk-GES7ZVB4.mjs.map} +1 -1
- package/dist/{chunk-PVVPURYV.mjs → chunk-HUUFOX77.mjs} +2 -2
- package/dist/{chunk-PVVPURYV.mjs.map → chunk-HUUFOX77.mjs.map} +1 -1
- package/dist/chunk-J3JVMRBC.js +2 -0
- package/dist/chunk-J3JVMRBC.js.map +1 -0
- package/dist/{chunk-MYRGUNQ4.js → chunk-JDURRFYB.js} +2 -2
- package/dist/{chunk-MYRGUNQ4.js.map → chunk-JDURRFYB.js.map} +1 -1
- package/dist/{chunk-EMTO3FNQ.mjs → chunk-M3F2FI4M.mjs} +2 -2
- package/dist/{chunk-EMTO3FNQ.mjs.map → chunk-M3F2FI4M.mjs.map} +1 -1
- package/dist/chunk-MADZSJ55.mjs +2 -0
- package/dist/chunk-MADZSJ55.mjs.map +1 -0
- package/dist/{chunk-ORDM2W6R.js → chunk-NZONR6QG.js} +2 -2
- package/dist/chunk-NZONR6QG.js.map +1 -0
- package/dist/chunk-RUNVE7DS.js +2 -0
- package/dist/chunk-RUNVE7DS.js.map +1 -0
- package/dist/{chunk-B7O2NN3X.mjs → chunk-TH35UAKL.mjs} +2 -2
- package/dist/{chunk-B7O2NN3X.mjs.map → chunk-TH35UAKL.mjs.map} +1 -1
- package/dist/{chunk-PAUYI2FU.mjs → chunk-TIVS5L4Q.mjs} +2 -2
- package/dist/chunk-TIVS5L4Q.mjs.map +1 -0
- package/dist/{chunk-X4MIPWKH.js → chunk-U5WMJEXE.js} +2 -2
- package/dist/{chunk-X4MIPWKH.js.map → chunk-U5WMJEXE.js.map} +1 -1
- package/dist/chunk-US4H7HB4.mjs +2 -0
- package/dist/chunk-US4H7HB4.mjs.map +1 -0
- package/dist/{chunk-URFS7U34.mjs → chunk-VK3CYFOR.mjs} +2 -2
- package/dist/{chunk-URFS7U34.mjs.map → chunk-VK3CYFOR.mjs.map} +1 -1
- package/dist/{chunk-X4NLB6G5.js → chunk-Y7LGLL7F.js} +2 -2
- package/dist/chunk-Y7LGLL7F.js.map +1 -0
- package/dist/{chunk-XGBDJE5X.js → chunk-YSZFQCNZ.js} +2 -2
- package/dist/{chunk-XGBDJE5X.js.map → chunk-YSZFQCNZ.js.map} +1 -1
- package/dist/common/index.d.mts +8 -0
- package/dist/common/index.d.ts +8 -0
- package/dist/common/index.js +1 -1
- package/dist/common/index.mjs +1 -1
- package/dist/dispute/index.js +1 -1
- package/dist/dispute/index.mjs +1 -1
- package/dist/event/index.d.mts +110 -1
- package/dist/event/index.d.ts +110 -1
- package/dist/event/index.js +1 -1
- package/dist/event/index.mjs +1 -1
- package/dist/host/index.d.mts +3 -1
- package/dist/host/index.d.ts +3 -1
- package/dist/host/index.js +1 -1
- package/dist/host/index.mjs +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- 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/payment/index.js +1 -1
- package/dist/payment/index.mjs +1 -1
- package/dist/user/index.js +1 -1
- package/dist/user/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-6DWMO2IJ.mjs.map +0 -1
- package/dist/chunk-7BWECLAF.js +0 -2
- package/dist/chunk-7BWECLAF.js.map +0 -1
- package/dist/chunk-JGK6ENB3.mjs +0 -2
- package/dist/chunk-JGK6ENB3.mjs.map +0 -1
- package/dist/chunk-ORDM2W6R.js.map +0 -1
- package/dist/chunk-PAUYI2FU.mjs.map +0 -1
- package/dist/chunk-Q22UWX74.mjs +0 -2
- package/dist/chunk-Q22UWX74.mjs.map +0 -1
- package/dist/chunk-W5MCRFFN.js +0 -2
- package/dist/chunk-W5MCRFFN.js.map +0 -1
- package/dist/chunk-X4NLB6G5.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {z}from'zod';var t={HOST:"HOST",PRODUCER:"PRODUCER",ADMIN:"ADMIN",SYSTEM:"SYSTEM",VIEWER:"VIEWER",USER:"USER"},I=z.enum([t.HOST,t.PRODUCER,t.ADMIN,t.SYSTEM,t.VIEWER,t.USER]);var n=50,i=20,E=1,r={NGN:"NGN",USD:"USD",GBP:"GBP",EUR:"EUR"},c=z.object({pageNumber:z.coerce.number().int().min(1).default(E),pageSize:z.coerce.number().int().min(1).max(n).default(i)}),S=z.object({amountMinor:z.string().regex(/^-?\d+$/,"amountMinor must be a signed integer string"),currency:z.enum(r)}),s={UP:"UP",DOWN:"DOWN",FLAT:"FLAT"},R=z.enum(s),_=z.object({totalCount:z.number().int().nonnegative(),pageNumber:z.number().int().min(1),pageSize:z.number().int().min(1),totalPages:z.number().int().nonnegative(),hasPreviousPage:z.boolean(),hasNextPage:z.boolean()}),l=o=>z.object({success:z.boolean(),data:o.optional(),error:z.object({type:z.url(),title:z.string(),status:z.number(),detail:z.string(),instance:z.string().optional()}).optional(),meta:_.optional()});var N={AUTH:{REGISTER_SUCCESS:"Account created. Check your email for the verification code.",REGISTER_EMAIL_EXISTS:"An account with that email already exists. Try logging in instead.",OTP_SENT:"We sent you a fresh code. It expires in a few minutes.",OTP_VERIFIED:"Code verified.",OTP_INVALID:"That code is invalid or has expired. Request a new one.",LOGIN_SUCCESS:"Welcome back.",LOGIN_INVALID_CREDENTIALS:"That email and password combination is incorrect.",LOGIN_ROLE_UNAVAILABLE:"You don\u2019t have access to this app yet. Switch role or upgrade your account.",LOGIN_UNVERIFIED:"Please verify your email before continuing. We resent the code.",LOGOUT_SUCCESS:"You\u2019ve been signed out.",REFRESH_SUCCESS:"Session refreshed.",REFRESH_REVOKED:"Your session has expired. Sign in again to continue.",PASSWORD_RESET_SENT:"If an account exists for that email, a reset code is on its way.",PASSWORD_RESET_SUCCESS:"Your password has been updated.",PASSWORD_CHANGE_SUCCESS:"Password changed. Other sessions have been signed out.",ACCOUNT_DELETE_SUCCESS:"Your account has been deleted.",ACCOUNT_DELETE_CONFIRM_MISMATCH:"The confirmation email doesn\u2019t match. Type your email exactly as shown.",CONFIRM_PASSWORD_SUCCESS:"Password confirmed. Continue with your change.",CONFIRM_PASSWORD_INVALID:"That password is incorrect.",OAUTH_PROVIDER_DISABLED:"This sign-in method is temporarily unavailable. Try another option.",OAUTH_LINK_REQUIRED_EMAIL_MATCH:"An account with this email already exists. Verify to link them.",OAUTH_LINK_REQUIRED_EMAIL_MISSING:"We couldn\u2019t get an email from your provider. Enter one to continue.",OAUTH_LINK_SUCCESS:"Accounts linked.",OAUTH_INVALID_HANDOFF:"This sign-in link has expired. Start again from the sign-in screen.",MFA_ENROL_STARTED:"Scan the code with your authenticator app, then enter a code to enable.",MFA_ENABLED:"Two-factor authentication is on.",MFA_DISABLED:"Two-factor authentication is off.",MFA_CODE_INVALID:"That code isn\u2019t right. Try again with a fresh code.",MFA_NOT_ENROLLED:"Set up two-factor authentication before continuing.",MFA_CHALLENGE_ISSUED:"Enter your authenticator code to continue.",MFA_VERIFY_SUCCESS:"Verified. You have 60 seconds to complete this action.",MFA_TOKEN_EXPIRED:"This verification has expired. Start the security check again.",MFA_LOCKED:"Too many failed attempts. Try again after the cooldown.",MFA_RECOVERY_CODES_REGENERATED:"New recovery codes generated. Save them now \u2014 we won\u2019t show them again."},USER:{PROFILE_UPDATE_SUCCESS:"Profile updated.",HANDLE_TAKEN:"That handle is already taken. Try another.",CURRENCY_UPDATED:"Display currency updated.",CURRENCY_UNSUPPORTED:"That currency isn\u2019t supported yet.",NOTIFICATION_PREFS_UPDATED:"Notification preferences saved.",FEEDBACK_RECEIVED:"Thanks for the feedback \u2014 we\u2019ve got it.",PIN_SET:"PIN set.",PIN_ROTATED:"PIN updated.",PIN_CURRENT_INVALID:"Your current PIN is incorrect.",HOST_PROFILE_CREATED:"Host profile created. Set a PIN before your first payout.",HOST_PROFILE_UPDATED:"Host profile updated.",HOST_PROFILE_EXISTS:"You already have a host profile.",HOST_PROFILE_NOT_FOUND:"You haven\u2019t created a host profile yet.",PRODUCER_PROFILE_CREATED:"Producer profile created. Submit for verification to appear in search.",PRODUCER_PROFILE_UPDATED:"Producer profile updated.",PRODUCER_PROFILE_EXISTS:"You already have a producer profile.",PRODUCER_PROFILE_NOT_FOUND:"You haven\u2019t created a producer profile yet.",PRODUCER_VERIFY_SUBMITTED:"Verification submitted. We\u2019ll let you know once review is complete."},EVENT:{WIZARD_DRAFT_CREATED:"Draft saved.",WIZARD_STEP_SAVED:"Progress saved.",WIZARD_PUBLISHED:"Event published \u2014 it\u2019s now live to your audience.",WIZARD_PUBLISH_INCOMPLETE:"A few details are still missing. Finish the highlighted steps to publish.",WIZARD_NOT_DRAFT:"This event can\u2019t be edited from the wizard anymore.",UPDATED:"Event details updated.",DELETED:"Event deleted.",DELETE_NOT_ALLOWED:"Only draft or empty scheduled events can be deleted.",PAUSED:"Event paused.",UNPAUSED:"Event resumed.",CANCELLED:"Event cancelled. Refunds are processing and viewers have been notified.",CANCEL_NOT_ALLOWED:"This event can no longer be cancelled.",STREAM_TEST_READY:"Stream credentials are ready. Copy the key now \u2014 you won\u2019t see it again.",STREAM_TEST_RATE_LIMITED:"You\u2019ve run stream test too many times this hour. Try again later.",STREAM_TEST_WRONG_STATE:"Stream test isn\u2019t available in the current event state.",GO_LIVE_SOON:o=>`Your event goes live in ${o}.`,GO_LIVE_SUCCESS:"You\u2019re live.",GO_LIVE_CHECKLIST_INCOMPLETE:"Finish the pre-live checklist before going live.",GO_LIVE_BEFORE_WINDOW:"Too early \u2014 the go-live window hasn\u2019t opened yet.",GO_LIVE_AFTER_WINDOW:"The go-live window has closed. Contact support.",GO_LIVE_ALREADY_LIVE:"This event is already live.",GO_LIVE_NOT_OWNED:"You\u2019re not the host of this event.",END_LIVE_SUCCESS:"Event ended. Replay will be available shortly.",END_LIVE_NOT_LIVE:"This event isn\u2019t live.",STREAM_CONTROL_UPDATED:"Stream control updated.",REPLAY_PERIOD_EXTENDED:"Replay availability updated.",REPLAY_PERIOD_NOT_ENDED:"You can extend replay availability once the event ends.",NOT_OWNED:"You don\u2019t have access to this event.",NOT_FOUND:"We couldn\u2019t find that event.",AUDIENCE_ROLLUP_PENDING:"Audience insights will appear here once the rollup completes."},PAYOUT:{WITHDRAW_ACCEPTED:"Withdrawal requested. We\u2019ll notify you once it reaches your bank.",WITHDRAW_PIN_INVALID:"Incorrect PIN.",WITHDRAW_PIN_NOT_SET:"Set a PIN in your profile before withdrawing.",WITHDRAW_SETTLEMENT_MISSING:"Add a verified settlement account before withdrawing.",WITHDRAW_INSUFFICIENT_BALANCE:"Your available balance is below the minimum withdrawal amount.",WITHDRAW_IDEMPOTENCY_MISSING:"This request is missing a required key. Please retry.",WITHDRAW_IDEMPOTENCY_CONFLICT:"This request key has already been used. Start a new withdrawal.",WITHDRAW_PROVIDER_UNAVAILABLE:"Payouts are temporarily unavailable. Try again shortly.",SETTLEMENT_UPDATED:"Settlement account saved.",SETTLEMENT_ACCOUNT_UNVERIFIED:"We couldn\u2019t verify that account. Double-check the bank and account number.",SETTLEMENT_NAME_MISMATCH:"The bank account name doesn\u2019t match the name on your profile.",SETTLEMENT_PROVIDER_UNAVAILABLE:"Bank verification is temporarily unavailable. Please try again.",ACCOUNT_RESOLVE_FAILED:"That account number couldn\u2019t be resolved. Check the digits and bank.",VIRTUAL_ACCOUNT_PROVISIONING:"Your deposit account is being set up. This usually takes under a minute.",VIRTUAL_ACCOUNT_READY:"Your deposit account is ready."},MARKETPLACE:{LISTING_DRAFT_SAVED:"Draft saved.",LISTING_PUBLISHED:"Job listing published.",LISTING_PUBLISH_INCOMPLETE:"Fill in the required fields before publishing.",LISTING_UPDATED:"Job listing updated.",LISTING_CANCELLED:"Job listing cancelled.",LISTING_DELETED:"Draft deleted.",LISTING_NOT_DRAFT:"Only draft listings can be deleted.",LISTING_NOT_OPEN:"This job listing is no longer accepting applications.",LISTING_ALREADY_EXISTS:"You already have a listing for this event.",IOI_SUBMITTED:"Your interest has been sent to the host.",IOI_ALREADY_SUBMITTED:"You\u2019ve already applied to this listing. Wait for the host to respond.",IOI_WITHDRAWN:"Application withdrawn.",IOI_WITHDRAW_NOT_ALLOWED:"This application can no longer be withdrawn.",BOOKING_CREATED:"Booking created. The producer has been notified.",BOOKING_STATE_UPDATED:"Booking updated.",BOOKING_TRANSITION_FORBIDDEN:"You\u2019re not allowed to make this change on this booking.",BOOKING_TRANSITION_INVALID:"That change isn\u2019t allowed from the current state.",BOOKING_ESCROW_UNFUNDED:"Escrow must be funded before this booking can be confirmed.",BOOKING_REASON_REQUIRED:"Add a short reason to continue.",BOOKING_ACCEPTED:"Booking accepted.",BOOKING_REJECTED:"Booking rejected.",BOOKING_CANCELLED:"Booking cancelled.",BOOKING_COMPLETION_ACK:"Your completion is recorded. Waiting on the other party to confirm.",BOOKING_COMPLETED:"Service marked complete. Funds will release after the dispute window.",BOOKING_NOT_PARTICIPANT:"You\u2019re not a participant on this booking.",REVIEW_SUBMITTED:"Thanks for your review.",REVIEW_ALREADY_EXISTS:"You\u2019ve already reviewed this booking.",REVIEW_NOT_REVIEWABLE:"Reviews are available once service is completed (or the booking is closed).",BOOKING_REVIEW_REQUIRED_BEFORE_RELEASE:"Submit a review for the producer before closing this booking and releasing funds.",THREAD_MESSAGE_SENT:"Message sent.",THREAD_MESSAGE_TOO_LONG:"Your message is too long. Trim it and try again.",THREAD_CLOSED:"This thread is closed. You can no longer send messages here.",THREAD_READ_RECEIPTS_UPDATED:"Messages marked as read.",CREW_ASSIGNMENT_SAVED:"Crew role saved.",CREW_ASSIGNMENT_UPDATED:"Crew role updated.",CREW_ASSIGNMENT_REMOVED:"Crew role removed.",CREW_ASSIGNMENT_NOT_FOUND:"That crew assignment was not found.",CREW_ASSIGNMENT_INVALID_STATE:"That action isn\u2019t allowed for this invite right now.",CREW_ASSIGNMENT_ALREADY_EXISTS:"This producer already has a role on this event.",CREW_ASSIGNMENT_BOOKING_EXISTS:"A booking already exists for this producer on the event. Remove it before inviting again.",CREW_ASSIGNMENT_ACCEPTED:"Invite accepted. Your booking is ready.",CREW_ASSIGNMENT_REJECTED:"Invite declined.",CREW_ASSIGNMENT_INVITED:"You\u2019ve been invited to join a production crew."},PAYMENT:{QUOTE_ISSUED:"Price quote ready.",PURCHASE_INITIATED:"Redirecting you to checkout.",PURCHASE_PENDING:"We\u2019re confirming your payment. This usually takes a few seconds.",PURCHASE_SUCCESS:"Payment received. You\u2019re in.",PURCHASE_FAILED:"Payment failed. Try again or use a different method.",PURCHASE_CANCELLED:"You cancelled the payment.",PURCHASE_EXPIRED:"Your checkout session expired. Start the purchase again.",PURCHASE_NOT_FOUND:"We couldn\u2019t find that purchase.",PROVIDER_UNAVAILABLE:"Payments are temporarily unavailable. Please try again shortly.",IDEMPOTENCY_KEY_REQUIRED:"Your app didn\u2019t send a payment key. Refresh and try again.",REGISTRATION_FREE_SUCCESS:"You\u2019re registered.",REGISTRATION_PAID_PENDING:"Complete payment to confirm your registration.",REGISTRATION_CANCELLED:"Your registration has been cancelled.",REGISTRATION_ALREADY_ACTIVE:"You\u2019re already registered for this event.",REGISTRATION_SOLD_OUT:"Sorry \u2014 this event is sold out.",REGISTRATION_PRIVATE_NOT_ALLOWED:"You\u2019re not on the guest list for this event.",REGISTRATION_REPLAY_CLOSED:"The replay window has closed for this event.",ACCESS_CHECK_QUALIFIED:"You\u2019re on the guest list \u2014 go ahead and register.",ACCESS_CHECK_NOT_QUALIFIED:"This email isn\u2019t on the guest list. Try another, or contact the host.",RECEIPT_READY:"Receipt ready.",RECEIPT_NOT_AVAILABLE:"The receipt will be available once payment is confirmed.",CALENDAR_READY:"Calendar file ready.",REPLAY_ACCESS_INCLUDED:"Replay unlocked \u2014 enjoy.",REPLAY_PURCHASE_PENDING:"Complete payment to unlock replay.",REPLAY_DISABLED:"The host disabled replay for this event.",REPLAY_REGISTRATION_REQUIRED:"You need an active ticket before you can watch this replay.",REFUND_PROCESSING:"Refund is being processed. It usually completes within a few business days.",REFUND_COMPLETE:"Refund complete."},STREAMING:{PLAYBACK_LIVE_READY:"You\u2019re watching live.",PLAYBACK_REPLAY_READY:"Replay ready.",PLAYBACK_NOT_ENTITLED:"You need a ticket or replay pass to watch this event.",PLAYBACK_REPLAY_ONLY_NOT_LIVE:"This pass unlocks the replay. We\u2019ll let you know once it\u2019s ready.",PLAYBACK_UNAVAILABLE:"This event isn\u2019t playable yet. Check back closer to start time.",PLAYBACK_REPLAY_EXPIRED:"The replay window for this event has closed.",PLAYBACK_SESSION_ELSEWHERE:"You\u2019re watching on another device. Resume here to switch.",PLAYBACK_KILLSWITCH:"Playback is temporarily disabled by the host or support.",CREW_HEARTBEAT_OK:"Presence updated.",CREW_NOT_ASSIGNED:"You\u2019re not confirmed crew on this event."},CHAT:{MESSAGE_SENT:"Message sent.",MESSAGE_TOO_LONG:"Messages can\u2019t be longer than 500 characters.",MESSAGE_EMPTY:"Type a message before sending.",MESSAGE_PROFANITY:"Message blocked by moderation.",ROOM_MUTED:"Chat is muted right now.",ROOM_NOT_LIVE:"Chat is closed for this event.",ROOM_MUTED_BY_HOST:"You\u2019ve muted the room.",ROOM_UNMUTED_BY_HOST:"Room unmuted.",MESSAGE_DELETED:"Message removed.",MESSAGE_ALREADY_DELETED:"That message has already been removed.",RATE_LIMITED:"You\u2019re sending too fast. Slow down a moment.",NOT_ENTITLED:"You need an active registration to chat."},NOTIFICATIONS:{DEVICE_REGISTERED:"Push notifications enabled on this device.",DEVICE_REVOKED:"Push notifications disabled on this device.",DEVICE_TOKEN_INVALID:"That push token isn\u2019t valid. Try again after re-opening the app.",NOTIFICATION_MARKED_READ:"Marked as read.",ALL_MARKED_READ:"All caught up.",NOTIFICATION_NOT_FOUND:"We couldn\u2019t find that notification."},SHARE:{LINK_RESOLVED:"Loading event.",LINK_NOT_FOUND:"This share link isn\u2019t available anymore."},VIEWER:{SESSION_STARTED:"Session started.",SESSION_ENDED:"Session ended.",SESSION_ALREADY_ENDED:"This viewing session has already ended.",WATCH_PROGRESS_SAVED:"Progress saved.",WATCH_PROGRESS_NOT_REPLAYABLE:"Watch progress is only saved during replays."},GENERAL:{SUCCESS:"Done.",ERROR:"Something went wrong. Please try again \u2014 if it keeps happening, contact support.",VALIDATION_ERROR:"Check the highlighted fields and try again.",UNAUTHORIZED:"Please sign in to continue.",FORBIDDEN:"You don\u2019t have permission to do that.",NOT_FOUND:"We couldn\u2019t find what you were looking for.",CONFLICT:"That action isn\u2019t allowed from the current state.",PRECONDITION_FAILED:"A required setup step is missing. Complete it, then try again.",LOCKED:"Too many attempts. Try again in a few minutes.",RATE_LIMITED:"You\u2019re doing that too often. Wait a moment and try again.",SERVICE_UNAVAILABLE:"This feature is temporarily unavailable. Try again shortly.",UNSUPPORTED_CURRENCY:"That currency isn\u2019t supported.",IDEMPOTENCY_KEY_REQUIRED:"Missing request key. Refresh and try again.",IDEMPOTENCY_KEY_CONFLICT:"This request key was already used. Retry with a fresh action."}};export{t as a,I as b,n as c,i as d,E as e,r as f,c as g,S as h,s as i,R as j,_ as k,l,N as m};//# sourceMappingURL=chunk-PAUYI2FU.mjs.map
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {z}from'zod';var t={HOST:"HOST",PRODUCER:"PRODUCER",ADMIN:"ADMIN",SYSTEM:"SYSTEM",VIEWER:"VIEWER",USER:"USER"},I=z.enum([t.HOST,t.PRODUCER,t.ADMIN,t.SYSTEM,t.VIEWER,t.USER]);var n=50,i=20,E=1,r={NGN:"NGN",USD:"USD",GBP:"GBP",EUR:"EUR"},c=z.object({pageNumber:z.coerce.number().int().min(1).default(E),pageSize:z.coerce.number().int().min(1).max(n).default(i)}),S=z.object({amountMinor:z.string().regex(/^-?\d+$/,"amountMinor must be a signed integer string"),currency:z.enum(r)}),s={UP:"UP",DOWN:"DOWN",FLAT:"FLAT"},R=z.enum(s),_=z.object({totalCount:z.number().int().nonnegative(),pageNumber:z.number().int().min(1),pageSize:z.number().int().min(1),totalPages:z.number().int().nonnegative(),hasPreviousPage:z.boolean(),hasNextPage:z.boolean()}),l=o=>z.object({success:z.boolean(),data:o.optional(),error:z.object({type:z.url(),title:z.string(),status:z.number(),detail:z.string(),instance:z.string().optional()}).optional(),meta:_.optional()});var h={AUTH:{REGISTER_SUCCESS:"Account created. Check your email for the verification code.",REGISTER_EMAIL_EXISTS:"An account with that email already exists. Try logging in instead.",OTP_SENT:"We sent you a fresh code. It expires in a few minutes.",OTP_VERIFIED:"Code verified.",OTP_INVALID:"That code is invalid or has expired. Request a new one.",LOGIN_SUCCESS:"Welcome back.",LOGIN_INVALID_CREDENTIALS:"That email and password combination is incorrect.",LOGIN_ROLE_UNAVAILABLE:"You don\u2019t have access to this app yet. Switch role or upgrade your account.",LOGIN_UNVERIFIED:"Please verify your email before continuing. We resent the code.",LOGOUT_SUCCESS:"You\u2019ve been signed out.",REFRESH_SUCCESS:"Session refreshed.",REFRESH_REVOKED:"Your session has expired. Sign in again to continue.",PASSWORD_RESET_SENT:"If an account exists for that email, a reset code is on its way.",PASSWORD_RESET_SUCCESS:"Your password has been updated.",PASSWORD_CHANGE_SUCCESS:"Password changed. Other sessions have been signed out.",ACCOUNT_DELETE_SUCCESS:"Your account has been deleted.",ACCOUNT_DELETE_CONFIRM_MISMATCH:"The confirmation email doesn\u2019t match. Type your email exactly as shown.",CONFIRM_PASSWORD_SUCCESS:"Password confirmed. Continue with your change.",CONFIRM_PASSWORD_INVALID:"That password is incorrect.",OAUTH_PROVIDER_DISABLED:"This sign-in method is temporarily unavailable. Try another option.",OAUTH_LINK_REQUIRED_EMAIL_MATCH:"An account with this email already exists. Verify to link them.",OAUTH_LINK_REQUIRED_EMAIL_MISSING:"We couldn\u2019t get an email from your provider. Enter one to continue.",OAUTH_LINK_SUCCESS:"Accounts linked.",OAUTH_INVALID_HANDOFF:"This sign-in link has expired. Start again from the sign-in screen.",MFA_ENROL_STARTED:"Scan the code with your authenticator app, then enter a code to enable.",MFA_ENABLED:"Two-factor authentication is on.",MFA_DISABLED:"Two-factor authentication is off.",MFA_CODE_INVALID:"That code isn\u2019t right. Try again with a fresh code.",MFA_NOT_ENROLLED:"Set up two-factor authentication before continuing.",MFA_CHALLENGE_ISSUED:"Enter your authenticator code to continue.",MFA_VERIFY_SUCCESS:"Verified. You have 60 seconds to complete this action.",MFA_TOKEN_EXPIRED:"This verification has expired. Start the security check again.",MFA_LOCKED:"Too many failed attempts. Try again after the cooldown.",MFA_RECOVERY_CODES_REGENERATED:"New recovery codes generated. Save them now \u2014 we won\u2019t show them again."},USER:{PROFILE_UPDATE_SUCCESS:"Profile updated.",HANDLE_TAKEN:"That handle is already taken. Try another.",CURRENCY_UPDATED:"Display currency updated.",CURRENCY_UNSUPPORTED:"That currency isn\u2019t supported yet.",NOTIFICATION_PREFS_UPDATED:"Notification preferences saved.",FEEDBACK_RECEIVED:"Thanks for the feedback \u2014 we\u2019ve got it.",PIN_SET:"PIN set.",PIN_ROTATED:"PIN updated.",PIN_CURRENT_INVALID:"Your current PIN is incorrect.",HOST_PROFILE_CREATED:"Host profile created. Set a PIN before your first payout.",HOST_PROFILE_UPDATED:"Host profile updated.",HOST_PROFILE_EXISTS:"You already have a host profile.",HOST_PROFILE_NOT_FOUND:"You haven\u2019t created a host profile yet.",PRODUCER_PROFILE_CREATED:"Producer profile created. Submit for verification to appear in search.",PRODUCER_PROFILE_UPDATED:"Producer profile updated.",PRODUCER_PROFILE_EXISTS:"You already have a producer profile.",PRODUCER_PROFILE_NOT_FOUND:"You haven\u2019t created a producer profile yet.",PRODUCER_VERIFY_SUBMITTED:"Verification submitted. We\u2019ll let you know once review is complete."},EVENT:{WIZARD_DRAFT_CREATED:"Draft saved.",WIZARD_STEP_SAVED:"Progress saved.",WIZARD_PUBLISHED:"Event published \u2014 it\u2019s now live to your audience.",WIZARD_PUBLISH_INCOMPLETE:"A few details are still missing. Finish the highlighted steps to publish.",WIZARD_NOT_DRAFT:"This event can\u2019t be edited from the wizard anymore.",UPDATED:"Event details updated.",DELETED:"Event deleted.",DELETE_NOT_ALLOWED:"Only draft or empty scheduled events can be deleted.",PAUSED:"Event paused.",UNPAUSED:"Event resumed.",CANCELLED:"Event cancelled. Refunds are processing and viewers have been notified.",CANCEL_NOT_ALLOWED:"This event can no longer be cancelled.",STREAM_TEST_READY:"Stream credentials are ready. Copy the key now \u2014 you won\u2019t see it again.",STREAM_TEST_RATE_LIMITED:"You\u2019ve run stream test too many times this hour. Try again later.",STREAM_TEST_WRONG_STATE:"Stream test isn\u2019t available in the current event state.",GO_LIVE_SOON:o=>`Your event goes live in ${o}.`,GO_LIVE_SUCCESS:"You\u2019re live.",GO_LIVE_CHECKLIST_INCOMPLETE:"Finish the pre-live checklist before going live.",GO_LIVE_BEFORE_WINDOW:"Too early \u2014 the go-live window hasn\u2019t opened yet.",GO_LIVE_AFTER_WINDOW:"The go-live window has closed. Contact support.",GO_LIVE_ALREADY_LIVE:"This event is already live.",GO_LIVE_NOT_OWNED:"You\u2019re not the host of this event.",END_LIVE_SUCCESS:"Event ended. Replay will be available shortly.",END_LIVE_NOT_LIVE:"This event isn\u2019t live.",STREAM_CONTROL_UPDATED:"Stream control updated.",REPLAY_PERIOD_EXTENDED:"Replay availability updated.",REPLAY_PERIOD_NOT_ENDED:"You can extend replay availability once the event ends.",NOT_OWNED:"You don\u2019t have access to this event.",NOT_FOUND:"We couldn\u2019t find that event.",AUDIENCE_ROLLUP_PENDING:"Audience insights will appear here once the rollup completes."},PAYOUT:{WITHDRAW_ACCEPTED:"Withdrawal requested. We\u2019ll notify you once it reaches your bank.",WITHDRAW_PIN_INVALID:"Incorrect PIN.",WITHDRAW_PIN_NOT_SET:"Set a PIN in your profile before withdrawing.",WITHDRAW_SETTLEMENT_MISSING:"Add a verified settlement account before withdrawing.",WITHDRAW_INSUFFICIENT_BALANCE:"Your available balance is below the minimum withdrawal amount.",WITHDRAW_IDEMPOTENCY_MISSING:"This request is missing a required key. Please retry.",WITHDRAW_IDEMPOTENCY_CONFLICT:"This request key has already been used. Start a new withdrawal.",WITHDRAW_PROVIDER_UNAVAILABLE:"Payouts are temporarily unavailable. Try again shortly.",SETTLEMENT_UPDATED:"Settlement account saved.",SETTLEMENT_ACCOUNT_UNVERIFIED:"We couldn\u2019t verify that account. Double-check the bank and account number.",SETTLEMENT_NAME_MISMATCH:"The bank account name doesn\u2019t match the name on your profile.",SETTLEMENT_PROVIDER_UNAVAILABLE:"Bank verification is temporarily unavailable. Please try again.",ACCOUNT_RESOLVE_FAILED:"That account number couldn\u2019t be resolved. Check the digits and bank.",VIRTUAL_ACCOUNT_PROVISIONING:"Your deposit account is being set up. This usually takes under a minute.",VIRTUAL_ACCOUNT_READY:"Your deposit account is ready."},MARKETPLACE:{LISTING_DRAFT_SAVED:"Draft saved.",LISTING_PUBLISHED:"Job listing published.",LISTING_PUBLISH_INCOMPLETE:"Fill in the required fields before publishing.",LISTING_UPDATED:"Job listing updated.",LISTING_CANCELLED:"Job listing cancelled.",LISTING_DELETED:"Draft deleted.",LISTING_NOT_DRAFT:"Only draft listings can be deleted.",LISTING_NOT_OPEN:"This job listing is no longer accepting applications.",LISTING_ALREADY_EXISTS:"You already have a listing for this event.",IOI_SUBMITTED:"Your interest has been sent to the host.",IOI_ALREADY_SUBMITTED:"You\u2019ve already applied to this listing. Wait for the host to respond.",IOI_WITHDRAWN:"Application withdrawn.",IOI_WITHDRAW_NOT_ALLOWED:"This application can no longer be withdrawn.",BOOKING_CREATED:"Booking created. The producer has been notified.",BOOKING_STATE_UPDATED:"Booking updated.",BOOKING_TRANSITION_FORBIDDEN:"You\u2019re not allowed to make this change on this booking.",BOOKING_TRANSITION_INVALID:"That change isn\u2019t allowed from the current state.",BOOKING_ESCROW_UNFUNDED:"Escrow must be funded before this booking can be confirmed.",BOOKING_REASON_REQUIRED:"Add a short reason to continue.",BOOKING_ACCEPTED:"Booking accepted.",BOOKING_REJECTED:"Booking rejected.",BOOKING_CANCELLED:"Booking cancelled.",BOOKING_COMPLETION_ACK:"Your completion is recorded. Waiting on the other party to confirm.",BOOKING_COMPLETED:"Service marked complete. Funds will release after the dispute window.",BOOKING_NOT_PARTICIPANT:"You\u2019re not a participant on this booking.",REVIEW_SUBMITTED:"Thanks for your review.",REVIEW_ALREADY_EXISTS:"You\u2019ve already reviewed this booking.",REVIEW_NOT_REVIEWABLE:"Reviews are available once service is completed (or the booking is closed).",BOOKING_REVIEW_REQUIRED_BEFORE_RELEASE:"Submit a review for the producer before closing this booking and releasing funds.",THREAD_MESSAGE_SENT:"Message sent.",THREAD_MESSAGE_TOO_LONG:"Your message is too long. Trim it and try again.",THREAD_CLOSED:"This thread is closed. You can no longer send messages here.",THREAD_READ_RECEIPTS_UPDATED:"Messages marked as read.",CREW_ASSIGNMENT_SAVED:"Crew role saved.",CREW_ASSIGNMENT_UPDATED:"Crew role updated.",CREW_ASSIGNMENT_REMOVED:"Crew role removed.",CREW_ASSIGNMENT_NOT_FOUND:"That crew assignment was not found.",CREW_ASSIGNMENT_INVALID_STATE:"That action isn\u2019t allowed for this invite right now.",CREW_ASSIGNMENT_ALREADY_EXISTS:"This producer already has a role on this event.",CREW_ASSIGNMENT_BOOKING_EXISTS:"A booking already exists for this producer on the event. Remove it before inviting again.",CREW_ASSIGNMENT_ACCEPTED:"Invite accepted. Your booking is ready.",CREW_ASSIGNMENT_REJECTED:"Invite declined.",CREW_ASSIGNMENT_INVITED:"You\u2019ve been invited to join a production crew.",DISPUTE_OPENED_TITLE:"Booking dispute opened",DISPUTE_OPENED_BODY_RAISER:"Your dispute on this booking was submitted. Escrow is on hold until it is resolved.",DISPUTE_OPENED_BODY_COUNTERPARTY:"A dispute was opened on this booking. Escrow is on hold until it is resolved.",DISPUTE_RESOLVED_TITLE:"Booking dispute resolved",DISPUTE_RESOLVED_BODY:"The dispute on this booking was resolved.",DISPUTE_RESOLVED_OUTCOME_REFUNDED:"refunded",DISPUTE_RESOLVED_OUTCOME_PARTIAL_REFUND:"partially refunded",DISPUTE_RESOLVED_OUTCOME_DENIED:"denied"},PAYMENT:{QUOTE_ISSUED:"Price quote ready.",PURCHASE_INITIATED:"Redirecting you to checkout.",PURCHASE_PENDING:"We\u2019re confirming your payment. This usually takes a few seconds.",PURCHASE_SUCCESS:"Payment received. You\u2019re in.",PURCHASE_FAILED:"Payment failed. Try again or use a different method.",PURCHASE_CANCELLED:"You cancelled the payment.",PURCHASE_EXPIRED:"Your checkout session expired. Start the purchase again.",PURCHASE_NOT_FOUND:"We couldn\u2019t find that purchase.",PROVIDER_UNAVAILABLE:"Payments are temporarily unavailable. Please try again shortly.",IDEMPOTENCY_KEY_REQUIRED:"Your app didn\u2019t send a payment key. Refresh and try again.",REGISTRATION_FREE_SUCCESS:"You\u2019re registered.",REGISTRATION_PAID_PENDING:"Complete payment to confirm your registration.",REGISTRATION_CANCELLED:"Your registration has been cancelled.",REGISTRATION_ALREADY_ACTIVE:"You\u2019re already registered for this event.",REGISTRATION_SOLD_OUT:"Sorry \u2014 this event is sold out.",REGISTRATION_PRIVATE_NOT_ALLOWED:"You\u2019re not on the guest list for this event.",REGISTRATION_REPLAY_CLOSED:"The replay window has closed for this event.",ACCESS_CHECK_QUALIFIED:"You\u2019re on the guest list \u2014 go ahead and register.",ACCESS_CHECK_NOT_QUALIFIED:"This email isn\u2019t on the guest list. Try another, or contact the host.",RECEIPT_READY:"Receipt ready.",RECEIPT_NOT_AVAILABLE:"The receipt will be available once payment is confirmed.",CALENDAR_READY:"Calendar file ready.",REPLAY_ACCESS_INCLUDED:"Replay unlocked \u2014 enjoy.",REPLAY_PURCHASE_PENDING:"Complete payment to unlock replay.",REPLAY_DISABLED:"The host disabled replay for this event.",REPLAY_REGISTRATION_REQUIRED:"You need an active ticket before you can watch this replay.",REFUND_PROCESSING:"Refund is being processed. It usually completes within a few business days.",REFUND_COMPLETE:"Refund complete."},STREAMING:{PLAYBACK_LIVE_READY:"You\u2019re watching live.",PLAYBACK_REPLAY_READY:"Replay ready.",PLAYBACK_NOT_ENTITLED:"You need a ticket or replay pass to watch this event.",PLAYBACK_REPLAY_ONLY_NOT_LIVE:"This pass unlocks the replay. We\u2019ll let you know once it\u2019s ready.",PLAYBACK_UNAVAILABLE:"This event isn\u2019t playable yet. Check back closer to start time.",PLAYBACK_REPLAY_EXPIRED:"The replay window for this event has closed.",PLAYBACK_SESSION_ELSEWHERE:"You\u2019re watching on another device. Resume here to switch.",PLAYBACK_KILLSWITCH:"Playback is temporarily disabled by the host or support.",CREW_HEARTBEAT_OK:"Presence updated.",CREW_NOT_ASSIGNED:"You\u2019re not confirmed crew on this event."},CHAT:{MESSAGE_SENT:"Message sent.",MESSAGE_TOO_LONG:"Messages can\u2019t be longer than 500 characters.",MESSAGE_EMPTY:"Type a message before sending.",MESSAGE_PROFANITY:"Message blocked by moderation.",ROOM_MUTED:"Chat is muted right now.",ROOM_NOT_LIVE:"Chat is closed for this event.",ROOM_MUTED_BY_HOST:"You\u2019ve muted the room.",ROOM_UNMUTED_BY_HOST:"Room unmuted.",MESSAGE_DELETED:"Message removed.",MESSAGE_ALREADY_DELETED:"That message has already been removed.",RATE_LIMITED:"You\u2019re sending too fast. Slow down a moment.",NOT_ENTITLED:"You need an active registration to chat."},NOTIFICATIONS:{DEVICE_REGISTERED:"Push notifications enabled on this device.",DEVICE_REVOKED:"Push notifications disabled on this device.",DEVICE_TOKEN_INVALID:"That push token isn\u2019t valid. Try again after re-opening the app.",NOTIFICATION_MARKED_READ:"Marked as read.",ALL_MARKED_READ:"All caught up.",NOTIFICATION_NOT_FOUND:"We couldn\u2019t find that notification."},SHARE:{LINK_RESOLVED:"Loading event.",LINK_NOT_FOUND:"This share link isn\u2019t available anymore."},VIEWER:{SESSION_STARTED:"Session started.",SESSION_ENDED:"Session ended.",SESSION_ALREADY_ENDED:"This viewing session has already ended.",WATCH_PROGRESS_SAVED:"Progress saved.",WATCH_PROGRESS_NOT_REPLAYABLE:"Watch progress is only saved during replays."},GENERAL:{SUCCESS:"Done.",ERROR:"Something went wrong. Please try again \u2014 if it keeps happening, contact support.",VALIDATION_ERROR:"Check the highlighted fields and try again.",UNAUTHORIZED:"Please sign in to continue.",FORBIDDEN:"You don\u2019t have permission to do that.",NOT_FOUND:"We couldn\u2019t find what you were looking for.",CONFLICT:"That action isn\u2019t allowed from the current state.",PRECONDITION_FAILED:"A required setup step is missing. Complete it, then try again.",LOCKED:"Too many attempts. Try again in a few minutes.",RATE_LIMITED:"You\u2019re doing that too often. Wait a moment and try again.",SERVICE_UNAVAILABLE:"This feature is temporarily unavailable. Try again shortly.",UNSUPPORTED_CURRENCY:"That currency isn\u2019t supported.",IDEMPOTENCY_KEY_REQUIRED:"Missing request key. Refresh and try again.",IDEMPOTENCY_KEY_CONFLICT:"This request key was already used. Retry with a fresh action."}};export{t as a,I as b,n as c,i as d,E as e,r as f,c as g,S as h,s as i,R as j,_ as k,l,h as m};//# sourceMappingURL=chunk-TIVS5L4Q.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-TIVS5L4Q.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/audit.enums.ts","../src/common/common.schemas.ts","../src/common/messages.ts"],"names":["AuditActorRole","AuditActorRoleSchema","z","MAX_PAGE_SIZE","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_NUMBER","CurrencyEnum","PaginationParamsSchema","MoneySchema","DeltaDirection","DeltaDirectionSchema","PaginationResponseSchema","ApiResponseSchema","dataSchema","ResponseMessages","time"],"mappings":"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","file":"chunk-TIVS5L4Q.mjs","sourcesContent":["import { z } from 'zod';\n\n/**\n * Canonical actor roles persisted on `audit_logs.actor_role`.\n * Broader than {@link BookingTransitionActor} — includes VIEWER/USER for\n * platform-wide audit events (playback, registration, re-auth, etc.).\n */\nexport const AuditActorRole = {\n HOST: 'HOST',\n PRODUCER: 'PRODUCER',\n ADMIN: 'ADMIN',\n SYSTEM: 'SYSTEM',\n VIEWER: 'VIEWER',\n USER: 'USER',\n} as const;\nexport type AuditActorRole = (typeof AuditActorRole)[keyof typeof AuditActorRole];\n\nexport const AuditActorRoleSchema = z.enum([\n AuditActorRole.HOST,\n AuditActorRole.PRODUCER,\n AuditActorRole.ADMIN,\n AuditActorRole.SYSTEM,\n AuditActorRole.VIEWER,\n AuditActorRole.USER,\n]);\n","import { z } from 'zod';\n\nexport const MAX_PAGE_SIZE = 50;\nexport const DEFAULT_PAGE_SIZE = 20;\nexport const DEFAULT_PAGE_NUMBER = 1;\n\nexport const CurrencyEnum = {\n NGN: 'NGN',\n USD: 'USD',\n GBP: 'GBP',\n EUR: 'EUR',\n} as const;\nexport type CurrencyEnum = (typeof CurrencyEnum)[keyof typeof CurrencyEnum];\n/**\n * Common pagination parameters for query strings.\n */\nexport const PaginationParamsSchema = z.object({\n pageNumber: z.coerce.number().int().min(1).default(DEFAULT_PAGE_NUMBER),\n pageSize: z.coerce.number().int().min(1).max(MAX_PAGE_SIZE).default(DEFAULT_PAGE_SIZE),\n});\n\nexport const MoneySchema = z.object({\n amountMinor: z.string().regex(/^-?\\d+$/, 'amountMinor must be a signed integer string'),\n currency: z.enum(CurrencyEnum),\n});\n\nexport const DeltaDirection = {\n UP: 'UP',\n DOWN: 'DOWN',\n FLAT: 'FLAT',\n} as const;\nexport type DeltaDirection = (typeof DeltaDirection)[keyof typeof DeltaDirection];\nexport const DeltaDirectionSchema = z.enum(DeltaDirection);\n\n/**\n * Common pagination metadata returned alongside list responses.\n */\nexport const PaginationResponseSchema = z.object({\n totalCount: z.number().int().nonnegative(),\n pageNumber: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n totalPages: z.number().int().nonnegative(),\n hasPreviousPage: z.boolean(),\n hasNextPage: z.boolean(),\n});\n\n/**\n * Standard API response wrapper for all LivDot endpoints.\n * @template T The type of the data payload.\n */\nexport const ApiResponseSchema = <T extends z.ZodTypeAny>(dataSchema: T) =>\n z.object({\n success: z.boolean(),\n data: dataSchema.optional(),\n error: z\n .object({\n type: z.url(),\n title: z.string(),\n status: z.number(),\n detail: z.string(),\n instance: z.string().optional(),\n })\n .optional(),\n meta: PaginationResponseSchema.optional(),\n });\n\nexport type PaginationParams = z.infer<typeof PaginationParamsSchema>;\nexport type PaginationResponse = z.infer<typeof PaginationResponseSchema>;\nexport type MoneyDto = z.infer<typeof MoneySchema>;\n","/**\n * Human-readable response messages for the LivDot platform.\n *\n * Used for API success payloads, notification bodies, and toast copy.\n * Grouped to mirror docs/integration — one sub-object per module.\n *\n * Rules of thumb:\n * - Speak to the user, not about them (\"your\", not \"the user's\").\n * - Never leak internal state (attempts remaining, provider names, ledger accounts).\n * - Keep copy terse; the FE composes surrounding UI.\n * - Do NOT put URLs, ids, or amounts in these strings — the FE renders those.\n */\nexport const ResponseMessages = {\n // ────────────────────────────────────────────────────────────────\n // 01 · Auth (docs/integration/01-auth.md)\n // ────────────────────────────────────────────────────────────────\n AUTH: {\n REGISTER_SUCCESS: 'Account created. Check your email for the verification code.',\n REGISTER_EMAIL_EXISTS: 'An account with that email already exists. Try logging in instead.',\n OTP_SENT: 'We sent you a fresh code. It expires in a few minutes.',\n OTP_VERIFIED: 'Code verified.',\n OTP_INVALID: 'That code is invalid or has expired. Request a new one.',\n LOGIN_SUCCESS: 'Welcome back.',\n LOGIN_INVALID_CREDENTIALS: 'That email and password combination is incorrect.',\n LOGIN_ROLE_UNAVAILABLE:\n 'You don’t have access to this app yet. Switch role or upgrade your account.',\n LOGIN_UNVERIFIED: 'Please verify your email before continuing. We resent the code.',\n LOGOUT_SUCCESS: 'You’ve been signed out.',\n REFRESH_SUCCESS: 'Session refreshed.',\n REFRESH_REVOKED: 'Your session has expired. Sign in again to continue.',\n PASSWORD_RESET_SENT: 'If an account exists for that email, a reset code is on its way.',\n PASSWORD_RESET_SUCCESS: 'Your password has been updated.',\n PASSWORD_CHANGE_SUCCESS: 'Password changed. Other sessions have been signed out.',\n ACCOUNT_DELETE_SUCCESS: 'Your account has been deleted.',\n ACCOUNT_DELETE_CONFIRM_MISMATCH:\n 'The confirmation email doesn’t match. Type your email exactly as shown.',\n CONFIRM_PASSWORD_SUCCESS: 'Password confirmed. Continue with your change.',\n CONFIRM_PASSWORD_INVALID: 'That password is incorrect.',\n\n // OAuth\n OAUTH_PROVIDER_DISABLED: 'This sign-in method is temporarily unavailable. Try another option.',\n OAUTH_LINK_REQUIRED_EMAIL_MATCH:\n 'An account with this email already exists. Verify to link them.',\n OAUTH_LINK_REQUIRED_EMAIL_MISSING:\n 'We couldn’t get an email from your provider. Enter one to continue.',\n OAUTH_LINK_SUCCESS: 'Accounts linked.',\n OAUTH_INVALID_HANDOFF: 'This sign-in link has expired. Start again from the sign-in screen.',\n\n // MFA (TOTP)\n MFA_ENROL_STARTED: 'Scan the code with your authenticator app, then enter a code to enable.',\n MFA_ENABLED: 'Two-factor authentication is on.',\n MFA_DISABLED: 'Two-factor authentication is off.',\n MFA_CODE_INVALID: 'That code isn’t right. Try again with a fresh code.',\n MFA_NOT_ENROLLED: 'Set up two-factor authentication before continuing.',\n MFA_CHALLENGE_ISSUED: 'Enter your authenticator code to continue.',\n MFA_VERIFY_SUCCESS: 'Verified. You have 60 seconds to complete this action.',\n MFA_TOKEN_EXPIRED: 'This verification has expired. Start the security check again.',\n MFA_LOCKED: 'Too many failed attempts. Try again after the cooldown.',\n MFA_RECOVERY_CODES_REGENERATED:\n 'New recovery codes generated. Save them now — we won’t show them again.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 02 · User & Profiles (docs/integration/02-user-profiles.md)\n // ────────────────────────────────────────────────────────────────\n USER: {\n PROFILE_UPDATE_SUCCESS: 'Profile updated.',\n HANDLE_TAKEN: 'That handle is already taken. Try another.',\n CURRENCY_UPDATED: 'Display currency updated.',\n CURRENCY_UNSUPPORTED: 'That currency isn’t supported yet.',\n NOTIFICATION_PREFS_UPDATED: 'Notification preferences saved.',\n FEEDBACK_RECEIVED: 'Thanks for the feedback — we’ve got it.',\n PIN_SET: 'PIN set.',\n PIN_ROTATED: 'PIN updated.',\n PIN_CURRENT_INVALID: 'Your current PIN is incorrect.',\n\n HOST_PROFILE_CREATED: 'Host profile created. Set a PIN before your first payout.',\n HOST_PROFILE_UPDATED: 'Host profile updated.',\n HOST_PROFILE_EXISTS: 'You already have a host profile.',\n HOST_PROFILE_NOT_FOUND: 'You haven’t created a host profile yet.',\n\n PRODUCER_PROFILE_CREATED:\n 'Producer profile created. Submit for verification to appear in search.',\n PRODUCER_PROFILE_UPDATED: 'Producer profile updated.',\n PRODUCER_PROFILE_EXISTS: 'You already have a producer profile.',\n PRODUCER_PROFILE_NOT_FOUND: 'You haven’t created a producer profile yet.',\n PRODUCER_VERIFY_SUBMITTED:\n 'Verification submitted. We’ll let you know once review is complete.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 03 · Host events + wizard + live console (03-host-events.md)\n // ────────────────────────────────────────────────────────────────\n EVENT: {\n WIZARD_DRAFT_CREATED: 'Draft saved.',\n WIZARD_STEP_SAVED: 'Progress saved.',\n WIZARD_PUBLISHED: 'Event published — it’s now live to your audience.',\n WIZARD_PUBLISH_INCOMPLETE:\n 'A few details are still missing. Finish the highlighted steps to publish.',\n WIZARD_NOT_DRAFT: 'This event can’t be edited from the wizard anymore.',\n\n UPDATED: 'Event details updated.',\n DELETED: 'Event deleted.',\n DELETE_NOT_ALLOWED: 'Only draft or empty scheduled events can be deleted.',\n PAUSED: 'Event paused.',\n UNPAUSED: 'Event resumed.',\n CANCELLED: 'Event cancelled. Refunds are processing and viewers have been notified.',\n CANCEL_NOT_ALLOWED: 'This event can no longer be cancelled.',\n\n // Stream test + go-live + end-live\n STREAM_TEST_READY: 'Stream credentials are ready. Copy the key now — you won’t see it again.',\n STREAM_TEST_RATE_LIMITED: 'You’ve run stream test too many times this hour. Try again later.',\n STREAM_TEST_WRONG_STATE: 'Stream test isn’t available in the current event state.',\n\n GO_LIVE_SOON: (time: string) => `Your event goes live in ${time}.`,\n GO_LIVE_SUCCESS: 'You’re live.',\n GO_LIVE_CHECKLIST_INCOMPLETE: 'Finish the pre-live checklist before going live.',\n GO_LIVE_BEFORE_WINDOW: 'Too early — the go-live window hasn’t opened yet.',\n GO_LIVE_AFTER_WINDOW: 'The go-live window has closed. Contact support.',\n GO_LIVE_ALREADY_LIVE: 'This event is already live.',\n GO_LIVE_NOT_OWNED: 'You’re not the host of this event.',\n\n END_LIVE_SUCCESS: 'Event ended. Replay will be available shortly.',\n END_LIVE_NOT_LIVE: 'This event isn’t live.',\n\n STREAM_CONTROL_UPDATED: 'Stream control updated.',\n\n REPLAY_PERIOD_EXTENDED: 'Replay availability updated.',\n REPLAY_PERIOD_NOT_ENDED: 'You can extend replay availability once the event ends.',\n\n NOT_OWNED: 'You don’t have access to this event.',\n NOT_FOUND: 'We couldn’t find that event.',\n\n // Post-event dashboard\n AUDIENCE_ROLLUP_PENDING: 'Audience insights will appear here once the rollup completes.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 04 · Payouts, settlement, earnings (04-payouts.md)\n // ────────────────────────────────────────────────────────────────\n PAYOUT: {\n WITHDRAW_ACCEPTED: 'Withdrawal requested. We’ll notify you once it reaches your bank.',\n WITHDRAW_PIN_INVALID: 'Incorrect PIN.',\n WITHDRAW_PIN_NOT_SET: 'Set a PIN in your profile before withdrawing.',\n WITHDRAW_SETTLEMENT_MISSING: 'Add a verified settlement account before withdrawing.',\n WITHDRAW_INSUFFICIENT_BALANCE: 'Your available balance is below the minimum withdrawal amount.',\n WITHDRAW_IDEMPOTENCY_MISSING: 'This request is missing a required key. Please retry.',\n WITHDRAW_IDEMPOTENCY_CONFLICT:\n 'This request key has already been used. Start a new withdrawal.',\n WITHDRAW_PROVIDER_UNAVAILABLE: 'Payouts are temporarily unavailable. Try again shortly.',\n\n SETTLEMENT_UPDATED: 'Settlement account saved.',\n SETTLEMENT_ACCOUNT_UNVERIFIED:\n 'We couldn’t verify that account. Double-check the bank and account number.',\n SETTLEMENT_NAME_MISMATCH: 'The bank account name doesn’t match the name on your profile.',\n SETTLEMENT_PROVIDER_UNAVAILABLE:\n 'Bank verification is temporarily unavailable. Please try again.',\n\n ACCOUNT_RESOLVE_FAILED: 'That account number couldn’t be resolved. Check the digits and bank.',\n\n VIRTUAL_ACCOUNT_PROVISIONING:\n 'Your deposit account is being set up. This usually takes under a minute.',\n VIRTUAL_ACCOUNT_READY: 'Your deposit account is ready.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 05 · Marketplace (05-marketplace.md)\n // ────────────────────────────────────────────────────────────────\n MARKETPLACE: {\n // Job listings\n LISTING_DRAFT_SAVED: 'Draft saved.',\n LISTING_PUBLISHED: 'Job listing published.',\n LISTING_PUBLISH_INCOMPLETE: 'Fill in the required fields before publishing.',\n LISTING_UPDATED: 'Job listing updated.',\n LISTING_CANCELLED: 'Job listing cancelled.',\n LISTING_DELETED: 'Draft deleted.',\n LISTING_NOT_DRAFT: 'Only draft listings can be deleted.',\n LISTING_NOT_OPEN: 'This job listing is no longer accepting applications.',\n LISTING_ALREADY_EXISTS: 'You already have a listing for this event.',\n\n // Indications of interest\n IOI_SUBMITTED: 'Your interest has been sent to the host.',\n IOI_ALREADY_SUBMITTED: 'You’ve already applied to this listing. Wait for the host to respond.',\n IOI_WITHDRAWN: 'Application withdrawn.',\n IOI_WITHDRAW_NOT_ALLOWED: 'This application can no longer be withdrawn.',\n\n // Bookings\n BOOKING_CREATED: 'Booking created. The producer has been notified.',\n BOOKING_STATE_UPDATED: 'Booking updated.',\n BOOKING_TRANSITION_FORBIDDEN: 'You’re not allowed to make this change on this booking.',\n BOOKING_TRANSITION_INVALID: 'That change isn’t allowed from the current state.',\n BOOKING_ESCROW_UNFUNDED: 'Escrow must be funded before this booking can be confirmed.',\n BOOKING_REASON_REQUIRED: 'Add a short reason to continue.',\n BOOKING_ACCEPTED: 'Booking accepted.',\n BOOKING_REJECTED: 'Booking rejected.',\n BOOKING_CANCELLED: 'Booking cancelled.',\n BOOKING_COMPLETION_ACK: 'Your completion is recorded. Waiting on the other party to confirm.',\n BOOKING_COMPLETED: 'Service marked complete. Funds will release after the dispute window.',\n BOOKING_NOT_PARTICIPANT: 'You’re not a participant on this booking.',\n\n // Reviews\n REVIEW_SUBMITTED: 'Thanks for your review.',\n REVIEW_ALREADY_EXISTS: 'You’ve already reviewed this booking.',\n REVIEW_NOT_REVIEWABLE:\n 'Reviews are available once service is completed (or the booking is closed).',\n BOOKING_REVIEW_REQUIRED_BEFORE_RELEASE:\n 'Submit a review for the producer before closing this booking and releasing funds.',\n\n // Hiring thread\n THREAD_MESSAGE_SENT: 'Message sent.',\n THREAD_MESSAGE_TOO_LONG: 'Your message is too long. Trim it and try again.',\n THREAD_CLOSED: 'This thread is closed. You can no longer send messages here.',\n THREAD_READ_RECEIPTS_UPDATED: 'Messages marked as read.',\n\n // Direct Event Hire — crew role assignments\n CREW_ASSIGNMENT_SAVED: 'Crew role saved.',\n CREW_ASSIGNMENT_UPDATED: 'Crew role updated.',\n CREW_ASSIGNMENT_REMOVED: 'Crew role removed.',\n CREW_ASSIGNMENT_NOT_FOUND: 'That crew assignment was not found.',\n CREW_ASSIGNMENT_INVALID_STATE: 'That action isn’t allowed for this invite right now.',\n CREW_ASSIGNMENT_ALREADY_EXISTS: 'This producer already has a role on this event.',\n CREW_ASSIGNMENT_BOOKING_EXISTS:\n 'A booking already exists for this producer on the event. Remove it before inviting again.',\n CREW_ASSIGNMENT_ACCEPTED: 'Invite accepted. Your booking is ready.',\n CREW_ASSIGNMENT_REJECTED: 'Invite declined.',\n CREW_ASSIGNMENT_INVITED: 'You’ve been invited to join a production crew.',\n\n // Booking disputes (inbox + email copy)\n DISPUTE_OPENED_TITLE: 'Booking dispute opened',\n DISPUTE_OPENED_BODY_RAISER:\n 'Your dispute on this booking was submitted. Escrow is on hold until it is resolved.',\n DISPUTE_OPENED_BODY_COUNTERPARTY:\n 'A dispute was opened on this booking. Escrow is on hold until it is resolved.',\n DISPUTE_RESOLVED_TITLE: 'Booking dispute resolved',\n DISPUTE_RESOLVED_BODY: 'The dispute on this booking was resolved.',\n DISPUTE_RESOLVED_OUTCOME_REFUNDED: 'refunded',\n DISPUTE_RESOLVED_OUTCOME_PARTIAL_REFUND: 'partially refunded',\n DISPUTE_RESOLVED_OUTCOME_DENIED: 'denied',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 06 · Payments (06-payments.md)\n // ────────────────────────────────────────────────────────────────\n PAYMENT: {\n QUOTE_ISSUED: 'Price quote ready.',\n PURCHASE_INITIATED: 'Redirecting you to checkout.',\n PURCHASE_PENDING: 'We’re confirming your payment. This usually takes a few seconds.',\n PURCHASE_SUCCESS: 'Payment received. You’re in.',\n PURCHASE_FAILED: 'Payment failed. Try again or use a different method.',\n PURCHASE_CANCELLED: 'You cancelled the payment.',\n PURCHASE_EXPIRED: 'Your checkout session expired. Start the purchase again.',\n PURCHASE_NOT_FOUND: 'We couldn’t find that purchase.',\n PROVIDER_UNAVAILABLE: 'Payments are temporarily unavailable. Please try again shortly.',\n IDEMPOTENCY_KEY_REQUIRED: 'Your app didn’t send a payment key. Refresh and try again.',\n\n REGISTRATION_FREE_SUCCESS: 'You’re registered.',\n REGISTRATION_PAID_PENDING: 'Complete payment to confirm your registration.',\n REGISTRATION_CANCELLED: 'Your registration has been cancelled.',\n REGISTRATION_ALREADY_ACTIVE: 'You’re already registered for this event.',\n REGISTRATION_SOLD_OUT: 'Sorry — this event is sold out.',\n REGISTRATION_PRIVATE_NOT_ALLOWED: 'You’re not on the guest list for this event.',\n REGISTRATION_REPLAY_CLOSED: 'The replay window has closed for this event.',\n\n ACCESS_CHECK_QUALIFIED: 'You’re on the guest list — go ahead and register.',\n ACCESS_CHECK_NOT_QUALIFIED:\n 'This email isn’t on the guest list. Try another, or contact the host.',\n\n RECEIPT_READY: 'Receipt ready.',\n RECEIPT_NOT_AVAILABLE: 'The receipt will be available once payment is confirmed.',\n CALENDAR_READY: 'Calendar file ready.',\n\n REPLAY_ACCESS_INCLUDED: 'Replay unlocked — enjoy.',\n REPLAY_PURCHASE_PENDING: 'Complete payment to unlock replay.',\n REPLAY_DISABLED: 'The host disabled replay for this event.',\n REPLAY_REGISTRATION_REQUIRED: 'You need an active ticket before you can watch this replay.',\n\n REFUND_PROCESSING:\n 'Refund is being processed. It usually completes within a few business days.',\n REFUND_COMPLETE: 'Refund complete.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 07 · Streaming (07-streaming.md)\n // ────────────────────────────────────────────────────────────────\n STREAMING: {\n PLAYBACK_LIVE_READY: 'You’re watching live.',\n PLAYBACK_REPLAY_READY: 'Replay ready.',\n PLAYBACK_NOT_ENTITLED: 'You need a ticket or replay pass to watch this event.',\n PLAYBACK_REPLAY_ONLY_NOT_LIVE:\n 'This pass unlocks the replay. We’ll let you know once it’s ready.',\n PLAYBACK_UNAVAILABLE: 'This event isn’t playable yet. Check back closer to start time.',\n PLAYBACK_REPLAY_EXPIRED: 'The replay window for this event has closed.',\n PLAYBACK_SESSION_ELSEWHERE: 'You’re watching on another device. Resume here to switch.',\n PLAYBACK_KILLSWITCH: 'Playback is temporarily disabled by the host or support.',\n\n CREW_HEARTBEAT_OK: 'Presence updated.',\n CREW_NOT_ASSIGNED: 'You’re not confirmed crew on this event.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 08 · Chat (08-chat.md)\n // ────────────────────────────────────────────────────────────────\n CHAT: {\n MESSAGE_SENT: 'Message sent.',\n MESSAGE_TOO_LONG: 'Messages can’t be longer than 500 characters.',\n MESSAGE_EMPTY: 'Type a message before sending.',\n MESSAGE_PROFANITY: 'Message blocked by moderation.',\n ROOM_MUTED: 'Chat is muted right now.',\n ROOM_NOT_LIVE: 'Chat is closed for this event.',\n ROOM_MUTED_BY_HOST: 'You’ve muted the room.',\n ROOM_UNMUTED_BY_HOST: 'Room unmuted.',\n MESSAGE_DELETED: 'Message removed.',\n MESSAGE_ALREADY_DELETED: 'That message has already been removed.',\n RATE_LIMITED: 'You’re sending too fast. Slow down a moment.',\n NOT_ENTITLED: 'You need an active registration to chat.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 09 · Notifications & push devices (09-notifications.md)\n // ────────────────────────────────────────────────────────────────\n NOTIFICATIONS: {\n DEVICE_REGISTERED: 'Push notifications enabled on this device.',\n DEVICE_REVOKED: 'Push notifications disabled on this device.',\n DEVICE_TOKEN_INVALID: 'That push token isn’t valid. Try again after re-opening the app.',\n NOTIFICATION_MARKED_READ: 'Marked as read.',\n ALL_MARKED_READ: 'All caught up.',\n NOTIFICATION_NOT_FOUND: 'We couldn’t find that notification.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 10 · Public share links (10-share.md)\n // ────────────────────────────────────────────────────────────────\n SHARE: {\n LINK_RESOLVED: 'Loading event.',\n LINK_NOT_FOUND: 'This share link isn’t available anymore.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // 11 · Viewer events + sessions (11-viewer-events.md)\n // ────────────────────────────────────────────────────────────────\n VIEWER: {\n SESSION_STARTED: 'Session started.',\n SESSION_ENDED: 'Session ended.',\n SESSION_ALREADY_ENDED: 'This viewing session has already ended.',\n WATCH_PROGRESS_SAVED: 'Progress saved.',\n WATCH_PROGRESS_NOT_REPLAYABLE: 'Watch progress is only saved during replays.',\n },\n\n // ────────────────────────────────────────────────────────────────\n // General / cross-cutting\n // ────────────────────────────────────────────────────────────────\n GENERAL: {\n SUCCESS: 'Done.',\n ERROR: 'Something went wrong. Please try again — if it keeps happening, contact support.',\n VALIDATION_ERROR: 'Check the highlighted fields and try again.',\n\n UNAUTHORIZED: 'Please sign in to continue.',\n FORBIDDEN: 'You don’t have permission to do that.',\n NOT_FOUND: 'We couldn’t find what you were looking for.',\n CONFLICT: 'That action isn’t allowed from the current state.',\n PRECONDITION_FAILED: 'A required setup step is missing. Complete it, then try again.',\n LOCKED: 'Too many attempts. Try again in a few minutes.',\n RATE_LIMITED: 'You’re doing that too often. Wait a moment and try again.',\n SERVICE_UNAVAILABLE: 'This feature is temporarily unavailable. Try again shortly.',\n UNSUPPORTED_CURRENCY: 'That currency isn’t supported.',\n\n IDEMPOTENCY_KEY_REQUIRED: 'Missing request key. Refresh and try again.',\n IDEMPOTENCY_KEY_CONFLICT: 'This request key was already used. Retry with a fresh action.',\n },\n} as const;\n\nexport type ResponseMessages = typeof ResponseMessages;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkEYYN73UK_js=require('./chunk-EYYN73UK.js'),r=require('zod');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var r__default=/*#__PURE__*/_interopDefault(r);var s={GOOGLE:"GOOGLE",APPLE:"APPLE",FACEBOOK:"FACEBOOK",TWITTER:"TWITTER"},i={EMAIL_MATCH:"email_match",EMAIL_MISS:"email_missing"},u={SIGNED_IN:"signed_in",SIGNED_UP:"signed_up",LINK_REQUIRED:"link_required"};var d=new RegExp("^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[ !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]).{8,}$"),c="Password must be at least 8 characters and include an uppercase letter, a lowercase letter, a number, and a special character.",n=r.z.string().min(8,c).regex(d,c),f=r.z.object({email:r.z.email().toLowerCase(),password:n,firstName:r.z.string(),lastName:r.z.string(),role:r.z.enum(chunkEYYN73UK_js.a).optional()}),S=r.z.object({username:r.z.string(),reference:r.z.string(),role:r.z.enum(chunkEYYN73UK_js.a).optional()}),b=r.z.object({email:r.z.email().toLowerCase(),password:n,role:r.z.enum(chunkEYYN73UK_js.a).optional()}),E=r.z.object({otp:r.z.string().length(4),reference:r.z.string(),type:r.z.enum(["registration","passwordReset"])}),y=r.z.object({reference:r.z.string(),type:r.z.enum(["registration","passwordReset"])}),T=r.z.object({isValid:r.z.boolean(),message:r.z.string(),reference:r.z.string().optional()}),C=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(chunkEYYN73UK_js.a)),lastActiveRole:r.z.enum(chunkEYYN73UK_js.a).nullable()}),A=r.z.object({role:r.z.enum(chunkEYYN73UK_js.a)}),k=r.z.object({lastActiveRole:r.z.enum(chunkEYYN73UK_js.a)}),j=r.z.object({refreshToken:r.z.string()}),O=r.z.object({refreshToken:r.z.string(),accessToken:r.z.string()}),L=r.z.object({email:r.z.email().toLowerCase()}),P=r.z.object({destination:r.z.string(),deliveryMedium:r.z.string(),attributeName:r.z.string()}),w=r.z.object({token:r.z.string(),newPassword:n}),I=r.z.object({currentPassword:n,newPassword:n}),_=r.z.object({redirectTo:r.z.string().min(1).max(2048).optional()}),q=r.z.object({authorizeUrl:r.z.url()}),v=r.z.object({handoff:r.z.string().min(16).max(128)}),N=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()}),M=r.z.object({linkHandoff:r.z.string().min(16).max(128),password:n.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"),D=r.z.object({linkHandoff:r.z.string().min(16).max(128)}),F=r.z.object({kind:r.z.literal("link_required"),reason:r.z.enum(i),linkHandoff:r.z.string(),maskedEmail:r.z.string(),hasPassword:r.z.boolean(),provider:r.z.enum(s)}),B=r.z.object({otpReference:r.z.string()}),l=r.z.object({name:r.z.enum(s),enabled:r.z.boolean(),canSignUp:r.z.boolean()}),U=r.z.object({providers:r.z.array(l)}),G=r.z.object({linkHandoff:r.z.string().min(16).max(128),email:r.z.email().max(320)}),V=r.z.object({password:n}),W=r.z.object({reauthToken:r.z.string(),expiresAt:r.z.iso.datetime()});var p={WITHDRAW:"WITHDRAW",CANCEL_EVENT:"CANCEL_EVENT",END_LIVE:"END_LIVE",DISABLE_MFA:"DISABLE_MFA",UPDATE_SETTLEMENT_ACCOUNT:"UPDATE_SETTLEMENT_ACCOUNT"};var a=r__default.default.string().trim().regex(/^\d{6}$/,"totpCode must be 6 digits"),m=r__default.default.string().trim().regex(/^[A-Za-z0-9-]{10,12}$/,"recoveryCode is malformed"),Q=r__default.default.object({totpCode:a}),Z=r__default.default.object({totpCode:a.optional(),recoveryCode:m.optional()}).refine(o=>!!o.totpCode!=!!o.recoveryCode,"Provide exactly one of totpCode or recoveryCode"),X=r__default.default.object({action:r__default.default.enum(p)}),J=r__default.default.object({challengeToken:r__default.default.string().min(16,"challengeToken is required"),totpCode:a.optional(),recoveryCode:m.optional()}).refine(o=>!!o.totpCode!=!!o.recoveryCode,"Provide exactly one of totpCode or recoveryCode");exports.A=B;exports.B=l;exports.C=U;exports.D=G;exports.E=V;exports.F=W;exports.G=p;exports.H=a;exports.I=m;exports.J=Q;exports.K=Z;exports.L=X;exports.M=J;exports.a=s;exports.b=i;exports.c=u;exports.d=n;exports.e=f;exports.f=S;exports.g=b;exports.h=E;exports.i=y;exports.j=T;exports.k=C;exports.l=A;exports.m=k;exports.n=j;exports.o=O;exports.p=L;exports.q=P;exports.r=w;exports.s=I;exports.t=_;exports.u=q;exports.v=v;exports.w=N;exports.x=M;exports.y=D;exports.z=F;//# sourceMappingURL=chunk-U5WMJEXE.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-U5WMJEXE.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"],"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","ConfirmPasswordSchema","ReauthTokenResponseSchema","MFA_ACTIONS","TotpCodeSchema","RecoveryCodeSchema","EnableMfaBodySchema","DisableMfaBodySchema","MfaChallengeBodySchema","MfaVerifyBodySchema"],"mappings":"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","file":"chunk-X4MIPWKH.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\nexport const ConfirmPasswordSchema = z.object({\n password: PasswordSchema,\n});\n\nexport const ReauthTokenResponseSchema = z.object({\n reauthToken: z.string(),\n expiresAt: z.iso.datetime(), // ISO date string ;\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"]}
|
|
1
|
+
{"version":3,"sources":["../src/auth/auth.enums.ts","../src/auth/auth.schemas.ts","../src/auth/mfa.enums.ts","../src/auth/mfa.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","ConfirmPasswordSchema","ReauthTokenResponseSchema","MFA_ACTIONS","TotpCodeSchema","RecoveryCodeSchema","EnableMfaBodySchema","DisableMfaBodySchema","MfaChallengeBodySchema","MfaVerifyBodySchema"],"mappings":"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","file":"chunk-U5WMJEXE.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\nexport const ConfirmPasswordSchema = z.object({\n password: PasswordSchema,\n});\n\nexport const ReauthTokenResponseSchema = z.object({\n reauthToken: z.string(),\n expiresAt: z.iso.datetime(), // ISO date string ;\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"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {h as h$1,g as g$1,k as k$1,f as f$1,j as j$1}from'./chunk-TIVS5L4Q.mjs';import {z as z$1}from'zod';var ye={TICKET_PURCHASE:"TICKET_PURCHASE",BOOKING_ESCROW:"BOOKING_ESCROW",ESCROW_RELEASE:"ESCROW_RELEASE",PLATFORM_FEE:"PLATFORM_FEE",PRODUCER_PAYOUT:"PRODUCER_PAYOUT",HOST_PAYOUT:"HOST_PAYOUT",REFUND:"REFUND"},Ae={PENDING:"PENDING",SUCCESS:"SUCCESS",FAILED:"FAILED",REVERSED:"REVERSED"},he={PENDING:"PENDING",PROCESSING:"PROCESSING",COMPLETED:"COMPLETED",FAILED:"FAILED"},b={REQUIRES_PAYMENT:"REQUIRES_PAYMENT",PROCESSING:"PROCESSING",SUCCEEDED:"SUCCEEDED",FAILED:"FAILED",CANCELLED:"CANCELLED",REFUNDED:"REFUNDED"},g={PENDING_PAYMENT:"PENDING_PAYMENT",ACTIVE:"ACTIVE",EXPIRED:"EXPIRED",REFUNDED:"REFUNDED"},T={REGISTERED:"REGISTERED",PUBLIC:"PUBLIC",EMAIL_MATCH:"EMAIL_MATCH",DOMAIN_MATCH:"DOMAIN_MATCH",USER_ID_MATCH:"USER_ID_MATCH",PHONE_MATCH:"PHONE_MATCH",NOT_ON_ALLOWLIST:"NOT_ON_ALLOWLIST"},x={NONE:"NONE",PENDING_PAYMENT:"PENDING_PAYMENT",ACTIVE:"ACTIVE",REFUNDED:"REFUNDED",CANCELLED:"CANCELLED"},Re={PENDING:"PENDING",SETTLED:"SETTLED",WAIVED:"WAIVED",VOIDED:"VOIDED",REFUNDED:"REFUNDED"},d={BUY_TICKET:"BUY_TICKET",COMPLETE_PAYMENT:"COMPLETE_PAYMENT",WATCH_NOW:"WATCH_NOW",WATCH_REPLAY:"WATCH_REPLAY",REGISTER_FREE:"REGISTER_FREE",WAITLIST:"WAITLIST",UNAVAILABLE:"UNAVAILABLE",REPLAY_PROCESSING:"REPLAY_PROCESSING"},D={REQUESTED:"REQUESTED",AUTHORIZED:"AUTHORIZED",SENT:"SENT",SETTLED:"SETTLED",FAILED:"FAILED",REVERSED:"REVERSED"};var s={INCLUDED:"INCLUDED",DISABLED:"DISABLED",PAID_SEPARATELY:"PAID_SEPARATELY"},m={PUBLIC:"PUBLIC",PRIVATE:"PRIVATE",UNLISTED:"UNLISTED"},l={FREE:"FREE",PAID:"PAID",SUBSCRIPTION:"SUBSCRIPTION"},y={SELF:"SELF",HIRE:"HIRE"},Te={EMAIL:"EMAIL",DOMAIN:"DOMAIN",PHONENUMBER:"PHONENUMBER",USERID:"USERID"},E={DRAFT:"DRAFT",SCHEDULED:"SCHEDULED",READY_FOR_TEST:"READY_FOR_TEST",LIVE:"LIVE",ENDED:"ENDED",REPLAY_READY:"REPLAY_READY",ARCHIVED:"ARCHIVED",CANCELLED:"CANCELLED",PAUSED:"PAUSED",FAILED:"FAILED"},r={ART:"ART",TECHNOLOGY:"TECHNOLOGY",SCIENCE:"SCIENCE",TRAVEL:"TRAVEL",HISTORY:"HISTORY",LITERATURE:"LITERATURE",COOKING:"COOKING",FITNESS:"FITNESS",PHOTOGRAPHY:"PHOTOGRAPHY",GARDENING:"GARDENING",EDUCATION:"EDUCATION",FASHION:"FASHION",MOVIES:"MOVIES",SPORTS:"SPORTS",POLITICS:"POLITICS",HEALTH:"HEALTH",GAMING:"GAMING",FINANCE:"FINANCE",NATURE:"NATURE",CONCERT:"CONCERT",FESTIVAL:"FESTIVAL",WEDDING:"WEDDING",CORPORATE:"CORPORATE",RELIGIOUS:"RELIGIOUS",BIRTHDAY:"BIRTHDAY",PARTY:"PARTY",OTHER:"OTHER"},P={PENDING_PAYMENT:"PENDING_PAYMENT",ACTIVE:"ACTIVE",CANCELLED:"CANCELLED",REFUNDED:"REFUNDED",EXPIRED:"EXPIRED"},xe={FREE_RSVP:"FREE_RSVP",PAID_TICKET:"PAID_TICKET",INVITE:"INVITE"},v={ACTIVE:"ACTIVE",PENDING:"PENDING",NONE:"NONE"},A={UPCOMING:"UPCOMING",LIVE:"LIVE",RECOMMENDED:"RECOMMENDED"},h={UPCOMING:"UPCOMING",LIVE:"LIVE",PAST:"PAST"},De={REGISTRATION:"REGISTRATION",REPLAY_PURCHASE:"REPLAY_PURCHASE"};var U=z$1.object({title:z$1.string().max(120),description:z$1.string().max(2e3),category:z$1.enum(r),scheduledStartAt:z$1.iso.datetime(),scheduledEndAt:z$1.iso.datetime(),venueLocation:z$1.string(),visibility:z$1.enum(m),accessModel:z$1.enum(l),ticketPrice:z$1.number().min(0).optional(),maxTickets:z$1.number().min(1).optional(),timezone:z$1.string().default("Africa/Lagos"),replayAccess:z$1.enum(s),retentionDays:z$1.number().default(30),tags:z$1.array(z$1.string()).optional(),geoRestrictions:z$1.record(z$1.string(),z$1.any()).optional()}),Le=U.partial(),_=z$1.object({kind:z$1.enum(d),price:h$1.optional()}),je=z$1.object({id:z$1.uuid(),title:z$1.string(),description:z$1.string(),category:z$1.enum(r),coverImageUrl:z$1.url().optional(),venueLocation:z$1.string(),scheduledStartAt:z$1.iso.datetime(),scheduledEndAt:z$1.iso.datetime(),timezone:z$1.string(),visibility:z$1.enum(m),accessModel:z$1.enum(l),ticketPrice:h$1.nullable(),maxTickets:z$1.number().optional(),eventState:z$1.enum(E),shareableUrl:z$1.url(),hostId:z$1.uuid(),isFeatured:z$1.boolean(),replayAccess:z$1.enum(s),replayAvailableUntil:z$1.iso.datetime().optional(),createdAt:z$1.iso.datetime(),updatedAt:z$1.iso.datetime(),publishedAt:z$1.iso.datetime().optional(),liveStartedAt:z$1.iso.datetime().optional(),liveEndedAt:z$1.iso.datetime().optional()}),i=z$1.object({id:z$1.uuid(),title:z$1.string(),timezone:z$1.string(),coverImageUrl:z$1.url().nullable(),category:z$1.enum(r),scheduledStartLocal:z$1.string(),scheduledEndLocal:z$1.string(),scheduledStart:z$1.iso.datetime(),scheduledEnd:z$1.iso.datetime(),state:z$1.enum(E),accessModel:z$1.enum(l),ticketPrice:h$1.nullable(),isFeatured:z$1.boolean(),hostDisplayName:z$1.string().nullable(),viewerCount:z$1.number().int().min(0),cta:_.optional(),durationMinutes:z$1.number().int().nonnegative().nullable().optional(),viewer:z$1.object({registration:z$1.enum(v),progressPct:z$1.number().min(0).max(100).optional(),canResume:z$1.boolean().optional()})}),Ue=z$1.object({continueWatching:z$1.array(i),liveNow:z$1.array(i),upcoming:z$1.array(i),recommended:z$1.array(i)}),_e=g$1.extend({category:z$1.enum(r).optional(),accessModel:z$1.enum(l).optional(),section:z$1.enum(A).optional(),q:z$1.string().trim().max(80).optional().transform(o=>o&&o.length>0?o:void 0)}),k=z$1.object({mode:z$1.literal("AGGREGATE"),featured:i.nullable(),liveNow:z$1.array(i),upcoming:z$1.array(i),recommended:z$1.array(i)}),O=k$1.extend({mode:z$1.literal("SECTION"),section:z$1.enum(A),items:z$1.array(i)}),ke=z$1.discriminatedUnion("mode",[k,O]),Oe=k$1.extend({items:z$1.array(i)}),Me=z$1.object({callbackUrl:z$1.url().optional()}),we=z$1.object({registration:z$1.object({id:z$1.uuid(),eventId:z$1.uuid(),status:z$1.enum(P),expiresAt:z$1.iso.datetime().nullable()}),paymentIntent:z$1.object({reference:z$1.string(),amount:h$1,checkoutUrl:z$1.url().optional()}).nullable()}),Ve=z$1.object({positionSec:z$1.number().int().min(0).max(1440*60),durationSec:z$1.number().int().min(1).optional()}),M=z$1.object({playbackUrl:z$1.url(),expiresAt:z$1.iso.datetime(),streamStartedAt:z$1.iso.datetime(),dvrWindowSeconds:z$1.number().int().positive()}),w=z$1.object({kind:z$1.literal("LIVE"),playbackUrl:z$1.url(),token:z$1.string(),expiresAt:z$1.iso.datetime(),catchup:M.optional()}),V=z$1.object({kind:z$1.literal("REPLAY"),playbackUrl:z$1.url(),expiresAt:z$1.iso.datetime()}),He=z$1.discriminatedUnion("kind",[w,V]),H=i.extend({startsInSec:z$1.number().int().optional(),liveViewerCount:z$1.number().int().min(0).optional(),liveStartedAt:z$1.iso.datetime().nullable().optional(),replayAvailableUntil:z$1.iso.datetime().nullable().optional(),replayDurationSec:z$1.number().int().min(0).nullable().optional(),watchedPct:z$1.number().min(0).max(100).optional(),hasWatched:z$1.boolean().optional()}),Ye=k$1.extend({tab:z$1.enum(h),items:z$1.array(H)}),Fe=g$1.extend({tab:z$1.enum(h),q:z$1.string().trim().max(80).optional().transform(o=>o&&o.length>0?o:void 0)}),Ge=z$1.object({sessionId:z$1.string()}),Be=z$1.object({ok:z$1.literal(true)}),We=z$1.object({durationSec:z$1.number().int().min(0)}),f=z$1.number({error:o=>o.input===void 0||o.input===null?"Please provide how many days the replay stays available.":"Replay retention must be a valid number of days."}).int("Replay retention must be a whole number of days.").min(1,"Replay must be available for at least 1 day.").max(365,"Replay retention cannot exceed 365 days."),Y=z$1.number({error:o=>o.input===void 0||o.input===null?"Please set a price for the paid replay.":"Replay price must be a valid number."}).positive("Replay price must be greater than 0."),C=z$1.discriminatedUnion("access",[z$1.object({access:z$1.literal(s.INCLUDED),retentionDays:f}),z$1.object({access:z$1.literal(s.PAID_SEPARATELY),retentionDays:f,price:Y}),z$1.object({access:z$1.literal(s.DISABLED)})],{error:o=>o.input===void 0||o.input===null||typeof o.input=="object"&&o.input.access==null?"Please choose a replay access option.":"Invalid replay access option selected."}),F=z$1.enum(f$1),G=z$1.enum(r),N=z$1.enum(m),B=z$1.enum(["LIVE_EDGE","CATCHUP"]),W=z$1.object({step:z$1.literal(1),title:z$1.string().min(3).max(120),description:z$1.string().min(20).max(1200),category:G,scheduledStartLocal:z$1.iso.datetime({local:true,offset:false}),durationMinutes:z$1.number().int().min(5).max(720),coverImageUrl:z$1.any().optional(),timezone:z$1.string(),previewClipUrl:z$1.any().optional(),tags:z$1.array(z$1.string().min(1).max(30)).max(10).optional(),location:z$1.string().max(120).optional()}),q=z$1.object({step:z$1.literal(2),paid:z$1.literal(false),visibility:N,guestEmails:z$1.array(z$1.email()).max(500).optional(),replay:C}),z=z$1.object({step:z$1.literal(2),paid:z$1.literal(true),visibility:N,guestEmails:z$1.array(z$1.email()).max(500).optional(),ticketPrice:z$1.number().positive(),ticketCurrency:F,ticketLimit:z$1.number().int().positive().nullable(),replay:C}),K=z$1.object({step:z$1.literal(3),mode:z$1.literal(y.SELF)}),Q=z$1.object({step:z$1.literal(3),mode:z$1.literal(y.HIRE),crewIds:z$1.array(z$1.uuid()).max(5).default([]),notes:z$1.string().max(500).optional()}),qe=z$1.object({deviceType:z$1.string().max(50).optional(),mode:B.default("LIVE_EDGE").optional()}),ze=z$1.object({streamEnabled:z$1.boolean()}).strict(),Ke=z$1.union([W,q,z,K,Q]),R=z$1.string().min(3).max(8),a=z$1.string().regex(/^\d{4}-\d{2}-\d{2}$/,"must be YYYY-MM-DD"),Qe=z$1.object({from:a,to:a,eventId:z$1.uuid().optional(),currency:R.optional()}).strict(),$e=z$1.object({from:a,to:a,currency:R.optional(),pageNumber:z$1.coerce.number().int().min(1).optional(),pageSize:z$1.coerce.number().int().min(1).max(100).optional(),search:z$1.string().trim().min(1).max(100).optional()}).strict(),Xe=z$1.object({from:a,to:a,granularity:z$1.enum(["daily","weekly"]),currency:R.optional()}).strict(),Ze=z$1.object({from:a,to:a,gross:h$1,refunds:h$1,net:h$1,available:h$1,pending:h$1,ticketsSold:z$1.number().int().nonnegative(),avgTicketPrice:h$1,previousPeriodDelta:z$1.object({percentage:z$1.number().nullable(),direction:j$1,gross:h$1}),revenueSplit:z$1.object({hostShare:h$1,platformFee:h$1,crewSalaries:h$1})}).strict(),$=z$1.object({eventId:z$1.uuid(),eventTitle:z$1.string(),gross:h$1,refunds:h$1,net:h$1,firstActivityAt:a,lastActivityAt:a,ticketsSold:z$1.number().int().nonnegative(),status:z$1.enum(["COMPLETED","LIVE","SCHEDULED"])}).strict(),Je=z$1.object({items:z$1.array($),...k$1.shape}).strict(),X=z$1.object({date:a,gross:h$1,refunds:h$1,net:h$1}).strict(),et=z$1.object({granularity:z$1.enum(["daily","weekly"]),points:z$1.array(X)}).strict(),Z=z$1.enum(["ALL","LIVE","UPCOMING","PAST"]),J=z$1.object({id:z$1.uuid(),title:z$1.string(),timezone:z$1.string(),description:z$1.string().nullable(),coverImageUrl:z$1.url().nullable(),category:z$1.enum(r),accessModel:z$1.enum(l),ticketPrice:h$1.nullable(),isFeatured:z$1.boolean(),scheduledStartLocal:z$1.string(),scheduledStart:z$1.iso.datetime(),hostDisplayName:z$1.string().nullable()}),tt=g$1.extend({status:Z.default("ALL"),category:z$1.enum(r).optional(),q:z$1.string().trim().max(100).optional().transform(o=>o&&o.length>0?o:void 0)}),nt=k$1.extend({items:z$1.array(J)}),ee=z$1.object({kind:z$1.literal("TRAILER"),trailerUrl:z$1.string()}),te=z$1.object({kind:z$1.literal("SLATE"),slate:z$1.object({title:z$1.string(),hostDisplayName:z$1.string().nullable(),scheduledStartLocal:z$1.iso.datetime({local:true,offset:false})})}),ne=z$1.discriminatedUnion("kind",[ee,te]),ot=z$1.object({id:z$1.uuid(),title:z$1.string(),description:z$1.string().nullable(),coverImageUrl:z$1.url().nullable(),category:z$1.enum(r),timezone:z$1.string(),scheduledStart:z$1.iso.datetime(),scheduledEnd:z$1.iso.datetime(),scheduledStartLocal:z$1.iso.datetime({local:true,offset:false}),scheduledEndLocal:z$1.iso.datetime({local:true,offset:false}),state:z$1.enum(E),accessModel:z$1.enum(l),visibility:z$1.enum(m),ticketPrice:h$1.nullable(),replayAccess:z$1.enum(s),replayAccessFee:h$1.nullable(),isFeatured:z$1.boolean(),hostDisplayName:z$1.string().nullable(),hostBio:z$1.string().nullable(),previewClipUrl:z$1.string().nullable(),remainingTickets:z$1.number().int().nullable(),liveStartedAt:z$1.iso.datetime().nullable(),liveEndedAt:z$1.iso.datetime().nullable(),replayAvailableUntil:z$1.iso.datetime().nullable(),ingestSubstate:z$1.enum(["AWAITING_INGEST","STREAMING"]).nullable(),awaitingIngestContent:ne.nullable()}),it=z$1.object({playbackUrl:z$1.url(),token:z$1.string(),expiresAt:z$1.iso.datetime()}),at=z$1.object({retentionDays:z$1.number().int().min(1).max(90)}),st=z$1.object({eventId:z$1.uuid(),liveEndedAt:z$1.iso.datetime(),retentionDays:z$1.number().int().min(1).max(90),replayAvailableUntil:z$1.iso.datetime()}),rt=z$1.object({granularity:z$1.enum(["daily"]).optional().default("daily"),from:z$1.string().regex(/^\d{4}-\d{2}-\d{2}$/,"from must be YYYY-MM-DD").optional(),to:z$1.string().regex(/^\d{4}-\d{2}-\d{2}$/,"to must be YYYY-MM-DD").optional()}),oe=z$1.object({date:z$1.string(),ticketsSold:z$1.number().int().nonnegative(),revenue:h$1}),ct=z$1.object({eventId:z$1.uuid(),granularity:z$1.enum(["daily"]),from:z$1.string(),to:z$1.string(),points:z$1.array(oe)}),ie=z$1.object({from:z$1.string().regex(/^\d{4}-\d{2}-\d{2}$/,"from must be YYYY-MM-DD").optional(),to:z$1.string().regex(/^\d{4}-\d{2}-\d{2}$/,"to must be YYYY-MM-DD").optional(),eventId:z$1.uuid().optional()}),S=z$1.object({count:z$1.number().int().nonnegative(),pct:z$1.number().min(0).max(1)}),ae=z$1.object({count:z$1.number().int().nonnegative(),percentagePrev:z$1.number().nullable(),direction:j$1}),lt=z$1.object({from:z$1.iso.datetime(),to:z$1.iso.datetime(),currency:z$1.string(),summary:z$1.object({totalViewers:ae,uniqueViewers:z$1.number().int().nonnegative(),liveSpenders:z$1.number().int().nonnegative(),casualViewers:z$1.number().int().nonnegative(),repeatViewers:z$1.number().int().nonnegative(),newThisPeriod:z$1.number().int().nonnegative()}),segments:z$1.object({newViewers:S,returningViewers:S,highValueBuyers:S,casualViewers:S}),revenuePerViewer:z$1.object({total:z$1.number().int().nonnegative(),averageSpend:h$1,percentagePrev:z$1.number().nullable(),direction:j$1,bands:z$1.object({lowSpenders:z$1.number().int().nonnegative(),midSpenders:z$1.number().int().nonnegative(),highSpenders:z$1.number().int().nonnegative()})})}),ut=z$1.object({from:z$1.string().regex(/^\d{4}-\d{2}-\d{2}$/,"from must be YYYY-MM-DD").optional(),to:z$1.string().regex(/^\d{4}-\d{2}-\d{2}$/,"to must be YYYY-MM-DD").optional(),search:z$1.string().trim().min(1).max(120).optional(),...g$1.shape}),se=z$1.object({eventId:z$1.uuid(),eventTitle:z$1.string(),viewers:z$1.number().int().nonnegative(),peakConcurrent:z$1.number().int().nonnegative(),replays:z$1.number().int().nonnegative()}),mt=z$1.object({from:z$1.iso.datetime(),to:z$1.iso.datetime(),items:z$1.array(se),...k$1.shape}),pt=z$1.object({limit:z$1.coerce.number().int().min(1).max(50).optional().default(10)}),re=z$1.object({userId:z$1.uuid(),displayName:z$1.string(),avatarKey:z$1.string().nullable(),totalSpend:h$1,eventCount:z$1.number().int().nonnegative()}),dt=z$1.object({items:z$1.array(re)}),ce=z$1.object({kind:z$1.enum(["TICKET_SOLD","REPLAY_SOLD"]),subjectType:z$1.enum(["Event","PaymentIntent","ReplayPurchase","Booking"]),subjectId:z$1.string(),occurredAt:z$1.number(),payload:z$1.record(z$1.string(),z$1.unknown())}),Et=z$1.object({items:z$1.array(ce),...k$1.shape}),St=z$1.object({from:z$1.iso.datetime(),to:z$1.iso.datetime(),items:z$1.array(z$1.object({country:z$1.string(),viewerCount:z$1.number().int().nonnegative()}))}),bt=z$1.object({from:z$1.iso.datetime(),to:z$1.iso.datetime(),items:z$1.array(z$1.object({deviceType:z$1.string(),viewerCount:z$1.number().int().nonnegative()}))}),gt=z$1.object({from:z$1.iso.datetime(),to:z$1.iso.datetime(),granularity:z$1.enum(["daily"]),points:z$1.array(z$1.object({date:z$1.string(),viewers:z$1.number().int().nonnegative()}))}),yt=ie.extend({granularity:z$1.enum(["daily"]).optional().default("daily")});var ft=z$1.object({eventId:z$1.uuid(),amount:z$1.number().min(0)}),Ct=z$1.object({authorizationUrl:z$1.url(),reference:z$1.string(),accessCode:z$1.string().optional()}),Nt=z$1.object({reference:z$1.string(),checkoutUrl:z$1.url().nullable(),status:z$1.enum(b),expiresAt:z$1.iso.datetime()}),Lt=z$1.object({reference:z$1.string(),status:z$1.enum(b),eventId:z$1.uuid(),amount:h$1,paidAt:z$1.iso.datetime().nullable()}),jt=z$1.object({email:z$1.email()}),le=z$1.object({intent_id:z$1.uuid(),user_id:z$1.uuid(),event_id:z$1.uuid()}).loose(),ue=z$1.object({authorization_code:z$1.string(),bin:z$1.string().nullish(),last4:z$1.string().nullish(),exp_month:z$1.string().nullish(),exp_year:z$1.string().nullish(),channel:z$1.string().nullish(),card_type:z$1.string().nullish(),bank:z$1.string().nullish(),country_code:z$1.string().nullish(),brand:z$1.string().nullish(),reusable:z$1.boolean().nullish(),signature:z$1.string().nullish(),account_name:z$1.string().nullish(),receiver_bank_account_number:z$1.string().nullish(),receiver_bank:z$1.string().nullish()}).loose(),me=z$1.object({id:z$1.number(),first_name:z$1.string().nullish(),last_name:z$1.string().nullish(),email:z$1.email(),customer_code:z$1.string(),phone:z$1.string().nullish(),metadata:z$1.unknown().nullish(),risk_action:z$1.string().nullish(),international_format_phone:z$1.string().nullish()}).loose(),pe=z$1.object({type:z$1.string().nullish(),source:z$1.string().nullish(),entry_point:z$1.string().nullish(),identifier:z$1.string().nullish()}).loose(),Ut=z$1.object({event:z$1.string(),data:z$1.object({id:z$1.number(),domain:z$1.string().optional(),status:z$1.string(),reference:z$1.string(),amount:z$1.number(),message:z$1.string().nullish(),gateway_response:z$1.string().nullish(),paid_at:z$1.string().nullish(),paidAt:z$1.string().nullish(),created_at:z$1.string().nullish(),channel:z$1.string().nullish(),currency:z$1.string(),ip_address:z$1.string().nullish(),fees:z$1.number().nullish(),fees_breakdown:z$1.unknown().nullish(),fees_split:z$1.unknown().nullish(),log:z$1.unknown().nullish(),order_id:z$1.string().nullish(),requested_amount:z$1.number().nullish(),pos_transaction_data:z$1.unknown().nullish(),plan:z$1.object({}).loose().optional(),subaccount:z$1.object({}).loose().optional(),split:z$1.object({}).loose().optional(),metadata:le,authorization:ue.optional(),customer:me.optional(),source:pe.optional()}).loose()}).loose(),_t=z$1.object({qualified:z$1.boolean(),reason:z$1.enum(T)}),kt=z$1.object({reference:z$1.null(),subtotal:h$1,platformFee:h$1,total:h$1,strategyId:z$1.string(),expiresInSec:z$1.number().int().positive()}),de=z$1.object({kind:z$1.literal("TRAILER"),trailerUrl:z$1.url()}),Ee=z$1.object({kind:z$1.literal("SLATE"),slate:z$1.object({title:z$1.string(),hostDisplayName:z$1.string().nullable(),scheduledStartLocal:z$1.iso.datetime({local:true,offset:false})})}),Se=z$1.discriminatedUnion("kind",[de,Ee]),Ot=z$1.object({id:z$1.uuid(),title:z$1.string(),description:z$1.string().nullable(),coverImageUrl:z$1.string().nullable(),category:z$1.string(),timezone:z$1.string(),scheduledStart:z$1.iso.datetime(),scheduledEnd:z$1.iso.datetime(),scheduledStartLocal:z$1.iso.datetime({local:true,offset:false}),scheduledEndLocal:z$1.iso.datetime({local:true,offset:false}),state:z$1.string(),accessModel:z$1.string(),visibility:z$1.string(),ticketPrice:h$1.nullable(),replayAccess:z$1.enum(s),replayAccessFee:h$1.nullable(),isFeatured:z$1.boolean(),hostDisplayName:z$1.string().nullable(),hostBio:z$1.string().nullable(),previewClipUrl:z$1.string().nullable(),remainingTickets:z$1.number().int().nullable(),liveStartedAt:z$1.iso.datetime().nullable(),liveEndedAt:z$1.iso.datetime().nullable(),replayAvailableUntil:z$1.iso.datetime().nullable(),ingestSubstate:z$1.enum(["AWAITING_INGEST","STREAMING"]).nullable(),awaitingIngestContent:Se.nullable(),viewer:z$1.object({entitlement:z$1.enum(x),purchaseCta:z$1.enum(d),activeIntentReference:z$1.string().optional(),requiresAccessCheck:z$1.boolean().optional()})}),Mt=z$1.object({url:z$1.url(),expiresAt:z$1.iso.datetime(),contentType:z$1.string().min(1)}),be=z$1.object({reference:z$1.string(),amount:h$1,checkoutUrl:z$1.string().optional()}),ge=z$1.object({id:z$1.string(),eventId:z$1.string(),status:z$1.enum(g),source:z$1.enum(g),amount:h$1,paymentExpiresAt:z$1.iso.datetime().nullable(),expiresAt:z$1.iso.datetime().nullable(),paidAt:z$1.iso.datetime().nullable()}),wt=z$1.object({replayPurchase:ge,payment:be.nullable()}),Vt=z$1.object({bankCode:z$1.string().trim().regex(/^\d{3,10}$/,"bankCode must be a 3\u201310 digit numeric string"),accountNumber:z$1.string().trim().regex(/^\d{10}$/,"accountNumber must be a 10-digit NUBAN")}),Ht=z$1.object({bankName:z$1.string().nullable(),bankCode:z$1.string().nullable(),accountNumberMasked:z$1.string().nullable(),accountName:z$1.string().nullable(),verifiedAt:z$1.string().nullable(),updatedAt:z$1.string().nullable()}),Yt=z$1.object({pin:z$1.string().trim().regex(/^\d{4,8}$/,"pin must be 4-8 digits")}),Ft=o=>z$1.object({status:z$1.union([z$1.boolean(),z$1.string()]).optional(),message:z$1.string().optional(),data:o}),Gt=z$1.object({status:z$1.union([z$1.boolean(),z$1.string()]).optional(),message:z$1.string().optional(),data:z$1.unknown().optional()}),L=z$1.union([z$1.number(),z$1.string()]).transform(o=>BigInt(o)),j=z$1.string(),Bt=z$1.object({id:z$1.string().min(1),status:z$1.string().min(1),amount:L.optional(),currency:j.optional(),funding:z$1.object({account_number:z$1.string(),account_name:z$1.string(),bank_name:z$1.string(),expires_at:z$1.string().optional()}).partial().optional()}),Wt=z$1.object({id:z$1.string().optional(),transaction_id:z$1.string().optional(),reference:z$1.string().optional(),status:z$1.string().min(1)}),qt=z$1.object({id:z$1.string().optional(),transfer_id:z$1.string().optional(),status:z$1.string().min(1),requires_otp:z$1.boolean().optional()}),zt=z$1.object({id:z$1.string().optional(),refund_id:z$1.string().optional(),flag_id:z$1.string().optional(),status:z$1.string().min(1)}),Kt=z$1.object({id:z$1.string().min(1),status:z$1.string().min(1),amount:L.optional(),currency:j.optional(),updated_at:z$1.string().optional()}),Qt=z$1.object({id:z$1.string(),reference:z$1.string(),state:z$1.enum(D),amount:h$1,bankName:z$1.string().nullable(),accountNumberMasked:z$1.string(),accountName:z$1.string(),requestedAt:z$1.string(),settledAt:z$1.string().nullable(),failedAt:z$1.string().nullable(),failureReason:z$1.string().nullable()});export{_ as $,dt as $a,Lt as A,qe as Aa,jt as B,ze as Ba,Ut as C,Ke as Ca,_t as D,Qe as Da,kt as E,$e as Ea,de as F,Xe as Fa,Ee as G,Ze as Ga,Se as H,$ as Ha,Ot as I,Je as Ia,Mt as J,X as Ja,be as K,et as Ka,ge as L,Z as La,wt as M,J as Ma,Vt as N,tt as Na,Ht as O,nt as Oa,Yt as P,ot as Pa,Ft as Q,it as Qa,Gt as R,at as Ra,L as S,st as Sa,Bt as T,rt as Ta,Wt as U,oe as Ua,qt as V,ct as Va,zt as W,ie as Wa,Kt as X,lt as Xa,Qt as Y,ut as Ya,U as Z,mt as Za,Le as _,pt as _a,s as a,je as aa,Et as ab,m as b,i as ba,St as bb,l as c,Ue as ca,bt as cb,y as d,_e as da,gt as db,Te as e,k as ea,yt as eb,E as f,O as fa,r as g,ke as ga,P as h,Oe as ha,xe as i,Me as ia,v as j,we as ja,A as k,Ve as ka,h as l,M as la,De as m,w as ma,ye as n,V as na,Ae as o,He as oa,he as p,H as pa,b as q,Ye as qa,g as r,Fe as ra,T as s,Ge as sa,x as t,Be as ta,Re as u,We as ua,d as v,C as va,D as w,F as wa,ft as x,G as xa,Ct as y,N as ya,Nt as z,B as za};//# sourceMappingURL=chunk-US4H7HB4.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-US4H7HB4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/payment/payment.enums.ts","../src/event/event.enums.ts","../src/event/event.schemas.ts","../src/payment/payment.schemas.ts"],"names":["TransactionType","TransactionStatus","PayoutStatus","PaymentStatus","ReplayPurchaseStatus","AccessReason","EntitlementStatus","PlatformChargeStatus","CtaMode","PayoutState","EventReplayAccess","EventVisibility","EventAccessModel","EventProductionMode","EventAllowListType","EventState","EventCategory","RegistrationStatus","RegistrationScope","ViewerRegistrationView","DiscoverEvents","MyEventsTabSchema","EntitlementKind","CreateEventRequestSchema","z","UpdateEventRequestSchema","EventCardCtaSchema","MoneySchema","EventResponseSchema","EventCardSchema","ViewerHomeResponseSchema","SearchEventsQuerySchema","PaginationParamsSchema","value","DiscoverAggregateResponseSchema","DiscoverSectionResponseSchema","PaginationResponseSchema","DiscoverResponseSchema","PagedEventsResponseSchema","RegisterForEventRequestSchema","RegisterForEventResponseSchema","UpdateWatchProgressRequestSchema","LiveCatchupSchema","LivePlaybackSchema","ReplayPlaybackSchema","PlaybackResponseSchema","MyEventCardSchema","MyEventsResponseSchema","MyEventsQuerySchema","StartViewingSessionResponseSchema","ViewingSessionHeartbeatResponseSchema","EndViewingSessionResponseSchema","retentionDaysSchema","issue","replayPriceSchema","ReplaySchema","CurrencySchema","CurrencyEnum","CategorySchema","VisibilitySchema","ViewingSessionModeSchema","Step1Schema","Step2FreeSchema","Step2PaidSchema","Step3SelfSchema","Step3HireSchema","StartViewingSessionRequestSchema","PatchStreamControlRequestSchema","HostEventWizardPatchSchema","Currency","IsoDateOnly","HostEarningsSummaryQuerySchema","HostEarningsBreakdownQuerySchema","HostEarningsTimeseriesQuerySchema","HostEarningsSummaryResponseSchema","DeltaDirectionSchema","HostEarningsBreakdownItemSchema","HostEarningsBreakdownResponseSchema","HostEarningsTimeseriesPointSchema","HostEarningsTimeseriesResponseSchema","PublicEventStatusSchema","PublicEventCardSchema","PublicEventsQuerySchema","PublicEventsResponseSchema","PublicTrailerSchema","PublicSlateSchema","PublicAwaitingIngestSchema","PublicEventDetailResponseSchema","HostLivePreviewSchema","PatchReplayPeriodRequestSchema","PatchReplayPeriodResponseSchema","HostEventTicketSalesTimelineQuerySchema","HostEventTicketSalesTimelinePointSchema","HostEventTicketSalesTimelineResponseSchema","HostAudienceQuerySchema","CohortSegmentSchema","CountWithPrevDeltaSchema","HostAudienceSummaryResponseSchema","HostAudienceEngagementQuerySchema","HostAudienceEngagementItemSchema","HostAudienceEngagementResponseSchema","HostAudienceTopViewersQuerySchema","TopViewerItemSchema","HostAudienceTopViewersResponseSchema","ActivityFeedItemSchema","HostAudienceActivityFeedResponseSchema","HostAudienceGeoResponseSchema","HostAudienceDevicesResponseSchema","HostAudienceViewerActivityResponseSchema","HostAudienceViewerActivityQuerySchema","InitiatePaymentRequestSchema","InitiatePaymentResponseSchema","CreatePurchaseResponseSchema","PurchaseStatusResponseSchema","AccessCheckRequestSchema","PaystackMetadataSchema","PaystackAuthorizationSchema","PaystackCustomerSchema","PaystackSourceSchema","PaystackWebhookSchema","AccessCheckResponseSchema","PricingQuoteResponseSchema","TrailerSchema","SlateSchema","AwaitingIngestSchema","ViewerEventDetailResponseSchema","ReceiptUrlResponseSchema","ReplayPurchasePaymentSchema","ReplayPurchaseRowSchema","ReplayPurchaseResponseSchema","UpdateSettlementBodySchema","SettlementAccountViewSchema","RequestWithdrawalBodySchema","PandascrowEnvelopeSchema","data","OuterEnvelopeSchema","MinorAmountSchema","v","CurrencyStr","OnetimeEscrowDataSchema","WalletFundDataSchema","MarkCompleteDataSchema","RefundFlagDataSchema","EscrowStatusDataSchema","PayoutViewSchema"],"mappings":"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","file":"chunk-US4H7HB4.mjs","sourcesContent":["export const TransactionType = {\n TICKET_PURCHASE: 'TICKET_PURCHASE',\n BOOKING_ESCROW: 'BOOKING_ESCROW',\n ESCROW_RELEASE: 'ESCROW_RELEASE',\n PLATFORM_FEE: 'PLATFORM_FEE',\n PRODUCER_PAYOUT: 'PRODUCER_PAYOUT',\n HOST_PAYOUT: 'HOST_PAYOUT',\n REFUND: 'REFUND',\n} as const;\nexport type TransactionType = (typeof TransactionType)[keyof typeof TransactionType];\n\nexport const TransactionStatus = {\n PENDING: 'PENDING',\n SUCCESS: 'SUCCESS',\n FAILED: 'FAILED',\n REVERSED: 'REVERSED',\n} as const;\nexport type TransactionStatus = (typeof TransactionStatus)[keyof typeof TransactionStatus];\n\nexport const PayoutStatus = {\n PENDING: 'PENDING',\n PROCESSING: 'PROCESSING',\n COMPLETED: 'COMPLETED',\n FAILED: 'FAILED',\n} as const;\nexport type PayoutStatus = (typeof PayoutStatus)[keyof typeof PayoutStatus];\n\nexport const PaymentStatus = {\n REQUIRES_PAYMENT: 'REQUIRES_PAYMENT',\n PROCESSING: 'PROCESSING',\n SUCCEEDED: 'SUCCEEDED',\n FAILED: 'FAILED',\n CANCELLED: 'CANCELLED',\n REFUNDED: 'REFUNDED',\n} as const;\nexport type PaymentStatus = (typeof PaymentStatus)[keyof typeof PaymentStatus];\n\nexport const ReplayPurchaseStatus = {\n PENDING_PAYMENT: 'PENDING_PAYMENT',\n ACTIVE: 'ACTIVE',\n EXPIRED: 'EXPIRED',\n REFUNDED: 'REFUNDED',\n} as const;\nexport type ReplayPurchaseStatus = (typeof ReplayPurchaseStatus)[keyof typeof ReplayPurchaseStatus];\n\nexport const AccessReason = {\n REGISTERED: 'REGISTERED',\n PUBLIC: 'PUBLIC',\n EMAIL_MATCH: 'EMAIL_MATCH',\n DOMAIN_MATCH: 'DOMAIN_MATCH',\n USER_ID_MATCH: 'USER_ID_MATCH',\n PHONE_MATCH: 'PHONE_MATCH',\n NOT_ON_ALLOWLIST: 'NOT_ON_ALLOWLIST',\n} as const;\nexport type AccessReason = (typeof AccessReason)[keyof typeof AccessReason];\n\nexport const EntitlementStatus = {\n NONE: 'NONE',\n PENDING_PAYMENT: 'PENDING_PAYMENT',\n ACTIVE: 'ACTIVE',\n REFUNDED: 'REFUNDED',\n CANCELLED: 'CANCELLED',\n} as const;\nexport type EntitlementStatus = (typeof EntitlementStatus)[keyof typeof EntitlementStatus];\n\nexport const PlatformChargeStatus = {\n PENDING: 'PENDING',\n SETTLED: 'SETTLED',\n WAIVED: 'WAIVED',\n VOIDED: 'VOIDED',\n REFUNDED: 'REFUNDED',\n} as const;\nexport type PlatformChargeStatus = (typeof PlatformChargeStatus)[keyof typeof PlatformChargeStatus];\n\nexport const CtaMode = {\n BUY_TICKET: 'BUY_TICKET',\n COMPLETE_PAYMENT: 'COMPLETE_PAYMENT',\n WATCH_NOW: 'WATCH_NOW',\n WATCH_REPLAY: 'WATCH_REPLAY',\n REGISTER_FREE: 'REGISTER_FREE',\n WAITLIST: 'WAITLIST',\n UNAVAILABLE: 'UNAVAILABLE',\n REPLAY_PROCESSING: 'REPLAY_PROCESSING',\n} as const;\nexport type CtaMode = (typeof CtaMode)[keyof typeof CtaMode];\n\nexport const PayoutState = {\n REQUESTED: 'REQUESTED',\n AUTHORIZED: 'AUTHORIZED',\n SENT: 'SENT',\n SETTLED: 'SETTLED',\n FAILED: 'FAILED',\n REVERSED: 'REVERSED',\n} as const;\nexport type PayoutState = (typeof PayoutState)[keyof typeof PayoutState];\n","export const EventReplayAccess = {\n INCLUDED: 'INCLUDED',\n DISABLED: 'DISABLED',\n PAID_SEPARATELY: 'PAID_SEPARATELY',\n} as const;\nexport type EventReplayAccess = (typeof EventReplayAccess)[keyof typeof EventReplayAccess];\n\nexport const EventVisibility = {\n PUBLIC: 'PUBLIC',\n PRIVATE: 'PRIVATE',\n UNLISTED: 'UNLISTED',\n} as const;\nexport type EventVisibility = (typeof EventVisibility)[keyof typeof EventVisibility];\n\nexport const EventAccessModel = {\n FREE: 'FREE',\n PAID: 'PAID',\n SUBSCRIPTION: 'SUBSCRIPTION',\n} as const;\nexport type EventAccessModel = (typeof EventAccessModel)[keyof typeof EventAccessModel];\n\nexport const EventProductionMode = {\n SELF: 'SELF',\n HIRE: 'HIRE',\n} as const;\nexport type EventProductionMode = (typeof EventProductionMode)[keyof typeof EventProductionMode];\n\n/**\n * Enum for event allow list type.\n */\nexport const EventAllowListType = {\n EMAIL: 'EMAIL',\n DOMAIN: 'DOMAIN',\n PHONENUMBER: 'PHONENUMBER',\n USERID: 'USERID',\n} as const;\nexport type EventAllowListType = (typeof EventAllowListType)[keyof typeof EventAllowListType];\n\nexport const EventState = {\n DRAFT: 'DRAFT',\n SCHEDULED: 'SCHEDULED',\n READY_FOR_TEST: 'READY_FOR_TEST',\n LIVE: 'LIVE',\n ENDED: 'ENDED',\n REPLAY_READY: 'REPLAY_READY',\n ARCHIVED: 'ARCHIVED',\n CANCELLED: 'CANCELLED',\n PAUSED: 'PAUSED',\n FAILED: 'FAILED',\n} as const;\nexport type EventState = (typeof EventState)[keyof typeof EventState];\n\nexport const EventCategory = {\n ART: 'ART',\n TECHNOLOGY: 'TECHNOLOGY',\n SCIENCE: 'SCIENCE',\n TRAVEL: 'TRAVEL',\n HISTORY: 'HISTORY',\n LITERATURE: 'LITERATURE',\n COOKING: 'COOKING',\n FITNESS: 'FITNESS',\n PHOTOGRAPHY: 'PHOTOGRAPHY',\n GARDENING: 'GARDENING',\n EDUCATION: 'EDUCATION',\n FASHION: 'FASHION',\n MOVIES: 'MOVIES',\n SPORTS: 'SPORTS',\n POLITICS: 'POLITICS',\n HEALTH: 'HEALTH',\n GAMING: 'GAMING',\n FINANCE: 'FINANCE',\n NATURE: 'NATURE',\n CONCERT: 'CONCERT',\n FESTIVAL: 'FESTIVAL',\n WEDDING: 'WEDDING',\n CORPORATE: 'CORPORATE',\n RELIGIOUS: 'RELIGIOUS',\n BIRTHDAY: 'BIRTHDAY',\n PARTY: 'PARTY',\n OTHER: 'OTHER',\n} as const;\nexport type EventCategory = (typeof EventCategory)[keyof typeof EventCategory];\n\nexport const RegistrationStatus = {\n PENDING_PAYMENT: 'PENDING_PAYMENT',\n ACTIVE: 'ACTIVE',\n CANCELLED: 'CANCELLED',\n REFUNDED: 'REFUNDED',\n EXPIRED: 'EXPIRED',\n};\nexport type RegistrationStatus = (typeof RegistrationStatus)[keyof typeof RegistrationStatus];\nexport const RegistrationScope = {\n FREE_RSVP: 'FREE_RSVP',\n PAID_TICKET: 'PAID_TICKET',\n INVITE: 'INVITE',\n};\nexport type RegistrationScope = (typeof RegistrationScope)[keyof typeof RegistrationScope];\n\nexport const ViewerRegistrationView = {\n ACTIVE: 'ACTIVE',\n PENDING: 'PENDING',\n NONE: 'NONE',\n};\nexport type ViewerRegistrationView =\n (typeof ViewerRegistrationView)[keyof typeof ViewerRegistrationView];\n\nexport const DiscoverEvents = {\n UPCOMING: 'UPCOMING',\n LIVE: 'LIVE',\n RECOMMENDED: 'RECOMMENDED',\n};\nexport type DiscoverEvents = (typeof DiscoverEvents)[keyof typeof DiscoverEvents];\n\nexport const MyEventsTabSchema = {\n UPCOMING: 'UPCOMING',\n LIVE: 'LIVE',\n PAST: 'PAST',\n};\nexport type MyEventsTabSchema = (typeof MyEventsTabSchema)[keyof typeof MyEventsTabSchema];\n\nexport const EntitlementKind = {\n REGISTRATION: 'REGISTRATION',\n REPLAY_PURCHASE: 'REPLAY_PURCHASE',\n} as const;\nexport type EntitlementKind = (typeof EntitlementKind)[keyof typeof EntitlementKind];\n","import { z } from 'zod';\nimport {\n CurrencyEnum,\n DeltaDirectionSchema,\n MoneySchema,\n PaginationParamsSchema,\n PaginationResponseSchema,\n} from '../common';\nimport { CtaMode } from '../payment';\nimport {\n DiscoverEvents,\n EventAccessModel,\n EventCategory,\n EventProductionMode,\n EventReplayAccess,\n EventState,\n EventVisibility,\n MyEventsTabSchema,\n RegistrationStatus,\n ViewerRegistrationView,\n} from './event.enums';\n\nexport const CreateEventRequestSchema = z.object({\n title: z.string().max(120),\n description: z.string().max(2000),\n category: z.enum(EventCategory),\n scheduledStartAt: z.iso.datetime(),\n scheduledEndAt: z.iso.datetime(),\n venueLocation: z.string(),\n visibility: z.enum(EventVisibility),\n accessModel: z.enum(EventAccessModel),\n ticketPrice: z.number().min(0).optional(),\n maxTickets: z.number().min(1).optional(),\n timezone: z.string().default('Africa/Lagos'),\n replayAccess: z.enum(EventReplayAccess),\n retentionDays: z.number().default(30),\n tags: z.array(z.string()).optional(),\n geoRestrictions: z.record(z.string(), z.any()).optional(),\n});\n\nexport const UpdateEventRequestSchema = CreateEventRequestSchema.partial();\n\nexport const EventCardCtaSchema = z.object({\n kind: z.enum(CtaMode),\n price: MoneySchema.optional(),\n});\n\nexport const EventResponseSchema = z.object({\n id: z.uuid(),\n title: z.string(),\n description: z.string(),\n category: z.enum(EventCategory),\n coverImageUrl: z.url().optional(),\n venueLocation: z.string(),\n scheduledStartAt: z.iso.datetime(),\n scheduledEndAt: z.iso.datetime(),\n timezone: z.string(),\n visibility: z.enum(EventVisibility),\n accessModel: z.enum(EventAccessModel),\n ticketPrice: MoneySchema.nullable(),\n maxTickets: z.number().optional(),\n eventState: z.enum(EventState),\n shareableUrl: z.url(),\n hostId: z.uuid(),\n isFeatured: z.boolean(),\n replayAccess: z.enum(EventReplayAccess),\n replayAvailableUntil: z.iso.datetime().optional(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n publishedAt: z.iso.datetime().optional(),\n liveStartedAt: z.iso.datetime().optional(),\n liveEndedAt: z.iso.datetime().optional(),\n});\n\nexport const EventCardSchema = z.object({\n id: z.uuid(),\n title: z.string(),\n timezone: z.string(),\n coverImageUrl: z.url().nullable(),\n category: z.enum(EventCategory),\n scheduledStartLocal: z.string(),\n scheduledEndLocal: z.string(),\n scheduledStart: z.iso.datetime(),\n scheduledEnd: z.iso.datetime(),\n state: z.enum(EventState),\n accessModel: z.enum(EventAccessModel),\n ticketPrice: MoneySchema.nullable(),\n isFeatured: z.boolean(),\n hostDisplayName: z.string().nullable(),\n viewerCount: z.number().int().min(0),\n cta: EventCardCtaSchema.optional(),\n durationMinutes: z.number().int().nonnegative().nullable().optional(),\n viewer: z.object({\n registration: z.enum(ViewerRegistrationView),\n progressPct: z.number().min(0).max(100).optional(),\n canResume: z.boolean().optional(),\n }),\n});\n\nexport const ViewerHomeResponseSchema = z.object({\n continueWatching: z.array(EventCardSchema),\n liveNow: z.array(EventCardSchema),\n upcoming: z.array(EventCardSchema),\n recommended: z.array(EventCardSchema),\n});\n\nexport const SearchEventsQuerySchema = PaginationParamsSchema.extend({\n category: z.enum(EventCategory).optional(),\n accessModel: z.enum(EventAccessModel).optional(),\n section: z.enum(DiscoverEvents).optional(),\n q: z\n .string()\n .trim()\n .max(80)\n .optional()\n .transform((value) => (value && value.length > 0 ? value : undefined)),\n});\n\nexport const DiscoverAggregateResponseSchema = z.object({\n mode: z.literal('AGGREGATE'),\n featured: EventCardSchema.nullable(),\n liveNow: z.array(EventCardSchema),\n upcoming: z.array(EventCardSchema),\n recommended: z.array(EventCardSchema),\n});\n\nexport const DiscoverSectionResponseSchema = PaginationResponseSchema.extend({\n mode: z.literal('SECTION'),\n section: z.enum(DiscoverEvents),\n items: z.array(EventCardSchema),\n});\n\nexport const DiscoverResponseSchema = z.discriminatedUnion('mode', [\n DiscoverAggregateResponseSchema,\n DiscoverSectionResponseSchema,\n]);\n\nexport const PagedEventsResponseSchema = PaginationResponseSchema.extend({\n items: z.array(EventCardSchema),\n});\n\nexport const RegisterForEventRequestSchema = z.object({\n callbackUrl: z.url().optional(),\n});\n\nexport const RegisterForEventResponseSchema = z.object({\n registration: z.object({\n id: z.uuid(),\n eventId: z.uuid(),\n status: z.enum(RegistrationStatus),\n expiresAt: z.iso.datetime().nullable(),\n }),\n paymentIntent: z\n .object({\n reference: z.string(),\n amount: MoneySchema,\n checkoutUrl: z.url().optional(),\n })\n .nullable(),\n});\n\nexport const UpdateWatchProgressRequestSchema = z.object({\n positionSec: z\n .number()\n .int()\n .min(0)\n .max(24 * 60 * 60),\n durationSec: z.number().int().min(1).optional(),\n});\n\nexport const LiveCatchupSchema = z.object({\n playbackUrl: z.url(),\n expiresAt: z.iso.datetime(),\n streamStartedAt: z.iso.datetime(),\n dvrWindowSeconds: z.number().int().positive(),\n});\n\nexport const LivePlaybackSchema = z.object({\n kind: z.literal('LIVE'),\n playbackUrl: z.url(),\n token: z.string(),\n expiresAt: z.iso.datetime(),\n catchup: LiveCatchupSchema.optional(),\n});\n\nexport const ReplayPlaybackSchema = z.object({\n kind: z.literal('REPLAY'),\n playbackUrl: z.url(),\n expiresAt: z.iso.datetime(),\n});\n\n// Union schema for runtime validation (e.g. ZodValidationPipe)\nexport const PlaybackResponseSchema = z.discriminatedUnion('kind', [\n LivePlaybackSchema,\n ReplayPlaybackSchema,\n]);\n\nexport const MyEventCardSchema = EventCardSchema.extend({\n // Upcoming\n startsInSec: z.number().int().optional(),\n // Live\n liveViewerCount: z.number().int().min(0).optional(),\n liveStartedAt: z.iso.datetime().nullable().optional(),\n // Past\n replayAvailableUntil: z.iso.datetime().nullable().optional(),\n replayDurationSec: z.number().int().min(0).nullable().optional(),\n watchedPct: z.number().min(0).max(100).optional(),\n hasWatched: z.boolean().optional(),\n});\n\nexport const MyEventsResponseSchema = PaginationResponseSchema.extend({\n tab: z.enum(MyEventsTabSchema),\n items: z.array(MyEventCardSchema),\n});\n\nexport const MyEventsQuerySchema = PaginationParamsSchema.extend({\n tab: z.enum(MyEventsTabSchema),\n q: z\n .string()\n .trim()\n .max(80)\n .optional()\n .transform((value) => (value && value.length > 0 ? value : undefined)),\n});\n\nexport const StartViewingSessionResponseSchema = z.object({\n sessionId: z.string(),\n});\n\nexport const ViewingSessionHeartbeatResponseSchema = z.object({\n ok: z.literal(true),\n});\n\nexport const EndViewingSessionResponseSchema = z.object({\n durationSec: z.number().int().min(0),\n});\n\nconst retentionDaysSchema = z\n .number({\n error: (issue) =>\n issue.input === undefined || issue.input === null\n ? 'Please provide how many days the replay stays available.'\n : 'Replay retention must be a valid number of days.',\n })\n .int('Replay retention must be a whole number of days.')\n .min(1, 'Replay must be available for at least 1 day.')\n .max(365, 'Replay retention cannot exceed 365 days.');\n\nconst replayPriceSchema = z\n .number({\n error: (issue) =>\n issue.input === undefined || issue.input === null\n ? 'Please set a price for the paid replay.'\n : 'Replay price must be a valid number.',\n })\n .positive('Replay price must be greater than 0.');\n\nexport const ReplaySchema = z.discriminatedUnion(\n 'access',\n [\n z.object({\n access: z.literal(EventReplayAccess.INCLUDED),\n retentionDays: retentionDaysSchema,\n }),\n z.object({\n access: z.literal(EventReplayAccess.PAID_SEPARATELY),\n retentionDays: retentionDaysSchema,\n price: replayPriceSchema,\n }),\n z.object({\n access: z.literal(EventReplayAccess.DISABLED),\n }),\n ],\n {\n error: (issue) =>\n issue.input === undefined ||\n issue.input === null ||\n (typeof issue.input === 'object' && (issue.input as { access?: unknown }).access == null)\n ? 'Please choose a replay access option.'\n : 'Invalid replay access option selected.',\n },\n);\n\nexport const CurrencySchema = z.enum(CurrencyEnum);\nexport const CategorySchema = z.enum(EventCategory);\nexport const VisibilitySchema = z.enum(EventVisibility);\n\nexport const ViewingSessionModeSchema = z.enum(['LIVE_EDGE', 'CATCHUP']);\n\nconst Step1Schema = z.object({\n step: z.literal(1),\n title: z.string().min(3).max(120),\n description: z.string().min(20).max(1200),\n category: CategorySchema,\n scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n durationMinutes: z.number().int().min(5).max(720),\n coverImageUrl: z.any().optional(),\n timezone: z.string(),\n previewClipUrl: z.any().optional(),\n tags: z.array(z.string().min(1).max(30)).max(10).optional(),\n location: z.string().max(120).optional(),\n});\n\nconst Step2FreeSchema = z.object({\n step: z.literal(2),\n paid: z.literal(false),\n visibility: VisibilitySchema,\n guestEmails: z.array(z.email()).max(500).optional(),\n replay: ReplaySchema,\n});\n\nconst Step2PaidSchema = z.object({\n step: z.literal(2),\n paid: z.literal(true),\n visibility: VisibilitySchema,\n guestEmails: z.array(z.email()).max(500).optional(),\n ticketPrice: z.number().positive(),\n ticketCurrency: CurrencySchema,\n ticketLimit: z.number().int().positive().nullable(),\n replay: ReplaySchema,\n});\n\nconst Step3SelfSchema = z.object({\n step: z.literal(3),\n mode: z.literal(EventProductionMode.SELF),\n});\n\nconst Step3HireSchema = z.object({\n step: z.literal(3),\n mode: z.literal(EventProductionMode.HIRE),\n /**\n * Legacy Direct Hire: non-empty `crewIds` still creates REQUESTED bookings\n * via `createForEvent`. Assign Role FE may send `[]` and use\n * `/crew-assignments` instead (booking only on producer accept).\n */\n crewIds: z.array(z.uuid()).max(5).default([]),\n notes: z.string().max(500).optional(),\n});\n\nexport const StartViewingSessionRequestSchema = z.object({\n deviceType: z.string().max(50).optional(),\n mode: ViewingSessionModeSchema.default('LIVE_EDGE').optional(),\n});\n\nexport const PatchStreamControlRequestSchema = z\n .object({\n streamEnabled: z.boolean(),\n })\n .strict();\n\nexport const HostEventWizardPatchSchema = z.union([\n Step1Schema,\n Step2FreeSchema,\n Step2PaidSchema,\n Step3SelfSchema,\n Step3HireSchema,\n]);\n\nconst Currency = z.string().min(3).max(8);\n\nconst IsoDateOnly = z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'must be YYYY-MM-DD');\n\n// ─── Query DTOs ───────────────────────────────────────────────────\n\nexport const HostEarningsSummaryQuerySchema = z\n .object({\n from: IsoDateOnly,\n to: IsoDateOnly,\n eventId: z.uuid().optional(),\n currency: Currency.optional(),\n })\n .strict();\n\nexport const HostEarningsBreakdownQuerySchema = z\n .object({\n from: IsoDateOnly,\n to: IsoDateOnly,\n currency: Currency.optional(),\n pageNumber: z.coerce.number().int().min(1).optional(),\n pageSize: z.coerce.number().int().min(1).max(100).optional(),\n search: z.string().trim().min(1).max(100).optional(),\n })\n .strict();\n\nexport const HostEarningsTimeseriesQuerySchema = z\n .object({\n from: IsoDateOnly,\n to: IsoDateOnly,\n granularity: z.enum(['daily', 'weekly']),\n currency: Currency.optional(),\n })\n .strict();\n\n// ─── Response DTOs ─────────────────────────────────────────────────\n\n/**\n * Earnings summary card. Each money field is a MoneyDto per\n * MONEY_MULTI_CURRENCY.md §4 (amount + currency colocated). The\n * previously-top-level `currency` is gone — every amount carries its\n * unit so the FE never has to remember which currency applies where.\n */\nexport const HostEarningsSummaryResponseSchema = z\n .object({\n from: IsoDateOnly,\n to: IsoDateOnly,\n /** Host's take of ticket revenue in the range. */\n gross: MoneySchema,\n /** Refunds reversed in the range. */\n refunds: MoneySchema,\n /** gross − refunds. */\n net: MoneySchema,\n /** Live withdrawable balance from the ledger (not the rollup). */\n available: MoneySchema,\n /** Live HOST_PENDING balance from the ledger (not the rollup). */\n pending: MoneySchema,\n ticketsSold: z.number().int().nonnegative(),\n avgTicketPrice: MoneySchema,\n previousPeriodDelta: z.object({\n percentage: z.number().nullable(),\n /**\n * Direction of the change vs the prior range. Always defined\n * (unlike `percentage`, which is null when prior gross was zero).\n */\n direction: DeltaDirectionSchema,\n /** Prior range gross (MoneyDto). */\n gross: MoneySchema,\n }),\n revenueSplit: z.object({\n hostShare: MoneySchema,\n platformFee: MoneySchema,\n crewSalaries: MoneySchema,\n }),\n })\n .strict();\n\nexport const HostEarningsBreakdownItemSchema = z\n .object({\n eventId: z.uuid(),\n eventTitle: z.string(),\n gross: MoneySchema,\n refunds: MoneySchema,\n net: MoneySchema,\n /** Earliest day the event had ledger activity in this range. */\n firstActivityAt: IsoDateOnly,\n /** Latest day the event had ledger activity in this range. */\n lastActivityAt: IsoDateOnly,\n ticketsSold: z.number().int().nonnegative(),\n status: z.enum(['COMPLETED', 'LIVE', 'SCHEDULED']),\n })\n .strict();\n\nexport const HostEarningsBreakdownResponseSchema = z\n .object({\n items: z.array(HostEarningsBreakdownItemSchema),\n ...PaginationResponseSchema.shape,\n })\n .strict();\n\nexport const HostEarningsTimeseriesPointSchema = z\n .object({\n /** ISO date. For weekly, the Monday-start of the bucket. */\n date: IsoDateOnly,\n gross: MoneySchema,\n refunds: MoneySchema,\n net: MoneySchema,\n })\n .strict();\n\n/**\n * Top-level `currency` dropped — each point's MoneyDto carries its\n * unit (spec §4). Callers rendering a chart title still get the\n * currency via `points[i].gross.currency`.\n */\nexport const HostEarningsTimeseriesResponseSchema = z\n .object({\n granularity: z.enum(['daily', 'weekly']),\n points: z.array(HostEarningsTimeseriesPointSchema),\n })\n .strict();\n\n// --- Public (unauthenticated) event pages ---\nexport const PublicEventStatusSchema = z.enum(['ALL', 'LIVE', 'UPCOMING', 'PAST']);\n\nexport const PublicEventCardSchema = z.object({\n id: z.uuid(),\n title: z.string(),\n timezone: z.string(),\n description: z.string().nullable(),\n coverImageUrl: z.url().nullable(),\n category: z.enum(EventCategory),\n accessModel: z.enum(EventAccessModel),\n ticketPrice: MoneySchema.nullable(),\n isFeatured: z.boolean(),\n scheduledStartLocal: z.string(),\n scheduledStart: z.iso.datetime(),\n hostDisplayName: z.string().nullable(),\n});\n\nexport const PublicEventsQuerySchema = PaginationParamsSchema.extend({\n status: PublicEventStatusSchema.default('ALL'),\n category: z.enum(EventCategory).optional(),\n q: z\n .string()\n .trim()\n .max(100)\n .optional()\n .transform((value) => (value && value.length > 0 ? value : undefined)),\n});\n\nexport const PublicEventsResponseSchema = PaginationResponseSchema.extend({\n items: z.array(PublicEventCardSchema),\n});\n\n// Ingest-substate discriminants for the anonymous player. Defined\n// inline (instead of importing `AwaitingIngestSchema` from\n// `../payment`) to avoid a payment↔event schema cycle — payment.schemas\n// already imports enums from `../event`.\nconst PublicTrailerSchema = z.object({\n kind: z.literal('TRAILER'),\n trailerUrl: z.string(),\n});\nconst PublicSlateSchema = z.object({\n kind: z.literal('SLATE'),\n slate: z.object({\n title: z.string(),\n hostDisplayName: z.string().nullable(),\n scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n }),\n});\nconst PublicAwaitingIngestSchema = z.discriminatedUnion('kind', [\n PublicTrailerSchema,\n PublicSlateSchema,\n]);\n\n// Single-event detail for the anonymous/share landing page. Mirrors\n// ViewerEventDetailResponseSchema but WITHOUT the `viewer` block —\n// entitlement, purchaseCta, activeIntentReference all require a\n// resolved user. Only PUBLIC events surface here; PRIVATE/UNLISTED\n// return 404 so their existence stays hidden.\nexport const PublicEventDetailResponseSchema = z.object({\n id: z.uuid(),\n title: z.string(),\n description: z.string().nullable(),\n coverImageUrl: z.url().nullable(),\n category: z.enum(EventCategory),\n timezone: z.string(),\n scheduledStart: z.iso.datetime(),\n scheduledEnd: z.iso.datetime(),\n scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n scheduledEndLocal: z.iso.datetime({ local: true, offset: false }),\n state: z.enum(EventState),\n accessModel: z.enum(EventAccessModel),\n visibility: z.enum(EventVisibility),\n ticketPrice: MoneySchema.nullable(),\n replayAccess: z.enum(EventReplayAccess),\n replayAccessFee: MoneySchema.nullable(),\n isFeatured: z.boolean(),\n hostDisplayName: z.string().nullable(),\n hostBio: z.string().nullable(),\n previewClipUrl: z.string().nullable(),\n remainingTickets: z.number().int().nullable(),\n liveStartedAt: z.iso.datetime().nullable(),\n liveEndedAt: z.iso.datetime().nullable(),\n replayAvailableUntil: z.iso.datetime().nullable(),\n ingestSubstate: z.enum(['AWAITING_INGEST', 'STREAMING']).nullable(),\n awaitingIngestContent: PublicAwaitingIngestSchema.nullable(),\n});\n\nexport const HostLivePreviewSchema = z.object({\n playbackUrl: z.url(),\n token: z.string(),\n expiresAt: z.iso.datetime(),\n});\n\nexport const PatchReplayPeriodRequestSchema = z.object({\n retentionDays: z.number().int().min(1).max(90),\n});\n\nexport const PatchReplayPeriodResponseSchema = z.object({\n eventId: z.uuid(),\n liveEndedAt: z.iso.datetime(),\n retentionDays: z.number().int().min(1).max(90),\n replayAvailableUntil: z.iso.datetime(),\n});\n\nexport const HostEventTicketSalesTimelineQuerySchema = z.object({\n granularity: z.enum(['daily']).optional().default('daily'),\n from: z\n .string()\n .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'from must be YYYY-MM-DD')\n .optional(),\n to: z\n .string()\n .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'to must be YYYY-MM-DD')\n .optional(),\n});\n\nexport const HostEventTicketSalesTimelinePointSchema = z.object({\n /** UTC-anchored `YYYY-MM-DD` — one point per calendar day in the range. */\n date: z.string(),\n /** SUCCEEDED PaymentIntent count for this day. */\n ticketsSold: z.number().int().nonnegative(),\n /** Per-day SUCCEEDED payment total as a MoneyDto (§4). */\n revenue: MoneySchema,\n});\n\n/**\n * Top-level `currency` dropped — every point's revenue MoneyDto carries\n * its own unit per MONEY_MULTI_CURRENCY.md §4.\n */\nexport const HostEventTicketSalesTimelineResponseSchema = z.object({\n eventId: z.uuid(),\n granularity: z.enum(['daily']),\n from: z.string(),\n to: z.string(),\n points: z.array(HostEventTicketSalesTimelinePointSchema),\n});\n\nexport const HostAudienceQuerySchema = z.object({\n from: z\n .string()\n .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'from must be YYYY-MM-DD')\n .optional(),\n to: z\n .string()\n .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'to must be YYYY-MM-DD')\n .optional(),\n eventId: z.uuid().optional(),\n});\n\n/** Cohort as `{ count, pct }` — pct is a 0..1 ratio, rounded to 4dp. */\nconst CohortSegmentSchema = z.object({\n count: z.number().int().nonnegative(),\n pct: z.number().min(0).max(1),\n});\n\n/**\n * Prior-period comparison tile shape. `percentagePrev` is `null` when\n * the previous period had zero so the FE renders \"N/A\" instead of\n * dividing by zero. Delta rounded to one decimal. `direction` is\n * always defined (derived from raw current vs previous).\n */\nconst CountWithPrevDeltaSchema = z.object({\n count: z.number().int().nonnegative(),\n percentagePrev: z.number().nullable(),\n direction: DeltaDirectionSchema,\n});\n\nexport const HostAudienceSummaryResponseSchema = z.object({\n /** Range echoed back so the FE doesn't have to guess when omitted. */\n from: z.iso.datetime(),\n to: z.iso.datetime(),\n currency: z.string(),\n summary: z.object({\n /**\n * Total viewing-session count across all in-range events plus\n * a percentage delta vs the mirrored prior period.\n */\n totalViewers: CountWithPrevDeltaSchema,\n /** Distinct viewer count across all in-range events. */\n uniqueViewers: z.number().int().nonnegative(),\n /** Distinct viewers who both watched AND paid in the range. */\n liveSpenders: z.number().int().nonnegative(),\n /** Distinct viewers who watched but never paid (any host event). */\n casualViewers: z.number().int().nonnegative(),\n /** Distinct viewers with `>= 2` sessions inside the requested range. */\n repeatViewers: z.number().int().nonnegative(),\n /** Distinct viewers whose first-ever host session lies in-range. */\n newThisPeriod: z.number().int().nonnegative(),\n }),\n segments: z.object({\n /** Viewers whose first-ever session with this host lies in-range. */\n newViewers: CohortSegmentSchema,\n /** Viewers with `>= RETURNING_VIEWER_MIN_EVENTS` lifetime host events. */\n returningViewers: CohortSegmentSchema,\n /** Viewers with lifetime spend `>= HIGH_VALUE_SPEND_MINOR`. */\n highValueBuyers: CohortSegmentSchema,\n /** Viewers with zero lifetime spend on any of this host's events. */\n casualViewers: CohortSegmentSchema,\n }),\n revenuePerViewer: z.object({\n /**\n * Distinct viewers who paid at least once inside the requested\n * range. Period-scoped, so does NOT necessarily equal\n * `bands.low + bands.mid + bands.high` (bands are lifetime-based).\n */\n total: z.number().int().nonnegative(),\n /**\n * Mean in-range spend per in-range spender as a MoneyDto (§4).\n * Amount is 0 when there are no in-range spenders; currency is\n * still the host's default so the FE can render \"₦0.00\".\n */\n averageSpend: MoneySchema,\n /**\n * Percentage delta of `averageSpend` vs the mirrored prior period.\n * `null` when the prior average was zero.\n */\n percentagePrev: z.number().nullable(),\n /**\n * Direction of the change vs the mirrored prior period. Always\n * defined (unlike `percentagePrev`).\n */\n direction: DeltaDirectionSchema,\n /**\n * Cohort split by *lifetime* spend across this host's events.\n * Kept as the pre-existing shape so the FE bars keep working.\n */\n bands: z.object({\n lowSpenders: z.number().int().nonnegative(),\n midSpenders: z.number().int().nonnegative(),\n highSpenders: z.number().int().nonnegative(),\n }),\n }),\n});\n\nexport const HostAudienceEngagementQuerySchema = z.object({\n from: z\n .string()\n .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'from must be YYYY-MM-DD')\n .optional(),\n to: z\n .string()\n .regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'to must be YYYY-MM-DD')\n .optional(),\n /** Case-insensitive event title search. */\n search: z.string().trim().min(1).max(120).optional(),\n ...PaginationParamsSchema.shape,\n});\n\nconst HostAudienceEngagementItemSchema = z.object({\n eventId: z.uuid(),\n eventTitle: z.string(),\n /** Distinct viewers for this event inside the requested range. */\n viewers: z.number().int().nonnegative(),\n /**\n * Peak concurrent live viewers ever observed for this event\n * (lifetime — not scoped to the range). Reads from\n * `event_audience_summaries.peak_concurrent`.\n */\n peakConcurrent: z.number().int().nonnegative(),\n /** Replay view count for this event inside the requested range. */\n replays: z.number().int().nonnegative(),\n});\n\nexport const HostAudienceEngagementResponseSchema = z.object({\n from: z.iso.datetime(),\n to: z.iso.datetime(),\n items: z.array(HostAudienceEngagementItemSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const HostAudienceTopViewersQuerySchema = z.object({\n /** 1..50 top spenders. Defaults to 10 to match the mock. */\n limit: z.coerce.number().int().min(1).max(50).optional().default(10),\n});\n\nconst TopViewerItemSchema = z.object({\n userId: z.uuid(),\n displayName: z.string(),\n avatarKey: z.string().nullable(),\n /** Lifetime spend across this host's events (MoneyDto). */\n totalSpend: MoneySchema,\n /** Number of distinct paid events from this host. */\n eventCount: z.number().int().nonnegative(),\n});\n\n/**\n * `currency` is intentionally omitted at the response level — each\n * item carries its own `MoneyDto` per MONEY_MULTI_CURRENCY.md §4.\n */\nexport const HostAudienceTopViewersResponseSchema = z.object({\n items: z.array(TopViewerItemSchema),\n});\n\nconst ActivityFeedItemSchema = z.object({\n kind: z.enum(['TICKET_SOLD', 'REPLAY_SOLD']),\n subjectType: z.enum(['Event', 'PaymentIntent', 'ReplayPurchase', 'Booking']),\n subjectId: z.string(),\n /** Unix ms — matches the ZSET score. */\n occurredAt: z.number(),\n /** Free-form payload from the host activity emitter. */\n payload: z.record(z.string(), z.unknown()),\n});\n\nexport const HostAudienceActivityFeedResponseSchema = z.object({\n items: z.array(ActivityFeedItemSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const HostAudienceGeoResponseSchema = z.object({\n from: z.iso.datetime(),\n to: z.iso.datetime(),\n items: z.array(\n z.object({\n /** ISO 3166-1 alpha-2 uppercase, or `UNKNOWN` when geo-ip failed. */\n country: z.string(),\n viewerCount: z.number().int().nonnegative(),\n }),\n ),\n});\n\nexport const HostAudienceDevicesResponseSchema = z.object({\n from: z.iso.datetime(),\n to: z.iso.datetime(),\n items: z.array(\n z.object({\n /** Normalised lowercase bucket (`mobile`, `desktop`, `tablet`, `unknown`). */\n deviceType: z.string(),\n viewerCount: z.number().int().nonnegative(),\n }),\n ),\n});\n\nexport const HostAudienceViewerActivityResponseSchema = z.object({\n from: z.iso.datetime(),\n to: z.iso.datetime(),\n granularity: z.enum(['daily']),\n points: z.array(\n z.object({\n /** UTC-anchored `YYYY-MM-DD`; one point per calendar day in range. */\n date: z.string(),\n viewers: z.number().int().nonnegative(),\n }),\n ),\n});\n\nexport const HostAudienceViewerActivityQuerySchema = HostAudienceQuerySchema.extend({\n granularity: z.enum(['daily']).optional().default('daily'),\n});\n","import { z } from 'zod';\nimport { MoneySchema } from '../common';\nimport {\n AccessReason,\n CtaMode,\n EntitlementStatus,\n PaymentStatus,\n PayoutState,\n ReplayPurchaseStatus,\n} from './payment.enums';\nimport { EventReplayAccess } from '../event';\n\nexport const InitiatePaymentRequestSchema = z.object({\n eventId: z.uuid(),\n amount: z.number().min(0),\n});\n\nexport const InitiatePaymentResponseSchema = z.object({\n authorizationUrl: z.url(),\n reference: z.string(),\n accessCode: z.string().optional(),\n});\n\nexport const CreatePurchaseResponseSchema = z.object({\n reference: z.string(),\n checkoutUrl: z.url().nullable(),\n status: z.enum(PaymentStatus),\n expiresAt: z.iso.datetime(),\n});\nexport const PurchaseStatusResponseSchema = z.object({\n reference: z.string(),\n status: z.enum(PaymentStatus),\n eventId: z.uuid(),\n amount: MoneySchema,\n paidAt: z.iso.datetime().nullable(),\n});\n\nexport const AccessCheckRequestSchema = z.object({\n email: z.email(),\n});\n\nconst PaystackMetadataSchema = z\n .object({\n intent_id: z.uuid(),\n user_id: z.uuid(),\n event_id: z.uuid(),\n })\n .loose();\n\nconst PaystackAuthorizationSchema = z\n .object({\n authorization_code: z.string(),\n bin: z.string().nullish(),\n last4: z.string().nullish(),\n exp_month: z.string().nullish(),\n exp_year: z.string().nullish(),\n channel: z.string().nullish(),\n card_type: z.string().nullish(),\n bank: z.string().nullish(),\n country_code: z.string().nullish(),\n brand: z.string().nullish(),\n reusable: z.boolean().nullish(),\n signature: z.string().nullish(),\n account_name: z.string().nullish(),\n receiver_bank_account_number: z.string().nullish(),\n receiver_bank: z.string().nullish(),\n })\n .loose();\n\nconst PaystackCustomerSchema = z\n .object({\n id: z.number(),\n first_name: z.string().nullish(),\n last_name: z.string().nullish(),\n email: z.email(),\n customer_code: z.string(),\n phone: z.string().nullish(),\n metadata: z.unknown().nullish(),\n risk_action: z.string().nullish(),\n international_format_phone: z.string().nullish(),\n })\n .loose();\n\nconst PaystackSourceSchema = z\n .object({\n type: z.string().nullish(),\n source: z.string().nullish(),\n entry_point: z.string().nullish(),\n identifier: z.string().nullish(),\n })\n .loose();\n\nexport const PaystackWebhookSchema = z\n .object({\n event: z.string(),\n data: z\n .object({\n id: z.number(),\n domain: z.string().optional(),\n status: z.string(),\n reference: z.string(),\n amount: z.number(),\n message: z.string().nullish(),\n gateway_response: z.string().nullish(),\n paid_at: z.string().nullish(),\n paidAt: z.string().nullish(),\n created_at: z.string().nullish(),\n channel: z.string().nullish(),\n currency: z.string(),\n ip_address: z.string().nullish(),\n fees: z.number().nullish(),\n fees_breakdown: z.unknown().nullish(),\n fees_split: z.unknown().nullish(),\n log: z.unknown().nullish(),\n order_id: z.string().nullish(),\n requested_amount: z.number().nullish(),\n pos_transaction_data: z.unknown().nullish(),\n plan: z.object({}).loose().optional(),\n subaccount: z.object({}).loose().optional(),\n split: z.object({}).loose().optional(),\n metadata: PaystackMetadataSchema,\n authorization: PaystackAuthorizationSchema.optional(),\n customer: PaystackCustomerSchema.optional(),\n source: PaystackSourceSchema.optional(),\n })\n .loose(),\n })\n .loose();\n\nexport const AccessCheckResponseSchema = z.object({\n qualified: z.boolean(),\n reason: z.enum(AccessReason),\n});\n\nexport const PricingQuoteResponseSchema = z.object({\n reference: z.null(),\n subtotal: MoneySchema,\n platformFee: MoneySchema,\n total: MoneySchema,\n strategyId: z.string(),\n expiresInSec: z.number().int().positive(),\n});\n\nexport const TrailerSchema = z.object({\n kind: z.literal('TRAILER'),\n trailerUrl: z.url(),\n});\n\nexport const SlateSchema = z.object({\n kind: z.literal('SLATE'),\n slate: z.object({\n title: z.string(),\n hostDisplayName: z.string().nullable(),\n scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n }),\n});\n\nexport const AwaitingIngestSchema = z.discriminatedUnion('kind', [TrailerSchema, SlateSchema]);\n\nexport const ViewerEventDetailResponseSchema = z.object({\n id: z.uuid(),\n title: z.string(),\n description: z.string().nullable(),\n coverImageUrl: z.string().nullable(),\n category: z.string(),\n timezone: z.string(),\n scheduledStart: z.iso.datetime(),\n scheduledEnd: z.iso.datetime(),\n scheduledStartLocal: z.iso.datetime({ local: true, offset: false }),\n scheduledEndLocal: z.iso.datetime({ local: true, offset: false }),\n state: z.string(),\n accessModel: z.string(),\n visibility: z.string(),\n ticketPrice: MoneySchema.nullable(),\n replayAccess: z.enum(EventReplayAccess),\n replayAccessFee: MoneySchema.nullable(),\n isFeatured: z.boolean(),\n hostDisplayName: z.string().nullable(),\n hostBio: z.string().nullable(),\n previewClipUrl: z.string().nullable(),\n remainingTickets: z.number().int().nullable(),\n liveStartedAt: z.iso.datetime().nullable(),\n liveEndedAt: z.iso.datetime().nullable(),\n replayAvailableUntil: z.iso.datetime().nullable(),\n ingestSubstate: z.enum(['AWAITING_INGEST', 'STREAMING']).nullable(),\n awaitingIngestContent: AwaitingIngestSchema.nullable(),\n viewer: z.object({\n entitlement: z.enum(EntitlementStatus),\n purchaseCta: z.enum(CtaMode),\n activeIntentReference: z.string().optional(),\n requiresAccessCheck: z.boolean().optional(),\n }),\n});\n\nexport const ReceiptUrlResponseSchema = z.object({\n url: z.url(),\n expiresAt: z.iso.datetime(),\n contentType: z.string().min(1),\n});\n\nexport const ReplayPurchasePaymentSchema = z.object({\n reference: z.string(),\n amount: MoneySchema,\n checkoutUrl: z.string().optional(),\n});\n\nexport const ReplayPurchaseRowSchema = z.object({\n id: z.string(),\n eventId: z.string(),\n status: z.enum(ReplayPurchaseStatus),\n source: z.enum(ReplayPurchaseStatus),\n amount: MoneySchema,\n paymentExpiresAt: z.iso.datetime().nullable(),\n expiresAt: z.iso.datetime().nullable(),\n paidAt: z.iso.datetime().nullable(),\n});\n\nexport const ReplayPurchaseResponseSchema = z.object({\n replayPurchase: ReplayPurchaseRowSchema,\n payment: ReplayPurchasePaymentSchema.nullable(),\n});\n\nexport const UpdateSettlementBodySchema = z.object({\n bankCode: z\n .string()\n .trim()\n .regex(/^\\d{3,10}$/, 'bankCode must be a 3–10 digit numeric string'),\n accountNumber: z\n .string()\n .trim()\n .regex(/^\\d{10}$/, 'accountNumber must be a 10-digit NUBAN'),\n});\n\nexport const SettlementAccountViewSchema = z.object({\n bankName: z.string().nullable(),\n bankCode: z.string().nullable(),\n accountNumberMasked: z.string().nullable(),\n accountName: z.string().nullable(),\n verifiedAt: z.string().nullable(),\n updatedAt: z.string().nullable(),\n});\n\nexport const RequestWithdrawalBodySchema = z.object({\n pin: z\n .string()\n .trim()\n .regex(/^\\d{4,8}$/, 'pin must be 4-8 digits'),\n});\n\nexport const PandascrowEnvelopeSchema = <T extends z.ZodTypeAny>(data: T) =>\n z.object({\n status: z.union([z.boolean(), z.string()]).optional(),\n message: z.string().optional(),\n data: data,\n });\n\n/** Loose envelope used for the pre-flight status check (§request). */\nexport const OuterEnvelopeSchema = z.object({\n status: z.union([z.boolean(), z.string()]).optional(),\n message: z.string().optional(),\n data: z.unknown().optional(),\n});\n\n// Amount fields on the wire — Pandascrow docs say \"lowest denomination\n// as whole numbers\", so all money is minor units and could arrive as\n// number or numeric string. Coerce to bigint on parse.\nexport const MinorAmountSchema = z\n .union([z.number(), z.string()])\n .transform((v) => BigInt(v as string | number));\n\nconst CurrencyStr = z.string();\n\nexport const OnetimeEscrowDataSchema = z.object({\n id: z.string().min(1),\n status: z.string().min(1),\n amount: MinorAmountSchema.optional(),\n currency: CurrencyStr.optional(),\n funding: z\n .object({\n account_number: z.string(),\n account_name: z.string(),\n bank_name: z.string(),\n expires_at: z.string().optional(),\n })\n .partial()\n .optional(),\n});\n\nexport const WalletFundDataSchema = z.object({\n id: z.string().optional(),\n transaction_id: z.string().optional(),\n reference: z.string().optional(),\n status: z.string().min(1),\n});\n\nexport const MarkCompleteDataSchema = z.object({\n id: z.string().optional(),\n transfer_id: z.string().optional(),\n status: z.string().min(1),\n requires_otp: z.boolean().optional(),\n});\n\nexport const RefundFlagDataSchema = z.object({\n id: z.string().optional(),\n refund_id: z.string().optional(),\n flag_id: z.string().optional(),\n status: z.string().min(1),\n});\n\nexport const EscrowStatusDataSchema = z.object({\n id: z.string().min(1),\n status: z.string().min(1),\n amount: MinorAmountSchema.optional(),\n currency: CurrencyStr.optional(),\n updated_at: z.string().optional(),\n});\n\nexport const PayoutViewSchema = z.object({\n id: z.string(),\n reference: z.string(),\n state: z.enum(PayoutState),\n amount: MoneySchema,\n bankName: z.string().nullable(),\n accountNumberMasked: z.string(),\n accountName: z.string(),\n requestedAt: z.string(),\n settledAt: z.string().nullable(),\n failedAt: z.string().nullable(),\n failureReason: z.string().nullable(),\n});\n"]}
|