@livdot-tech/contracts 1.11.21 → 1.11.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/index.js +1 -1
- package/dist/auth/index.mjs +1 -1
- package/dist/booking/index.d.mts +75 -1
- package/dist/booking/index.d.ts +75 -1
- package/dist/booking/index.js +1 -1
- package/dist/booking/index.mjs +1 -1
- package/dist/{chunk-L3KEUJF7.mjs → chunk-5LO5B6I4.mjs} +2 -2
- package/dist/{chunk-L3KEUJF7.mjs.map → chunk-5LO5B6I4.mjs.map} +1 -1
- package/dist/chunk-CMQ36ZUU.js +2 -0
- package/dist/chunk-CMQ36ZUU.js.map +1 -0
- package/dist/{chunk-K5FMVZM6.mjs → chunk-FRKIW4XY.mjs} +2 -2
- package/dist/{chunk-K5FMVZM6.mjs.map → chunk-FRKIW4XY.mjs.map} +1 -1
- package/dist/{chunk-GK2CIHKT.js → chunk-GC3S2VCJ.js} +2 -2
- package/dist/chunk-GC3S2VCJ.js.map +1 -0
- package/dist/{chunk-T7XJMKJN.js → chunk-GSVMAZB3.js} +2 -2
- package/dist/{chunk-T7XJMKJN.js.map → chunk-GSVMAZB3.js.map} +1 -1
- package/dist/chunk-HTPPIZBE.mjs +2 -0
- package/dist/chunk-HTPPIZBE.mjs.map +1 -0
- package/dist/chunk-JMMNUUHO.mjs +2 -0
- package/dist/chunk-JMMNUUHO.mjs.map +1 -0
- package/dist/chunk-KK3YLEFV.js +2 -0
- package/dist/chunk-KK3YLEFV.js.map +1 -0
- package/dist/chunk-MAKIYFAD.mjs +2 -0
- package/dist/chunk-MAKIYFAD.mjs.map +1 -0
- package/dist/chunk-MMROBRAM.js +2 -0
- package/dist/chunk-MMROBRAM.js.map +1 -0
- package/dist/{chunk-2UZXINLZ.js → chunk-P3PKA6IF.js} +2 -2
- package/dist/{chunk-2UZXINLZ.js.map → chunk-P3PKA6IF.js.map} +1 -1
- package/dist/chunk-PCCOCHJN.mjs +2 -0
- package/dist/chunk-PCCOCHJN.mjs.map +1 -0
- package/dist/dispute/index.js +1 -1
- package/dist/dispute/index.mjs +1 -1
- package/dist/event/index.d.mts +99 -0
- package/dist/event/index.d.ts +99 -0
- package/dist/event/index.js +1 -1
- package/dist/event/index.mjs +1 -1
- package/dist/host/index.d.mts +79 -1
- package/dist/host/index.d.ts +79 -1
- package/dist/host/index.js +1 -1
- package/dist/host/index.mjs +1 -1
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/moment/index.d.mts +112 -0
- package/dist/moment/index.d.ts +112 -0
- package/dist/moment/index.js +2 -0
- package/dist/moment/index.js.map +1 -0
- package/dist/moment/index.mjs +2 -0
- package/dist/moment/index.mjs.map +1 -0
- 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-DJQVVYZA.mjs +0 -2
- package/dist/chunk-DJQVVYZA.mjs.map +0 -1
- package/dist/chunk-GK2CIHKT.js.map +0 -1
- package/dist/chunk-MFRAOZDF.mjs +0 -2
- package/dist/chunk-MFRAOZDF.mjs.map +0 -1
- package/dist/chunk-RMOFKGOI.js +0 -2
- package/dist/chunk-RMOFKGOI.js.map +0 -1
- package/dist/chunk-VDWCQLG6.mjs +0 -2
- package/dist/chunk-VDWCQLG6.mjs.map +0 -1
- package/dist/chunk-WYUQXTFQ.js +0 -2
- package/dist/chunk-WYUQXTFQ.js.map +0 -1
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
declare const MomentState: {
|
|
4
|
+
readonly LIVE: "LIVE";
|
|
5
|
+
readonly ENDED: "ENDED";
|
|
6
|
+
};
|
|
7
|
+
type MomentState = (typeof MomentState)[keyof typeof MomentState];
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Host go-live request. All fields optional — a moment can go live
|
|
11
|
+
* untitled. Any additional metadata (cover, tags) is out of scope for
|
|
12
|
+
* MVP; add fields here as the product surface grows.
|
|
13
|
+
*/
|
|
14
|
+
declare const GoLiveMomentRequestSchema: z.ZodObject<{
|
|
15
|
+
title: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
/**
|
|
18
|
+
* Broadcaster payload — everything the phone needs to point its
|
|
19
|
+
* RTMP(S) publisher at the newly-provisioned channel. `streamKey` is
|
|
20
|
+
* plaintext and MUST be treated as secret on the client (never log,
|
|
21
|
+
* never render, never persist). Returned only on go-live and never
|
|
22
|
+
* re-fetched.
|
|
23
|
+
*/
|
|
24
|
+
declare const GoLiveMomentResponseSchema: z.ZodObject<{
|
|
25
|
+
momentId: z.ZodUUID;
|
|
26
|
+
state: z.ZodLiteral<"LIVE">;
|
|
27
|
+
liveStartedAt: z.ZodISODateTime;
|
|
28
|
+
ingestEndpoint: z.ZodURL;
|
|
29
|
+
streamKey: z.ZodString;
|
|
30
|
+
playbackUrl: z.ZodURL;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
/**
|
|
33
|
+
* Host live-console read for a moment. `playbackUrl` here is the raw
|
|
34
|
+
* (unsigned) URL — hosts don't need a signed ticket to preview their
|
|
35
|
+
* own stream. Viewer playback goes through the viewer endpoint.
|
|
36
|
+
*/
|
|
37
|
+
declare const HostMomentLivePayloadSchema: z.ZodObject<{
|
|
38
|
+
momentId: z.ZodUUID;
|
|
39
|
+
state: z.ZodEnum<{
|
|
40
|
+
readonly LIVE: "LIVE";
|
|
41
|
+
readonly ENDED: "ENDED";
|
|
42
|
+
}>;
|
|
43
|
+
liveStartedAt: z.ZodISODateTime;
|
|
44
|
+
liveEndedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
45
|
+
viewers: z.ZodNumber;
|
|
46
|
+
peakViewers: z.ZodNumber;
|
|
47
|
+
playbackUrl: z.ZodNullable<z.ZodURL>;
|
|
48
|
+
serverNow: z.ZodISODateTime;
|
|
49
|
+
}, z.core.$strip>;
|
|
50
|
+
/**
|
|
51
|
+
* Authenticated viewer playback payload. Access is gated on a valid
|
|
52
|
+
* session — no anonymous consumers — but there is NO registration /
|
|
53
|
+
* entitlement check. Any logged-in user with the moment link can watch.
|
|
54
|
+
* On ENDED state the playback fields collapse to null and the FE
|
|
55
|
+
* renders an empty state (rather than 404) so a shared link stays
|
|
56
|
+
* informative after the host ends the stream.
|
|
57
|
+
*/
|
|
58
|
+
declare const ViewerMomentPayloadSchema: z.ZodObject<{
|
|
59
|
+
momentId: z.ZodUUID;
|
|
60
|
+
state: z.ZodEnum<{
|
|
61
|
+
readonly LIVE: "LIVE";
|
|
62
|
+
readonly ENDED: "ENDED";
|
|
63
|
+
}>;
|
|
64
|
+
title: z.ZodNullable<z.ZodString>;
|
|
65
|
+
playbackUrl: z.ZodNullable<z.ZodURL>;
|
|
66
|
+
token: z.ZodNullable<z.ZodString>;
|
|
67
|
+
tokenExpiresAt: z.ZodNullable<z.ZodISODateTime>;
|
|
68
|
+
viewers: z.ZodNumber;
|
|
69
|
+
liveStartedAt: z.ZodISODateTime;
|
|
70
|
+
liveEndedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
71
|
+
}, z.core.$strip>;
|
|
72
|
+
/**
|
|
73
|
+
* Start a viewing session on a moment. Same shape as the Event
|
|
74
|
+
* flow — the FE POSTs this once when the player mounts, receives a
|
|
75
|
+
* server-issued `sessionId`, then opens the Socket.IO connection at
|
|
76
|
+
* `/moment-viewing-session?sessionId=<id>` and emits `heartbeat` every
|
|
77
|
+
* ~30s. On teardown it calls the `end` endpoint.
|
|
78
|
+
*/
|
|
79
|
+
declare const StartMomentViewingSessionRequestSchema: z.ZodObject<{
|
|
80
|
+
deviceType: z.ZodOptional<z.ZodString>;
|
|
81
|
+
}, z.core.$strip>;
|
|
82
|
+
declare const StartMomentViewingSessionResponseSchema: z.ZodObject<{
|
|
83
|
+
sessionId: z.ZodString;
|
|
84
|
+
}, z.core.$strip>;
|
|
85
|
+
declare const EndMomentViewingSessionResponseSchema: z.ZodObject<{
|
|
86
|
+
durationSec: z.ZodNumber;
|
|
87
|
+
}, z.core.$strip>;
|
|
88
|
+
/**
|
|
89
|
+
* WebSocket ACK for a `heartbeat` message. Mirrors the Event flow so
|
|
90
|
+
* FE state machines can share a client. `reason` is set only when
|
|
91
|
+
* `ok === false`; the socket is closed by the server on the same tick.
|
|
92
|
+
*/
|
|
93
|
+
declare const MomentViewingSessionHeartbeatAckSchema: z.ZodObject<{
|
|
94
|
+
ok: z.ZodBoolean;
|
|
95
|
+
reason: z.ZodOptional<z.ZodEnum<{
|
|
96
|
+
unauthorized: "unauthorized";
|
|
97
|
+
session_ended: "session_ended";
|
|
98
|
+
not_owner: "not_owner";
|
|
99
|
+
internal: "internal";
|
|
100
|
+
}>>;
|
|
101
|
+
}, z.core.$strip>;
|
|
102
|
+
|
|
103
|
+
type GoLiveMomentRequest = z.infer<typeof GoLiveMomentRequestSchema>;
|
|
104
|
+
type GoLiveMomentResponse = z.infer<typeof GoLiveMomentResponseSchema>;
|
|
105
|
+
type HostMomentLivePayload = z.infer<typeof HostMomentLivePayloadSchema>;
|
|
106
|
+
type ViewerMomentPayload = z.infer<typeof ViewerMomentPayloadSchema>;
|
|
107
|
+
type StartMomentViewingSessionRequest = z.infer<typeof StartMomentViewingSessionRequestSchema>;
|
|
108
|
+
type StartMomentViewingSessionResponse = z.infer<typeof StartMomentViewingSessionResponseSchema>;
|
|
109
|
+
type EndMomentViewingSessionResponse = z.infer<typeof EndMomentViewingSessionResponseSchema>;
|
|
110
|
+
type MomentViewingSessionHeartbeatAck = z.infer<typeof MomentViewingSessionHeartbeatAckSchema>;
|
|
111
|
+
|
|
112
|
+
export { type EndMomentViewingSessionResponse, EndMomentViewingSessionResponseSchema, type GoLiveMomentRequest, GoLiveMomentRequestSchema, type GoLiveMomentResponse, GoLiveMomentResponseSchema, type HostMomentLivePayload, HostMomentLivePayloadSchema, MomentState, type MomentViewingSessionHeartbeatAck, MomentViewingSessionHeartbeatAckSchema, type StartMomentViewingSessionRequest, StartMomentViewingSessionRequestSchema, type StartMomentViewingSessionResponse, StartMomentViewingSessionResponseSchema, type ViewerMomentPayload, ViewerMomentPayloadSchema };
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
declare const MomentState: {
|
|
4
|
+
readonly LIVE: "LIVE";
|
|
5
|
+
readonly ENDED: "ENDED";
|
|
6
|
+
};
|
|
7
|
+
type MomentState = (typeof MomentState)[keyof typeof MomentState];
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Host go-live request. All fields optional — a moment can go live
|
|
11
|
+
* untitled. Any additional metadata (cover, tags) is out of scope for
|
|
12
|
+
* MVP; add fields here as the product surface grows.
|
|
13
|
+
*/
|
|
14
|
+
declare const GoLiveMomentRequestSchema: z.ZodObject<{
|
|
15
|
+
title: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
/**
|
|
18
|
+
* Broadcaster payload — everything the phone needs to point its
|
|
19
|
+
* RTMP(S) publisher at the newly-provisioned channel. `streamKey` is
|
|
20
|
+
* plaintext and MUST be treated as secret on the client (never log,
|
|
21
|
+
* never render, never persist). Returned only on go-live and never
|
|
22
|
+
* re-fetched.
|
|
23
|
+
*/
|
|
24
|
+
declare const GoLiveMomentResponseSchema: z.ZodObject<{
|
|
25
|
+
momentId: z.ZodUUID;
|
|
26
|
+
state: z.ZodLiteral<"LIVE">;
|
|
27
|
+
liveStartedAt: z.ZodISODateTime;
|
|
28
|
+
ingestEndpoint: z.ZodURL;
|
|
29
|
+
streamKey: z.ZodString;
|
|
30
|
+
playbackUrl: z.ZodURL;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
/**
|
|
33
|
+
* Host live-console read for a moment. `playbackUrl` here is the raw
|
|
34
|
+
* (unsigned) URL — hosts don't need a signed ticket to preview their
|
|
35
|
+
* own stream. Viewer playback goes through the viewer endpoint.
|
|
36
|
+
*/
|
|
37
|
+
declare const HostMomentLivePayloadSchema: z.ZodObject<{
|
|
38
|
+
momentId: z.ZodUUID;
|
|
39
|
+
state: z.ZodEnum<{
|
|
40
|
+
readonly LIVE: "LIVE";
|
|
41
|
+
readonly ENDED: "ENDED";
|
|
42
|
+
}>;
|
|
43
|
+
liveStartedAt: z.ZodISODateTime;
|
|
44
|
+
liveEndedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
45
|
+
viewers: z.ZodNumber;
|
|
46
|
+
peakViewers: z.ZodNumber;
|
|
47
|
+
playbackUrl: z.ZodNullable<z.ZodURL>;
|
|
48
|
+
serverNow: z.ZodISODateTime;
|
|
49
|
+
}, z.core.$strip>;
|
|
50
|
+
/**
|
|
51
|
+
* Authenticated viewer playback payload. Access is gated on a valid
|
|
52
|
+
* session — no anonymous consumers — but there is NO registration /
|
|
53
|
+
* entitlement check. Any logged-in user with the moment link can watch.
|
|
54
|
+
* On ENDED state the playback fields collapse to null and the FE
|
|
55
|
+
* renders an empty state (rather than 404) so a shared link stays
|
|
56
|
+
* informative after the host ends the stream.
|
|
57
|
+
*/
|
|
58
|
+
declare const ViewerMomentPayloadSchema: z.ZodObject<{
|
|
59
|
+
momentId: z.ZodUUID;
|
|
60
|
+
state: z.ZodEnum<{
|
|
61
|
+
readonly LIVE: "LIVE";
|
|
62
|
+
readonly ENDED: "ENDED";
|
|
63
|
+
}>;
|
|
64
|
+
title: z.ZodNullable<z.ZodString>;
|
|
65
|
+
playbackUrl: z.ZodNullable<z.ZodURL>;
|
|
66
|
+
token: z.ZodNullable<z.ZodString>;
|
|
67
|
+
tokenExpiresAt: z.ZodNullable<z.ZodISODateTime>;
|
|
68
|
+
viewers: z.ZodNumber;
|
|
69
|
+
liveStartedAt: z.ZodISODateTime;
|
|
70
|
+
liveEndedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
71
|
+
}, z.core.$strip>;
|
|
72
|
+
/**
|
|
73
|
+
* Start a viewing session on a moment. Same shape as the Event
|
|
74
|
+
* flow — the FE POSTs this once when the player mounts, receives a
|
|
75
|
+
* server-issued `sessionId`, then opens the Socket.IO connection at
|
|
76
|
+
* `/moment-viewing-session?sessionId=<id>` and emits `heartbeat` every
|
|
77
|
+
* ~30s. On teardown it calls the `end` endpoint.
|
|
78
|
+
*/
|
|
79
|
+
declare const StartMomentViewingSessionRequestSchema: z.ZodObject<{
|
|
80
|
+
deviceType: z.ZodOptional<z.ZodString>;
|
|
81
|
+
}, z.core.$strip>;
|
|
82
|
+
declare const StartMomentViewingSessionResponseSchema: z.ZodObject<{
|
|
83
|
+
sessionId: z.ZodString;
|
|
84
|
+
}, z.core.$strip>;
|
|
85
|
+
declare const EndMomentViewingSessionResponseSchema: z.ZodObject<{
|
|
86
|
+
durationSec: z.ZodNumber;
|
|
87
|
+
}, z.core.$strip>;
|
|
88
|
+
/**
|
|
89
|
+
* WebSocket ACK for a `heartbeat` message. Mirrors the Event flow so
|
|
90
|
+
* FE state machines can share a client. `reason` is set only when
|
|
91
|
+
* `ok === false`; the socket is closed by the server on the same tick.
|
|
92
|
+
*/
|
|
93
|
+
declare const MomentViewingSessionHeartbeatAckSchema: z.ZodObject<{
|
|
94
|
+
ok: z.ZodBoolean;
|
|
95
|
+
reason: z.ZodOptional<z.ZodEnum<{
|
|
96
|
+
unauthorized: "unauthorized";
|
|
97
|
+
session_ended: "session_ended";
|
|
98
|
+
not_owner: "not_owner";
|
|
99
|
+
internal: "internal";
|
|
100
|
+
}>>;
|
|
101
|
+
}, z.core.$strip>;
|
|
102
|
+
|
|
103
|
+
type GoLiveMomentRequest = z.infer<typeof GoLiveMomentRequestSchema>;
|
|
104
|
+
type GoLiveMomentResponse = z.infer<typeof GoLiveMomentResponseSchema>;
|
|
105
|
+
type HostMomentLivePayload = z.infer<typeof HostMomentLivePayloadSchema>;
|
|
106
|
+
type ViewerMomentPayload = z.infer<typeof ViewerMomentPayloadSchema>;
|
|
107
|
+
type StartMomentViewingSessionRequest = z.infer<typeof StartMomentViewingSessionRequestSchema>;
|
|
108
|
+
type StartMomentViewingSessionResponse = z.infer<typeof StartMomentViewingSessionResponseSchema>;
|
|
109
|
+
type EndMomentViewingSessionResponse = z.infer<typeof EndMomentViewingSessionResponseSchema>;
|
|
110
|
+
type MomentViewingSessionHeartbeatAck = z.infer<typeof MomentViewingSessionHeartbeatAckSchema>;
|
|
111
|
+
|
|
112
|
+
export { type EndMomentViewingSessionResponse, EndMomentViewingSessionResponseSchema, type GoLiveMomentRequest, GoLiveMomentRequestSchema, type GoLiveMomentResponse, GoLiveMomentResponseSchema, type HostMomentLivePayload, HostMomentLivePayloadSchema, MomentState, type MomentViewingSessionHeartbeatAck, MomentViewingSessionHeartbeatAckSchema, type StartMomentViewingSessionRequest, StartMomentViewingSessionRequestSchema, type StartMomentViewingSessionResponse, StartMomentViewingSessionResponseSchema, type ViewerMomentPayload, ViewerMomentPayloadSchema };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkKK3YLEFV_js=require('../chunk-KK3YLEFV.js');Object.defineProperty(exports,"EndMomentViewingSessionResponseSchema",{enumerable:true,get:function(){return chunkKK3YLEFV_js.h}});Object.defineProperty(exports,"GoLiveMomentRequestSchema",{enumerable:true,get:function(){return chunkKK3YLEFV_js.b}});Object.defineProperty(exports,"GoLiveMomentResponseSchema",{enumerable:true,get:function(){return chunkKK3YLEFV_js.c}});Object.defineProperty(exports,"HostMomentLivePayloadSchema",{enumerable:true,get:function(){return chunkKK3YLEFV_js.d}});Object.defineProperty(exports,"MomentState",{enumerable:true,get:function(){return chunkKK3YLEFV_js.a}});Object.defineProperty(exports,"MomentViewingSessionHeartbeatAckSchema",{enumerable:true,get:function(){return chunkKK3YLEFV_js.i}});Object.defineProperty(exports,"StartMomentViewingSessionRequestSchema",{enumerable:true,get:function(){return chunkKK3YLEFV_js.f}});Object.defineProperty(exports,"StartMomentViewingSessionResponseSchema",{enumerable:true,get:function(){return chunkKK3YLEFV_js.g}});Object.defineProperty(exports,"ViewerMomentPayloadSchema",{enumerable:true,get:function(){return chunkKK3YLEFV_js.e}});//# sourceMappingURL=index.js.map
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export{h as EndMomentViewingSessionResponseSchema,b as GoLiveMomentRequestSchema,c as GoLiveMomentResponseSchema,d as HostMomentLivePayloadSchema,a as MomentState,i as MomentViewingSessionHeartbeatAckSchema,f as StartMomentViewingSessionRequestSchema,g as StartMomentViewingSessionResponseSchema,e as ViewerMomentPayloadSchema}from'../chunk-PCCOCHJN.mjs';//# sourceMappingURL=index.mjs.map
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var chunkJ7KH6FYN_js=require('../chunk-J7KH6FYN.js');require('../chunk-
|
|
1
|
+
'use strict';var chunkJ7KH6FYN_js=require('../chunk-J7KH6FYN.js');require('../chunk-GSVMAZB3.js'),require('../chunk-QZMRMFXE.js'),require('../chunk-72SD46VJ.js'),require('../chunk-MMROBRAM.js'),require('../chunk-O3GYEMUB.js');Object.defineProperty(exports,"HostNotificationPreferenceItemSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.l}});Object.defineProperty(exports,"HostNotificationPreferencesResponseSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.n}});Object.defineProperty(exports,"ListNotificationsQuerySchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.g}});Object.defineProperty(exports,"ListNotificationsResponseSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.h}});Object.defineProperty(exports,"MarkAllNotificationsReadResponseSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.k}});Object.defineProperty(exports,"MarkNotificationReadResponseSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.j}});Object.defineProperty(exports,"NotificationChannel",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.b}});Object.defineProperty(exports,"NotificationPriority",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.a}});Object.defineProperty(exports,"NotificationResponseSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.d}});Object.defineProperty(exports,"NotificationType",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.c}});Object.defineProperty(exports,"NotificationsUnreadCountResponseSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.i}});Object.defineProperty(exports,"ProducerNotificationPreferenceItemSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.m}});Object.defineProperty(exports,"ProducerNotificationPreferencesResponseSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.o}});Object.defineProperty(exports,"RegisterPushDeviceRequestSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.e}});Object.defineProperty(exports,"RegisterPushDeviceResponseSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.f}});Object.defineProperty(exports,"UpdateHostNotificationPreferencesRequestSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.p}});Object.defineProperty(exports,"UpdateProducerNotificationPreferencesRequestSchema",{enumerable:true,get:function(){return chunkJ7KH6FYN_js.q}});//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{l as HostNotificationPreferenceItemSchema,n as HostNotificationPreferencesResponseSchema,g as ListNotificationsQuerySchema,h as ListNotificationsResponseSchema,k as MarkAllNotificationsReadResponseSchema,j as MarkNotificationReadResponseSchema,b as NotificationChannel,a as NotificationPriority,d as NotificationResponseSchema,c as NotificationType,i as NotificationsUnreadCountResponseSchema,m as ProducerNotificationPreferenceItemSchema,o as ProducerNotificationPreferencesResponseSchema,e as RegisterPushDeviceRequestSchema,f as RegisterPushDeviceResponseSchema,p as UpdateHostNotificationPreferencesRequestSchema,q as UpdateProducerNotificationPreferencesRequestSchema}from'../chunk-EWAVQV4Y.mjs';import'../chunk-
|
|
1
|
+
export{l as HostNotificationPreferenceItemSchema,n as HostNotificationPreferencesResponseSchema,g as ListNotificationsQuerySchema,h as ListNotificationsResponseSchema,k as MarkAllNotificationsReadResponseSchema,j as MarkNotificationReadResponseSchema,b as NotificationChannel,a as NotificationPriority,d as NotificationResponseSchema,c as NotificationType,i as NotificationsUnreadCountResponseSchema,m as ProducerNotificationPreferenceItemSchema,o as ProducerNotificationPreferencesResponseSchema,e as RegisterPushDeviceRequestSchema,f as RegisterPushDeviceResponseSchema,p as UpdateHostNotificationPreferencesRequestSchema,q as UpdateProducerNotificationPreferencesRequestSchema}from'../chunk-EWAVQV4Y.mjs';import'../chunk-5LO5B6I4.mjs';import'../chunk-5BJU6AZT.mjs';import'../chunk-IIVGG46P.mjs';import'../chunk-MAKIYFAD.mjs';import'../chunk-L4QDS3ET.mjs';//# sourceMappingURL=index.mjs.map
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/payment/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkMMROBRAM_js=require('../chunk-MMROBRAM.js');require('../chunk-O3GYEMUB.js');Object.defineProperty(exports,"AccessCheckRequestSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.C}});Object.defineProperty(exports,"AccessCheckResponseSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.E}});Object.defineProperty(exports,"AccessReason",{enumerable:true,get:function(){return chunkMMROBRAM_js.t}});Object.defineProperty(exports,"AwaitingIngestSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.I}});Object.defineProperty(exports,"CreatePurchaseResponseSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.A}});Object.defineProperty(exports,"CtaMode",{enumerable:true,get:function(){return chunkMMROBRAM_js.w}});Object.defineProperty(exports,"EntitlementStatus",{enumerable:true,get:function(){return chunkMMROBRAM_js.u}});Object.defineProperty(exports,"EscrowStatusDataSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.Y}});Object.defineProperty(exports,"InitiatePaymentRequestSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.y}});Object.defineProperty(exports,"InitiatePaymentResponseSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.z}});Object.defineProperty(exports,"MarkCompleteDataSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.W}});Object.defineProperty(exports,"MinorAmountSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.T}});Object.defineProperty(exports,"OnetimeEscrowDataSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.U}});Object.defineProperty(exports,"OuterEnvelopeSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.S}});Object.defineProperty(exports,"PandascrowEnvelopeSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.R}});Object.defineProperty(exports,"PaymentStatus",{enumerable:true,get:function(){return chunkMMROBRAM_js.r}});Object.defineProperty(exports,"PayoutState",{enumerable:true,get:function(){return chunkMMROBRAM_js.x}});Object.defineProperty(exports,"PayoutStatus",{enumerable:true,get:function(){return chunkMMROBRAM_js.q}});Object.defineProperty(exports,"PayoutViewSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.Z}});Object.defineProperty(exports,"PaystackWebhookSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.D}});Object.defineProperty(exports,"PlatformChargeStatus",{enumerable:true,get:function(){return chunkMMROBRAM_js.v}});Object.defineProperty(exports,"PricingQuoteResponseSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.F}});Object.defineProperty(exports,"PurchaseStatusResponseSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.B}});Object.defineProperty(exports,"ReceiptUrlResponseSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.K}});Object.defineProperty(exports,"RefundFlagDataSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.X}});Object.defineProperty(exports,"ReplayPurchasePaymentSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.L}});Object.defineProperty(exports,"ReplayPurchaseResponseSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.N}});Object.defineProperty(exports,"ReplayPurchaseRowSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.M}});Object.defineProperty(exports,"ReplayPurchaseStatus",{enumerable:true,get:function(){return chunkMMROBRAM_js.s}});Object.defineProperty(exports,"RequestWithdrawalBodySchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.Q}});Object.defineProperty(exports,"SettlementAccountViewSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.P}});Object.defineProperty(exports,"SlateSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.H}});Object.defineProperty(exports,"TrailerSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.G}});Object.defineProperty(exports,"TransactionStatus",{enumerable:true,get:function(){return chunkMMROBRAM_js.p}});Object.defineProperty(exports,"TransactionType",{enumerable:true,get:function(){return chunkMMROBRAM_js.o}});Object.defineProperty(exports,"UpdateSettlementBodySchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.O}});Object.defineProperty(exports,"ViewerEventDetailResponseSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.J}});Object.defineProperty(exports,"WalletFundDataSchema",{enumerable:true,get:function(){return chunkMMROBRAM_js.V}});//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/payment/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{C as AccessCheckRequestSchema,E as AccessCheckResponseSchema,t as AccessReason,I as AwaitingIngestSchema,A as CreatePurchaseResponseSchema,w as CtaMode,u as EntitlementStatus,Y as EscrowStatusDataSchema,y as InitiatePaymentRequestSchema,z as InitiatePaymentResponseSchema,W as MarkCompleteDataSchema,T as MinorAmountSchema,U as OnetimeEscrowDataSchema,S as OuterEnvelopeSchema,R as PandascrowEnvelopeSchema,r as PaymentStatus,x as PayoutState,q as PayoutStatus,Z as PayoutViewSchema,D as PaystackWebhookSchema,v as PlatformChargeStatus,F as PricingQuoteResponseSchema,B as PurchaseStatusResponseSchema,K as ReceiptUrlResponseSchema,X as RefundFlagDataSchema,L as ReplayPurchasePaymentSchema,N as ReplayPurchaseResponseSchema,M as ReplayPurchaseRowSchema,s as ReplayPurchaseStatus,Q as RequestWithdrawalBodySchema,P as SettlementAccountViewSchema,H as SlateSchema,G as TrailerSchema,p as TransactionStatus,o as TransactionType,O as UpdateSettlementBodySchema,J as ViewerEventDetailResponseSchema,V as WalletFundDataSchema}from'../chunk-
|
|
1
|
+
export{C as AccessCheckRequestSchema,E as AccessCheckResponseSchema,t as AccessReason,I as AwaitingIngestSchema,A as CreatePurchaseResponseSchema,w as CtaMode,u as EntitlementStatus,Y as EscrowStatusDataSchema,y as InitiatePaymentRequestSchema,z as InitiatePaymentResponseSchema,W as MarkCompleteDataSchema,T as MinorAmountSchema,U as OnetimeEscrowDataSchema,S as OuterEnvelopeSchema,R as PandascrowEnvelopeSchema,r as PaymentStatus,x as PayoutState,q as PayoutStatus,Z as PayoutViewSchema,D as PaystackWebhookSchema,v as PlatformChargeStatus,F as PricingQuoteResponseSchema,B as PurchaseStatusResponseSchema,K as ReceiptUrlResponseSchema,X as RefundFlagDataSchema,L as ReplayPurchasePaymentSchema,N as ReplayPurchaseResponseSchema,M as ReplayPurchaseRowSchema,s as ReplayPurchaseStatus,Q as RequestWithdrawalBodySchema,P as SettlementAccountViewSchema,H as SlateSchema,G as TrailerSchema,p as TransactionStatus,o as TransactionType,O as UpdateSettlementBodySchema,J as ViewerEventDetailResponseSchema,V as WalletFundDataSchema}from'../chunk-MAKIYFAD.mjs';import'../chunk-L4QDS3ET.mjs';//# sourceMappingURL=index.mjs.map
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/user/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkGSVMAZB3_js=require('../chunk-GSVMAZB3.js'),chunkQZMRMFXE_js=require('../chunk-QZMRMFXE.js');require('../chunk-72SD46VJ.js'),require('../chunk-MMROBRAM.js'),require('../chunk-O3GYEMUB.js');Object.defineProperty(exports,"CreateHostProfileRequestSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.e}});Object.defineProperty(exports,"CreateProducerProfileRequestSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.g}});Object.defineProperty(exports,"DisplayNameSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.j}});Object.defineProperty(exports,"HostProfileResponseSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.a}});Object.defineProperty(exports,"NotificationPreferenceItemSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.m}});Object.defineProperty(exports,"NotificationPreferencesResponseSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.q}});Object.defineProperty(exports,"ProducerProfileResponseSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.b}});Object.defineProperty(exports,"RESERVED_DISPLAY_NAMES",{enumerable:true,get:function(){return chunkGSVMAZB3_js.i}});Object.defineProperty(exports,"SendFeedbackRequestSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.o}});Object.defineProperty(exports,"SendFeedbackResponseSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.r}});Object.defineProperty(exports,"SetProfilePinSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.h}});Object.defineProperty(exports,"UpdateHostProfileRequestSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.f}});Object.defineProperty(exports,"UpdateNotificationPreferencesRequestSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.n}});Object.defineProperty(exports,"UpdateUserRequestSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.d}});Object.defineProperty(exports,"UpdateViewerCurrencyRequestSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.l}});Object.defineProperty(exports,"UpdateViewerProfileRequestSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.k}});Object.defineProperty(exports,"UserResponseSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.c}});Object.defineProperty(exports,"ViewerMeResponseSchema",{enumerable:true,get:function(){return chunkGSVMAZB3_js.p}});Object.defineProperty(exports,"AccountStatus",{enumerable:true,get:function(){return chunkQZMRMFXE_js.b}});Object.defineProperty(exports,"AdminScopeCode",{enumerable:true,get:function(){return chunkQZMRMFXE_js.d}});Object.defineProperty(exports,"FeedbackCategory",{enumerable:true,get:function(){return chunkQZMRMFXE_js.e}});Object.defineProperty(exports,"KycStatus",{enumerable:true,get:function(){return chunkQZMRMFXE_js.c}});Object.defineProperty(exports,"NotificationCategory",{enumerable:true,get:function(){return chunkQZMRMFXE_js.f}});Object.defineProperty(exports,"ProducerExperienceLevel",{enumerable:true,get:function(){return chunkQZMRMFXE_js.h}});Object.defineProperty(exports,"ProducerVerificationStatus",{enumerable:true,get:function(){return chunkQZMRMFXE_js.g}});Object.defineProperty(exports,"UserRole",{enumerable:true,get:function(){return chunkQZMRMFXE_js.a}});//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/user/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{e as CreateHostProfileRequestSchema,g as CreateProducerProfileRequestSchema,j as DisplayNameSchema,a as HostProfileResponseSchema,m as NotificationPreferenceItemSchema,q as NotificationPreferencesResponseSchema,b as ProducerProfileResponseSchema,i as RESERVED_DISPLAY_NAMES,o as SendFeedbackRequestSchema,r as SendFeedbackResponseSchema,h as SetProfilePinSchema,f as UpdateHostProfileRequestSchema,n as UpdateNotificationPreferencesRequestSchema,d as UpdateUserRequestSchema,l as UpdateViewerCurrencyRequestSchema,k as UpdateViewerProfileRequestSchema,c as UserResponseSchema,p as ViewerMeResponseSchema}from'../chunk-
|
|
1
|
+
export{e as CreateHostProfileRequestSchema,g as CreateProducerProfileRequestSchema,j as DisplayNameSchema,a as HostProfileResponseSchema,m as NotificationPreferenceItemSchema,q as NotificationPreferencesResponseSchema,b as ProducerProfileResponseSchema,i as RESERVED_DISPLAY_NAMES,o as SendFeedbackRequestSchema,r as SendFeedbackResponseSchema,h as SetProfilePinSchema,f as UpdateHostProfileRequestSchema,n as UpdateNotificationPreferencesRequestSchema,d as UpdateUserRequestSchema,l as UpdateViewerCurrencyRequestSchema,k as UpdateViewerProfileRequestSchema,c as UserResponseSchema,p as ViewerMeResponseSchema}from'../chunk-5LO5B6I4.mjs';export{b as AccountStatus,d as AdminScopeCode,e as FeedbackCategory,c as KycStatus,f as NotificationCategory,h as ProducerExperienceLevel,g as ProducerVerificationStatus,a as UserRole}from'../chunk-5BJU6AZT.mjs';import'../chunk-IIVGG46P.mjs';import'../chunk-MAKIYFAD.mjs';import'../chunk-L4QDS3ET.mjs';//# sourceMappingURL=index.mjs.map
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/package.json
CHANGED
package/dist/chunk-DJQVVYZA.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {b as b$1,f,a,e,c,g as g$1}from'./chunk-B7B7YFFC.mjs';import {a as a$1}from'./chunk-ASVBPXYH.mjs';import {h as h$1,g,k,b as b$2}from'./chunk-L4QDS3ET.mjs';import {z as z$1}from'zod';var q=[b$1.REJECTED,b$1.CANCELLED,b$1.CLOSED],M=[...q,b$1.IN_DISPUTE],$={[b$1.DRAFT]:[b$1.AWAITING_PRODUCER_RESPONSE,b$1.CANCELLED],[b$1.REQUESTED]:[b$1.AWAITING_PRODUCER_RESPONSE,b$1.CANCELLED],[b$1.AWAITING_PRODUCER_RESPONSE]:[b$1.IN_NEGOTIATION,b$1.ACCEPTED,b$1.REJECTED,b$1.CANCELLED],[b$1.IN_NEGOTIATION]:[b$1.ACCEPTED,b$1.REJECTED,b$1.CANCELLED],[b$1.ACCEPTED]:[b$1.AWAITING_ESCROW_FUNDING,b$1.CANCELLED],[b$1.AWAITING_ESCROW_FUNDING]:[b$1.CONFIRMED,b$1.CANCELLED],[b$1.CONFIRMED]:[b$1.IN_PROGRESS,b$1.AWAITING_PRODUCER_RECONFIRM],[b$1.AWAITING_PRODUCER_RECONFIRM]:[b$1.CONFIRMED,b$1.CANCELLED],[b$1.IN_PROGRESS]:[b$1.SERVICE_COMPLETED,b$1.CANCELLED],[b$1.SERVICE_COMPLETED]:[b$1.CLOSED],[b$1.IN_DISPUTE]:[b$1.CLOSED],[b$1.REJECTED]:[],[b$1.CANCELLED]:[],[b$1.CLOSED]:[]},H={[`${b$1.DRAFT}->${b$1.AWAITING_PRODUCER_RESPONSE}`]:[f.HOST,f.SYSTEM],[`${b$1.DRAFT}->${b$1.CANCELLED}`]:[f.HOST],[`${b$1.REQUESTED}->${b$1.AWAITING_PRODUCER_RESPONSE}`]:[f.HOST,f.SYSTEM],[`${b$1.REQUESTED}->${b$1.CANCELLED}`]:[f.HOST],[`${b$1.AWAITING_PRODUCER_RESPONSE}->${b$1.IN_NEGOTIATION}`]:[f.PRODUCER],[`${b$1.AWAITING_PRODUCER_RESPONSE}->${b$1.ACCEPTED}`]:[f.PRODUCER],[`${b$1.AWAITING_PRODUCER_RESPONSE}->${b$1.REJECTED}`]:[f.PRODUCER],[`${b$1.AWAITING_PRODUCER_RESPONSE}->${b$1.CANCELLED}`]:[f.HOST,f.PRODUCER],[`${b$1.IN_NEGOTIATION}->${b$1.ACCEPTED}`]:[f.HOST,f.PRODUCER],[`${b$1.IN_NEGOTIATION}->${b$1.REJECTED}`]:[f.HOST,f.PRODUCER],[`${b$1.IN_NEGOTIATION}->${b$1.CANCELLED}`]:[f.HOST,f.PRODUCER],[`${b$1.ACCEPTED}->${b$1.AWAITING_ESCROW_FUNDING}`]:[f.HOST,f.SYSTEM],[`${b$1.ACCEPTED}->${b$1.CANCELLED}`]:[f.HOST,f.PRODUCER],[`${b$1.AWAITING_ESCROW_FUNDING}->${b$1.CONFIRMED}`]:[f.SYSTEM,f.ADMIN],[`${b$1.AWAITING_ESCROW_FUNDING}->${b$1.CANCELLED}`]:[f.HOST,f.ADMIN],[`${b$1.CONFIRMED}->${b$1.IN_PROGRESS}`]:[f.HOST,f.PRODUCER,f.ADMIN],[`${b$1.CONFIRMED}->${b$1.AWAITING_PRODUCER_RECONFIRM}`]:[f.HOST,f.SYSTEM,f.ADMIN],[`${b$1.AWAITING_PRODUCER_RECONFIRM}->${b$1.CONFIRMED}`]:[f.PRODUCER,f.ADMIN],[`${b$1.AWAITING_PRODUCER_RECONFIRM}->${b$1.CANCELLED}`]:[f.HOST,f.PRODUCER,f.ADMIN],[`${b$1.IN_PROGRESS}->${b$1.SERVICE_COMPLETED}`]:[f.PRODUCER,f.SYSTEM,f.ADMIN],[`${b$1.IN_PROGRESS}->${b$1.CANCELLED}`]:[f.HOST,f.ADMIN],[`${b$1.SERVICE_COMPLETED}->${b$1.CLOSED}`]:[f.HOST,f.ADMIN,f.SYSTEM],[`${b$1.IN_DISPUTE}->${b$1.CLOSED}`]:[f.ADMIN,f.HOST]},w=[b$1.REJECTED,b$1.CANCELLED,b$1.IN_DISPUTE];function W(i,a){return `${i}->${a}`}function F(i){let a=$[i]??[];return M.includes(i)?a:[...a,b$1.IN_DISPUTE]}function pe(i,a){return F(i).includes(a)}function z(i,a){return a===b$1.IN_DISPUTE&&!M.includes(i)?[f.HOST,f.PRODUCER]:H[W(i,a)]??[]}function ge(i,a,S){return z(i,a).includes(S)}function Ee(i,a){return w.includes(a)}var Re=z$1.object({origin:z$1.enum(a),eventId:z$1.uuid().optional(),producerId:z$1.uuid(),agreedAmount:z$1.number().min(0)}),Te=z$1.object({escrowReference:z$1.string()}),Ae=z$1.object({id:z$1.uuid(),eventId:z$1.uuid().optional(),hostId:z$1.uuid(),producerId:z$1.uuid(),quotedPrice:z$1.number(),currency:z$1.string(),scopeOfWork:z$1.record(z$1.string(),z$1.any()).optional(),requiredStartAt:z$1.iso.datetime(),requiredEndAt:z$1.iso.datetime(),bookingState:z$1.enum(b$1),paymentStatus:z$1.enum(e),escrowReference:z$1.string().optional(),completedAt:z$1.iso.datetime().optional(),createdAt:z$1.iso.datetime(),updatedAt:z$1.iso.datetime()}),Ce=z$1.object({title:z$1.string().max(255),description:z$1.string(),requiredDate:z$1.iso.datetime(),estimatedDurationMinutes:z$1.number().int().positive().optional(),location:z$1.string(),budgetRangeMin:z$1.number().optional(),budgetRangeMax:z$1.number().optional()}),De=z$1.object({id:z$1.uuid(),hostProfileId:z$1.uuid(),eventId:z$1.uuid().optional(),title:z$1.string(),description:z$1.string(),requiredDate:z$1.iso.datetime(),estimatedDurationMinutes:z$1.number().int().nullable().optional(),location:z$1.string(),budgetRangeMin:z$1.number().optional(),budgetRangeMax:z$1.number().optional(),state:z$1.enum(c),proposalCount:z$1.number(),createdAt:z$1.iso.datetime()});var m={ONSITE:"ONSITE",REMOTE:"REMOTE"},P={LOW:"LOW",MID:"MID",HIGH:"HIGH"};var y=z$1.record(z$1.string(),z$1.unknown()),Me=z$1.object({producerId:z$1.uuid(),origin:z$1.enum(a),eventId:z$1.uuid().optional(),jobListingId:z$1.uuid().optional(),sourceIoiId:z$1.uuid().optional(),agreedAmount:z$1.coerce.number().nonnegative().optional(),scopeOfWork:z$1.string().max(5e3).optional()}).superRefine((i,a$1)=>{i.origin===a.EVENT_DIRECT&&!i.eventId&&a$1.addIssue({code:"custom",message:"eventId is required when origin is EVENT_DIRECT",path:["eventId"]}),i.origin===a.MARKETPLACE_DIRECT&&(i.eventId&&a$1.addIssue({code:"custom",message:"eventId must not be set when origin is MARKETPLACE_DIRECT",path:["eventId"]}),i.sourceIoiId&&a$1.addIssue({code:"custom",message:"sourceIoiId must not be set when origin is MARKETPLACE_DIRECT",path:["sourceIoiId"]})),i.origin===a.JOB_LISTING&&(i.sourceIoiId||a$1.addIssue({code:"custom",message:"sourceIoiId is required when origin is JOB_LISTING",path:["sourceIoiId"]}),i.eventId&&a$1.addIssue({code:"custom",message:"eventId must not be set when origin is JOB_LISTING",path:["eventId"]})),i.sourceIoiId&&i.origin!==a.JOB_LISTING&&a$1.addIssue({code:"custom",message:"sourceIoiId is only allowed when origin is JOB_LISTING",path:["sourceIoiId"]});}),C=z$1.object({id:z$1.uuid(),eventId:z$1.uuid().nullable(),eventLinked:z$1.boolean(),hostProfileId:z$1.uuid(),producerProfileId:z$1.uuid(),origin:z$1.enum(a),jobListingId:z$1.uuid().nullable(),sourceIoiId:z$1.uuid().nullable(),state:z$1.enum(b$1),agreedAmount:h$1.nullable(),scopeOfWork:z$1.string().nullable(),createdAt:z$1.string(),updatedAt:z$1.string()}),Pe=z$1.object({bookingId:z$1.uuid(),booking:C}),K=z$1.string().trim().min(5).max(500),ye=z$1.object({targetState:z$1.enum(b$1),reason:K.optional()}).superRefine((i,a)=>{(i.targetState===b$1.REJECTED||i.targetState===b$1.CANCELLED||i.targetState===b$1.IN_DISPUTE)&&i.reason===void 0&&a.addIssue({code:"custom",message:"reason is required for this transition",path:["reason"]});}),ve=z$1.object({booking:C}),_e=z$1.object({notes:z$1.string().max(2e3).optional()}),Be=z$1.object({notes:z$1.string().max(2e3).optional()}),je=z$1.object({booking:C,hostAcked:z$1.boolean(),producerAcked:z$1.boolean(),completed:z$1.boolean(),forced:z$1.boolean().optional()}),V=(i,a)=>{if(i.eventId)return;i.eventTitle?.trim()||i.title?.trim()||a.addIssue({code:"custom",message:"eventTitle is required when eventId is not provided",path:["eventTitle"]});},D=(i,a)=>{i.requiredDateLocal!==void 0&&!i.timezone?.trim()&&a.addIssue({code:"custom",message:"timezone is required when requiredDateLocal is provided",path:["timezone"]});},N=z$1.object({eventTitle:z$1.string().min(1).max(200).optional(),title:z$1.string().min(1).max(200).optional(),description:z$1.string().min(1).max(5e3),responsibilities:z$1.string().min(1),requirements:z$1.string().min(1),role:z$1.string().min(1).max(120),requiredCount:z$1.coerce.number().int().min(1),requiredDateLocal:z$1.iso.datetime({local:true,offset:false}).optional(),timezone:z$1.string().min(1).optional(),requiredDate:z$1.iso.datetime().optional(),estimatedDurationMinutes:z$1.coerce.number().int().positive().optional(),location:z$1.enum(m),notes:z$1.string().max(2e3).optional(),compensation:z$1.coerce.number().nonnegative().optional(),attachments:y.optional(),eventId:z$1.uuid().optional()}),Q=N.superRefine(V).superRefine(D),Y=z$1.object({eventTitle:z$1.string().min(1).max(200).optional(),title:z$1.string().min(1).max(200).optional(),description:z$1.string().min(1).max(5e3),responsibilities:z$1.string().min(1),requirements:z$1.string().min(1),role:z$1.string().min(1).max(120),requiredCount:z$1.coerce.number().int().min(1),location:z$1.enum(m),eventId:z$1.uuid().optional()}),X=Y,Ge=N.partial().extend({saveAsDraft:z$1.boolean().optional().default(false)}).superRefine(D).superRefine((i,a)=>{if(i.saveAsDraft)return;let S=Q.safeParse(i);S.success||a.addIssue({code:"custom",message:S.error.issues.map(J=>J.message).join("; ")});}),Ue=N.partial().superRefine(D),Je=z$1.object({...g.shape,location:z$1.enum(m).optional(),search:z$1.string().trim().min(2).max(100).optional(),roles:z$1.string().trim().min(1).max(500).optional(),requiredDateFrom:z$1.string().optional(),requiredDateTo:z$1.string().optional(),minCompensation:z$1.coerce.number().int().min(0).optional(),maxCompensation:z$1.coerce.number().int().min(0).optional(),compensationTier:z$1.enum(P).optional(),matchMyAvailability:z$1.enum(["true","false"]).optional().transform(i=>i==="true")}),qe=z$1.object({...g.shape,state:z$1.enum(c).optional(),search:z$1.string().trim().min(2).max(100).optional()}),$e=X.superRefine((i,a)=>{if(i.eventId)return;i.eventTitle?.trim()||i.title?.trim()||a.addIssue({code:"custom",message:"eventTitle is required for standalone job listings",path:["eventTitle"]});}),He=z$1.object({id:z$1.uuid(),state:z$1.literal("OPEN")}),we=z$1.object({id:z$1.uuid(),hostProfileId:z$1.uuid(),eventId:z$1.uuid().nullable(),title:z$1.string(),eventTitle:z$1.string().nullable(),notes:z$1.string().nullable(),description:z$1.string(),responsibilities:z$1.string(),requirements:z$1.string(),role:z$1.string(),requiredCount:z$1.number().int().min(1),requiredDate:z$1.string().nullable(),requiredDateLocal:z$1.string().nullable(),timezone:z$1.string().nullable(),estimatedDurationMinutes:z$1.number().int().nullable(),location:z$1.enum(m),compensation:h$1.nullable(),attachments:z$1.unknown().nullable(),state:z$1.enum(c),proposalCount:z$1.number().int(),cancelledAt:z$1.string().nullable(),cancelledReason:z$1.string().nullable(),createdAt:z$1.string(),updatedAt:z$1.string()}),We=z$1.object({reason:z$1.string().trim().min(5).max(500).optional()}),Fe=z$1.object({id:z$1.uuid(),state:z$1.literal("CANCELLED"),cancelledAt:z$1.iso.datetime().nullable()}),ze=z$1.object({id:z$1.uuid(),state:z$1.literal(c.SUSPENDED)}),Ke=z$1.object({id:z$1.uuid(),state:z$1.literal(c.OPEN)}),Ve=z$1.object({coverMessage:z$1.string().min(1).max(2e3).optional(),proposedAmount:z$1.coerce.number().nonnegative().optional(),availabilityNotes:z$1.string().max(2e3).optional(),attachments:y.optional()}),v=z$1.object({id:z$1.uuid(),jobListingId:z$1.uuid(),producerProfileId:z$1.uuid(),coverMessage:z$1.string().nullable(),proposedAmount:h$1.nullable(),availabilityNotes:z$1.string().nullable(),state:z$1.enum(a$1),resultingBookingId:z$1.uuid().nullable(),withdrawnAt:z$1.string().nullable(),selectedAt:z$1.string().nullable(),createdAt:z$1.string(),updatedAt:z$1.string()}),Z=v.extend({producerCompanyName:z$1.string().nullable()}),T={CREATED_AT:"createdAt",UPDATED_AT:"updatedAt",PROPOSED_AMOUNT:"proposedAmount"},A={ASC:"asc",DESC:"desc"},Qe=z$1.object({...g.shape,jobListingId:z$1.uuid().optional(),state:z$1.enum(a$1).optional(),search:z$1.string().trim().min(2).max(100).optional(),sortBy:z$1.enum(T).default(T.CREATED_AT),sortOrder:z$1.enum(A).default(A.DESC)}),Ye=Z.extend({producerDisplayName:z$1.string(),producerAvatarUrl:z$1.url().nullable(),producerServiceCategoryLabels:z$1.array(z$1.string()),producerEquipmentLabels:z$1.array(z$1.string()),producerIsVerified:z$1.boolean(),jobListingTitle:z$1.string(),jobListingRole:z$1.string(),jobListingState:z$1.enum(c),jobListingLocation:z$1.enum(m),jobListingEventId:z$1.uuid().nullable(),jobListingEventTitle:z$1.string().nullable()}),Xe=z$1.object({...g.shape,jobListingId:z$1.uuid().optional(),state:z$1.enum(a$1).optional(),search:z$1.string().trim().min(2).max(100).optional(),sortBy:z$1.enum(T).default(T.CREATED_AT),sortOrder:z$1.enum(A).default(A.DESC)}),Ze=v.extend({hostBusinessName:z$1.string().nullable(),jobListingTitle:z$1.string(),jobListingRole:z$1.string(),jobListingState:z$1.enum(c),jobListingLocation:z$1.enum(m),jobListingEventId:z$1.uuid().nullable(),jobListingEventTitle:z$1.string().nullable(),jobListingRequiredDate:z$1.string().nullable(),jobListingCompensation:h$1.nullable()});var _={SENT:"SENT",DELIVERED:"DELIVERED",READ:"READ"};var ee=z$1.object({id:z$1.uuid(),bookingId:z$1.uuid(),hostProfileId:z$1.uuid(),producerProfileId:z$1.uuid(),createdAt:z$1.string(),updatedAt:z$1.string()}),te=z$1.object({id:z$1.uuid(),url:z$1.string(),mimeType:z$1.string(),sizeBytes:z$1.number().int(),createdAt:z$1.string()}),O=z$1.object({id:z$1.uuid(),threadId:z$1.uuid(),senderUserId:z$1.uuid(),body:z$1.string(),sentAt:z$1.string(),deliveryStatus:z$1.enum(_),readAt:z$1.string().nullable(),attachments:z$1.array(te)}),st=g,at=z$1.object({messages:z$1.array(O),...k.shape}),ut=z$1.object({thread:ee,messages:z$1.array(O),...k.shape}),ct=z$1.object({body:z$1.string().trim().min(1).max(5e3),attachments:z$1.array(z$1.object({url:z$1.string().url(),mimeType:z$1.string().min(1).max(120),sizeBytes:z$1.number().int().positive()})).max(10).optional()}),lt=z$1.object({message:O}),mt=z$1.object({url:z$1.url(),key:z$1.string().min(1),mimeType:z$1.string().min(1).max(120),sizeBytes:z$1.number().int().positive()}),dt=z$1.object({upToMessageId:z$1.uuid().optional()}),pt=z$1.object({markedCount:z$1.number().int().nonnegative()}),oe=z$1.object({threadId:z$1.uuid(),bookingId:z$1.uuid(),title:z$1.string(),lastMessagePreview:z$1.string().nullable(),lastMessageAt:z$1.string().nullable(),lastSenderUserId:z$1.uuid().nullable(),lastSenderDisplayName:z$1.string().nullable(),unreadCount:z$1.number().int().nonnegative(),bookingState:z$1.enum(b$1),producerProfileId:z$1.uuid(),producerDisplayName:z$1.string(),producerAvatarUrl:z$1.string().nullable(),hostProfileId:z$1.uuid(),hostDisplayName:z$1.string(),hostAvatarUrl:z$1.string().nullable(),counterpartyDisplayName:z$1.string(),counterpartyAvatarUrl:z$1.string().nullable(),counterpartyRole:z$1.enum(["HOST","PRODUCER"])}),gt=z$1.object({items:z$1.array(oe),...k.shape});var B=z$1.enum(["APPLICATIONS","UPCOMING","LIVE","COMPLETED","JOB_INVITES"]),ne=z$1.enum(["PENDING","SHORTLISTED","SELECTED","WITHDRAWN","REJECTED","CANCELLED","INVITED","NEGOTIATING","CONFIRMED","LIVE","COMPLETED","DISPUTED"]),ie=z$1.enum(["IOI","BOOKING","ASSIGNMENT"]),bt=z$1.object({tab:B,search:z$1.string().trim().min(2).max(100).optional(),...g.shape}),re=z$1.object({id:z$1.uuid(),kind:ie,eventName:z$1.string(),date:z$1.string().nullable(),role:z$1.string(),payment:h$1.nullable(),status:ne,statusCode:z$1.string(),jobListingId:z$1.uuid().nullable(),bookingId:z$1.uuid().nullable(),ioiId:z$1.uuid().nullable(),eventId:z$1.uuid().nullable(),assignmentId:z$1.uuid().nullable().optional()}),Rt=z$1.object({tab:B,items:z$1.array(re),...k.shape}),Tt=z$1.object({applications:z$1.number().int().nonnegative(),upcoming:z$1.number().int().nonnegative(),live:z$1.number().int().nonnegative(),completed:z$1.number().int().nonnegative(),jobInvites:z$1.number().int().nonnegative()});var se=z$1.object({id:z$1.string(),role:b$2}),x=z$1.object({reason:z$1.string().optional(),ipAddress:z$1.string().optional(),userAgent:z$1.string().optional(),traceId:z$1.string().optional()}),j=z$1.record(z$1.string(),z$1.unknown()),ae=x.extend({beforeState:j.optional(),afterState:j.optional()}),ue=x.extend({messageId:z$1.string(),bodyPreview:z$1.string(),attachmentCount:z$1.number().int().nonnegative().optional()}),ce=x.extend({messageId:z$1.string(),attachmentId:z$1.string(),url:z$1.string(),mimeType:z$1.string(),sizeBytes:z$1.number().int().nonnegative()}),h={timestamp:z$1.string().datetime(),actor:se};function b(i){return z$1.object({...h,action:z$1.literal(i),details:ae})}var le=z$1.discriminatedUnion("action",[b(g$1.STATE_CHANGED),b(g$1.TERMS_MODIFIED),b(g$1.BOOKING_CREATED),b(g$1.BOOKING_COMPLETED),b(g$1.BOOKING_CANCELLED),b(g$1.BOOKING_ACCEPTED),b(g$1.BOOKING_REJECTED),z$1.object({...h,action:z$1.literal(g$1.MESSAGE_SENT),details:ue}),z$1.object({...h,action:z$1.literal(g$1.ATTACHMENT_ADDED),details:ce})]),ht=z$1.object({items:z$1.array(le),...k.shape});var G={DRAFT:"DRAFT",INVITED:"INVITED",ACCEPTED:"ACCEPTED",REJECTED:"REJECTED",CANCELLED:"CANCELLED",EXPIRED:"EXPIRED"};var U=z$1.object({role:z$1.string().trim().min(1).max(120),responsibilities:z$1.string().trim().min(1).max(5e3),requirements:z$1.string().trim().min(1).max(5e3),compensation:h$1,location:z$1.enum(m),notes:z$1.string().trim().max(2e3).optional()}),yt=U.extend({producerId:z$1.uuid()}),vt=U.partial().refine(i=>Object.keys(i).length>0,{message:"At least one field is required"}),_t=z$1.object({producerId:z$1.uuid(),role:z$1.string().trim().min(1).max(120).optional(),responsibilities:z$1.string().trim().min(1).max(5e3).optional(),requirements:z$1.string().trim().min(1).max(5e3).optional(),compensation:h$1.optional(),location:z$1.enum(m).optional(),notes:z$1.string().trim().max(2e3).optional()}),me=z$1.object({id:z$1.uuid(),companyName:z$1.string(),displayName:z$1.string().nullable(),avatarUrl:z$1.string().nullable(),producerIsVerified:z$1.boolean()}),L=z$1.object({id:z$1.uuid(),eventId:z$1.uuid(),hostId:z$1.uuid(),producerId:z$1.uuid(),role:z$1.string(),responsibilities:z$1.string(),requirements:z$1.string(),compensation:h$1,location:z$1.enum(m),notes:z$1.string().nullable(),state:z$1.enum(G),bookingId:z$1.uuid().nullable(),invitedAt:z$1.iso.datetime().nullable(),respondedAt:z$1.iso.datetime().nullable(),rejectReason:z$1.string().nullable(),createdAt:z$1.iso.datetime(),updatedAt:z$1.iso.datetime(),producer:me.optional(),eventTitle:z$1.string().optional(),eventScheduledStartLocal:z$1.iso.datetime({local:true,offset:false}).nullable().optional()}),Bt=z$1.object({items:z$1.array(L)}),jt=z$1.object({reason:z$1.string().trim().min(5).max(500)}),Gt=z$1.object({assignment:L,bookingId:z$1.uuid()}),Ut=z$1.object({assignment:L,replacedBookingId:z$1.uuid()});export{lt as $,Ue as A,Bt as Aa,Je as B,jt as Ba,qe as C,Gt as Ca,$e as D,Ut as Da,He as E,we as F,We as G,Fe as H,ze as I,Ke as J,Ve as K,v as L,Z as M,T as N,A as O,Qe as P,Ye as Q,Xe as R,Ze as S,_ as T,ee as U,te as V,O as W,st as X,at as Y,ut as Z,ct as _,q as a,mt as aa,$ as b,dt as ba,H as c,pt as ca,w as d,oe as da,W as e,gt as ea,F as f,B as fa,pe as g,ne as ga,z as h,ie as ha,ge as i,bt as ia,Ee as j,re as ja,Re as k,Rt as ka,Te as l,Tt as la,Ae as m,se as ma,Ce as n,x as na,De as o,j as oa,m as p,ae as pa,P as q,ue as qa,Me as r,ce as ra,C as s,le as sa,Pe as t,ht as ta,ye as u,G as ua,ve as v,yt as va,_e as w,vt as wa,Be as x,_t as xa,je as y,me as ya,Ge as z,L as za};//# sourceMappingURL=chunk-DJQVVYZA.mjs.map
|
|
2
|
-
//# sourceMappingURL=chunk-DJQVVYZA.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/booking/booking-state-machine.ts","../src/booking/booking.schemas.ts","../src/booking/hiring.enums.ts","../src/booking/hiring.schemas.ts","../src/booking/thread.enums.ts","../src/booking/thread.schemas.ts","../src/booking/producer-jobs.schemas.ts","../src/booking/booking-audit.schemas.ts","../src/booking/crew-assignment.enums.ts","../src/booking/crew-assignment.schemas.ts"],"names":["BOOKING_TERMINAL_STATES","BookingState","DISPUTE_EXCLUDED_FROM","VALID_BOOKING_TRANSITIONS","BOOKING_TRANSITION_ACTORS","BookingTransitionActor","BOOKING_TRANSITION_TARGETS_REQUIRING_REASON","bookingTransitionKey","from","to","getAllowedBookingTargetStates","base","isValidBookingTransition","getBookingTransitionActors","canActorPerformBookingTransition","actor","bookingTransitionRequiresReason","_from","CreateBookingRequestSchema","z","BookingOrigin","ConfirmBookingRequestSchema","BookingResponseSchema","BookingPaymentStatus","CreateJobListingRequestSchema","JobListingResponseSchema","JobListingState","JobLocation","JobListingCompensationTier","jsonRecordSchema","CreateMarketplaceBookingRequestSchema","data","ctx","MarketplaceBookingResponseSchema","MoneySchema","CreateMarketplaceBookingResponseSchema","bookingTransitionReasonSchema","TransitionMarketplaceBookingRequestSchema","TransitionMarketplaceBookingResponseSchema","CompleteMarketplaceBookingRequestSchema","ForceCompleteMarketplaceBookingRequestSchema","CompleteMarketplaceBookingResponseSchema","jobListingEventTitleRefine","jobListingRequiredDateRefine","MarketplaceJobListingBodyFieldsSchema","MarketplaceJobListingBodySchema","PublishableJobListingBodyFieldsSchema","PublishableJobListingBodySchema","CreateMarketplaceJobListingRequestSchema","result","issue","UpdateMarketplaceJobListingRequestSchema","ListMarketplaceJobListingsQuerySchema","PaginationParamsSchema","value","ListHostMarketplaceJobListingsQuerySchema","PublishReadyJobListingSchema","PublishMarketplaceJobListingResponseSchema","MarketplaceJobListingResponseSchema","CancelMarketplaceJobListingRequestSchema","CancelMarketplaceJobListingResponseSchema","CloseMarketplaceJobListingResponseSchema","OpenMarketplaceJobListingResponseSchema","SubmitMarketplaceIndicationOfInterestRequestSchema","MarketplaceIndicationOfInterestResponseSchema","JobInterestState","MarketplaceIndicationOfInterestHostItemSchema","HostIndicationOfInterestSortBy","SortOrder","ListHostMarketplaceIndicationsQuerySchema","MarketplaceHostIndicationOfInterestInboxItemSchema","ListProducerMarketplaceIndicationsQuerySchema","MarketplaceProducerIndicationOfInterestInboxItemSchema","MessageDeliveryStatus","MarketplaceHiringThreadSchema","MarketplaceHiringMessageAttachmentSchema","MarketplaceHiringMessageSchema","ListMarketplaceHiringThreadMessagesQuerySchema","ListMarketplaceHiringThreadMessagesResponseSchema","PaginationResponseSchema","GetMarketplaceHiringThreadResponseSchema","PostMarketplaceHiringThreadMessageRequestSchema","PostMarketplaceHiringThreadMessageResponseSchema","UploadMarketplaceHiringThreadAttachmentResponseSchema","MarkMarketplaceHiringThreadReadRequestSchema","MarkMarketplaceHiringThreadReadResponseSchema","MarketplaceHiringThreadInboxItemSchema","ListMarketplaceHiringThreadsResponseSchema","ProducerJobsTabSchema","ProducerJobRowStatusSchema","ProducerJobRowKindSchema","ListProducerJobsQuerySchema","ProducerJobRowSchema","ProducerJobsTabResponseSchema","ProducerJobsTabCountsResponseSchema","BookingAuditActorSchema","AuditActorRoleSchema","BookingAuditRequestMetadataSchema","BookingAuditSnapshotSchema","BookingAuditStateTransitionDetailsSchema","BookingAuditMessageSentDetailsSchema","BookingAuditAttachmentAddedDetailsSchema","auditEntryBase","stateTransitionAuditEntry","action","AdminBookingAuditEntrySchema","BookingAuditAction","AdminBookingAuditResponseSchema","EventCrewAssignmentState","RoleFieldsSchema","CreateEventCrewAssignmentRequestSchema","UpdateEventCrewAssignmentRequestSchema","body","ReplaceEventCrewAssignmentRequestSchema","EventCrewAssignmentProducerSummarySchema","EventCrewAssignmentResponseSchema","ListEventCrewAssignmentsResponseSchema","RejectEventCrewAssignmentRequestSchema","AcceptEventCrewAssignmentResponseSchema","ReplaceEventCrewAssignmentResponseSchema"],"mappings":"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","file":"chunk-DJQVVYZA.mjs","sourcesContent":["import { BookingState, BookingTransitionActor } from './booking.enums';\n\nexport type BookingTransitionKey = `${BookingState}->${BookingState}`;\n\nexport const BOOKING_TERMINAL_STATES: readonly BookingState[] = [\n BookingState.REJECTED,\n BookingState.CANCELLED,\n BookingState.CLOSED,\n];\n\nconst DISPUTE_EXCLUDED_FROM: readonly BookingState[] = [\n ...BOOKING_TERMINAL_STATES,\n BookingState.IN_DISPUTE,\n];\n\n/** Valid target states per source (excludes dispute shortcut — see `getAllowedBookingTargetStates`). */\nexport const VALID_BOOKING_TRANSITIONS: Record<BookingState, readonly BookingState[]> = {\n [BookingState.DRAFT]: [BookingState.AWAITING_PRODUCER_RESPONSE, BookingState.CANCELLED],\n [BookingState.REQUESTED]: [BookingState.AWAITING_PRODUCER_RESPONSE, BookingState.CANCELLED],\n [BookingState.AWAITING_PRODUCER_RESPONSE]: [\n BookingState.IN_NEGOTIATION,\n BookingState.ACCEPTED,\n BookingState.REJECTED,\n BookingState.CANCELLED,\n ],\n [BookingState.IN_NEGOTIATION]: [\n BookingState.ACCEPTED,\n BookingState.REJECTED,\n BookingState.CANCELLED,\n ],\n [BookingState.ACCEPTED]: [BookingState.AWAITING_ESCROW_FUNDING, BookingState.CANCELLED],\n [BookingState.AWAITING_ESCROW_FUNDING]: [BookingState.CONFIRMED, BookingState.CANCELLED],\n [BookingState.CONFIRMED]: [BookingState.IN_PROGRESS, BookingState.AWAITING_PRODUCER_RECONFIRM],\n [BookingState.AWAITING_PRODUCER_RECONFIRM]: [BookingState.CONFIRMED, BookingState.CANCELLED],\n [BookingState.IN_PROGRESS]: [BookingState.SERVICE_COMPLETED, BookingState.CANCELLED],\n [BookingState.SERVICE_COMPLETED]: [BookingState.CLOSED],\n [BookingState.IN_DISPUTE]: [BookingState.CLOSED],\n [BookingState.REJECTED]: [],\n [BookingState.CANCELLED]: [],\n [BookingState.CLOSED]: [],\n};\n\n/** RBAC: which actor may perform each transition (dispute edges merged at runtime). */\nexport const BOOKING_TRANSITION_ACTORS: Partial<\n Record<BookingTransitionKey, readonly BookingTransitionActor[]>\n> = {\n [`${BookingState.DRAFT}->${BookingState.AWAITING_PRODUCER_RESPONSE}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.DRAFT}->${BookingState.CANCELLED}`]: [BookingTransitionActor.HOST],\n [`${BookingState.REQUESTED}->${BookingState.AWAITING_PRODUCER_RESPONSE}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.REQUESTED}->${BookingState.CANCELLED}`]: [BookingTransitionActor.HOST],\n [`${BookingState.AWAITING_PRODUCER_RESPONSE}->${BookingState.IN_NEGOTIATION}`]: [\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.AWAITING_PRODUCER_RESPONSE}->${BookingState.ACCEPTED}`]: [\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.AWAITING_PRODUCER_RESPONSE}->${BookingState.REJECTED}`]: [\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.AWAITING_PRODUCER_RESPONSE}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.IN_NEGOTIATION}->${BookingState.ACCEPTED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.IN_NEGOTIATION}->${BookingState.REJECTED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.IN_NEGOTIATION}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.ACCEPTED}->${BookingState.AWAITING_ESCROW_FUNDING}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.ACCEPTED}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n ],\n [`${BookingState.AWAITING_ESCROW_FUNDING}->${BookingState.CONFIRMED}`]: [\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_ESCROW_FUNDING}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.CONFIRMED}->${BookingState.IN_PROGRESS}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.CONFIRMED}->${BookingState.AWAITING_PRODUCER_RECONFIRM}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_PRODUCER_RECONFIRM}->${BookingState.CONFIRMED}`]: [\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_PRODUCER_RECONFIRM}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.IN_PROGRESS}->${BookingState.SERVICE_COMPLETED}`]: [\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.IN_PROGRESS}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.SERVICE_COMPLETED}->${BookingState.CLOSED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.IN_DISPUTE}->${BookingState.CLOSED}`]: [\n BookingTransitionActor.ADMIN,\n BookingTransitionActor.HOST,\n ],\n};\n\n/** Target states that require a `reason` on the transition request. */\nexport const BOOKING_TRANSITION_TARGETS_REQUIRING_REASON: readonly BookingState[] = [\n BookingState.REJECTED,\n BookingState.CANCELLED,\n BookingState.IN_DISPUTE,\n];\n\nexport function bookingTransitionKey(from: BookingState, to: BookingState): BookingTransitionKey {\n return `${from}->${to}`;\n}\n\nexport function getAllowedBookingTargetStates(from: BookingState): readonly BookingState[] {\n const base = VALID_BOOKING_TRANSITIONS[from] ?? [];\n if (!DISPUTE_EXCLUDED_FROM.includes(from)) {\n return [...base, BookingState.IN_DISPUTE];\n }\n return base;\n}\n\nexport function isValidBookingTransition(from: BookingState, to: BookingState): boolean {\n return getAllowedBookingTargetStates(from).includes(to);\n}\n\nexport function getBookingTransitionActors(\n from: BookingState,\n to: BookingState,\n): readonly BookingTransitionActor[] {\n if (to === BookingState.IN_DISPUTE && !DISPUTE_EXCLUDED_FROM.includes(from)) {\n return [BookingTransitionActor.HOST, BookingTransitionActor.PRODUCER];\n }\n return BOOKING_TRANSITION_ACTORS[bookingTransitionKey(from, to)] ?? [];\n}\n\nexport function canActorPerformBookingTransition(\n from: BookingState,\n to: BookingState,\n actor: BookingTransitionActor,\n): boolean {\n return getBookingTransitionActors(from, to).includes(actor);\n}\n\nexport function bookingTransitionRequiresReason(_from: BookingState, to: BookingState): boolean {\n return BOOKING_TRANSITION_TARGETS_REQUIRING_REASON.includes(to);\n}\n","import { z } from 'zod';\nimport {\n BookingOrigin,\n BookingState,\n JobListingState,\n BookingPaymentStatus,\n} from './booking.enums';\n\nexport const CreateBookingRequestSchema = z.object({\n origin: z.enum(BookingOrigin),\n eventId: z.uuid().optional(),\n producerId: z.uuid(),\n agreedAmount: z.number().min(0),\n});\n\nexport const ConfirmBookingRequestSchema = z.object({\n escrowReference: z.string(),\n});\n\nexport const BookingResponseSchema = z.object({\n id: z.uuid(),\n eventId: z.uuid().optional(),\n hostId: z.uuid(),\n producerId: z.uuid(),\n quotedPrice: z.number(),\n currency: z.string(),\n scopeOfWork: z.record(z.string(), z.any()).optional(),\n requiredStartAt: z.iso.datetime(),\n requiredEndAt: z.iso.datetime(),\n bookingState: z.enum(BookingState),\n paymentStatus: z.enum(BookingPaymentStatus),\n escrowReference: z.string().optional(),\n completedAt: z.iso.datetime().optional(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n});\n\nexport const CreateJobListingRequestSchema = z.object({\n title: z.string().max(255),\n description: z.string(),\n requiredDate: z.iso.datetime(),\n estimatedDurationMinutes: z.number().int().positive().optional(),\n location: z.string(),\n budgetRangeMin: z.number().optional(),\n budgetRangeMax: z.number().optional(),\n});\n\nexport const JobListingResponseSchema = z.object({\n id: z.uuid(),\n hostProfileId: z.uuid(),\n eventId: z.uuid().optional(),\n title: z.string(),\n description: z.string(),\n requiredDate: z.iso.datetime(),\n estimatedDurationMinutes: z.number().int().nullable().optional(),\n location: z.string(),\n budgetRangeMin: z.number().optional(),\n budgetRangeMax: z.number().optional(),\n state: z.enum(JobListingState),\n proposalCount: z.number(),\n createdAt: z.iso.datetime(),\n});\n","export const JobLocation = {\n ONSITE: 'ONSITE',\n REMOTE: 'REMOTE',\n} as const;\nexport type JobLocation = (typeof JobLocation)[keyof typeof JobLocation];\n\n/** Discover-jobs compensation bracket filter (NGN). */\nexport const JobListingCompensationTier = {\n LOW: 'LOW',\n MID: 'MID',\n HIGH: 'HIGH',\n} as const;\nexport type JobListingCompensationTier =\n (typeof JobListingCompensationTier)[keyof typeof JobListingCompensationTier];\n","import { z } from 'zod';\nimport { JobInterestState } from '../joblisting/listing.enum';\nimport { BookingOrigin, BookingState, JobListingState } from './booking.enums';\nimport { JobListingCompensationTier, JobLocation } from './hiring.enums';\nimport { MoneySchema, PaginationParamsSchema } from '../common';\n\nconst jsonRecordSchema = z.record(z.string(), z.unknown());\n\n/** `POST /marketplace/bookings` */\nexport const CreateMarketplaceBookingRequestSchema = z\n .object({\n producerId: z.uuid(),\n origin: z.enum(BookingOrigin),\n eventId: z.uuid().optional(),\n jobListingId: z.uuid().optional(),\n sourceIoiId: z.uuid().optional(),\n agreedAmount: z.coerce.number().nonnegative().optional(),\n scopeOfWork: z.string().max(5000).optional(),\n })\n .superRefine((data, ctx) => {\n if (data.origin === BookingOrigin.EVENT_DIRECT && !data.eventId) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventId is required when origin is EVENT_DIRECT',\n path: ['eventId'],\n });\n }\n if (data.origin === BookingOrigin.MARKETPLACE_DIRECT) {\n if (data.eventId) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventId must not be set when origin is MARKETPLACE_DIRECT',\n path: ['eventId'],\n });\n }\n if (data.sourceIoiId) {\n ctx.addIssue({\n code: 'custom',\n message: 'sourceIoiId must not be set when origin is MARKETPLACE_DIRECT',\n path: ['sourceIoiId'],\n });\n }\n }\n if (data.origin === BookingOrigin.JOB_LISTING) {\n if (!data.sourceIoiId) {\n ctx.addIssue({\n code: 'custom',\n message: 'sourceIoiId is required when origin is JOB_LISTING',\n path: ['sourceIoiId'],\n });\n }\n if (data.eventId) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventId must not be set when origin is JOB_LISTING',\n path: ['eventId'],\n });\n }\n }\n if (data.sourceIoiId && data.origin !== BookingOrigin.JOB_LISTING) {\n ctx.addIssue({\n code: 'custom',\n message: 'sourceIoiId is only allowed when origin is JOB_LISTING',\n path: ['sourceIoiId'],\n });\n }\n });\n\nexport const MarketplaceBookingResponseSchema = z.object({\n id: z.uuid(),\n eventId: z.uuid().nullable(),\n eventLinked: z.boolean(),\n hostProfileId: z.uuid(),\n producerProfileId: z.uuid(),\n origin: z.enum(BookingOrigin),\n jobListingId: z.uuid().nullable(),\n sourceIoiId: z.uuid().nullable(),\n state: z.enum(BookingState),\n /** Server-inherited currency + minor-unit amount (MONEY_MULTI_CURRENCY.md §4). */\n agreedAmount: MoneySchema.nullable(),\n scopeOfWork: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\n/** `POST /marketplace/bookings` — create acknowledgement */\nexport const CreateMarketplaceBookingResponseSchema = z.object({\n bookingId: z.uuid(),\n booking: MarketplaceBookingResponseSchema,\n});\n\nconst bookingTransitionReasonSchema = z.string().trim().min(5).max(500);\n\n/** `POST /marketplace/bookings/:id/transition` (host, producer, admin) */\nexport const TransitionMarketplaceBookingRequestSchema = z\n .object({\n targetState: z.enum(BookingState),\n reason: bookingTransitionReasonSchema.optional(),\n })\n .superRefine((data, ctx) => {\n const requiresReason =\n data.targetState === BookingState.REJECTED ||\n data.targetState === BookingState.CANCELLED ||\n data.targetState === BookingState.IN_DISPUTE;\n if (requiresReason && data.reason === undefined) {\n ctx.addIssue({\n code: 'custom',\n message: 'reason is required for this transition',\n path: ['reason'],\n });\n }\n });\n\nexport const TransitionMarketplaceBookingResponseSchema = z.object({\n booking: MarketplaceBookingResponseSchema,\n});\n\n/** `POST /marketplace/bookings/:id/complete` — dual-ack manual completion */\nexport const CompleteMarketplaceBookingRequestSchema = z.object({\n notes: z.string().max(2000).optional(),\n});\n\n/** `POST /marketplace/bookings/:id/admin-force-complete` — TRUST admin override */\nexport const ForceCompleteMarketplaceBookingRequestSchema = z.object({\n notes: z.string().max(2000).optional(),\n});\n\nexport const CompleteMarketplaceBookingResponseSchema = z.object({\n booking: MarketplaceBookingResponseSchema,\n hostAcked: z.boolean(),\n producerAcked: z.boolean(),\n completed: z.boolean(),\n forced: z.boolean().optional(),\n});\n\nconst jobListingEventTitleRefine = (\n data: {\n eventId?: string | undefined;\n eventTitle?: string | undefined;\n title?: string | undefined;\n },\n ctx: z.RefinementCtx,\n) => {\n if (data.eventId) {\n return;\n }\n const standaloneTitle = data.eventTitle?.trim() || data.title?.trim();\n if (!standaloneTitle) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventTitle is required when eventId is not provided',\n path: ['eventTitle'],\n });\n }\n};\n\nconst jobListingRequiredDateRefine = (\n data: {\n requiredDateLocal?: string | undefined;\n timezone?: string | undefined;\n },\n ctx: z.RefinementCtx,\n) => {\n if (data.requiredDateLocal !== undefined && !data.timezone?.trim()) {\n ctx.addIssue({\n code: 'custom',\n message: 'timezone is required when requiredDateLocal is provided',\n path: ['timezone'],\n });\n }\n};\n\nconst MarketplaceJobListingBodyFieldsSchema = z.object({\n /** Standalone event title — required when `eventId` is absent. Ignored when linked. */\n eventTitle: z.string().min(1).max(200).optional(),\n /** @deprecated Use `eventTitle`. Kept for backward compatibility. */\n title: z.string().min(1).max(200).optional(),\n description: z.string().min(1).max(5000),\n responsibilities: z.string().min(1),\n requirements: z.string().min(1),\n role: z.string().min(1).max(120),\n requiredCount: z.coerce.number().int().min(1),\n /** Wall-clock local datetime in `timezone` — same contract as Event `scheduledStartLocal`. */\n requiredDateLocal: z.iso.datetime({ local: true, offset: false }).optional(),\n /** IANA timezone for `requiredDateLocal` (e.g. Africa/Lagos). */\n timezone: z.string().min(1).optional(),\n /**\n * @deprecated Prefer `requiredDateLocal` + `timezone`.\n * When sent alone, treated as wall-clock digits (Event wizard legacy path).\n */\n requiredDate: z.iso.datetime().optional(),\n estimatedDurationMinutes: z.coerce.number().int().positive().optional(),\n location: z.enum(JobLocation),\n notes: z.string().max(2000).optional(),\n compensation: z.coerce.number().nonnegative().optional(),\n attachments: jsonRecordSchema.optional(),\n eventId: z.uuid().optional(),\n});\n\nconst MarketplaceJobListingBodySchema = MarketplaceJobListingBodyFieldsSchema.superRefine(\n jobListingEventTitleRefine,\n).superRefine(jobListingRequiredDateRefine);\n\n/** Publish/create body without event-title guard (linked listings resolve title at read time). */\nconst PublishableJobListingBodyFieldsSchema = z.object({\n eventTitle: z.string().min(1).max(200).optional(),\n title: z.string().min(1).max(200).optional(),\n description: z.string().min(1).max(5000),\n responsibilities: z.string().min(1),\n requirements: z.string().min(1),\n role: z.string().min(1).max(120),\n requiredCount: z.coerce.number().int().min(1),\n location: z.enum(JobLocation),\n eventId: z.uuid().optional(),\n});\n\nconst PublishableJobListingBodySchema = PublishableJobListingBodyFieldsSchema;\n\n/** `POST /marketplace/job-listings` — publish immediately unless `saveAsDraft` */\nexport const CreateMarketplaceJobListingRequestSchema =\n MarketplaceJobListingBodyFieldsSchema.partial()\n .extend({\n saveAsDraft: z.boolean().optional().default(false),\n })\n .superRefine(jobListingRequiredDateRefine)\n .superRefine((data, ctx) => {\n if (data.saveAsDraft) {\n return;\n }\n const result = MarketplaceJobListingBodySchema.safeParse(data);\n if (!result.success) {\n ctx.addIssue({\n code: 'custom',\n message: result.error.issues.map((issue) => issue.message).join('; '),\n });\n }\n });\n\nexport const UpdateMarketplaceJobListingRequestSchema =\n MarketplaceJobListingBodyFieldsSchema.partial().superRefine(jobListingRequiredDateRefine);\n\nexport const ListMarketplaceJobListingsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n location: z.enum(JobLocation).optional(),\n /** Case-insensitive match on listing title, role, linked event title, or host business name */\n search: z.string().trim().min(2).max(100).optional(),\n /** Comma-separated role slugs, e.g. `camera-operator,sound-engineer` */\n roles: z.string().trim().min(1).max(500).optional(),\n requiredDateFrom: z.string().optional(),\n requiredDateTo: z.string().optional(),\n minCompensation: z.coerce.number().int().min(0).optional(),\n maxCompensation: z.coerce.number().int().min(0).optional(),\n compensationTier: z.enum(JobListingCompensationTier).optional(),\n /** When true, only listings whose requiredDate falls on a day the authenticated producer marked available */\n matchMyAvailability: z\n .enum(['true', 'false'])\n .optional()\n .transform((value) => value === 'true'),\n});\n\n/** `GET /marketplace/job-listings/mine` (host) */\nexport const ListHostMarketplaceJobListingsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n state: z.enum(JobListingState).optional(),\n /** Case-insensitive match on listing title, role, or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n});\n\n/** Required persisted fields before a DRAFT job listing can be published */\nexport const PublishReadyJobListingSchema = PublishableJobListingBodySchema.superRefine(\n (data, ctx) => {\n if (data.eventId) {\n return;\n }\n const standaloneTitle = data.eventTitle?.trim() || data.title?.trim();\n if (!standaloneTitle) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventTitle is required for standalone job listings',\n path: ['eventTitle'],\n });\n }\n },\n);\n\n/** `POST /marketplace/job-listings/:id/publish` (host owner) */\nexport const PublishMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('OPEN'),\n});\n\nexport const MarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n hostProfileId: z.uuid(),\n eventId: z.uuid().nullable(),\n /** Resolved display title — linked events use the current Event title. */\n title: z.string(),\n eventTitle: z.string().nullable(),\n notes: z.string().nullable(),\n description: z.string(),\n responsibilities: z.string(),\n requirements: z.string(),\n role: z.string(),\n requiredCount: z.number().int().min(1),\n /** UTC instant (Event `scheduledStart` analogue). */\n requiredDate: z.string().nullable(),\n /** Wall-clock string, no offset (Event `scheduledStartLocal` analogue). */\n requiredDateLocal: z.string().nullable(),\n timezone: z.string().nullable(),\n estimatedDurationMinutes: z.number().int().nullable(),\n location: z.enum(JobLocation),\n /** Host-set compensation for the listing (MoneyDto, MONEY_MULTI_CURRENCY.md §4). */\n compensation: MoneySchema.nullable(),\n attachments: z.unknown().nullable(),\n state: z.enum(JobListingState),\n proposalCount: z.number().int(),\n cancelledAt: z.string().nullable(),\n cancelledReason: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\n/** `POST /marketplace/job-listings/:id/cancel` (host owner) — mirrors HostEventCancelResponseSchema shape */\nexport const CancelMarketplaceJobListingRequestSchema = z.object({\n reason: z.string().trim().min(5).max(500).optional(),\n});\n\nexport const CancelMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('CANCELLED'),\n cancelledAt: z.iso.datetime().nullable(),\n});\n\n/**\n * `POST /marketplace/job-listings/:id/close` (host owner) —\n * pause new applications (`OPEN` → `SUSPENDED`). Pending IoIs are kept.\n */\nexport const CloseMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal(JobListingState.SUSPENDED),\n});\n\n/**\n * `POST /marketplace/job-listings/:id/open` (host owner) —\n * resume applications (`SUSPENDED` | `CLOSED` → `OPEN`) when capacity remains.\n */\nexport const OpenMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal(JobListingState.OPEN),\n});\n\n/** `POST .../indications-of-interest` */\nexport const SubmitMarketplaceIndicationOfInterestRequestSchema = z.object({\n coverMessage: z.string().min(1).max(2000).optional(),\n proposedAmount: z.coerce.number().nonnegative().optional(),\n availabilityNotes: z.string().max(2000).optional(),\n attachments: jsonRecordSchema.optional(),\n});\n\nexport const MarketplaceIndicationOfInterestResponseSchema = z.object({\n id: z.uuid(),\n jobListingId: z.uuid(),\n producerProfileId: z.uuid(),\n coverMessage: z.string().nullable(),\n /** Producer-proposed compensation (MoneyDto — currency inherits from parent listing). */\n proposedAmount: MoneySchema.nullable(),\n availabilityNotes: z.string().nullable(),\n state: z.enum(JobInterestState),\n resultingBookingId: z.uuid().nullable(),\n withdrawnAt: z.string().nullable(),\n selectedAt: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\n/** Host review row — IoI plus producer display label */\nexport const MarketplaceIndicationOfInterestHostItemSchema =\n MarketplaceIndicationOfInterestResponseSchema.extend({\n producerCompanyName: z.string().nullable(),\n });\n\nexport const HostIndicationOfInterestSortBy = {\n CREATED_AT: 'createdAt',\n UPDATED_AT: 'updatedAt',\n PROPOSED_AMOUNT: 'proposedAmount',\n} as const;\n\nexport const SortOrder = {\n ASC: 'asc',\n DESC: 'desc',\n} as const;\n\n/** `GET /marketplace/job-listings/indications-of-interest/mine` (host inbox) */\nexport const ListHostMarketplaceIndicationsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n jobListingId: z.uuid().optional(),\n state: z.enum(JobInterestState).optional(),\n /** Case-insensitive match on job listing title or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n sortBy: z.enum(HostIndicationOfInterestSortBy).default(HostIndicationOfInterestSortBy.CREATED_AT),\n sortOrder: z.enum(SortOrder).default(SortOrder.DESC),\n});\n\n/** Host inbox row — IoI with applicant + parent job listing summary */\nexport const MarketplaceHostIndicationOfInterestInboxItemSchema =\n MarketplaceIndicationOfInterestHostItemSchema.extend({\n producerDisplayName: z.string(),\n producerAvatarUrl: z.url().nullable(),\n producerServiceCategoryLabels: z.array(z.string()),\n producerEquipmentLabels: z.array(z.string()),\n producerIsVerified: z.boolean(),\n jobListingTitle: z.string(),\n jobListingRole: z.string(),\n jobListingState: z.enum(JobListingState),\n jobListingLocation: z.enum(JobLocation),\n jobListingEventId: z.uuid().nullable(),\n jobListingEventTitle: z.string().nullable(),\n });\n\n/** `GET /marketplace/indications-of-interest/mine` (producer applications inbox) */\nexport const ListProducerMarketplaceIndicationsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n jobListingId: z.uuid().optional(),\n state: z.enum(JobInterestState).optional(),\n /** Case-insensitive match on job listing title or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n sortBy: z.enum(HostIndicationOfInterestSortBy).default(HostIndicationOfInterestSortBy.CREATED_AT),\n sortOrder: z.enum(SortOrder).default(SortOrder.DESC),\n});\n\n/** Producer applications inbox row — IoI with parent job listing summary */\nexport const MarketplaceProducerIndicationOfInterestInboxItemSchema =\n MarketplaceIndicationOfInterestResponseSchema.extend({\n hostBusinessName: z.string().nullable(),\n jobListingTitle: z.string(),\n jobListingRole: z.string(),\n jobListingState: z.enum(JobListingState),\n jobListingLocation: z.enum(JobLocation),\n jobListingEventId: z.uuid().nullable(),\n jobListingEventTitle: z.string().nullable(),\n jobListingRequiredDate: z.string().nullable(),\n jobListingCompensation: MoneySchema.nullable(),\n });\n","export const MessageDeliveryStatus = {\n SENT: 'SENT',\n DELIVERED: 'DELIVERED',\n READ: 'READ',\n} as const;\nexport type MessageDeliveryStatus =\n (typeof MessageDeliveryStatus)[keyof typeof MessageDeliveryStatus];\n","import { z } from 'zod';\nimport { BookingState } from './booking.enums';\nimport { MessageDeliveryStatus } from './thread.enums';\nimport { PaginationParamsSchema, PaginationResponseSchema } from '../common/common.schemas';\n\nexport const MarketplaceHiringThreadSchema = z.object({\n id: z.uuid(),\n bookingId: z.uuid(),\n hostProfileId: z.uuid(),\n producerProfileId: z.uuid(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\nexport const MarketplaceHiringMessageAttachmentSchema = z.object({\n id: z.uuid(),\n url: z.string(),\n mimeType: z.string(),\n sizeBytes: z.number().int(),\n createdAt: z.string(),\n});\n\nexport const MarketplaceHiringMessageSchema = z.object({\n id: z.uuid(),\n threadId: z.uuid(),\n senderUserId: z.uuid(),\n body: z.string(),\n sentAt: z.string(),\n deliveryStatus: z.enum(MessageDeliveryStatus),\n readAt: z.string().nullable(),\n attachments: z.array(MarketplaceHiringMessageAttachmentSchema),\n});\n\nexport const ListMarketplaceHiringThreadMessagesQuerySchema = PaginationParamsSchema;\n\nexport const ListMarketplaceHiringThreadMessagesResponseSchema = z.object({\n messages: z.array(MarketplaceHiringMessageSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const GetMarketplaceHiringThreadResponseSchema = z.object({\n thread: MarketplaceHiringThreadSchema,\n messages: z.array(MarketplaceHiringMessageSchema),\n ...PaginationResponseSchema.shape,\n});\n\nexport const PostMarketplaceHiringThreadMessageRequestSchema = z.object({\n body: z.string().trim().min(1).max(5000),\n attachments: z\n .array(\n z.object({\n url: z.string().url(),\n mimeType: z.string().min(1).max(120),\n sizeBytes: z.number().int().positive(),\n }),\n )\n .max(10)\n .optional(),\n});\n\nexport const PostMarketplaceHiringThreadMessageResponseSchema = z.object({\n message: MarketplaceHiringMessageSchema,\n});\n\n/**\n * `POST /marketplace/bookings/:bookingId/thread/attachments`\n * Multipart image upload for hiring-thread chat. FE uploads first, then\n * posts the returned `{ url, mimeType, sizeBytes }` via the existing\n * WS `hiring_thread.message.post` attachments array (URL path unchanged).\n */\nexport const UploadMarketplaceHiringThreadAttachmentResponseSchema = z.object({\n url: z.url(),\n key: z.string().min(1),\n mimeType: z.string().min(1).max(120),\n sizeBytes: z.number().int().positive(),\n});\n\nexport const MarkMarketplaceHiringThreadReadRequestSchema = z.object({\n upToMessageId: z.uuid().optional(),\n});\n\nexport const MarkMarketplaceHiringThreadReadResponseSchema = z.object({\n markedCount: z.number().int().nonnegative(),\n});\n\n/** Inbox row for host/producer — one conversation per booking thread. */\nexport const MarketplaceHiringThreadInboxItemSchema = z.object({\n threadId: z.uuid(),\n bookingId: z.uuid(),\n title: z.string(),\n lastMessagePreview: z.string().nullable(),\n lastMessageAt: z.string().nullable(),\n lastSenderUserId: z.uuid().nullable(),\n lastSenderDisplayName: z.string().nullable(),\n unreadCount: z.number().int().nonnegative(),\n bookingState: z.enum(BookingState),\n /** Always present so host + producer apps can render either participant. */\n producerProfileId: z.uuid(),\n producerDisplayName: z.string(),\n producerAvatarUrl: z.string().nullable(),\n hostProfileId: z.uuid(),\n hostDisplayName: z.string(),\n hostAvatarUrl: z.string().nullable(),\n /**\n * The other participant relative to the authenticated caller.\n * Host inbox → producer; producer inbox → host.\n */\n counterpartyDisplayName: z.string(),\n counterpartyAvatarUrl: z.string().nullable(),\n counterpartyRole: z.enum(['HOST', 'PRODUCER']),\n});\n\nexport const ListMarketplaceHiringThreadsResponseSchema = z.object({\n items: z.array(MarketplaceHiringThreadInboxItemSchema),\n ...PaginationResponseSchema.shape,\n});\n","import { z } from 'zod';\nimport { MoneySchema, PaginationParamsSchema, PaginationResponseSchema } from '../common';\n\n/** Crew dashboard \"My Jobs\" tabs — mirrors host `GET /host/events?tab=`. */\nexport const ProducerJobsTabSchema = z.enum([\n 'APPLICATIONS',\n 'UPCOMING',\n 'LIVE',\n 'COMPLETED',\n 'JOB_INVITES',\n]);\n\n/**\n * Unified display status for the My Jobs table.\n * Mapped from IoI state (Applications) or booking state (other tabs).\n */\nexport const ProducerJobRowStatusSchema = z.enum([\n 'PENDING',\n 'SHORTLISTED',\n 'SELECTED',\n 'WITHDRAWN',\n 'REJECTED',\n 'CANCELLED',\n 'INVITED',\n 'NEGOTIATING',\n 'CONFIRMED',\n 'LIVE',\n 'COMPLETED',\n 'DISPUTED',\n]);\n\nexport const ProducerJobRowKindSchema = z.enum(['IOI', 'BOOKING', 'ASSIGNMENT']);\n\n/** `GET /marketplace/producer/jobs` */\nexport const ListProducerJobsQuerySchema = z.object({\n tab: ProducerJobsTabSchema,\n /** Case-insensitive match on event / job listing title */\n search: z.string().trim().min(2).max(100).optional(),\n ...PaginationParamsSchema.shape,\n});\n\n/** One row in the My Jobs table (Applications / Upcoming / Live / …). */\nexport const ProducerJobRowSchema = z.object({\n id: z.uuid(),\n kind: ProducerJobRowKindSchema,\n eventName: z.string(),\n date: z.string().nullable(),\n role: z.string(),\n payment: MoneySchema.nullable(),\n status: ProducerJobRowStatusSchema,\n /** Raw IoI, booking, or assignment state for FE debugging / detail navigation */\n statusCode: z.string(),\n jobListingId: z.uuid().nullable(),\n bookingId: z.uuid().nullable(),\n ioiId: z.uuid().nullable(),\n eventId: z.uuid().nullable(),\n /** Present when kind=ASSIGNMENT */\n assignmentId: z.uuid().nullable().optional(),\n});\n\nexport const ProducerJobsTabResponseSchema = z.object({\n tab: ProducerJobsTabSchema,\n items: z.array(ProducerJobRowSchema),\n ...PaginationResponseSchema.shape,\n});\n\n/** `GET /marketplace/producer/jobs/counts` — tab badge numbers */\nexport const ProducerJobsTabCountsResponseSchema = z.object({\n applications: z.number().int().nonnegative(),\n upcoming: z.number().int().nonnegative(),\n live: z.number().int().nonnegative(),\n completed: z.number().int().nonnegative(),\n jobInvites: z.number().int().nonnegative(),\n});\n","import { z } from 'zod';\nimport { AuditActorRoleSchema } from '../common/audit.enums';\nimport { PaginationResponseSchema } from '../common/common.schemas';\nimport { BookingAuditAction } from './booking.enums';\n\nexport const BookingAuditActorSchema = z.object({\n id: z.string(),\n role: AuditActorRoleSchema,\n});\n\n/** Optional request metadata copied into admin `details` when present. */\nexport const BookingAuditRequestMetadataSchema = z.object({\n reason: z.string().optional(),\n ipAddress: z.string().optional(),\n userAgent: z.string().optional(),\n traceId: z.string().optional(),\n});\n\n/** Snapshot blob stored in audit `before` / `after` JSON columns. */\nexport const BookingAuditSnapshotSchema = z.record(z.string(), z.unknown());\n\n/**\n * STATE_CHANGED, TERMS_MODIFIED, and booking lifecycle actions surface\n * `beforeState` / `afterState` via admin formatters.\n */\nexport const BookingAuditStateTransitionDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n beforeState: BookingAuditSnapshotSchema.optional(),\n afterState: BookingAuditSnapshotSchema.optional(),\n});\n\nexport const BookingAuditMessageSentDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n messageId: z.string(),\n bodyPreview: z.string(),\n attachmentCount: z.number().int().nonnegative().optional(),\n});\n\nexport const BookingAuditAttachmentAddedDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n messageId: z.string(),\n attachmentId: z.string(),\n url: z.string(),\n mimeType: z.string(),\n sizeBytes: z.number().int().nonnegative(),\n});\n\nconst auditEntryBase = {\n timestamp: z.string().datetime(),\n actor: BookingAuditActorSchema,\n};\n\nfunction stateTransitionAuditEntry<\n A extends (typeof BookingAuditAction)[keyof typeof BookingAuditAction],\n>(action: A) {\n return z.object({\n ...auditEntryBase,\n action: z.literal(action),\n details: BookingAuditStateTransitionDetailsSchema,\n });\n}\n\n/** One audit row in `GET /admin/bookings/:id/audit` — discriminated by `action`. */\nexport const AdminBookingAuditEntrySchema = z.discriminatedUnion('action', [\n stateTransitionAuditEntry(BookingAuditAction.STATE_CHANGED),\n stateTransitionAuditEntry(BookingAuditAction.TERMS_MODIFIED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_CREATED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_COMPLETED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_CANCELLED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_ACCEPTED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_REJECTED),\n z.object({\n ...auditEntryBase,\n action: z.literal(BookingAuditAction.MESSAGE_SENT),\n details: BookingAuditMessageSentDetailsSchema,\n }),\n z.object({\n ...auditEntryBase,\n action: z.literal(BookingAuditAction.ATTACHMENT_ADDED),\n details: BookingAuditAttachmentAddedDetailsSchema,\n }),\n]);\n\nexport const AdminBookingAuditResponseSchema = z.object({\n items: z.array(AdminBookingAuditEntrySchema),\n ...PaginationResponseSchema.shape,\n});\n","export const EventCrewAssignmentState = {\n DRAFT: 'DRAFT',\n INVITED: 'INVITED',\n ACCEPTED: 'ACCEPTED',\n REJECTED: 'REJECTED',\n CANCELLED: 'CANCELLED',\n EXPIRED: 'EXPIRED',\n} as const;\nexport type EventCrewAssignmentState =\n (typeof EventCrewAssignmentState)[keyof typeof EventCrewAssignmentState];\n","import { z } from 'zod';\nimport { MoneySchema } from '../common';\nimport { JobLocation } from './hiring.enums';\nimport { EventCrewAssignmentState } from './crew-assignment.enums';\n\nconst RoleFieldsSchema = z.object({\n role: z.string().trim().min(1).max(120),\n responsibilities: z.string().trim().min(1).max(5000),\n requirements: z.string().trim().min(1).max(5000),\n compensation: MoneySchema,\n location: z.enum(JobLocation),\n notes: z.string().trim().max(2000).optional(),\n});\n\n/** `POST /host/events/:eventId/crew-assignments` */\nexport const CreateEventCrewAssignmentRequestSchema = RoleFieldsSchema.extend({\n producerId: z.uuid(),\n});\n\n/** `PATCH /host/events/:eventId/crew-assignments/:id` */\nexport const UpdateEventCrewAssignmentRequestSchema = RoleFieldsSchema.partial().refine(\n (body) => Object.keys(body).length > 0,\n { message: 'At least one field is required' },\n);\n\n/** `POST /host/events/:eventId/crew-assignments/:id/replace` */\nexport const ReplaceEventCrewAssignmentRequestSchema = z.object({\n producerId: z.uuid(),\n role: z.string().trim().min(1).max(120).optional(),\n responsibilities: z.string().trim().min(1).max(5000).optional(),\n requirements: z.string().trim().min(1).max(5000).optional(),\n compensation: MoneySchema.optional(),\n location: z.enum(JobLocation).optional(),\n notes: z.string().trim().max(2000).optional(),\n});\n\nexport const EventCrewAssignmentProducerSummarySchema = z.object({\n id: z.uuid(),\n companyName: z.string(),\n displayName: z.string().nullable(),\n avatarUrl: z.string().nullable(),\n producerIsVerified: z.boolean(),\n});\n\nexport const EventCrewAssignmentResponseSchema = z.object({\n id: z.uuid(),\n eventId: z.uuid(),\n hostId: z.uuid(),\n producerId: z.uuid(),\n role: z.string(),\n responsibilities: z.string(),\n requirements: z.string(),\n compensation: MoneySchema,\n location: z.enum(JobLocation),\n notes: z.string().nullable(),\n state: z.enum(EventCrewAssignmentState),\n bookingId: z.uuid().nullable(),\n invitedAt: z.iso.datetime().nullable(),\n respondedAt: z.iso.datetime().nullable(),\n rejectReason: z.string().nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n producer: EventCrewAssignmentProducerSummarySchema.optional(),\n eventTitle: z.string().optional(),\n eventScheduledStartLocal: z.iso.datetime({ local: true, offset: false }).nullable().optional(),\n});\n\nexport const ListEventCrewAssignmentsResponseSchema = z.object({\n items: z.array(EventCrewAssignmentResponseSchema),\n});\n\n/** `POST /marketplace/crew-assignments/:id/reject` */\nexport const RejectEventCrewAssignmentRequestSchema = z.object({\n reason: z.string().trim().min(5).max(500),\n});\n\nexport const AcceptEventCrewAssignmentResponseSchema = z.object({\n assignment: EventCrewAssignmentResponseSchema,\n bookingId: z.uuid(),\n});\n\nexport const ReplaceEventCrewAssignmentResponseSchema = z.object({\n assignment: EventCrewAssignmentResponseSchema,\n replacedBookingId: z.uuid(),\n});\n"]}
|