@mac777/project-pinecone-schema 1.0.13 → 1.0.15
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.
|
@@ -1781,13 +1781,29 @@ export declare const approvedEventEditSchema: z.ZodObject<{
|
|
|
1781
1781
|
tickets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1782
1782
|
_id: z.ZodOptional<z.ZodString>;
|
|
1783
1783
|
name: z.ZodString;
|
|
1784
|
-
|
|
1784
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1785
|
+
price: z.ZodObject<{
|
|
1786
|
+
amount: z.ZodNumber;
|
|
1787
|
+
currency: z.ZodDefault<z.ZodString>;
|
|
1788
|
+
}, "strip", z.ZodTypeAny, {
|
|
1789
|
+
amount: number;
|
|
1790
|
+
currency: string;
|
|
1791
|
+
}, {
|
|
1792
|
+
amount: number;
|
|
1793
|
+
currency?: string | undefined;
|
|
1794
|
+
}>;
|
|
1785
1795
|
quantity: z.ZodNumber;
|
|
1796
|
+
tier: z.ZodDefault<z.ZodString>;
|
|
1786
1797
|
benefits: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1787
1798
|
wristbandColor: z.ZodDefault<z.ZodString>;
|
|
1799
|
+
accentColor: z.ZodDefault<z.ZodString>;
|
|
1800
|
+
isDark: z.ZodDefault<z.ZodBoolean>;
|
|
1801
|
+
glassMode: z.ZodDefault<z.ZodBoolean>;
|
|
1802
|
+
cornerRadius: z.ZodDefault<z.ZodNumber>;
|
|
1803
|
+
perforationStyle: z.ZodDefault<z.ZodEnum<["solid", "dashed", "dotted"]>>;
|
|
1788
1804
|
isVisible: z.ZodDefault<z.ZodBoolean>;
|
|
1789
1805
|
isActive: z.ZodDefault<z.ZodBoolean>;
|
|
1790
|
-
limits: z.ZodOptional<z.ZodObject<{
|
|
1806
|
+
limits: z.ZodEffects<z.ZodOptional<z.ZodObject<{
|
|
1791
1807
|
minPerOrder: z.ZodNumber;
|
|
1792
1808
|
maxPerOrder: z.ZodNumber;
|
|
1793
1809
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -1796,15 +1812,31 @@ export declare const approvedEventEditSchema: z.ZodObject<{
|
|
|
1796
1812
|
}, {
|
|
1797
1813
|
minPerOrder: number;
|
|
1798
1814
|
maxPerOrder: number;
|
|
1799
|
-
}
|
|
1815
|
+
}>>, {
|
|
1816
|
+
minPerOrder: number;
|
|
1817
|
+
maxPerOrder: number;
|
|
1818
|
+
} | undefined, {
|
|
1819
|
+
minPerOrder: number;
|
|
1820
|
+
maxPerOrder: number;
|
|
1821
|
+
} | undefined>;
|
|
1800
1822
|
}, "strip", z.ZodTypeAny, {
|
|
1801
1823
|
name: string;
|
|
1802
|
-
price:
|
|
1824
|
+
price: {
|
|
1825
|
+
amount: number;
|
|
1826
|
+
currency: string;
|
|
1827
|
+
};
|
|
1803
1828
|
quantity: number;
|
|
1804
1829
|
wristbandColor: string;
|
|
1830
|
+
accentColor: string;
|
|
1831
|
+
isDark: boolean;
|
|
1832
|
+
glassMode: boolean;
|
|
1833
|
+
cornerRadius: number;
|
|
1834
|
+
perforationStyle: "solid" | "dashed" | "dotted";
|
|
1805
1835
|
isVisible: boolean;
|
|
1806
1836
|
isActive: boolean;
|
|
1837
|
+
tier: string;
|
|
1807
1838
|
_id?: string | undefined;
|
|
1839
|
+
description?: string | undefined;
|
|
1808
1840
|
limits?: {
|
|
1809
1841
|
minPerOrder: number;
|
|
1810
1842
|
maxPerOrder: number;
|
|
@@ -1812,17 +1844,27 @@ export declare const approvedEventEditSchema: z.ZodObject<{
|
|
|
1812
1844
|
benefits?: string[] | undefined;
|
|
1813
1845
|
}, {
|
|
1814
1846
|
name: string;
|
|
1815
|
-
price:
|
|
1847
|
+
price: {
|
|
1848
|
+
amount: number;
|
|
1849
|
+
currency?: string | undefined;
|
|
1850
|
+
};
|
|
1816
1851
|
quantity: number;
|
|
1817
1852
|
_id?: string | undefined;
|
|
1853
|
+
description?: string | undefined;
|
|
1818
1854
|
limits?: {
|
|
1819
1855
|
minPerOrder: number;
|
|
1820
1856
|
maxPerOrder: number;
|
|
1821
1857
|
} | undefined;
|
|
1822
1858
|
wristbandColor?: string | undefined;
|
|
1859
|
+
accentColor?: string | undefined;
|
|
1860
|
+
isDark?: boolean | undefined;
|
|
1861
|
+
glassMode?: boolean | undefined;
|
|
1862
|
+
cornerRadius?: number | undefined;
|
|
1863
|
+
perforationStyle?: "solid" | "dashed" | "dotted" | undefined;
|
|
1823
1864
|
isVisible?: boolean | undefined;
|
|
1824
1865
|
isActive?: boolean | undefined;
|
|
1825
1866
|
benefits?: string[] | undefined;
|
|
1867
|
+
tier?: string | undefined;
|
|
1826
1868
|
}>, "many">>;
|
|
1827
1869
|
schedule: z.ZodEffects<z.ZodOptional<z.ZodObject<{
|
|
1828
1870
|
startDate: z.ZodDate;
|
|
@@ -1864,12 +1906,22 @@ export declare const approvedEventEditSchema: z.ZodObject<{
|
|
|
1864
1906
|
} | undefined;
|
|
1865
1907
|
tickets?: {
|
|
1866
1908
|
name: string;
|
|
1867
|
-
price:
|
|
1909
|
+
price: {
|
|
1910
|
+
amount: number;
|
|
1911
|
+
currency: string;
|
|
1912
|
+
};
|
|
1868
1913
|
quantity: number;
|
|
1869
1914
|
wristbandColor: string;
|
|
1915
|
+
accentColor: string;
|
|
1916
|
+
isDark: boolean;
|
|
1917
|
+
glassMode: boolean;
|
|
1918
|
+
cornerRadius: number;
|
|
1919
|
+
perforationStyle: "solid" | "dashed" | "dotted";
|
|
1870
1920
|
isVisible: boolean;
|
|
1871
1921
|
isActive: boolean;
|
|
1922
|
+
tier: string;
|
|
1872
1923
|
_id?: string | undefined;
|
|
1924
|
+
description?: string | undefined;
|
|
1873
1925
|
limits?: {
|
|
1874
1926
|
minPerOrder: number;
|
|
1875
1927
|
maxPerOrder: number;
|
|
@@ -1901,17 +1953,27 @@ export declare const approvedEventEditSchema: z.ZodObject<{
|
|
|
1901
1953
|
} | undefined;
|
|
1902
1954
|
tickets?: {
|
|
1903
1955
|
name: string;
|
|
1904
|
-
price:
|
|
1956
|
+
price: {
|
|
1957
|
+
amount: number;
|
|
1958
|
+
currency?: string | undefined;
|
|
1959
|
+
};
|
|
1905
1960
|
quantity: number;
|
|
1906
1961
|
_id?: string | undefined;
|
|
1962
|
+
description?: string | undefined;
|
|
1907
1963
|
limits?: {
|
|
1908
1964
|
minPerOrder: number;
|
|
1909
1965
|
maxPerOrder: number;
|
|
1910
1966
|
} | undefined;
|
|
1911
1967
|
wristbandColor?: string | undefined;
|
|
1968
|
+
accentColor?: string | undefined;
|
|
1969
|
+
isDark?: boolean | undefined;
|
|
1970
|
+
glassMode?: boolean | undefined;
|
|
1971
|
+
cornerRadius?: number | undefined;
|
|
1972
|
+
perforationStyle?: "solid" | "dashed" | "dotted" | undefined;
|
|
1912
1973
|
isVisible?: boolean | undefined;
|
|
1913
1974
|
isActive?: boolean | undefined;
|
|
1914
1975
|
benefits?: string[] | undefined;
|
|
1976
|
+
tier?: string | undefined;
|
|
1915
1977
|
}[] | undefined;
|
|
1916
1978
|
languages?: string[] | undefined;
|
|
1917
1979
|
}>;
|
|
@@ -120,31 +120,48 @@ exports.approvedEventEditSchema = zod_1.z.object({
|
|
|
120
120
|
media: media_schema_1.mediaSchema.optional(),
|
|
121
121
|
// Tickets (full control, no sales yet)
|
|
122
122
|
tickets: zod_1.z.array(zod_1.z.object({
|
|
123
|
-
_id: zod_1.z.string().optional(), // Undefined = new tier
|
|
124
|
-
name: zod_1.z.string({ required_error: 'Ticket name is required' }),
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
123
|
+
_id: zod_1.z.string().regex(/^[0-9a-fA-F]{24}$/, 'Invalid ticket ID').optional(), // Undefined = new tier
|
|
124
|
+
name: zod_1.z.string({ required_error: 'Ticket name is required' }).min(1).max(100),
|
|
125
|
+
description: zod_1.z.string().max(500).optional(),
|
|
126
|
+
price: zod_1.z.object({
|
|
127
|
+
amount: zod_1.z.number({ required_error: 'Ticket price amount is required' }).min(0, 'Price cannot be negative').max(1000000, 'Price exceeds maximum'),
|
|
128
|
+
currency: zod_1.z.string().default('BDT')
|
|
129
|
+
}),
|
|
130
|
+
quantity: zod_1.z.number({ required_error: 'Ticket quantity is required' }).int('Quantity must be an integer').min(1, 'Ticket quantity must be at least 1').max(100000, 'Quantity exceeds maximum'),
|
|
131
|
+
tier: zod_1.z.string().min(1).max(50).default('regular'),
|
|
132
|
+
benefits: zod_1.z.array(zod_1.z.string().max(200)).max(20).optional(),
|
|
133
|
+
wristbandColor: zod_1.z.string().regex(/^#[0-9A-Fa-f]{6}$/, 'Invalid color format').default('#4f46e5'),
|
|
134
|
+
accentColor: zod_1.z.string().regex(/^#[0-9A-Fa-f]{6}$/, 'Invalid color format').default('#4f46e5'),
|
|
135
|
+
isDark: zod_1.z.boolean().default(false),
|
|
136
|
+
glassMode: zod_1.z.boolean().default(false),
|
|
137
|
+
cornerRadius: zod_1.z.number().min(0).max(50).default(32),
|
|
138
|
+
perforationStyle: zod_1.z.enum(['solid', 'dashed', 'dotted']).default('solid'),
|
|
129
139
|
isVisible: zod_1.z.boolean().default(true),
|
|
130
140
|
isActive: zod_1.z.boolean().default(true),
|
|
131
141
|
limits: zod_1.z.object({
|
|
132
|
-
minPerOrder: zod_1.z.number({ required_error: 'Min per order is required' }).min(1, 'Min per order must be at least 1'),
|
|
133
|
-
maxPerOrder: zod_1.z.number({ required_error: 'Max per order is required' }).min(1, 'Max per order must be at least 1')
|
|
134
|
-
}).optional()
|
|
142
|
+
minPerOrder: zod_1.z.number({ required_error: 'Min per order is required' }).int().min(1, 'Min per order must be at least 1').max(100),
|
|
143
|
+
maxPerOrder: zod_1.z.number({ required_error: 'Max per order is required' }).int().min(1, 'Max per order must be at least 1').max(100)
|
|
144
|
+
}).optional().refine((data) => {
|
|
145
|
+
if (!data)
|
|
146
|
+
return true;
|
|
147
|
+
return data.maxPerOrder >= data.minPerOrder;
|
|
148
|
+
}, {
|
|
149
|
+
message: 'Max per order must be greater than or equal to min per order',
|
|
150
|
+
path: ['maxPerOrder']
|
|
151
|
+
})
|
|
135
152
|
})).optional(),
|
|
136
153
|
// Minor date adjustments (±2 hours)
|
|
137
154
|
schedule: zod_1.z.object({
|
|
138
|
-
startDate: zod_1.z.date(),
|
|
139
|
-
endDate: zod_1.z.date()
|
|
140
|
-
}).optional().refine(data => {
|
|
141
|
-
if (!data
|
|
142
|
-
return
|
|
143
|
-
|
|
144
|
-
return
|
|
155
|
+
startDate: zod_1.z.coerce.date({ required_error: 'Start date is required' }),
|
|
156
|
+
endDate: zod_1.z.coerce.date({ required_error: 'End date is required' })
|
|
157
|
+
}).optional().refine((data) => {
|
|
158
|
+
if (!data)
|
|
159
|
+
return true;
|
|
160
|
+
// Ensure end date is after start date
|
|
161
|
+
return data.endDate > data.startDate;
|
|
145
162
|
}, {
|
|
146
|
-
message: '
|
|
147
|
-
path: ['
|
|
163
|
+
message: 'End date must be after start date',
|
|
164
|
+
path: ['endDate']
|
|
148
165
|
})
|
|
149
166
|
});
|
|
150
167
|
// Published
|
package/package.json
CHANGED
|
@@ -134,31 +134,47 @@ export const approvedEventEditSchema = z.object({
|
|
|
134
134
|
|
|
135
135
|
// Tickets (full control, no sales yet)
|
|
136
136
|
tickets: z.array(z.object({
|
|
137
|
-
_id: z.string().optional(), // Undefined = new tier
|
|
138
|
-
name: z.string({ required_error: 'Ticket name is required' }),
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
137
|
+
_id: z.string().regex(/^[0-9a-fA-F]{24}$/, 'Invalid ticket ID').optional(), // Undefined = new tier
|
|
138
|
+
name: z.string({ required_error: 'Ticket name is required' }).min(1).max(100),
|
|
139
|
+
description: z.string().max(500).optional(),
|
|
140
|
+
price: z.object({
|
|
141
|
+
amount: z.number({ required_error: 'Ticket price amount is required' }).min(0, 'Price cannot be negative').max(1000000, 'Price exceeds maximum'),
|
|
142
|
+
currency: z.string().default('BDT')
|
|
143
|
+
}),
|
|
144
|
+
quantity: z.number({ required_error: 'Ticket quantity is required' }).int('Quantity must be an integer').min(1, 'Ticket quantity must be at least 1').max(100000, 'Quantity exceeds maximum'),
|
|
145
|
+
tier: z.string().min(1).max(50).default('regular'),
|
|
146
|
+
benefits: z.array(z.string().max(200)).max(20).optional(),
|
|
147
|
+
wristbandColor: z.string().regex(/^#[0-9A-Fa-f]{6}$/, 'Invalid color format').default('#4f46e5'),
|
|
148
|
+
accentColor: z.string().regex(/^#[0-9A-Fa-f]{6}$/, 'Invalid color format').default('#4f46e5'),
|
|
149
|
+
isDark: z.boolean().default(false),
|
|
150
|
+
glassMode: z.boolean().default(false),
|
|
151
|
+
cornerRadius: z.number().min(0).max(50).default(32),
|
|
152
|
+
perforationStyle: z.enum(['solid', 'dashed', 'dotted']).default('solid'),
|
|
143
153
|
isVisible: z.boolean().default(true),
|
|
144
154
|
isActive: z.boolean().default(true),
|
|
145
155
|
limits: z.object({
|
|
146
|
-
minPerOrder: z.number({ required_error: 'Min per order is required' }).min(1, 'Min per order must be at least 1'),
|
|
147
|
-
maxPerOrder: z.number({ required_error: 'Max per order is required' }).min(1, 'Max per order must be at least 1')
|
|
148
|
-
}).optional()
|
|
156
|
+
minPerOrder: z.number({ required_error: 'Min per order is required' }).int().min(1, 'Min per order must be at least 1').max(100),
|
|
157
|
+
maxPerOrder: z.number({ required_error: 'Max per order is required' }).int().min(1, 'Max per order must be at least 1').max(100)
|
|
158
|
+
}).optional().refine((data) => {
|
|
159
|
+
if (!data) return true;
|
|
160
|
+
return data.maxPerOrder >= data.minPerOrder;
|
|
161
|
+
}, {
|
|
162
|
+
message: 'Max per order must be greater than or equal to min per order',
|
|
163
|
+
path: ['maxPerOrder']
|
|
164
|
+
})
|
|
149
165
|
})).optional(),
|
|
150
166
|
|
|
151
167
|
// Minor date adjustments (±2 hours)
|
|
152
168
|
schedule: z.object({
|
|
153
|
-
startDate: z.date(),
|
|
154
|
-
endDate: z.date()
|
|
155
|
-
}).optional().refine(data => {
|
|
156
|
-
if (!data
|
|
157
|
-
|
|
158
|
-
return
|
|
169
|
+
startDate: z.coerce.date({ required_error: 'Start date is required' }),
|
|
170
|
+
endDate: z.coerce.date({ required_error: 'End date is required' })
|
|
171
|
+
}).optional().refine((data) => {
|
|
172
|
+
if (!data) return true;
|
|
173
|
+
// Ensure end date is after start date
|
|
174
|
+
return data.endDate > data.startDate;
|
|
159
175
|
}, {
|
|
160
|
-
message: '
|
|
161
|
-
path: ['
|
|
176
|
+
message: 'End date must be after start date',
|
|
177
|
+
path: ['endDate']
|
|
162
178
|
})
|
|
163
179
|
});
|
|
164
180
|
|