@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.
Files changed (107) hide show
  1. package/dist/auth/auth.constants.d.ts +8 -0
  2. package/dist/auth/auth.constants.js +12 -0
  3. package/dist/auth/auth.schema.d.ts +100 -0
  4. package/dist/auth/auth.schema.js +53 -0
  5. package/dist/auth/auth.type.d.ts +31 -0
  6. package/dist/auth/auth.type.js +2 -0
  7. package/dist/auth/index.d.ts +3 -0
  8. package/dist/auth/index.js +19 -0
  9. package/dist/auth/utils/password.schema.d.ts +4 -0
  10. package/dist/auth/utils/password.schema.js +18 -0
  11. package/dist/auth.d.ts +1 -0
  12. package/dist/auth.js +18 -0
  13. package/dist/events/admin.schema.d.ts +208 -0
  14. package/dist/events/admin.schema.js +70 -0
  15. package/dist/events/age.restriction.schema.d.ts +2 -0
  16. package/dist/events/age.restriction.schema.js +5 -0
  17. package/dist/events/document.schema.d.ts +17 -0
  18. package/dist/events/document.schema.js +10 -0
  19. package/dist/events/event.schema.d.ts +0 -0
  20. package/dist/events/event.schema.js +1 -0
  21. package/dist/events/event.type.schema.d.ts +2 -0
  22. package/dist/events/event.type.schema.js +5 -0
  23. package/dist/events/events.constant.d.ts +9 -0
  24. package/dist/events/events.constant.js +12 -0
  25. package/dist/events/events.constants.d.ts +69 -0
  26. package/dist/events/events.constants.js +147 -0
  27. package/dist/events/events.d.ts +3 -0
  28. package/dist/events/events.js +19 -0
  29. package/dist/events/events.schema.d.ts +4605 -0
  30. package/dist/events/events.schema.js +145 -0
  31. package/dist/events/events.type.d.ts +47 -0
  32. package/dist/events/events.type.js +2 -0
  33. package/dist/events/events.utils.schema.d.ts +5 -0
  34. package/dist/events/events.utils.schema.js +21 -0
  35. package/dist/events/index.d.ts +4 -0
  36. package/dist/events/index.js +20 -0
  37. package/dist/events/media.schema.d.ts +77 -0
  38. package/dist/events/media.schema.js +36 -0
  39. package/dist/events/organizer.schema.d.ts +55 -0
  40. package/dist/events/organizer.schema.js +15 -0
  41. package/dist/events/schedule.schema.d.ts +20 -0
  42. package/dist/events/schedule.schema.js +11 -0
  43. package/dist/events/step.schema.d.ts +0 -0
  44. package/dist/events/step.schema.js +1 -0
  45. package/dist/events/ticket.schema.d.ts +113 -0
  46. package/dist/events/ticket.schema.js +29 -0
  47. package/dist/events/utils/admin.schema.d.ts +208 -0
  48. package/dist/events/utils/admin.schema.js +70 -0
  49. package/dist/events/utils/age.restriction.schema.d.ts +2 -0
  50. package/dist/events/utils/age.restriction.schema.js +5 -0
  51. package/dist/events/utils/document.schema.d.ts +17 -0
  52. package/dist/events/utils/document.schema.js +10 -0
  53. package/dist/events/utils/event.type.schema.d.ts +2 -0
  54. package/dist/events/utils/event.type.schema.js +5 -0
  55. package/dist/events/utils/media.schema.d.ts +77 -0
  56. package/dist/events/utils/media.schema.js +36 -0
  57. package/dist/events/utils/organizer.schema.d.ts +55 -0
  58. package/dist/events/utils/organizer.schema.js +15 -0
  59. package/dist/events/utils/schedule.schema.d.ts +20 -0
  60. package/dist/events/utils/schedule.schema.js +11 -0
  61. package/dist/events/utils/ticket.schema.d.ts +119 -0
  62. package/dist/events/utils/ticket.schema.js +31 -0
  63. package/dist/events/utils/venue.schema.d.ts +75 -0
  64. package/dist/events/utils/venue.schema.js +22 -0
  65. package/dist/events/utils.schema.d.ts +6 -0
  66. package/dist/events/utils.schema.js +22 -0
  67. package/dist/events/venue.schema.d.ts +75 -0
  68. package/dist/events/venue.schema.js +22 -0
  69. package/dist/events.constant.d.ts +9 -0
  70. package/dist/events.constant.js +12 -0
  71. package/dist/events.constants.d.ts +9 -0
  72. package/dist/events.constants.js +12 -0
  73. package/dist/events.d.ts +39 -0
  74. package/dist/events.js +2 -0
  75. package/dist/events.schema.d.ts +229 -0
  76. package/dist/events.schema.js +95 -0
  77. package/dist/events.type.d.ts +42 -0
  78. package/dist/events.type.js +2 -0
  79. package/dist/events.utils.schema.d.ts +6 -0
  80. package/dist/events.utils.schema.js +22 -0
  81. package/dist/index.d.ts +4 -0
  82. package/dist/index.js +20 -0
  83. package/dist/media/index.d.ts +2 -0
  84. package/dist/media/index.js +18 -0
  85. package/dist/media/media.schema.d.ts +57 -0
  86. package/dist/media/media.schema.js +37 -0
  87. package/dist/media/media.type.d.ts +8 -0
  88. package/dist/media/media.type.js +2 -0
  89. package/dist/media/utils/backblaze.schema.d.ts +14 -0
  90. package/dist/media/utils/backblaze.schema.js +10 -0
  91. package/dist/media/utils/imagekit.schema.d.ts +34 -0
  92. package/dist/media/utils/imagekit.schema.js +20 -0
  93. package/dist/orders/index.d.ts +6 -0
  94. package/dist/orders/index.js +22 -0
  95. package/dist/orders/orders.schema.d.ts +600 -0
  96. package/dist/orders/orders.schema.js +89 -0
  97. package/dist/orders/orders.type.d.ts +56 -0
  98. package/dist/orders/orders.type.js +2 -0
  99. package/dist/orders/payments.schema.d.ts +215 -0
  100. package/dist/orders/payments.schema.js +67 -0
  101. package/dist/orders/payments.type.d.ts +58 -0
  102. package/dist/orders/payments.type.js +2 -0
  103. package/dist/orders/ticket.schema.d.ts +265 -0
  104. package/dist/orders/ticket.schema.js +65 -0
  105. package/dist/orders/ticket.type.d.ts +71 -0
  106. package/dist/orders/ticket.type.js +2 -0
  107. 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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ export * from './auth.schema';
2
+ export * from './auth.type';
3
+ export * from './auth.constants';
@@ -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,4 @@
1
+ import { z } from 'zod';
2
+ export declare const passwordSchema: z.ZodString;
3
+ export declare const confirmPasswordSchema: z.ZodString;
4
+ export declare const strongPasswordSchema: z.ZodEffects<z.ZodString, string, string>;
@@ -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,2 @@
1
+ import { z } from 'zod';
2
+ export declare const ageRestrictionSchema: z.ZodDefault<z.ZodEnum<["all_ages", "18+", "21+"]>>;
@@ -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,2 @@
1
+ import { z } from 'zod';
2
+ export declare const eventTypeSchema: z.ZodDefault<z.ZodEnum<["concert", "festival", "conference", "theater", "sports", "other"]>>;
@@ -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'];