@myrjfa/state 2.2.0 → 2.3.2
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/LICENSE +201 -201
- package/README.md +20 -3
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/lib/actions/actions.d.ts +13 -13
- package/dist/lib/actions/actions.d.ts.map +1 -1
- package/dist/lib/actions/actions.js +5 -4
- package/dist/lib/actions/auth.d.ts +116 -7
- package/dist/lib/actions/auth.d.ts.map +1 -1
- package/dist/lib/actions/auth.js +59 -10
- package/dist/lib/actions/chat.d.ts +261 -24
- package/dist/lib/actions/chat.d.ts.map +1 -1
- package/dist/lib/actions/chat.js +525 -41
- package/dist/lib/actions/fetcher.d.ts.map +1 -1
- package/dist/lib/actions/fetcher.js +26 -9
- package/dist/lib/actions/serverActions.d.ts +1 -0
- package/dist/lib/actions/serverActions.d.ts.map +1 -1
- package/dist/lib/actions/serverActions.js +15 -0
- package/dist/lib/actions/socket.d.ts.map +1 -1
- package/dist/lib/actions/socket.js +5 -1
- package/dist/lib/actions.d.ts +26 -26
- package/dist/lib/actions.d.ts.map +1 -1
- package/dist/lib/actions.js +17 -12
- package/dist/lib/adminDashboardActions.d.ts +15 -3
- package/dist/lib/adminDashboardActions.d.ts.map +1 -1
- package/dist/lib/adminDashboardActions.js +16 -7
- package/dist/lib/authSessionManager.d.ts.map +1 -1
- package/dist/lib/authSessionManager.js +77 -12
- package/dist/lib/authSessionPolicy.d.ts +44 -0
- package/dist/lib/authSessionPolicy.d.ts.map +1 -0
- package/dist/lib/authSessionPolicy.js +61 -0
- package/dist/lib/authorizationActions.d.ts +77 -0
- package/dist/lib/authorizationActions.d.ts.map +1 -0
- package/dist/lib/authorizationActions.js +61 -0
- package/dist/lib/context/ChatContext.d.ts +25 -6
- package/dist/lib/context/ChatContext.d.ts.map +1 -1
- package/dist/lib/context/ChatContext.js +356 -245
- package/dist/lib/discountActions.d.ts +43 -0
- package/dist/lib/discountActions.d.ts.map +1 -0
- package/dist/lib/discountActions.js +69 -0
- package/dist/lib/loyaltyActions.d.ts +32 -0
- package/dist/lib/loyaltyActions.d.ts.map +1 -0
- package/dist/lib/loyaltyActions.js +92 -0
- package/dist/lib/models/adventure.d.ts +0 -2
- package/dist/lib/models/adventure.d.ts.map +1 -1
- package/dist/lib/models/authorization.d.ts +108 -0
- package/dist/lib/models/authorization.d.ts.map +1 -0
- package/dist/lib/models/authorization.js +266 -0
- package/dist/lib/models/blog.d.ts +6 -6
- package/dist/lib/models/booking.d.ts +7 -2
- package/dist/lib/models/booking.d.ts.map +1 -1
- package/dist/lib/models/chat.d.ts +418 -32
- package/dist/lib/models/chat.d.ts.map +1 -1
- package/dist/lib/models/chat.js +5 -1
- package/dist/lib/models/discount.d.ts +589 -138
- package/dist/lib/models/discount.d.ts.map +1 -1
- package/dist/lib/models/discount.js +118 -96
- package/dist/lib/models/guide.d.ts +0 -2
- package/dist/lib/models/guide.d.ts.map +1 -1
- package/dist/lib/models/loyalty.d.ts +88 -0
- package/dist/lib/models/loyalty.d.ts.map +1 -0
- package/dist/lib/models/loyalty.js +1 -0
- package/dist/lib/models/notifications.d.ts +6 -6
- package/dist/lib/models/opportunities/freelance.d.ts +66 -20
- package/dist/lib/models/opportunities/freelance.d.ts.map +1 -1
- package/dist/lib/models/opportunities/internship.d.ts +66 -20
- package/dist/lib/models/opportunities/internship.d.ts.map +1 -1
- package/dist/lib/models/opportunities/job.d.ts +66 -20
- package/dist/lib/models/opportunities/job.d.ts.map +1 -1
- package/dist/lib/models/opportunities/opportunity.d.ts +66 -20
- package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -1
- package/dist/lib/models/opportunities/opportunity.js +2 -0
- package/dist/lib/models/opportunities/volunteerJob.d.ts +66 -20
- package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -1
- package/dist/lib/models/package.d.ts +77 -216
- package/dist/lib/models/package.d.ts.map +1 -1
- package/dist/lib/models/package.js +0 -2
- package/dist/lib/models/portfolio.d.ts +2 -2
- package/dist/lib/models/pricing.d.ts +12 -12
- package/dist/lib/models/props.d.ts +1 -1
- package/dist/lib/models/props.d.ts.map +1 -1
- package/dist/lib/models/rental.d.ts +0 -2
- package/dist/lib/models/rental.d.ts.map +1 -1
- package/dist/lib/models/review.d.ts +2 -2
- package/dist/lib/models/stay.d.ts +17 -17
- package/dist/lib/models/store.d.ts +71 -0
- package/dist/lib/models/store.d.ts.map +1 -0
- package/dist/lib/models/store.js +1 -0
- package/dist/lib/models/tile.d.ts +0 -2
- package/dist/lib/models/tile.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.d.ts +211 -310
- package/dist/lib/models/travelPackage.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.js +0 -2
- package/dist/lib/models/user.d.ts +32 -8
- package/dist/lib/models/user.d.ts.map +1 -1
- package/dist/lib/models/user.js +10 -1
- package/dist/lib/opportunityFormPage.d.ts +1 -0
- package/dist/lib/opportunityFormPage.d.ts.map +1 -1
- package/dist/lib/opportunityFormPage.js +1 -0
- package/dist/lib/rentalActions.js +0 -1
- package/dist/lib/rentalDummyData.d.ts.map +1 -1
- package/dist/lib/rentalDummyData.js +0 -35
- package/dist/lib/rentalFormPage.d.ts +0 -2
- package/dist/lib/rentalFormPage.d.ts.map +1 -1
- package/dist/lib/rentalFormPage.js +0 -3
- package/dist/lib/storeActions.d.ts +25 -0
- package/dist/lib/storeActions.d.ts.map +1 -0
- package/dist/lib/storeActions.js +46 -0
- package/dist/lib/storeDummyData.d.ts +2 -26
- package/dist/lib/storeDummyData.d.ts.map +1 -1
- package/dist/lib/userAtom.d.ts +178 -42
- package/dist/lib/userAtom.d.ts.map +1 -1
- package/dist/lib/userAtom.js +80 -52
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
export const AUTHORIZATION_ROLES = [
|
|
2
|
+
"user",
|
|
3
|
+
"host",
|
|
4
|
+
"hr",
|
|
5
|
+
"sales",
|
|
6
|
+
"developer",
|
|
7
|
+
"customer_support",
|
|
8
|
+
"admin",
|
|
9
|
+
];
|
|
10
|
+
export const AUTHORIZATION_PERMISSIONS = [
|
|
11
|
+
"roles.read",
|
|
12
|
+
"roles.manage",
|
|
13
|
+
"permissions.read",
|
|
14
|
+
"permissions.manage",
|
|
15
|
+
"users.read",
|
|
16
|
+
"users.manage",
|
|
17
|
+
"hosts.read",
|
|
18
|
+
"hosts.manage",
|
|
19
|
+
"staff.read",
|
|
20
|
+
"staff.manage",
|
|
21
|
+
"listings.read",
|
|
22
|
+
"listings.create",
|
|
23
|
+
"listings.update.own",
|
|
24
|
+
"listings.delete.own",
|
|
25
|
+
"listings.moderate",
|
|
26
|
+
"content.moderate",
|
|
27
|
+
"opportunities.applications.read",
|
|
28
|
+
"opportunities.membership_requirements.approve",
|
|
29
|
+
"bookings.read.own",
|
|
30
|
+
"bookings.read.host",
|
|
31
|
+
"bookings.read.all",
|
|
32
|
+
"bookings.manage.host",
|
|
33
|
+
"bookings.manage.all",
|
|
34
|
+
"pricing.read",
|
|
35
|
+
"pricing.manage.own",
|
|
36
|
+
"pricing.manage.platform",
|
|
37
|
+
"discounts.read",
|
|
38
|
+
"discounts.manage.own",
|
|
39
|
+
"discounts.manage.platform",
|
|
40
|
+
"partner_programs.read",
|
|
41
|
+
"partner_programs.manage",
|
|
42
|
+
"rewards.read.own",
|
|
43
|
+
"rewards.read.all",
|
|
44
|
+
"rewards.manage",
|
|
45
|
+
"rewards.adjust",
|
|
46
|
+
"memberships.read.all",
|
|
47
|
+
"memberships.manage",
|
|
48
|
+
"host_performance.read.all",
|
|
49
|
+
"host_performance.manage",
|
|
50
|
+
"payouts.read",
|
|
51
|
+
"payouts.record",
|
|
52
|
+
"platform.settings.read",
|
|
53
|
+
"platform.settings.manage",
|
|
54
|
+
"verification.read",
|
|
55
|
+
"verification.manage",
|
|
56
|
+
"support.contacts.read",
|
|
57
|
+
"audit.read",
|
|
58
|
+
"developer.diagnostics.read",
|
|
59
|
+
"database.collections.read",
|
|
60
|
+
];
|
|
61
|
+
export const STAFF_DASHBOARD_PERMISSIONS = [
|
|
62
|
+
"roles.read",
|
|
63
|
+
"roles.manage",
|
|
64
|
+
"permissions.read",
|
|
65
|
+
"permissions.manage",
|
|
66
|
+
"users.read",
|
|
67
|
+
"users.manage",
|
|
68
|
+
"hosts.read",
|
|
69
|
+
"hosts.manage",
|
|
70
|
+
"staff.read",
|
|
71
|
+
"staff.manage",
|
|
72
|
+
"listings.read",
|
|
73
|
+
"listings.moderate",
|
|
74
|
+
"content.moderate",
|
|
75
|
+
"opportunities.applications.read",
|
|
76
|
+
"bookings.read.all",
|
|
77
|
+
"bookings.manage.all",
|
|
78
|
+
"payouts.read",
|
|
79
|
+
"payouts.record",
|
|
80
|
+
"platform.settings.read",
|
|
81
|
+
"platform.settings.manage",
|
|
82
|
+
"discounts.manage.platform",
|
|
83
|
+
"partner_programs.read",
|
|
84
|
+
"partner_programs.manage",
|
|
85
|
+
"rewards.read.all",
|
|
86
|
+
"rewards.manage",
|
|
87
|
+
"memberships.read.all",
|
|
88
|
+
"memberships.manage",
|
|
89
|
+
"host_performance.read.all",
|
|
90
|
+
"host_performance.manage",
|
|
91
|
+
"verification.read",
|
|
92
|
+
"verification.manage",
|
|
93
|
+
"support.contacts.read",
|
|
94
|
+
"audit.read",
|
|
95
|
+
"developer.diagnostics.read",
|
|
96
|
+
];
|
|
97
|
+
export const MODERATION_DASHBOARD_PERMISSIONS = [
|
|
98
|
+
"listings.read",
|
|
99
|
+
"listings.moderate",
|
|
100
|
+
"content.moderate",
|
|
101
|
+
];
|
|
102
|
+
export const PAYOUT_DASHBOARD_PERMISSIONS = [
|
|
103
|
+
"payouts.read",
|
|
104
|
+
"payouts.record",
|
|
105
|
+
];
|
|
106
|
+
export const PLATFORM_DASHBOARD_PERMISSIONS = [
|
|
107
|
+
"platform.settings.read",
|
|
108
|
+
"platform.settings.manage",
|
|
109
|
+
"discounts.manage.platform",
|
|
110
|
+
"partner_programs.read",
|
|
111
|
+
"partner_programs.manage",
|
|
112
|
+
"rewards.read.all",
|
|
113
|
+
"rewards.manage",
|
|
114
|
+
"memberships.read.all",
|
|
115
|
+
"memberships.manage",
|
|
116
|
+
"host_performance.read.all",
|
|
117
|
+
"host_performance.manage",
|
|
118
|
+
];
|
|
119
|
+
export const AUTHORIZATION_DASHBOARD_PERMISSIONS = [
|
|
120
|
+
"roles.read",
|
|
121
|
+
"roles.manage",
|
|
122
|
+
"permissions.read",
|
|
123
|
+
"permissions.manage",
|
|
124
|
+
];
|
|
125
|
+
export const ADMIN_ROUTE_PERMISSION_GROUPS = {
|
|
126
|
+
applications: ["opportunities.applications.read"],
|
|
127
|
+
authorization: AUTHORIZATION_DASHBOARD_PERMISSIONS,
|
|
128
|
+
moderation: MODERATION_DASHBOARD_PERMISSIONS,
|
|
129
|
+
payouts: PAYOUT_DASHBOARD_PERMISSIONS,
|
|
130
|
+
platform: PLATFORM_DASHBOARD_PERMISSIONS,
|
|
131
|
+
registrations: ["bookings.read.all", "bookings.manage.all"],
|
|
132
|
+
staffAssignment: ["roles.manage"],
|
|
133
|
+
};
|
|
134
|
+
export function getActorRole(actor) {
|
|
135
|
+
const role = String(actor?.role || "").trim().toLowerCase();
|
|
136
|
+
return role || null;
|
|
137
|
+
}
|
|
138
|
+
export function getActorBaseAccountType(actor) {
|
|
139
|
+
if (actor?.baseAccountType === "host")
|
|
140
|
+
return "host";
|
|
141
|
+
if (actor?.baseAccountType === "user")
|
|
142
|
+
return "user";
|
|
143
|
+
return getActorRole(actor) === "host" ? "host" : "user";
|
|
144
|
+
}
|
|
145
|
+
export function isTravellerAccount(actor) {
|
|
146
|
+
return Boolean(actor &&
|
|
147
|
+
getActorBaseAccountType(actor) === "user" &&
|
|
148
|
+
actor.accountType !== "staff" &&
|
|
149
|
+
getActorRole(actor) === "user");
|
|
150
|
+
}
|
|
151
|
+
export function isStaffSession(actor) {
|
|
152
|
+
return Boolean(actor &&
|
|
153
|
+
actor.accountType === "staff" &&
|
|
154
|
+
actor.staffProfileId);
|
|
155
|
+
}
|
|
156
|
+
export function isHostSession(actor) {
|
|
157
|
+
return Boolean(actor && actor.accountType === "host");
|
|
158
|
+
}
|
|
159
|
+
export function canUseTravellerFlows(actor) {
|
|
160
|
+
return !actor || isTravellerAccount(actor);
|
|
161
|
+
}
|
|
162
|
+
export function getActorRoles(actor) {
|
|
163
|
+
const role = getActorRole(actor);
|
|
164
|
+
return role ? [role] : [];
|
|
165
|
+
}
|
|
166
|
+
export function getActorPermissions(actor) {
|
|
167
|
+
return [
|
|
168
|
+
...new Set((actor?.permissions || [])
|
|
169
|
+
.map((permission) => String(permission || "").trim().toLowerCase())
|
|
170
|
+
.filter(Boolean)),
|
|
171
|
+
];
|
|
172
|
+
}
|
|
173
|
+
export function hasRole(actor, role) {
|
|
174
|
+
const roleKey = String(role || "").trim().toLowerCase();
|
|
175
|
+
return Boolean(roleKey && getActorRoles(actor).includes(roleKey));
|
|
176
|
+
}
|
|
177
|
+
export function hasPermission(actor, permission) {
|
|
178
|
+
const permissionKey = String(permission || "").trim().toLowerCase();
|
|
179
|
+
return Boolean(permissionKey &&
|
|
180
|
+
(hasRole(actor, "admin") || getActorPermissions(actor).includes(permissionKey)));
|
|
181
|
+
}
|
|
182
|
+
export function hasAnyPermission(actor, permissions) {
|
|
183
|
+
return permissions.some((permission) => hasPermission(actor, permission));
|
|
184
|
+
}
|
|
185
|
+
export function hasAllPermissions(actor, permissions) {
|
|
186
|
+
return permissions.every((permission) => hasPermission(actor, permission));
|
|
187
|
+
}
|
|
188
|
+
export function hasStaffDashboardAccess(actor) {
|
|
189
|
+
return isStaffSession(actor);
|
|
190
|
+
}
|
|
191
|
+
export function hasHostDashboardAccess(actor) {
|
|
192
|
+
return isHostSession(actor) && hasRole(actor, "host");
|
|
193
|
+
}
|
|
194
|
+
export function getActorDashboardRoute(actor) {
|
|
195
|
+
if (hasStaffDashboardAccess(actor))
|
|
196
|
+
return "/dashboard/staff/overview";
|
|
197
|
+
if (isHostSession(actor))
|
|
198
|
+
return "/dashboard/host/overview";
|
|
199
|
+
return "/dashboard/user";
|
|
200
|
+
}
|
|
201
|
+
export function canCreateListing(actor) {
|
|
202
|
+
return Boolean(actor &&
|
|
203
|
+
(isHostSession(actor) ||
|
|
204
|
+
hasPermission(actor, "listings.create")));
|
|
205
|
+
}
|
|
206
|
+
export function canCreateListingForHost(actor) {
|
|
207
|
+
return hasPermission(actor, "listings.create");
|
|
208
|
+
}
|
|
209
|
+
export function canAccessListingEditor(actor) {
|
|
210
|
+
return Boolean(actor &&
|
|
211
|
+
(isHostSession(actor) ||
|
|
212
|
+
hasPermission(actor, "listings.moderate")));
|
|
213
|
+
}
|
|
214
|
+
export function canAccessOpportunityApplicationReview(actor) {
|
|
215
|
+
return Boolean(actor &&
|
|
216
|
+
(isHostSession(actor) ||
|
|
217
|
+
hasPermission(actor, "opportunities.applications.read")));
|
|
218
|
+
}
|
|
219
|
+
export function getOpportunityApplicationApprovalStatus(actor) {
|
|
220
|
+
return hasPermission(actor, "opportunities.applications.read")
|
|
221
|
+
? "adminApproved"
|
|
222
|
+
: "approved";
|
|
223
|
+
}
|
|
224
|
+
export function getAdminDashboardRoutePermissions(pathname) {
|
|
225
|
+
const path = String(pathname || "").toLowerCase();
|
|
226
|
+
if (path.includes("/registrations"))
|
|
227
|
+
return ADMIN_ROUTE_PERMISSION_GROUPS.registrations;
|
|
228
|
+
if (path.startsWith("/dashboard/staff/applications")) {
|
|
229
|
+
return ADMIN_ROUTE_PERMISSION_GROUPS.applications;
|
|
230
|
+
}
|
|
231
|
+
if (path.startsWith("/dashboard/staff/authorization") || path.startsWith("/dashboard/admin/authorization")) {
|
|
232
|
+
return ADMIN_ROUTE_PERMISSION_GROUPS.authorization;
|
|
233
|
+
}
|
|
234
|
+
if (path.startsWith("/dashboard/staff/payouts") || path.startsWith("/dashboard/admin/payouts"))
|
|
235
|
+
return ADMIN_ROUTE_PERMISSION_GROUPS.payouts;
|
|
236
|
+
if (path.startsWith("/dashboard/staff/host-listings") || path.startsWith("/dashboard/admin/host-listings")) {
|
|
237
|
+
return ADMIN_ROUTE_PERMISSION_GROUPS.moderation;
|
|
238
|
+
}
|
|
239
|
+
if ([
|
|
240
|
+
"/dashboard/admin/stays",
|
|
241
|
+
"/dashboard/admin/adventures",
|
|
242
|
+
"/dashboard/admin/rentals",
|
|
243
|
+
"/dashboard/admin/packages",
|
|
244
|
+
"/dashboard/admin/events",
|
|
245
|
+
"/dashboard/admin/opportunities",
|
|
246
|
+
"/dashboard/admin/blogs",
|
|
247
|
+
"/dashboard/staff/stays",
|
|
248
|
+
"/dashboard/staff/adventures",
|
|
249
|
+
"/dashboard/staff/rentals",
|
|
250
|
+
"/dashboard/staff/packages",
|
|
251
|
+
"/dashboard/staff/events",
|
|
252
|
+
"/dashboard/staff/opportunities",
|
|
253
|
+
"/dashboard/staff/blogs",
|
|
254
|
+
].some((prefix) => path.startsWith(prefix))) {
|
|
255
|
+
return ADMIN_ROUTE_PERMISSION_GROUPS.moderation;
|
|
256
|
+
}
|
|
257
|
+
return STAFF_DASHBOARD_PERMISSIONS;
|
|
258
|
+
}
|
|
259
|
+
export function hasAdminDashboardRouteAccess(actor, pathname) {
|
|
260
|
+
if (!isStaffSession(actor))
|
|
261
|
+
return false;
|
|
262
|
+
if (/^\/dashboard\/(staff|admin)(\/overview)?\/?$/.test(pathname.toLowerCase())) {
|
|
263
|
+
return true;
|
|
264
|
+
}
|
|
265
|
+
return hasAnyPermission(actor, getAdminDashboardRoutePermissions(pathname));
|
|
266
|
+
}
|
|
@@ -19,7 +19,7 @@ export declare const BlogSchema: z.ZodObject<{
|
|
|
19
19
|
authorImage: z.ZodString;
|
|
20
20
|
authorRole: z.ZodEnum<["host", "admin", "user"]>;
|
|
21
21
|
}, "strict", z.ZodTypeAny, {
|
|
22
|
-
status: "pending" | "
|
|
22
|
+
status: "pending" | "draft" | "posted" | "archived" | "denied";
|
|
23
23
|
title: string;
|
|
24
24
|
createdAt: Date;
|
|
25
25
|
updatedAt: Date;
|
|
@@ -28,15 +28,15 @@ export declare const BlogSchema: z.ZodObject<{
|
|
|
28
28
|
shares: number;
|
|
29
29
|
likes: number;
|
|
30
30
|
comments: number;
|
|
31
|
-
overview: string;
|
|
32
31
|
content: string;
|
|
32
|
+
overview: string;
|
|
33
33
|
blogImages: string[];
|
|
34
34
|
author: string;
|
|
35
35
|
authorImage: string;
|
|
36
|
-
authorRole: "
|
|
36
|
+
authorRole: "user" | "host" | "admin";
|
|
37
37
|
hashtags?: string | undefined;
|
|
38
38
|
}, {
|
|
39
|
-
status: "pending" | "
|
|
39
|
+
status: "pending" | "draft" | "posted" | "archived" | "denied";
|
|
40
40
|
title: string;
|
|
41
41
|
createdAt: Date;
|
|
42
42
|
updatedAt: Date;
|
|
@@ -45,12 +45,12 @@ export declare const BlogSchema: z.ZodObject<{
|
|
|
45
45
|
shares: number;
|
|
46
46
|
likes: number;
|
|
47
47
|
comments: number;
|
|
48
|
-
overview: string;
|
|
49
48
|
content: string;
|
|
49
|
+
overview: string;
|
|
50
50
|
blogImages: string[];
|
|
51
51
|
author: string;
|
|
52
52
|
authorImage: string;
|
|
53
|
-
authorRole: "
|
|
53
|
+
authorRole: "user" | "host" | "admin";
|
|
54
54
|
hashtags?: string | undefined;
|
|
55
55
|
}>;
|
|
56
56
|
export type Blog = z.infer<typeof BlogSchema>;
|
|
@@ -12,7 +12,7 @@ export interface Booking {
|
|
|
12
12
|
phoneNumber?: string;
|
|
13
13
|
} | null;
|
|
14
14
|
entityId: any;
|
|
15
|
-
entityType: "Rental" | "Adventure" | "Event" | "Stay" | "TravelPackage";
|
|
15
|
+
entityType: "Rental" | "Adventure" | "Guide" | "Event" | "Stay" | "TravelPackage";
|
|
16
16
|
roomId?: string;
|
|
17
17
|
roomQty?: number;
|
|
18
18
|
hostId: string;
|
|
@@ -39,6 +39,8 @@ export interface Booking {
|
|
|
39
39
|
};
|
|
40
40
|
specialRequests?: string;
|
|
41
41
|
selectedPricingIndex?: number;
|
|
42
|
+
pricingSnapshot?: Record<string, unknown> | null;
|
|
43
|
+
discountSnapshot?: import("./discount").DiscountQuote | null;
|
|
42
44
|
selectedActivities?: Array<{
|
|
43
45
|
activityName?: string;
|
|
44
46
|
name?: string;
|
|
@@ -53,7 +55,7 @@ export interface Booking {
|
|
|
53
55
|
}
|
|
54
56
|
export interface CreateBookingRequest {
|
|
55
57
|
entityId: string;
|
|
56
|
-
entityType: "Rental" | "Adventure" | "Event" | "Stay" | "TravelPackage";
|
|
58
|
+
entityType: "Rental" | "Adventure" | "Guide" | "Event" | "Stay" | "TravelPackage";
|
|
57
59
|
roomId?: string;
|
|
58
60
|
roomQty?: number;
|
|
59
61
|
startDate: string;
|
|
@@ -73,6 +75,9 @@ export interface CreateBookingRequest {
|
|
|
73
75
|
};
|
|
74
76
|
specialRequests?: string;
|
|
75
77
|
selectedPricingIndex?: number;
|
|
78
|
+
selectedPricingId?: string;
|
|
79
|
+
couponCode?: string;
|
|
80
|
+
checkoutStartedAt?: string;
|
|
76
81
|
selectedActivities?: Array<{
|
|
77
82
|
activityName?: string;
|
|
78
83
|
name?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"booking.d.ts","sourceRoot":"","sources":["../../../src/lib/models/booking.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAC7F,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEvE,MAAM,WAAW,OAAO;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,IAAI,CAAC;IACT,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"booking.d.ts","sourceRoot":"","sources":["../../../src/lib/models/booking.ts"],"names":[],"mappings":"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"}
|