@mac777/project-pinecone-schema 1.0.0
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/auth.constants.d.ts +8 -0
- package/dist/auth/auth.constants.js +12 -0
- package/dist/auth/auth.schema.d.ts +100 -0
- package/dist/auth/auth.schema.js +53 -0
- package/dist/auth/auth.type.d.ts +31 -0
- package/dist/auth/auth.type.js +2 -0
- package/dist/auth/index.d.ts +3 -0
- package/dist/auth/index.js +19 -0
- package/dist/auth/utils/password.schema.d.ts +4 -0
- package/dist/auth/utils/password.schema.js +18 -0
- package/dist/auth.d.ts +1 -0
- package/dist/auth.js +18 -0
- package/dist/events/admin.schema.d.ts +208 -0
- package/dist/events/admin.schema.js +70 -0
- package/dist/events/age.restriction.schema.d.ts +2 -0
- package/dist/events/age.restriction.schema.js +5 -0
- package/dist/events/document.schema.d.ts +17 -0
- package/dist/events/document.schema.js +10 -0
- package/dist/events/event.schema.d.ts +0 -0
- package/dist/events/event.schema.js +1 -0
- package/dist/events/event.type.schema.d.ts +2 -0
- package/dist/events/event.type.schema.js +5 -0
- package/dist/events/events.constant.d.ts +9 -0
- package/dist/events/events.constant.js +12 -0
- package/dist/events/events.constants.d.ts +69 -0
- package/dist/events/events.constants.js +147 -0
- package/dist/events/events.d.ts +3 -0
- package/dist/events/events.js +19 -0
- package/dist/events/events.schema.d.ts +4605 -0
- package/dist/events/events.schema.js +145 -0
- package/dist/events/events.type.d.ts +47 -0
- package/dist/events/events.type.js +2 -0
- package/dist/events/events.utils.schema.d.ts +5 -0
- package/dist/events/events.utils.schema.js +21 -0
- package/dist/events/index.d.ts +4 -0
- package/dist/events/index.js +20 -0
- package/dist/events/media.schema.d.ts +77 -0
- package/dist/events/media.schema.js +36 -0
- package/dist/events/organizer.schema.d.ts +55 -0
- package/dist/events/organizer.schema.js +15 -0
- package/dist/events/schedule.schema.d.ts +20 -0
- package/dist/events/schedule.schema.js +11 -0
- package/dist/events/step.schema.d.ts +0 -0
- package/dist/events/step.schema.js +1 -0
- package/dist/events/ticket.schema.d.ts +113 -0
- package/dist/events/ticket.schema.js +29 -0
- package/dist/events/utils/admin.schema.d.ts +208 -0
- package/dist/events/utils/admin.schema.js +70 -0
- package/dist/events/utils/age.restriction.schema.d.ts +2 -0
- package/dist/events/utils/age.restriction.schema.js +5 -0
- package/dist/events/utils/document.schema.d.ts +17 -0
- package/dist/events/utils/document.schema.js +10 -0
- package/dist/events/utils/event.type.schema.d.ts +2 -0
- package/dist/events/utils/event.type.schema.js +5 -0
- package/dist/events/utils/media.schema.d.ts +77 -0
- package/dist/events/utils/media.schema.js +36 -0
- package/dist/events/utils/organizer.schema.d.ts +55 -0
- package/dist/events/utils/organizer.schema.js +15 -0
- package/dist/events/utils/schedule.schema.d.ts +20 -0
- package/dist/events/utils/schedule.schema.js +11 -0
- package/dist/events/utils/ticket.schema.d.ts +119 -0
- package/dist/events/utils/ticket.schema.js +31 -0
- package/dist/events/utils/venue.schema.d.ts +75 -0
- package/dist/events/utils/venue.schema.js +22 -0
- package/dist/events/utils.schema.d.ts +6 -0
- package/dist/events/utils.schema.js +22 -0
- package/dist/events/venue.schema.d.ts +75 -0
- package/dist/events/venue.schema.js +22 -0
- package/dist/events.constant.d.ts +9 -0
- package/dist/events.constant.js +12 -0
- package/dist/events.constants.d.ts +9 -0
- package/dist/events.constants.js +12 -0
- package/dist/events.d.ts +39 -0
- package/dist/events.js +2 -0
- package/dist/events.schema.d.ts +229 -0
- package/dist/events.schema.js +95 -0
- package/dist/events.type.d.ts +42 -0
- package/dist/events.type.js +2 -0
- package/dist/events.utils.schema.d.ts +6 -0
- package/dist/events.utils.schema.js +22 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +20 -0
- package/dist/media/index.d.ts +2 -0
- package/dist/media/index.js +18 -0
- package/dist/media/media.schema.d.ts +57 -0
- package/dist/media/media.schema.js +37 -0
- package/dist/media/media.type.d.ts +8 -0
- package/dist/media/media.type.js +2 -0
- package/dist/media/utils/backblaze.schema.d.ts +14 -0
- package/dist/media/utils/backblaze.schema.js +10 -0
- package/dist/media/utils/imagekit.schema.d.ts +34 -0
- package/dist/media/utils/imagekit.schema.js +20 -0
- package/dist/orders/index.d.ts +6 -0
- package/dist/orders/index.js +22 -0
- package/dist/orders/orders.schema.d.ts +600 -0
- package/dist/orders/orders.schema.js +89 -0
- package/dist/orders/orders.type.d.ts +56 -0
- package/dist/orders/orders.type.js +2 -0
- package/dist/orders/payments.schema.d.ts +215 -0
- package/dist/orders/payments.schema.js +67 -0
- package/dist/orders/payments.type.d.ts +58 -0
- package/dist/orders/payments.type.js +2 -0
- package/dist/orders/ticket.schema.d.ts +265 -0
- package/dist/orders/ticket.schema.js +65 -0
- package/dist/orders/ticket.type.d.ts +71 -0
- package/dist/orders/ticket.type.js +2 -0
- package/package.json +21 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.draftEventSchema = exports.clientGetEventSchema = exports.submitEventSchema = exports.approvedEventEditSchema = exports.pendingApprovalEditSchema = exports.protectedEventSchema = exports.getEventSchema = exports.stepReviewSchema = exports.stepTicketsSchema = exports.stepVerifySchema = exports.stepLogisticsSchema = exports.stepDetailsSchema = exports.stepBasicsSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const event_type_schema_1 = require("./utils/event.type.schema");
|
|
6
|
+
const media_schema_1 = require("./utils/media.schema");
|
|
7
|
+
const schedule_schema_1 = require("./utils/schedule.schema");
|
|
8
|
+
const venue_schema_1 = require("./utils/venue.schema");
|
|
9
|
+
const organizer_schema_1 = require("./utils/organizer.schema");
|
|
10
|
+
const document_schema_1 = require("./utils/document.schema");
|
|
11
|
+
const ticket_schema_1 = require("./utils/ticket.schema");
|
|
12
|
+
const events_constants_1 = require("./events.constants");
|
|
13
|
+
const age_restriction_schema_1 = require("./utils/age.restriction.schema");
|
|
14
|
+
// =============================================================================
|
|
15
|
+
// STEP SCHEMAS
|
|
16
|
+
// =============================================================================
|
|
17
|
+
// Step 1: Basics
|
|
18
|
+
exports.stepBasicsSchema = zod_1.z.object({
|
|
19
|
+
title: zod_1.z.string({ required_error: 'Event title is required' }).min(10, 'Event title must be at least 10 characters').max(100, 'Title must be less than 100 characters'),
|
|
20
|
+
tagline: zod_1.z.string().min(5, 'Tagline must be at least 5 characters').max(events_constants_1.MAX_TAGLINE_LENGTH, `Tagline cannot exceed ${events_constants_1.MAX_TAGLINE_LENGTH} characters`).optional(),
|
|
21
|
+
type: event_type_schema_1.eventTypeSchema,
|
|
22
|
+
categories: zod_1.z.array(zod_1.z.string()).max(events_constants_1.MAX_CATEGORIES, `Maximum ${events_constants_1.MAX_CATEGORIES} categories allowed`).optional(),
|
|
23
|
+
}).passthrough();
|
|
24
|
+
// Step 2: Details
|
|
25
|
+
exports.stepDetailsSchema = zod_1.z.object({
|
|
26
|
+
media: media_schema_1.mediaSchema,
|
|
27
|
+
description: zod_1.z.string({ required_error: 'Event description is required' }).min(50, 'Description must be at least 50 characters').max(events_constants_1.MAX_DESCRIPTION_LENGTH, `Description cannot exceed ${events_constants_1.MAX_DESCRIPTION_LENGTH} characters`),
|
|
28
|
+
highlights: zod_1.z.array(zod_1.z.string().max(100, 'Each highlight cannot exceed 100 characters'), { required_error: 'Highlights must be an array of strings' }).max(10, 'Cannot have more than 10 highlights').optional(),
|
|
29
|
+
language: zod_1.z.string({ required_error: 'Language is required' }),
|
|
30
|
+
ageRestriction: age_restriction_schema_1.ageRestrictionSchema,
|
|
31
|
+
dressCode: zod_1.z.enum(['casual', 'formal', 'semi-formal', 'other'], { required_error: "Dress code is required" }).optional(),
|
|
32
|
+
}).passthrough();
|
|
33
|
+
// Step 3: Logistics
|
|
34
|
+
exports.stepLogisticsSchema = zod_1.z.object({
|
|
35
|
+
schedule: schedule_schema_1.scheduleSchema,
|
|
36
|
+
venue: venue_schema_1.venueSchema
|
|
37
|
+
}).passthrough().refine((data) => {
|
|
38
|
+
if (data.schedule.startDate && data.schedule.endDate) {
|
|
39
|
+
return new Date(data.schedule.endDate) > new Date(data.schedule.startDate);
|
|
40
|
+
}
|
|
41
|
+
return true;
|
|
42
|
+
}, {
|
|
43
|
+
message: "End date and time must be after start date and time",
|
|
44
|
+
path: ["schedule", "endDate"]
|
|
45
|
+
});
|
|
46
|
+
// Step 4: Verification
|
|
47
|
+
exports.stepVerifySchema = zod_1.z.object({
|
|
48
|
+
organizer: organizer_schema_1.organizerSchema,
|
|
49
|
+
verification: zod_1.z.object({
|
|
50
|
+
documents: zod_1.z.array(document_schema_1.documentSchema).min(1, 'At least one document is required').max(events_constants_1.MAX_DOCUMENTS, `Maximum ${events_constants_1.MAX_DOCUMENTS} documents allowed`)
|
|
51
|
+
})
|
|
52
|
+
}).passthrough();
|
|
53
|
+
// Step 5: Tickets
|
|
54
|
+
exports.stepTicketsSchema = zod_1.z.object({
|
|
55
|
+
tickets: zod_1.z.array(ticket_schema_1.displayTicketSchema).min(1, 'At least one ticket type is required')
|
|
56
|
+
}).passthrough().refine((data) => {
|
|
57
|
+
return data.tickets.length >= 1;
|
|
58
|
+
}, {
|
|
59
|
+
message: "At least one ticket type is required",
|
|
60
|
+
path: ["tickets"]
|
|
61
|
+
}).refine(data => {
|
|
62
|
+
for (const ticket of data.tickets) {
|
|
63
|
+
if (ticket.salesWindow?.startDate && ticket.salesWindow?.endDate) {
|
|
64
|
+
if (new Date(ticket.salesWindow.endDate) <= new Date(ticket.salesWindow.startDate)) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}, {
|
|
71
|
+
message: "End date and time must be after start date and time",
|
|
72
|
+
path: ["tickets", "salesWindow", "endDate"]
|
|
73
|
+
});
|
|
74
|
+
// Step 6: Review
|
|
75
|
+
exports.stepReviewSchema = zod_1.z.object({
|
|
76
|
+
termsAccepted: zod_1.z.boolean().refine(val => val === true, {
|
|
77
|
+
message: 'You must accept all terms and conditions to publish this event'
|
|
78
|
+
}),
|
|
79
|
+
legalPermissionAccepted: zod_1.z.boolean().refine(val => val === true, {
|
|
80
|
+
message: 'Legal permission confirmation is required'
|
|
81
|
+
}),
|
|
82
|
+
platformTermsAccepted: zod_1.z.boolean().refine(val => val === true, {
|
|
83
|
+
message: 'Platform terms acceptance is required'
|
|
84
|
+
})
|
|
85
|
+
}).passthrough();
|
|
86
|
+
exports.getEventSchema = zod_1.z.object({
|
|
87
|
+
eventId: zod_1.z.string().regex(/^[0-9a-fA-F]{24}$/, 'Event not found').optional(),
|
|
88
|
+
});
|
|
89
|
+
exports.protectedEventSchema = zod_1.z.object({
|
|
90
|
+
eventId: zod_1.z.string().regex(/^[0-9a-fA-F]{24}$/, 'Event not found'),
|
|
91
|
+
hostId: zod_1.z.string().regex(/^[0-9a-fA-F]{24}$/, 'Unauthorized'),
|
|
92
|
+
});
|
|
93
|
+
exports.pendingApprovalEditSchema = zod_1.z.object({
|
|
94
|
+
eventId: zod_1.z.string({ required_error: 'Event not found' }).regex(/^[0-9a-fA-F]{24}$/, 'Event not found'),
|
|
95
|
+
hostId: zod_1.z.string({ required_error: 'Unauthorized' }).regex(/^[0-9a-fA-F]{24}$/, 'Unauthorized'),
|
|
96
|
+
media: media_schema_1.mediaSchema,
|
|
97
|
+
description: zod_1.z.string({ required_error: 'Event description is required' }).min(50, 'Description must be at least 50 characters').max(events_constants_1.MAX_DESCRIPTION_LENGTH, `Description cannot exceed ${events_constants_1.MAX_DESCRIPTION_LENGTH} characters`),
|
|
98
|
+
});
|
|
99
|
+
exports.approvedEventEditSchema = zod_1.z.object({
|
|
100
|
+
eventId: zod_1.z.string({ required_error: 'Event not found' }).regex(/^[0-9a-fA-F]{24}$/, 'Event not found'),
|
|
101
|
+
hostId: zod_1.z.string({ required_error: 'Unauthorized' }).regex(/^[0-9a-fA-F]{24}$/, 'Unauthorized'),
|
|
102
|
+
media: media_schema_1.mediaSchema,
|
|
103
|
+
description: zod_1.z.string({ required_error: 'Event description is required' }).min(50, 'Description must be at least 50 characters').max(events_constants_1.MAX_DESCRIPTION_LENGTH, `Description cannot exceed ${events_constants_1.MAX_DESCRIPTION_LENGTH} characters`),
|
|
104
|
+
tickets: zod_1.z.array(ticket_schema_1.displayTicketSchema).min(1, 'At least one ticket type is required'),
|
|
105
|
+
}).refine(data => {
|
|
106
|
+
for (const ticket of data.tickets) {
|
|
107
|
+
if (ticket.salesWindow?.startDate && ticket.salesWindow?.endDate) {
|
|
108
|
+
if (new Date(ticket.salesWindow.endDate) <= new Date(ticket.salesWindow.startDate)) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return true;
|
|
114
|
+
}, {
|
|
115
|
+
message: "End date and time must be after start date and time",
|
|
116
|
+
path: ["tickets", "salesWindow", "endDate"]
|
|
117
|
+
});
|
|
118
|
+
// =============================================================================
|
|
119
|
+
// COMPOSITE SCHEMAS
|
|
120
|
+
// =============================================================================
|
|
121
|
+
exports.submitEventSchema = exports.stepBasicsSchema
|
|
122
|
+
.merge(exports.stepDetailsSchema)
|
|
123
|
+
.merge(exports.stepLogisticsSchema._def.schema)
|
|
124
|
+
.merge(exports.stepVerifySchema)
|
|
125
|
+
.merge(exports.stepTicketsSchema._def.schema._def.schema)
|
|
126
|
+
.merge(exports.stepReviewSchema)
|
|
127
|
+
.extend({
|
|
128
|
+
eventId: zod_1.z.string().regex(/^[0-9a-fA-F]{24}$/, 'Event not found').optional(),
|
|
129
|
+
hostId: zod_1.z.string().regex(/^[0-9a-fA-F]{24}$/, 'Unauthorized').optional(),
|
|
130
|
+
});
|
|
131
|
+
exports.clientGetEventSchema = exports.stepBasicsSchema
|
|
132
|
+
.merge(exports.stepDetailsSchema)
|
|
133
|
+
.merge(exports.stepLogisticsSchema._def.schema)
|
|
134
|
+
.merge(exports.stepVerifySchema)
|
|
135
|
+
.merge(exports.stepTicketsSchema._def.schema._def.schema)
|
|
136
|
+
.merge(exports.stepReviewSchema)
|
|
137
|
+
.extend({
|
|
138
|
+
_id: zod_1.z.string().regex(/^[0-9a-fA-F]{24}$/, 'Event not found'),
|
|
139
|
+
status: zod_1.z.enum(['draft', 'pending_approval', 'approved', 'rejected', 'published', 'live', 'ended', 'cancelled'], { required_error: 'Event status is required' }).default('draft'),
|
|
140
|
+
});
|
|
141
|
+
exports.draftEventSchema = exports.submitEventSchema
|
|
142
|
+
.partial()
|
|
143
|
+
.extend({
|
|
144
|
+
title: exports.stepBasicsSchema.shape.title,
|
|
145
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { mediaSchema } from './utils/media.schema';
|
|
3
|
+
import { scheduleSchema } from './utils/schedule.schema';
|
|
4
|
+
import { venueSchema } from './utils/venue.schema';
|
|
5
|
+
import { organizerSchema } from './utils/organizer.schema';
|
|
6
|
+
import { documentSchema } from './utils/document.schema';
|
|
7
|
+
import { displayTicketSchema } from './utils/ticket.schema';
|
|
8
|
+
import { eventTypeSchema } from './utils/event.type.schema';
|
|
9
|
+
import { ageRestrictionSchema } from './utils/age.restriction.schema';
|
|
10
|
+
import { stepBasicsSchema, getEventSchema, protectedEventSchema, clientGetEventSchema, stepDetailsSchema, stepLogisticsSchema, stepVerifySchema, stepTicketsSchema, stepReviewSchema, submitEventSchema, draftEventSchema, pendingApprovalEditSchema, approvedEventEditSchema } from './events.schema';
|
|
11
|
+
export type Media = z.infer<typeof mediaSchema>;
|
|
12
|
+
export type CoverImage = z.infer<typeof mediaSchema.shape.coverImage>;
|
|
13
|
+
export type Gallery = z.infer<typeof mediaSchema.shape.gallery>;
|
|
14
|
+
export type Organizer = z.infer<typeof organizerSchema>;
|
|
15
|
+
export type ContactPerson = z.infer<typeof organizerSchema.shape.contactPerson>;
|
|
16
|
+
export type Schedule = z.infer<typeof scheduleSchema>;
|
|
17
|
+
export type DisplayTicket = z.infer<typeof displayTicketSchema>;
|
|
18
|
+
export type Price = z.infer<typeof displayTicketSchema.shape.price>;
|
|
19
|
+
export type SalesWindow = z.infer<typeof displayTicketSchema.shape.salesWindow>;
|
|
20
|
+
export type Limits = z.infer<typeof displayTicketSchema.shape.limits>;
|
|
21
|
+
export type Venue = z.infer<typeof venueSchema>;
|
|
22
|
+
export type VenueType = z.infer<typeof venueSchema.shape.type>;
|
|
23
|
+
export type Address = z.infer<typeof venueSchema.shape.address>;
|
|
24
|
+
export type Document = z.infer<typeof documentSchema>;
|
|
25
|
+
export type EventType = z.infer<typeof eventTypeSchema>;
|
|
26
|
+
export type AgeRestriction = z.infer<typeof ageRestrictionSchema>;
|
|
27
|
+
export type StepBasicsData = z.infer<typeof stepBasicsSchema>;
|
|
28
|
+
export type StepDetailsData = z.infer<typeof stepDetailsSchema>;
|
|
29
|
+
export type StepLogisticsData = z.infer<typeof stepLogisticsSchema>;
|
|
30
|
+
export type StepVerifyData = z.infer<typeof stepVerifySchema>;
|
|
31
|
+
export type StepTicketsData = z.infer<typeof stepTicketsSchema>;
|
|
32
|
+
export type StepReviewData = z.infer<typeof stepReviewSchema>;
|
|
33
|
+
export type SubmitEventData = z.infer<typeof submitEventSchema>;
|
|
34
|
+
export type DraftEventData = z.infer<typeof draftEventSchema>;
|
|
35
|
+
export interface Event {
|
|
36
|
+
id: string;
|
|
37
|
+
title: string;
|
|
38
|
+
location: string;
|
|
39
|
+
category: string;
|
|
40
|
+
date: string;
|
|
41
|
+
image?: string;
|
|
42
|
+
}
|
|
43
|
+
export type GetEventData = z.infer<typeof getEventSchema>;
|
|
44
|
+
export type ProtectedEventData = z.infer<typeof protectedEventSchema>;
|
|
45
|
+
export type ClientGetEventData = z.infer<typeof clientGetEventSchema>;
|
|
46
|
+
export type PendingApprovalEditData = z.infer<typeof pendingApprovalEditSchema>;
|
|
47
|
+
export type ApprovedEventEditData = z.infer<typeof approvedEventEditSchema>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./utils/admin.schema"), exports);
|
|
18
|
+
__exportStar(require("./utils/media.schema"), exports);
|
|
19
|
+
__exportStar(require("./utils/ticket.schema"), exports);
|
|
20
|
+
__exportStar(require("./utils/organizer.schema"), exports);
|
|
21
|
+
__exportStar(require("./utils/venue.schema"), exports);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./events.schema"), exports);
|
|
18
|
+
__exportStar(require("./events.type"), exports);
|
|
19
|
+
__exportStar(require("./events.utils.schema"), exports);
|
|
20
|
+
__exportStar(require("./events.constants"), exports);
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const coverImageSchema: z.ZodObject<{
|
|
3
|
+
alt: z.ZodString;
|
|
4
|
+
thumbnailUrl: z.ZodString;
|
|
5
|
+
url: z.ZodString;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
alt: string;
|
|
8
|
+
thumbnailUrl: string;
|
|
9
|
+
url: string;
|
|
10
|
+
}, {
|
|
11
|
+
alt: string;
|
|
12
|
+
thumbnailUrl: string;
|
|
13
|
+
url: string;
|
|
14
|
+
}>;
|
|
15
|
+
export declare const gallerySchema: z.ZodArray<z.ZodObject<{
|
|
16
|
+
alt: z.ZodString;
|
|
17
|
+
thumbnailUrl: z.ZodString;
|
|
18
|
+
url: z.ZodString;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
alt: string;
|
|
21
|
+
thumbnailUrl: string;
|
|
22
|
+
url: string;
|
|
23
|
+
}, {
|
|
24
|
+
alt: string;
|
|
25
|
+
thumbnailUrl: string;
|
|
26
|
+
url: string;
|
|
27
|
+
}>, "many">;
|
|
28
|
+
export declare const mediaSchema: z.ZodObject<{
|
|
29
|
+
coverImage: z.ZodObject<{
|
|
30
|
+
alt: z.ZodString;
|
|
31
|
+
thumbnailUrl: z.ZodString;
|
|
32
|
+
url: z.ZodString;
|
|
33
|
+
}, "strip", z.ZodTypeAny, {
|
|
34
|
+
alt: string;
|
|
35
|
+
thumbnailUrl: string;
|
|
36
|
+
url: string;
|
|
37
|
+
}, {
|
|
38
|
+
alt: string;
|
|
39
|
+
thumbnailUrl: string;
|
|
40
|
+
url: string;
|
|
41
|
+
}>;
|
|
42
|
+
gallery: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
43
|
+
alt: z.ZodString;
|
|
44
|
+
thumbnailUrl: z.ZodString;
|
|
45
|
+
url: z.ZodString;
|
|
46
|
+
}, "strip", z.ZodTypeAny, {
|
|
47
|
+
alt: string;
|
|
48
|
+
thumbnailUrl: string;
|
|
49
|
+
url: string;
|
|
50
|
+
}, {
|
|
51
|
+
alt: string;
|
|
52
|
+
thumbnailUrl: string;
|
|
53
|
+
url: string;
|
|
54
|
+
}>, "many">>;
|
|
55
|
+
}, "strip", z.ZodTypeAny, {
|
|
56
|
+
coverImage: {
|
|
57
|
+
alt: string;
|
|
58
|
+
thumbnailUrl: string;
|
|
59
|
+
url: string;
|
|
60
|
+
};
|
|
61
|
+
gallery?: {
|
|
62
|
+
alt: string;
|
|
63
|
+
thumbnailUrl: string;
|
|
64
|
+
url: string;
|
|
65
|
+
}[] | undefined;
|
|
66
|
+
}, {
|
|
67
|
+
coverImage: {
|
|
68
|
+
alt: string;
|
|
69
|
+
thumbnailUrl: string;
|
|
70
|
+
url: string;
|
|
71
|
+
};
|
|
72
|
+
gallery?: {
|
|
73
|
+
alt: string;
|
|
74
|
+
thumbnailUrl: string;
|
|
75
|
+
url: string;
|
|
76
|
+
}[] | undefined;
|
|
77
|
+
}>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mediaSchema = exports.gallerySchema = exports.coverImageSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.coverImageSchema = zod_1.z.object({
|
|
6
|
+
alt: zod_1.z.string({
|
|
7
|
+
required_error: 'Alt text is required',
|
|
8
|
+
invalid_type_error: 'Alt text must be a string'
|
|
9
|
+
}),
|
|
10
|
+
thumbnailUrl: zod_1.z.string({
|
|
11
|
+
required_error: 'Thumbnail URL is required',
|
|
12
|
+
invalid_type_error: 'Thumbnail URL must be a string'
|
|
13
|
+
}),
|
|
14
|
+
url: zod_1.z.string({
|
|
15
|
+
required_error: 'URL is required',
|
|
16
|
+
invalid_type_error: 'URL must be a string'
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
exports.gallerySchema = zod_1.z.array(zod_1.z.object({
|
|
20
|
+
alt: zod_1.z.string({
|
|
21
|
+
required_error: 'Alt text is required',
|
|
22
|
+
invalid_type_error: 'Alt text must be a string'
|
|
23
|
+
}),
|
|
24
|
+
thumbnailUrl: zod_1.z.string({
|
|
25
|
+
required_error: 'Thumbnail URL is required',
|
|
26
|
+
invalid_type_error: 'Thumbnail URL must be a string'
|
|
27
|
+
}),
|
|
28
|
+
url: zod_1.z.string({
|
|
29
|
+
required_error: 'URL is required',
|
|
30
|
+
invalid_type_error: 'URL must be a string'
|
|
31
|
+
})
|
|
32
|
+
}));
|
|
33
|
+
exports.mediaSchema = zod_1.z.object({
|
|
34
|
+
coverImage: exports.coverImageSchema,
|
|
35
|
+
gallery: exports.gallerySchema.optional()
|
|
36
|
+
});
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const contactPersonSchema: z.ZodObject<{
|
|
3
|
+
name: z.ZodString;
|
|
4
|
+
phone: z.ZodString;
|
|
5
|
+
email: z.ZodString;
|
|
6
|
+
designation: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
email: string;
|
|
9
|
+
name: string;
|
|
10
|
+
phone: string;
|
|
11
|
+
designation?: string | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
email: string;
|
|
14
|
+
name: string;
|
|
15
|
+
phone: string;
|
|
16
|
+
designation?: string | undefined;
|
|
17
|
+
}>;
|
|
18
|
+
export declare const organizerSchema: z.ZodObject<{
|
|
19
|
+
role: z.ZodOptional<z.ZodEnum<["event_organizer", "venue_owner", "authorized_rep", "artist"]>>;
|
|
20
|
+
companyName: z.ZodOptional<z.ZodString>;
|
|
21
|
+
contactPerson: z.ZodObject<{
|
|
22
|
+
name: z.ZodString;
|
|
23
|
+
phone: z.ZodString;
|
|
24
|
+
email: z.ZodString;
|
|
25
|
+
designation: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
email: string;
|
|
28
|
+
name: string;
|
|
29
|
+
phone: string;
|
|
30
|
+
designation?: string | undefined;
|
|
31
|
+
}, {
|
|
32
|
+
email: string;
|
|
33
|
+
name: string;
|
|
34
|
+
phone: string;
|
|
35
|
+
designation?: string | undefined;
|
|
36
|
+
}>;
|
|
37
|
+
}, "strip", z.ZodTypeAny, {
|
|
38
|
+
contactPerson: {
|
|
39
|
+
email: string;
|
|
40
|
+
name: string;
|
|
41
|
+
phone: string;
|
|
42
|
+
designation?: string | undefined;
|
|
43
|
+
};
|
|
44
|
+
role?: "event_organizer" | "venue_owner" | "authorized_rep" | "artist" | undefined;
|
|
45
|
+
companyName?: string | undefined;
|
|
46
|
+
}, {
|
|
47
|
+
contactPerson: {
|
|
48
|
+
email: string;
|
|
49
|
+
name: string;
|
|
50
|
+
phone: string;
|
|
51
|
+
designation?: string | undefined;
|
|
52
|
+
};
|
|
53
|
+
role?: "event_organizer" | "venue_owner" | "authorized_rep" | "artist" | undefined;
|
|
54
|
+
companyName?: string | undefined;
|
|
55
|
+
}>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.organizerSchema = exports.contactPersonSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.contactPersonSchema = zod_1.z.object({
|
|
6
|
+
name: zod_1.z.string({ required_error: 'Contact person name is required' }),
|
|
7
|
+
phone: zod_1.z.string({ required_error: 'Contact person phone is required' }).min(11, 'Phone number must be 11 digits 11 digits'),
|
|
8
|
+
email: zod_1.z.string({ required_error: 'Contact person email is required' }).email('Contact person email must be valid'),
|
|
9
|
+
designation: zod_1.z.string().optional(),
|
|
10
|
+
});
|
|
11
|
+
exports.organizerSchema = zod_1.z.object({
|
|
12
|
+
role: zod_1.z.enum(['event_organizer', 'venue_owner', 'authorized_rep', 'artist'], { required_error: 'Organizer role must be event_organizer, venue_owner, authorized_rep, or artist' }).optional(),
|
|
13
|
+
companyName: zod_1.z.string().optional(),
|
|
14
|
+
contactPerson: exports.contactPersonSchema,
|
|
15
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const scheduleSchema: z.ZodObject<{
|
|
3
|
+
startDate: z.ZodString;
|
|
4
|
+
endDate: z.ZodString;
|
|
5
|
+
timezone: z.ZodOptional<z.ZodString>;
|
|
6
|
+
isMultiDay: z.ZodOptional<z.ZodBoolean>;
|
|
7
|
+
doors: z.ZodOptional<z.ZodString>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
startDate: string;
|
|
10
|
+
endDate: string;
|
|
11
|
+
timezone?: string | undefined;
|
|
12
|
+
isMultiDay?: boolean | undefined;
|
|
13
|
+
doors?: string | undefined;
|
|
14
|
+
}, {
|
|
15
|
+
startDate: string;
|
|
16
|
+
endDate: string;
|
|
17
|
+
timezone?: string | undefined;
|
|
18
|
+
isMultiDay?: boolean | undefined;
|
|
19
|
+
doors?: string | undefined;
|
|
20
|
+
}>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scheduleSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.scheduleSchema = zod_1.z.object({
|
|
6
|
+
startDate: zod_1.z.string({ required_error: 'Event start date is required' }).datetime('Start date must be a valid ISO datetime string'),
|
|
7
|
+
endDate: zod_1.z.string({ required_error: 'Event end date is required' }).datetime('End date must be a valid ISO datetime string'),
|
|
8
|
+
timezone: zod_1.z.string().optional(),
|
|
9
|
+
isMultiDay: zod_1.z.boolean().optional(),
|
|
10
|
+
doors: zod_1.z.string().optional(),
|
|
11
|
+
});
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const priceSchema: z.ZodObject<{
|
|
3
|
+
amount: z.ZodNumber;
|
|
4
|
+
currency: z.ZodDefault<z.ZodString>;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
amount: number;
|
|
7
|
+
currency: string;
|
|
8
|
+
}, {
|
|
9
|
+
amount: number;
|
|
10
|
+
currency?: string | undefined;
|
|
11
|
+
}>;
|
|
12
|
+
export declare const salesWindowSchema: z.ZodObject<{
|
|
13
|
+
startDate: z.ZodOptional<z.ZodString>;
|
|
14
|
+
endDate: z.ZodOptional<z.ZodString>;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
startDate?: string | undefined;
|
|
17
|
+
endDate?: string | undefined;
|
|
18
|
+
}, {
|
|
19
|
+
startDate?: string | undefined;
|
|
20
|
+
endDate?: string | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const limitsSchema: z.ZodObject<{
|
|
23
|
+
minPerOrder: z.ZodDefault<z.ZodNumber>;
|
|
24
|
+
maxPerOrder: z.ZodDefault<z.ZodNumber>;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
minPerOrder: number;
|
|
27
|
+
maxPerOrder: number;
|
|
28
|
+
}, {
|
|
29
|
+
minPerOrder?: number | undefined;
|
|
30
|
+
maxPerOrder?: number | undefined;
|
|
31
|
+
}>;
|
|
32
|
+
export declare const ticketSchema: z.ZodObject<{
|
|
33
|
+
id: z.ZodOptional<z.ZodString>;
|
|
34
|
+
name: z.ZodString;
|
|
35
|
+
description: z.ZodOptional<z.ZodString>;
|
|
36
|
+
price: z.ZodObject<{
|
|
37
|
+
amount: z.ZodNumber;
|
|
38
|
+
currency: z.ZodDefault<z.ZodString>;
|
|
39
|
+
}, "strip", z.ZodTypeAny, {
|
|
40
|
+
amount: number;
|
|
41
|
+
currency: string;
|
|
42
|
+
}, {
|
|
43
|
+
amount: number;
|
|
44
|
+
currency?: string | undefined;
|
|
45
|
+
}>;
|
|
46
|
+
quantity: z.ZodNumber;
|
|
47
|
+
salesWindow: z.ZodOptional<z.ZodObject<{
|
|
48
|
+
startDate: z.ZodOptional<z.ZodString>;
|
|
49
|
+
endDate: z.ZodOptional<z.ZodString>;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
startDate?: string | undefined;
|
|
52
|
+
endDate?: string | undefined;
|
|
53
|
+
}, {
|
|
54
|
+
startDate?: string | undefined;
|
|
55
|
+
endDate?: string | undefined;
|
|
56
|
+
}>>;
|
|
57
|
+
limits: z.ZodOptional<z.ZodObject<{
|
|
58
|
+
minPerOrder: z.ZodDefault<z.ZodNumber>;
|
|
59
|
+
maxPerOrder: z.ZodDefault<z.ZodNumber>;
|
|
60
|
+
}, "strip", z.ZodTypeAny, {
|
|
61
|
+
minPerOrder: number;
|
|
62
|
+
maxPerOrder: number;
|
|
63
|
+
}, {
|
|
64
|
+
minPerOrder?: number | undefined;
|
|
65
|
+
maxPerOrder?: number | undefined;
|
|
66
|
+
}>>;
|
|
67
|
+
visibility: z.ZodOptional<z.ZodDefault<z.ZodEnum<["public", "hidden", "invite_only"]>>>;
|
|
68
|
+
status: z.ZodOptional<z.ZodDefault<z.ZodEnum<["active", "inactive"]>>>;
|
|
69
|
+
benefits: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
70
|
+
tier: z.ZodDefault<z.ZodEnum<["early_bird", "regular", "vip"]>>;
|
|
71
|
+
}, "strip", z.ZodTypeAny, {
|
|
72
|
+
name: string;
|
|
73
|
+
price: {
|
|
74
|
+
amount: number;
|
|
75
|
+
currency: string;
|
|
76
|
+
};
|
|
77
|
+
quantity: number;
|
|
78
|
+
tier: "early_bird" | "regular" | "vip";
|
|
79
|
+
status?: "active" | "inactive" | undefined;
|
|
80
|
+
id?: string | undefined;
|
|
81
|
+
description?: string | undefined;
|
|
82
|
+
salesWindow?: {
|
|
83
|
+
startDate?: string | undefined;
|
|
84
|
+
endDate?: string | undefined;
|
|
85
|
+
} | undefined;
|
|
86
|
+
limits?: {
|
|
87
|
+
minPerOrder: number;
|
|
88
|
+
maxPerOrder: number;
|
|
89
|
+
} | undefined;
|
|
90
|
+
visibility?: "public" | "hidden" | "invite_only" | undefined;
|
|
91
|
+
benefits?: string[] | undefined;
|
|
92
|
+
}, {
|
|
93
|
+
name: string;
|
|
94
|
+
price: {
|
|
95
|
+
amount: number;
|
|
96
|
+
currency?: string | undefined;
|
|
97
|
+
};
|
|
98
|
+
quantity: number;
|
|
99
|
+
status?: "active" | "inactive" | undefined;
|
|
100
|
+
id?: string | undefined;
|
|
101
|
+
description?: string | undefined;
|
|
102
|
+
salesWindow?: {
|
|
103
|
+
startDate?: string | undefined;
|
|
104
|
+
endDate?: string | undefined;
|
|
105
|
+
} | undefined;
|
|
106
|
+
limits?: {
|
|
107
|
+
minPerOrder?: number | undefined;
|
|
108
|
+
maxPerOrder?: number | undefined;
|
|
109
|
+
} | undefined;
|
|
110
|
+
visibility?: "public" | "hidden" | "invite_only" | undefined;
|
|
111
|
+
benefits?: string[] | undefined;
|
|
112
|
+
tier?: "early_bird" | "regular" | "vip" | undefined;
|
|
113
|
+
}>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ticketSchema = exports.limitsSchema = exports.salesWindowSchema = exports.priceSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.priceSchema = zod_1.z.object({
|
|
6
|
+
amount: zod_1.z.number({ required_error: 'Ticket price amount is required' }).positive('Ticket price must be positive'),
|
|
7
|
+
currency: zod_1.z.string({ required_error: 'Ticket currency is required' }).default('BDT'),
|
|
8
|
+
});
|
|
9
|
+
exports.salesWindowSchema = zod_1.z.object({
|
|
10
|
+
startDate: zod_1.z.string().datetime('Sales start date must be a valid ISO datetime string').optional(),
|
|
11
|
+
endDate: zod_1.z.string().datetime('Sales end date must be a valid ISO datetime string').optional(),
|
|
12
|
+
});
|
|
13
|
+
exports.limitsSchema = zod_1.z.object({
|
|
14
|
+
minPerOrder: zod_1.z.number({ required_error: 'Min per order must be a number' }).int('Min per order must be an integer').min(1, 'Min per order must be at least 1').default(1),
|
|
15
|
+
maxPerOrder: zod_1.z.number({ required_error: 'Max per order must be a number' }).int('Max per order must be an integer').min(1, 'Max per order must be at least 1').default(10),
|
|
16
|
+
});
|
|
17
|
+
exports.ticketSchema = zod_1.z.object({
|
|
18
|
+
id: zod_1.z.string().optional(),
|
|
19
|
+
name: zod_1.z.string({ required_error: 'Ticket name is required' }),
|
|
20
|
+
description: zod_1.z.string().optional(),
|
|
21
|
+
price: exports.priceSchema,
|
|
22
|
+
quantity: zod_1.z.number({ required_error: 'Ticket quantity is required' }).int('Quantity must be an integer').positive('Quantity must be positive'),
|
|
23
|
+
salesWindow: exports.salesWindowSchema.optional(),
|
|
24
|
+
limits: exports.limitsSchema.optional(),
|
|
25
|
+
visibility: zod_1.z.enum(['public', 'hidden', 'invite_only'], { required_error: 'Ticket visibility must be public, hidden, or invite_only' }).default('public').optional(),
|
|
26
|
+
status: zod_1.z.enum(['active', 'inactive'], { required_error: 'Ticket status must be active or inactive' }).default('active').optional(),
|
|
27
|
+
benefits: zod_1.z.array(zod_1.z.string(), { required_error: 'Benefits must be an array of strings' }).optional(),
|
|
28
|
+
tier: zod_1.z.enum(['early_bird', 'regular', 'vip'], { required_error: 'Ticket tier must be early_bird, regular or vip' }).default('regular')
|
|
29
|
+
});
|