@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,8 @@
|
|
|
1
|
+
export declare const MIN_PASSWORD_LENGTH = 8;
|
|
2
|
+
export declare const MAX_PASSWORD_LENGTH = 128;
|
|
3
|
+
export declare const MIN_FIRST_NAME_LENGTH = 3;
|
|
4
|
+
export declare const MAX_FIRST_NAME_LENGTH = 20;
|
|
5
|
+
export declare const MIN_LAST_NAME_LENGTH = 3;
|
|
6
|
+
export declare const MAX_LAST_NAME_LENGTH = 20;
|
|
7
|
+
export declare const MIN_ORGANIZATION_NAME_LENGTH = 3;
|
|
8
|
+
export declare const MAX_ORGANIZATION_NAME_LENGTH = 20;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAX_ORGANIZATION_NAME_LENGTH = exports.MIN_ORGANIZATION_NAME_LENGTH = exports.MAX_LAST_NAME_LENGTH = exports.MIN_LAST_NAME_LENGTH = exports.MAX_FIRST_NAME_LENGTH = exports.MIN_FIRST_NAME_LENGTH = exports.MAX_PASSWORD_LENGTH = exports.MIN_PASSWORD_LENGTH = void 0;
|
|
4
|
+
// Password strength requirements
|
|
5
|
+
exports.MIN_PASSWORD_LENGTH = 8;
|
|
6
|
+
exports.MAX_PASSWORD_LENGTH = 128;
|
|
7
|
+
exports.MIN_FIRST_NAME_LENGTH = 3;
|
|
8
|
+
exports.MAX_FIRST_NAME_LENGTH = 20;
|
|
9
|
+
exports.MIN_LAST_NAME_LENGTH = 3;
|
|
10
|
+
exports.MAX_LAST_NAME_LENGTH = 20;
|
|
11
|
+
exports.MIN_ORGANIZATION_NAME_LENGTH = 3;
|
|
12
|
+
exports.MAX_ORGANIZATION_NAME_LENGTH = 20;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const loginSchema: z.ZodObject<{
|
|
3
|
+
email: z.ZodString;
|
|
4
|
+
password: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
email: string;
|
|
7
|
+
password: string;
|
|
8
|
+
}, {
|
|
9
|
+
email: string;
|
|
10
|
+
password: string;
|
|
11
|
+
}>;
|
|
12
|
+
export declare const registerSchema: z.ZodEffects<z.ZodObject<{
|
|
13
|
+
firstName: z.ZodString;
|
|
14
|
+
lastName: z.ZodString;
|
|
15
|
+
email: z.ZodString;
|
|
16
|
+
password: z.ZodEffects<z.ZodString, string, string>;
|
|
17
|
+
confirmPassword: z.ZodString;
|
|
18
|
+
} & {
|
|
19
|
+
organizationName: z.ZodOptional<z.ZodString>;
|
|
20
|
+
organizationType: z.ZodOptional<z.ZodEnum<["Venue", "Promoter", "Festival Organizer"]>>;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
email: string;
|
|
23
|
+
password: string;
|
|
24
|
+
firstName: string;
|
|
25
|
+
lastName: string;
|
|
26
|
+
confirmPassword: string;
|
|
27
|
+
organizationName?: string | undefined;
|
|
28
|
+
organizationType?: "Venue" | "Promoter" | "Festival Organizer" | undefined;
|
|
29
|
+
}, {
|
|
30
|
+
email: string;
|
|
31
|
+
password: string;
|
|
32
|
+
firstName: string;
|
|
33
|
+
lastName: string;
|
|
34
|
+
confirmPassword: string;
|
|
35
|
+
organizationName?: string | undefined;
|
|
36
|
+
organizationType?: "Venue" | "Promoter" | "Festival Organizer" | undefined;
|
|
37
|
+
}>, {
|
|
38
|
+
email: string;
|
|
39
|
+
password: string;
|
|
40
|
+
firstName: string;
|
|
41
|
+
lastName: string;
|
|
42
|
+
confirmPassword: string;
|
|
43
|
+
organizationName?: string | undefined;
|
|
44
|
+
organizationType?: "Venue" | "Promoter" | "Festival Organizer" | undefined;
|
|
45
|
+
}, {
|
|
46
|
+
email: string;
|
|
47
|
+
password: string;
|
|
48
|
+
firstName: string;
|
|
49
|
+
lastName: string;
|
|
50
|
+
confirmPassword: string;
|
|
51
|
+
organizationName?: string | undefined;
|
|
52
|
+
organizationType?: "Venue" | "Promoter" | "Festival Organizer" | undefined;
|
|
53
|
+
}>;
|
|
54
|
+
export declare const registerHostSchema: z.ZodEffects<z.ZodObject<{
|
|
55
|
+
firstName: z.ZodString;
|
|
56
|
+
lastName: z.ZodString;
|
|
57
|
+
email: z.ZodString;
|
|
58
|
+
password: z.ZodEffects<z.ZodString, string, string>;
|
|
59
|
+
confirmPassword: z.ZodString;
|
|
60
|
+
} & {
|
|
61
|
+
organizationName: z.ZodString;
|
|
62
|
+
}, "strip", z.ZodTypeAny, {
|
|
63
|
+
email: string;
|
|
64
|
+
password: string;
|
|
65
|
+
firstName: string;
|
|
66
|
+
lastName: string;
|
|
67
|
+
confirmPassword: string;
|
|
68
|
+
organizationName: string;
|
|
69
|
+
}, {
|
|
70
|
+
email: string;
|
|
71
|
+
password: string;
|
|
72
|
+
firstName: string;
|
|
73
|
+
lastName: string;
|
|
74
|
+
confirmPassword: string;
|
|
75
|
+
organizationName: string;
|
|
76
|
+
}>, {
|
|
77
|
+
email: string;
|
|
78
|
+
password: string;
|
|
79
|
+
firstName: string;
|
|
80
|
+
lastName: string;
|
|
81
|
+
confirmPassword: string;
|
|
82
|
+
organizationName: string;
|
|
83
|
+
}, {
|
|
84
|
+
email: string;
|
|
85
|
+
password: string;
|
|
86
|
+
firstName: string;
|
|
87
|
+
lastName: string;
|
|
88
|
+
confirmPassword: string;
|
|
89
|
+
organizationName: string;
|
|
90
|
+
}>;
|
|
91
|
+
export declare const updateGoogleUserOrganizationSchema: z.ZodObject<{
|
|
92
|
+
organization: z.ZodString;
|
|
93
|
+
id: z.ZodString;
|
|
94
|
+
}, "strip", z.ZodTypeAny, {
|
|
95
|
+
organization: string;
|
|
96
|
+
id: string;
|
|
97
|
+
}, {
|
|
98
|
+
organization: string;
|
|
99
|
+
id: string;
|
|
100
|
+
}>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateGoogleUserOrganizationSchema = exports.registerHostSchema = exports.registerSchema = exports.loginSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const password_schema_1 = require("./utils/password.schema");
|
|
6
|
+
const auth_constants_1 = require("./auth.constants");
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// AUTH SCHEMAS
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Login schema
|
|
11
|
+
exports.loginSchema = zod_1.z.object({
|
|
12
|
+
email: zod_1.z.string().email('Please enter a valid email address'),
|
|
13
|
+
password: zod_1.z.string().min(1, 'Password is required'),
|
|
14
|
+
});
|
|
15
|
+
// Base user schema
|
|
16
|
+
const baseUserSchema = zod_1.z.object({
|
|
17
|
+
firstName: zod_1.z.string()
|
|
18
|
+
.trim()
|
|
19
|
+
.min(auth_constants_1.MIN_FIRST_NAME_LENGTH, `First name must be at least ${auth_constants_1.MIN_FIRST_NAME_LENGTH} characters long`)
|
|
20
|
+
.max(auth_constants_1.MAX_FIRST_NAME_LENGTH, `First name must be at most ${auth_constants_1.MAX_FIRST_NAME_LENGTH} characters long`),
|
|
21
|
+
lastName: zod_1.z.string()
|
|
22
|
+
.trim()
|
|
23
|
+
.min(auth_constants_1.MIN_LAST_NAME_LENGTH, `Last name must be at least ${auth_constants_1.MIN_LAST_NAME_LENGTH} characters long`)
|
|
24
|
+
.max(auth_constants_1.MAX_LAST_NAME_LENGTH, `Last name must be at most ${auth_constants_1.MAX_LAST_NAME_LENGTH} characters long`),
|
|
25
|
+
email: zod_1.z.string().trim().email(),
|
|
26
|
+
password: password_schema_1.strongPasswordSchema,
|
|
27
|
+
confirmPassword: password_schema_1.confirmPasswordSchema,
|
|
28
|
+
});
|
|
29
|
+
// Register schema for regular users
|
|
30
|
+
exports.registerSchema = baseUserSchema.extend({
|
|
31
|
+
organizationName: zod_1.z.string().optional(),
|
|
32
|
+
organizationType: zod_1.z.enum(['Venue', 'Promoter', 'Festival Organizer']).optional(),
|
|
33
|
+
}).refine((data) => data.password === data.confirmPassword, {
|
|
34
|
+
message: "Passwords don't match",
|
|
35
|
+
path: ["confirmPassword"],
|
|
36
|
+
});
|
|
37
|
+
// Register schema for host users
|
|
38
|
+
exports.registerHostSchema = baseUserSchema.extend({
|
|
39
|
+
organizationName: zod_1.z.string()
|
|
40
|
+
.trim()
|
|
41
|
+
.min(auth_constants_1.MIN_ORGANIZATION_NAME_LENGTH, `Organization name must be at least ${auth_constants_1.MIN_ORGANIZATION_NAME_LENGTH} characters long`)
|
|
42
|
+
.max(auth_constants_1.MAX_ORGANIZATION_NAME_LENGTH, `Organization name must be at most ${auth_constants_1.MAX_ORGANIZATION_NAME_LENGTH} characters long`),
|
|
43
|
+
}).refine((data) => data.password === data.confirmPassword, {
|
|
44
|
+
message: 'Passwords do not match',
|
|
45
|
+
path: ['confirmPassword'],
|
|
46
|
+
});
|
|
47
|
+
exports.updateGoogleUserOrganizationSchema = zod_1.z.object({
|
|
48
|
+
organization: zod_1.z.string()
|
|
49
|
+
.trim()
|
|
50
|
+
.min(auth_constants_1.MIN_ORGANIZATION_NAME_LENGTH, `Organization name must be at least ${auth_constants_1.MIN_ORGANIZATION_NAME_LENGTH} characters long`)
|
|
51
|
+
.max(auth_constants_1.MAX_ORGANIZATION_NAME_LENGTH, `Organization name must be at most ${auth_constants_1.MAX_ORGANIZATION_NAME_LENGTH} characters long`),
|
|
52
|
+
id: zod_1.z.string({ required_error: 'Unauthorized' }).regex(/^[0-9a-fA-F]{24}$/, 'Unauthorized'),
|
|
53
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { loginSchema, registerSchema, registerHostSchema, updateGoogleUserOrganizationSchema } from './auth.schema';
|
|
3
|
+
export type LoginData = z.infer<typeof loginSchema>;
|
|
4
|
+
export type RegisterData = z.infer<typeof registerSchema>;
|
|
5
|
+
export type RegisterHostData = z.infer<typeof registerHostSchema>;
|
|
6
|
+
export type UpdateGoogleUserOrganizationData = z.infer<typeof updateGoogleUserOrganizationSchema>;
|
|
7
|
+
export interface LoginPayload {
|
|
8
|
+
email: string;
|
|
9
|
+
password: string;
|
|
10
|
+
}
|
|
11
|
+
export interface RegisterPayload {
|
|
12
|
+
firstName: string;
|
|
13
|
+
lastName: string;
|
|
14
|
+
email: string;
|
|
15
|
+
password: string;
|
|
16
|
+
confirmPassword: string;
|
|
17
|
+
organizationName?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface RegisterHostPayload extends RegisterPayload {
|
|
20
|
+
organizationName: string;
|
|
21
|
+
}
|
|
22
|
+
export interface JwtTokenPayload {
|
|
23
|
+
sub: string;
|
|
24
|
+
email: string;
|
|
25
|
+
role: string;
|
|
26
|
+
firstName?: string;
|
|
27
|
+
lastName?: string;
|
|
28
|
+
organization?: string;
|
|
29
|
+
phone?: string;
|
|
30
|
+
}
|
|
31
|
+
export type Role = 'user' | 'host' | 'admin';
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./auth.schema"), exports);
|
|
18
|
+
__exportStar(require("./auth.type"), exports);
|
|
19
|
+
__exportStar(require("./auth.constants"), exports);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.strongPasswordSchema = exports.confirmPasswordSchema = exports.passwordSchema = void 0;
|
|
7
|
+
const zod_1 = require("zod");
|
|
8
|
+
const zxcvbn_1 = __importDefault(require("zxcvbn"));
|
|
9
|
+
exports.passwordSchema = zod_1.z.string()
|
|
10
|
+
.min(8, 'Password must be at least 8 characters long')
|
|
11
|
+
.max(128, 'Password must be at most 128 characters long');
|
|
12
|
+
exports.confirmPasswordSchema = zod_1.z.string()
|
|
13
|
+
.min(8, 'Confirm password must be at least 8 characters long')
|
|
14
|
+
.max(128, 'Confirm password must be at most 128 characters long');
|
|
15
|
+
// Password strength validation
|
|
16
|
+
exports.strongPasswordSchema = exports.passwordSchema.refine((password) => (0, zxcvbn_1.default)(password).score >= 2, {
|
|
17
|
+
message: 'Password must be strong (include uppercase, lowercase, numbers, and special characters)',
|
|
18
|
+
});
|
package/dist/auth.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './auth/index';
|
package/dist/auth.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
// Re-export from the modular auth structure
|
|
18
|
+
__exportStar(require("./auth/index"), exports);
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const metricsSchema: z.ZodObject<{
|
|
3
|
+
views: z.ZodDefault<z.ZodNumber>;
|
|
4
|
+
ticketsSold: z.ZodDefault<z.ZodNumber>;
|
|
5
|
+
revenue: z.ZodDefault<z.ZodNumber>;
|
|
6
|
+
checkIns: z.ZodDefault<z.ZodNumber>;
|
|
7
|
+
averageRating: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
reviewCount: z.ZodDefault<z.ZodNumber>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
views: number;
|
|
11
|
+
ticketsSold: number;
|
|
12
|
+
revenue: number;
|
|
13
|
+
checkIns: number;
|
|
14
|
+
reviewCount: number;
|
|
15
|
+
averageRating?: number | undefined;
|
|
16
|
+
}, {
|
|
17
|
+
views?: number | undefined;
|
|
18
|
+
ticketsSold?: number | undefined;
|
|
19
|
+
revenue?: number | undefined;
|
|
20
|
+
checkIns?: number | undefined;
|
|
21
|
+
averageRating?: number | undefined;
|
|
22
|
+
reviewCount?: number | undefined;
|
|
23
|
+
}>;
|
|
24
|
+
export declare const pricingSchema: z.ZodObject<{
|
|
25
|
+
platformFee: z.ZodDefault<z.ZodNumber>;
|
|
26
|
+
paymentProcessingFee: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
currency: z.ZodOptional<z.ZodString>;
|
|
28
|
+
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
platformFee: number;
|
|
30
|
+
currency?: string | undefined;
|
|
31
|
+
paymentProcessingFee?: number | undefined;
|
|
32
|
+
}, {
|
|
33
|
+
currency?: string | undefined;
|
|
34
|
+
platformFee?: number | undefined;
|
|
35
|
+
paymentProcessingFee?: number | undefined;
|
|
36
|
+
}>;
|
|
37
|
+
export declare const payoutSchema: z.ZodObject<{
|
|
38
|
+
status: z.ZodOptional<z.ZodEnum<["pending", "scheduled", "completed"]>>;
|
|
39
|
+
amount: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
scheduledDate: z.ZodOptional<z.ZodString>;
|
|
41
|
+
paidAt: z.ZodOptional<z.ZodString>;
|
|
42
|
+
stripePayoutId: z.ZodOptional<z.ZodString>;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
status?: "pending" | "scheduled" | "completed" | undefined;
|
|
45
|
+
amount?: number | undefined;
|
|
46
|
+
scheduledDate?: string | undefined;
|
|
47
|
+
paidAt?: string | undefined;
|
|
48
|
+
stripePayoutId?: string | undefined;
|
|
49
|
+
}, {
|
|
50
|
+
status?: "pending" | "scheduled" | "completed" | undefined;
|
|
51
|
+
amount?: number | undefined;
|
|
52
|
+
scheduledDate?: string | undefined;
|
|
53
|
+
paidAt?: string | undefined;
|
|
54
|
+
stripePayoutId?: string | undefined;
|
|
55
|
+
}>;
|
|
56
|
+
export declare const cancellationSchema: z.ZodObject<{
|
|
57
|
+
allowed: z.ZodDefault<z.ZodBoolean>;
|
|
58
|
+
refundPercentage: z.ZodDefault<z.ZodNumber>;
|
|
59
|
+
deadlineHours: z.ZodOptional<z.ZodNumber>;
|
|
60
|
+
}, "strip", z.ZodTypeAny, {
|
|
61
|
+
allowed: boolean;
|
|
62
|
+
refundPercentage: number;
|
|
63
|
+
deadlineHours?: number | undefined;
|
|
64
|
+
}, {
|
|
65
|
+
allowed?: boolean | undefined;
|
|
66
|
+
refundPercentage?: number | undefined;
|
|
67
|
+
deadlineHours?: number | undefined;
|
|
68
|
+
}>;
|
|
69
|
+
export declare const policiesSchema: z.ZodObject<{
|
|
70
|
+
cancellation: z.ZodOptional<z.ZodObject<{
|
|
71
|
+
allowed: z.ZodDefault<z.ZodBoolean>;
|
|
72
|
+
refundPercentage: z.ZodDefault<z.ZodNumber>;
|
|
73
|
+
deadlineHours: z.ZodOptional<z.ZodNumber>;
|
|
74
|
+
}, "strip", z.ZodTypeAny, {
|
|
75
|
+
allowed: boolean;
|
|
76
|
+
refundPercentage: number;
|
|
77
|
+
deadlineHours?: number | undefined;
|
|
78
|
+
}, {
|
|
79
|
+
allowed?: boolean | undefined;
|
|
80
|
+
refundPercentage?: number | undefined;
|
|
81
|
+
deadlineHours?: number | undefined;
|
|
82
|
+
}>>;
|
|
83
|
+
transferable: z.ZodDefault<z.ZodBoolean>;
|
|
84
|
+
}, "strip", z.ZodTypeAny, {
|
|
85
|
+
transferable: boolean;
|
|
86
|
+
cancellation?: {
|
|
87
|
+
allowed: boolean;
|
|
88
|
+
refundPercentage: number;
|
|
89
|
+
deadlineHours?: number | undefined;
|
|
90
|
+
} | undefined;
|
|
91
|
+
}, {
|
|
92
|
+
cancellation?: {
|
|
93
|
+
allowed?: boolean | undefined;
|
|
94
|
+
refundPercentage?: number | undefined;
|
|
95
|
+
deadlineHours?: number | undefined;
|
|
96
|
+
} | undefined;
|
|
97
|
+
transferable?: boolean | undefined;
|
|
98
|
+
}>;
|
|
99
|
+
export declare const flagSchema: z.ZodObject<{
|
|
100
|
+
reportedBy: z.ZodString;
|
|
101
|
+
reason: z.ZodString;
|
|
102
|
+
description: z.ZodString;
|
|
103
|
+
createdAt: z.ZodOptional<z.ZodString>;
|
|
104
|
+
status: z.ZodDefault<z.ZodEnum<["pending", "resolved", "dismissed"]>>;
|
|
105
|
+
}, "strip", z.ZodTypeAny, {
|
|
106
|
+
status: "pending" | "resolved" | "dismissed";
|
|
107
|
+
description: string;
|
|
108
|
+
reportedBy: string;
|
|
109
|
+
reason: string;
|
|
110
|
+
createdAt?: string | undefined;
|
|
111
|
+
}, {
|
|
112
|
+
description: string;
|
|
113
|
+
reportedBy: string;
|
|
114
|
+
reason: string;
|
|
115
|
+
status?: "pending" | "resolved" | "dismissed" | undefined;
|
|
116
|
+
createdAt?: string | undefined;
|
|
117
|
+
}>;
|
|
118
|
+
export declare const moderationSchema: z.ZodObject<{
|
|
119
|
+
isFlagged: z.ZodDefault<z.ZodBoolean>;
|
|
120
|
+
flags: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
121
|
+
reportedBy: z.ZodString;
|
|
122
|
+
reason: z.ZodString;
|
|
123
|
+
description: z.ZodString;
|
|
124
|
+
createdAt: z.ZodOptional<z.ZodString>;
|
|
125
|
+
status: z.ZodDefault<z.ZodEnum<["pending", "resolved", "dismissed"]>>;
|
|
126
|
+
}, "strip", z.ZodTypeAny, {
|
|
127
|
+
status: "pending" | "resolved" | "dismissed";
|
|
128
|
+
description: string;
|
|
129
|
+
reportedBy: string;
|
|
130
|
+
reason: string;
|
|
131
|
+
createdAt?: string | undefined;
|
|
132
|
+
}, {
|
|
133
|
+
description: string;
|
|
134
|
+
reportedBy: string;
|
|
135
|
+
reason: string;
|
|
136
|
+
status?: "pending" | "resolved" | "dismissed" | undefined;
|
|
137
|
+
createdAt?: string | undefined;
|
|
138
|
+
}>, "many">>;
|
|
139
|
+
suspendedUntil: z.ZodOptional<z.ZodString>;
|
|
140
|
+
banReason: z.ZodOptional<z.ZodString>;
|
|
141
|
+
}, "strip", z.ZodTypeAny, {
|
|
142
|
+
isFlagged: boolean;
|
|
143
|
+
flags?: {
|
|
144
|
+
status: "pending" | "resolved" | "dismissed";
|
|
145
|
+
description: string;
|
|
146
|
+
reportedBy: string;
|
|
147
|
+
reason: string;
|
|
148
|
+
createdAt?: string | undefined;
|
|
149
|
+
}[] | undefined;
|
|
150
|
+
suspendedUntil?: string | undefined;
|
|
151
|
+
banReason?: string | undefined;
|
|
152
|
+
}, {
|
|
153
|
+
isFlagged?: boolean | undefined;
|
|
154
|
+
flags?: {
|
|
155
|
+
description: string;
|
|
156
|
+
reportedBy: string;
|
|
157
|
+
reason: string;
|
|
158
|
+
status?: "pending" | "resolved" | "dismissed" | undefined;
|
|
159
|
+
createdAt?: string | undefined;
|
|
160
|
+
}[] | undefined;
|
|
161
|
+
suspendedUntil?: string | undefined;
|
|
162
|
+
banReason?: string | undefined;
|
|
163
|
+
}>;
|
|
164
|
+
export declare const seoSchema: z.ZodObject<{
|
|
165
|
+
metaTitle: z.ZodOptional<z.ZodString>;
|
|
166
|
+
metaDescription: z.ZodOptional<z.ZodString>;
|
|
167
|
+
keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
168
|
+
ogImage: z.ZodOptional<z.ZodString>;
|
|
169
|
+
}, "strip", z.ZodTypeAny, {
|
|
170
|
+
metaTitle?: string | undefined;
|
|
171
|
+
metaDescription?: string | undefined;
|
|
172
|
+
keywords?: string[] | undefined;
|
|
173
|
+
ogImage?: string | undefined;
|
|
174
|
+
}, {
|
|
175
|
+
metaTitle?: string | undefined;
|
|
176
|
+
metaDescription?: string | undefined;
|
|
177
|
+
keywords?: string[] | undefined;
|
|
178
|
+
ogImage?: string | undefined;
|
|
179
|
+
}>;
|
|
180
|
+
export declare const featuresSchema: z.ZodObject<{
|
|
181
|
+
isFeatured: z.ZodDefault<z.ZodBoolean>;
|
|
182
|
+
isPremium: z.ZodDefault<z.ZodBoolean>;
|
|
183
|
+
badges: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
184
|
+
}, "strip", z.ZodTypeAny, {
|
|
185
|
+
isFeatured: boolean;
|
|
186
|
+
isPremium: boolean;
|
|
187
|
+
badges?: string[] | undefined;
|
|
188
|
+
}, {
|
|
189
|
+
isFeatured?: boolean | undefined;
|
|
190
|
+
isPremium?: boolean | undefined;
|
|
191
|
+
badges?: string[] | undefined;
|
|
192
|
+
}>;
|
|
193
|
+
export declare const historySchema: z.ZodObject<{
|
|
194
|
+
action: z.ZodString;
|
|
195
|
+
performedBy: z.ZodString;
|
|
196
|
+
timestamp: z.ZodOptional<z.ZodString>;
|
|
197
|
+
changes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
198
|
+
}, "strip", z.ZodTypeAny, {
|
|
199
|
+
action: string;
|
|
200
|
+
performedBy: string;
|
|
201
|
+
timestamp?: string | undefined;
|
|
202
|
+
changes?: Record<string, any> | undefined;
|
|
203
|
+
}, {
|
|
204
|
+
action: string;
|
|
205
|
+
performedBy: string;
|
|
206
|
+
timestamp?: string | undefined;
|
|
207
|
+
changes?: Record<string, any> | undefined;
|
|
208
|
+
}>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.historySchema = exports.featuresSchema = exports.seoSchema = exports.moderationSchema = exports.flagSchema = exports.policiesSchema = exports.cancellationSchema = exports.payoutSchema = exports.pricingSchema = exports.metricsSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
// Metrics schema
|
|
6
|
+
exports.metricsSchema = zod_1.z.object({
|
|
7
|
+
views: zod_1.z.number({ required_error: 'Views must be a number' }).int('Views must be an integer').min(0, 'Views cannot be negative').default(0),
|
|
8
|
+
ticketsSold: zod_1.z.number({ required_error: 'Tickets sold must be a number' }).int('Tickets sold must be an integer').min(0, 'Tickets sold cannot be negative').default(0),
|
|
9
|
+
revenue: zod_1.z.number({ required_error: 'Revenue must be a number' }).min(0, 'Revenue cannot be negative').default(0),
|
|
10
|
+
checkIns: zod_1.z.number({ required_error: 'Check-ins must be a number' }).int('Check-ins must be an integer').min(0, 'Check-ins cannot be negative').default(0),
|
|
11
|
+
averageRating: zod_1.z.number().min(0, 'Rating must be at least 0').max(5, 'Rating cannot exceed 5').optional(),
|
|
12
|
+
reviewCount: zod_1.z.number({ required_error: 'Review count must be a number' }).int('Review count must be an integer').min(0, 'Review count cannot be negative').default(0),
|
|
13
|
+
});
|
|
14
|
+
// Business schemas
|
|
15
|
+
exports.pricingSchema = zod_1.z.object({
|
|
16
|
+
platformFee: zod_1.z.number({ required_error: 'Platform fee must be a number' }).min(0, 'Platform fee cannot be negative').default(5),
|
|
17
|
+
paymentProcessingFee: zod_1.z.number().min(0, 'Payment processing fee cannot be negative').optional(),
|
|
18
|
+
currency: zod_1.z.string().optional(),
|
|
19
|
+
});
|
|
20
|
+
exports.payoutSchema = zod_1.z.object({
|
|
21
|
+
status: zod_1.z.enum(['pending', 'scheduled', 'completed'], { required_error: 'Payout status must be pending, scheduled, or completed' }).optional(),
|
|
22
|
+
amount: zod_1.z.number().min(0, 'Payout amount cannot be negative').optional(),
|
|
23
|
+
scheduledDate: zod_1.z.string().datetime('Payout scheduled date must be a valid ISO datetime string').optional(),
|
|
24
|
+
paidAt: zod_1.z.string().datetime('Payout paid date must be a valid ISO datetime string').optional(),
|
|
25
|
+
stripePayoutId: zod_1.z.string().optional(),
|
|
26
|
+
});
|
|
27
|
+
// Policies schemas
|
|
28
|
+
exports.cancellationSchema = zod_1.z.object({
|
|
29
|
+
allowed: zod_1.z.boolean({ required_error: 'Cancellation allowed must be true or false' }).default(true),
|
|
30
|
+
refundPercentage: zod_1.z.number({ required_error: 'Refund percentage must be a number' }).min(0, 'Refund percentage cannot be less than 0').max(100, 'Refund percentage cannot exceed 100').default(100),
|
|
31
|
+
deadlineHours: zod_1.z.number().min(0, 'Deadline hours cannot be negative').optional(),
|
|
32
|
+
});
|
|
33
|
+
exports.policiesSchema = zod_1.z.object({
|
|
34
|
+
cancellation: exports.cancellationSchema.optional(),
|
|
35
|
+
transferable: zod_1.z.boolean({ required_error: 'Transferable must be true or false' }).default(false),
|
|
36
|
+
});
|
|
37
|
+
// Moderation schemas
|
|
38
|
+
exports.flagSchema = zod_1.z.object({
|
|
39
|
+
reportedBy: zod_1.z.string({ required_error: 'Reported by user ID is required' }), // ObjectId as string
|
|
40
|
+
reason: zod_1.z.string({ required_error: 'Report reason is required' }),
|
|
41
|
+
description: zod_1.z.string({ required_error: 'Report description is required' }),
|
|
42
|
+
createdAt: zod_1.z.string().datetime('Report created date must be a valid ISO datetime string').optional(),
|
|
43
|
+
status: zod_1.z.enum(['pending', 'resolved', 'dismissed'], { required_error: 'Report status must be pending, resolved, or dismissed' }).default('pending'),
|
|
44
|
+
});
|
|
45
|
+
exports.moderationSchema = zod_1.z.object({
|
|
46
|
+
isFlagged: zod_1.z.boolean({ required_error: 'Is flagged must be true or false' }).default(false),
|
|
47
|
+
flags: zod_1.z.array(exports.flagSchema, { required_error: 'Flags must be an array' }).optional(),
|
|
48
|
+
suspendedUntil: zod_1.z.string().datetime('Suspension date must be a valid ISO datetime string').optional(),
|
|
49
|
+
banReason: zod_1.z.string().optional(),
|
|
50
|
+
});
|
|
51
|
+
// SEO schema
|
|
52
|
+
exports.seoSchema = zod_1.z.object({
|
|
53
|
+
metaTitle: zod_1.z.string().optional(),
|
|
54
|
+
metaDescription: zod_1.z.string().optional(),
|
|
55
|
+
keywords: zod_1.z.array(zod_1.z.string(), { required_error: 'SEO keywords must be an array of strings' }).optional(),
|
|
56
|
+
ogImage: zod_1.z.string().optional(),
|
|
57
|
+
});
|
|
58
|
+
// Features schema
|
|
59
|
+
exports.featuresSchema = zod_1.z.object({
|
|
60
|
+
isFeatured: zod_1.z.boolean({ required_error: 'Is featured must be true or false' }).default(false),
|
|
61
|
+
isPremium: zod_1.z.boolean({ required_error: 'Is premium must be true or false' }).default(false),
|
|
62
|
+
badges: zod_1.z.array(zod_1.z.string(), { required_error: 'Badges must be an array of strings' }).optional(),
|
|
63
|
+
});
|
|
64
|
+
// History schema
|
|
65
|
+
exports.historySchema = zod_1.z.object({
|
|
66
|
+
action: zod_1.z.string({ required_error: 'History action is required' }),
|
|
67
|
+
performedBy: zod_1.z.string({ required_error: 'Performed by user ID is required' }), // ObjectId as string
|
|
68
|
+
timestamp: zod_1.z.string().datetime('History timestamp must be a valid ISO datetime string').optional(),
|
|
69
|
+
changes: zod_1.z.record(zod_1.z.any()).optional(),
|
|
70
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ageRestrictionSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.ageRestrictionSchema = zod_1.z.enum(['all_ages', '18+', '21+'], { required_error: "Age restriction is required" }).default('all_ages');
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const documentSchema: z.ZodObject<{
|
|
3
|
+
type: z.ZodOptional<z.ZodEnum<["venue_booking", "permit", "insurance", "license", "portfolio", "other"]>>;
|
|
4
|
+
url: z.ZodOptional<z.ZodString>;
|
|
5
|
+
filename: z.ZodString;
|
|
6
|
+
objectKey: z.ZodString;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
filename: string;
|
|
9
|
+
objectKey: string;
|
|
10
|
+
type?: "venue_booking" | "permit" | "insurance" | "license" | "portfolio" | "other" | undefined;
|
|
11
|
+
url?: string | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
filename: string;
|
|
14
|
+
objectKey: string;
|
|
15
|
+
type?: "venue_booking" | "permit" | "insurance" | "license" | "portfolio" | "other" | undefined;
|
|
16
|
+
url?: string | undefined;
|
|
17
|
+
}>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.documentSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.documentSchema = zod_1.z.object({
|
|
6
|
+
type: zod_1.z.enum(['venue_booking', 'permit', 'insurance', 'license', 'portfolio', 'other'], { required_error: 'Document type is required' }).optional(),
|
|
7
|
+
url: zod_1.z.string({ required_error: 'Document URL is required' }).url('Document URL must be valid').optional(),
|
|
8
|
+
filename: zod_1.z.string({ required_error: 'Document filename is required' }),
|
|
9
|
+
objectKey: zod_1.z.string({ required_error: 'Document object key is required' }),
|
|
10
|
+
});
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.eventTypeSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.eventTypeSchema = zod_1.z.enum(['concert', 'festival', 'conference', 'theater', 'sports', 'other'], { required_error: "Event type is required" }).default('concert');
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const MAX_TAGLINE_LENGTH = 150;
|
|
2
|
+
export declare const MAX_CATEGORIES = 3;
|
|
3
|
+
export declare const MAX_DESCRIPTION_LENGTH = 2000;
|
|
4
|
+
export declare const MAX_DOCUMENTS = 5;
|
|
5
|
+
export declare const SUPPORTED_IMAGE_TYPES: string[];
|
|
6
|
+
export declare const MAX_FILE_SIZE_MB = 10;
|
|
7
|
+
export declare const MAX_FILE_SIZE_BYTES: number;
|
|
8
|
+
export declare const ALLOWED_FILE_TYPES: string[];
|
|
9
|
+
export declare const ALLOWED_FILE_EXTENSIONS: string[];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ALLOWED_FILE_EXTENSIONS = exports.ALLOWED_FILE_TYPES = exports.MAX_FILE_SIZE_BYTES = exports.MAX_FILE_SIZE_MB = exports.SUPPORTED_IMAGE_TYPES = exports.MAX_DOCUMENTS = exports.MAX_DESCRIPTION_LENGTH = exports.MAX_CATEGORIES = exports.MAX_TAGLINE_LENGTH = void 0;
|
|
4
|
+
exports.MAX_TAGLINE_LENGTH = 150;
|
|
5
|
+
exports.MAX_CATEGORIES = 3;
|
|
6
|
+
exports.MAX_DESCRIPTION_LENGTH = 2000;
|
|
7
|
+
exports.MAX_DOCUMENTS = 5;
|
|
8
|
+
exports.SUPPORTED_IMAGE_TYPES = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp'];
|
|
9
|
+
exports.MAX_FILE_SIZE_MB = 10;
|
|
10
|
+
exports.MAX_FILE_SIZE_BYTES = exports.MAX_FILE_SIZE_MB * 1024 * 1024;
|
|
11
|
+
exports.ALLOWED_FILE_TYPES = ['image/jpeg', 'image/png', 'application/pdf'];
|
|
12
|
+
exports.ALLOWED_FILE_EXTENSIONS = ['.jpg', '.jpeg', '.png', '.pdf'];
|