@getmicdrop/svelte-components 5.17.1 → 5.17.4
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/calendar/Calendar/MiniMonthCalendar.svelte +5 -7
- package/dist/calendar/Calendar/MiniMonthCalendar.svelte.d.ts.map +1 -1
- package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte +2 -3
- package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte.d.ts.map +1 -1
- package/dist/calendar/PublicCard/PublicCard.svelte +23 -14
- package/dist/calendar/PublicCard/PublicCard.svelte.d.ts.map +1 -1
- package/dist/calendar/ShowCard/ShowCard.spec.js +1 -7
- package/dist/calendar/ShowCard/ShowCard.svelte +10 -1
- package/dist/calendar/ShowCard/ShowCard.svelte.d.ts.map +1 -1
- package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte +11 -0
- package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte.d.ts +2 -0
- package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte.d.ts.map +1 -1
- package/dist/components/Heading.spec.d.ts +2 -0
- package/dist/components/Heading.spec.d.ts.map +1 -0
- package/dist/components/Heading.spec.js +89 -0
- package/dist/components/Layout/__tests__/AppShell.test.js +140 -0
- package/dist/components/Text.spec.d.ts +2 -0
- package/dist/components/Text.spec.d.ts.map +1 -0
- package/dist/components/Text.spec.js +89 -0
- package/dist/config.d.ts +102 -0
- package/dist/config.js +147 -1
- package/dist/datetime/README.md +323 -0
- package/dist/forms/createFormStore.svelte.spec.d.ts +2 -0
- package/dist/forms/createFormStore.svelte.spec.d.ts.map +1 -0
- package/dist/forms/createFormStore.svelte.spec.js +387 -0
- package/dist/messages.d.ts +43 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +57 -0
- package/dist/patterns/chat/ChatActivityNotice.spec.d.ts +2 -0
- package/dist/patterns/chat/ChatActivityNotice.spec.d.ts.map +1 -0
- package/dist/patterns/chat/ChatActivityNotice.spec.js +59 -0
- package/dist/patterns/chat/ChatBubble.spec.d.ts +2 -0
- package/dist/patterns/chat/ChatBubble.spec.d.ts.map +1 -0
- package/dist/patterns/chat/ChatBubble.spec.js +91 -0
- package/dist/patterns/chat/ChatContainer.spec.d.ts +2 -0
- package/dist/patterns/chat/ChatContainer.spec.d.ts.map +1 -0
- package/dist/patterns/chat/ChatContainer.spec.js +30 -0
- package/dist/patterns/chat/ChatDateDivider.spec.d.ts +2 -0
- package/dist/patterns/chat/ChatDateDivider.spec.d.ts.map +1 -0
- package/dist/patterns/chat/ChatDateDivider.spec.js +30 -0
- package/dist/patterns/chat/ChatInvitationBubble.spec.d.ts +2 -0
- package/dist/patterns/chat/ChatInvitationBubble.spec.d.ts.map +1 -0
- package/dist/patterns/chat/ChatInvitationBubble.spec.js +46 -0
- package/dist/patterns/chat/ChatInvitationNotice.spec.d.ts +2 -0
- package/dist/patterns/chat/ChatInvitationNotice.spec.d.ts.map +1 -0
- package/dist/patterns/chat/ChatInvitationNotice.spec.js +32 -0
- package/dist/patterns/chat/ChatMessageGroup.spec.d.ts +2 -0
- package/dist/patterns/chat/ChatMessageGroup.spec.d.ts.map +1 -0
- package/dist/patterns/chat/ChatMessageGroup.spec.js +58 -0
- package/dist/patterns/chat/ChatSlotUpdate.spec.d.ts +2 -0
- package/dist/patterns/chat/ChatSlotUpdate.spec.d.ts.map +1 -0
- package/dist/patterns/chat/ChatSlotUpdate.spec.js +65 -0
- package/dist/patterns/chat/ChatStatusBadge.spec.d.ts +2 -0
- package/dist/patterns/chat/ChatStatusBadge.spec.d.ts.map +1 -0
- package/dist/patterns/chat/ChatStatusBadge.spec.js +79 -0
- package/dist/patterns/chat/ChatStatusTransition.spec.d.ts +2 -0
- package/dist/patterns/chat/ChatStatusTransition.spec.d.ts.map +1 -0
- package/dist/patterns/chat/ChatStatusTransition.spec.js +81 -0
- package/dist/patterns/chat/ChatTextBubble.spec.d.ts +2 -0
- package/dist/patterns/chat/ChatTextBubble.spec.d.ts.map +1 -0
- package/dist/patterns/chat/ChatTextBubble.spec.js +35 -0
- package/dist/patterns/data/DataTable.spec.js +61 -0
- package/dist/patterns/forms/FormGrid.spec.js +34 -0
- package/dist/patterns/layout/Sidebar.spec.js +240 -1
- package/dist/patterns/layout/SidebarTestWrapper.svelte +34 -0
- package/dist/patterns/layout/SidebarTestWrapper.svelte.d.ts +23 -0
- package/dist/patterns/layout/SidebarTestWrapper.svelte.d.ts.map +1 -0
- package/dist/patterns/navigation/Header.spec.js +123 -0
- package/dist/primitives/Accordion/Accordion.spec.js +112 -2
- package/dist/primitives/Accordion/AccordionToggleWrapper.test.svelte +28 -0
- package/dist/primitives/Accordion/AccordionToggleWrapper.test.svelte.d.ts +7 -0
- package/dist/primitives/Accordion/AccordionToggleWrapper.test.svelte.d.ts.map +1 -0
- package/dist/primitives/Avatar/Avatar.spec.js +23 -0
- package/dist/primitives/BottomSheet/BottomSheet.spec.js +102 -0
- package/dist/primitives/BottomSheet/BottomSheetWithActions.test.svelte +20 -0
- package/dist/primitives/BottomSheet/BottomSheetWithActions.test.svelte.d.ts +10 -0
- package/dist/primitives/BottomSheet/BottomSheetWithActions.test.svelte.d.ts.map +1 -0
- package/dist/primitives/Button/ButtonGroup.spec.d.ts +2 -0
- package/dist/primitives/Button/ButtonGroup.spec.d.ts.map +1 -0
- package/dist/primitives/Button/ButtonGroup.spec.js +44 -0
- package/dist/primitives/Checkbox/Checkbox.spec.js +32 -0
- package/dist/primitives/Drawer/Drawer.spec.js +437 -0
- package/dist/primitives/Drawer/DrawerTestWrapper.svelte +86 -0
- package/dist/primitives/Drawer/DrawerTestWrapper.svelte.d.ts +26 -0
- package/dist/primitives/Drawer/DrawerTestWrapper.svelte.d.ts.map +1 -0
- package/dist/primitives/Dropdown/Dropdown.spec.js +116 -0
- package/dist/primitives/Dropdown/DropdownDivider.spec.d.ts +2 -0
- package/dist/primitives/Dropdown/DropdownDivider.spec.d.ts.map +1 -0
- package/dist/primitives/Dropdown/DropdownDivider.spec.js +30 -0
- package/dist/primitives/Dropdown/DropdownItem.spec.js +155 -1
- package/dist/primitives/Dropdown/DropdownItemTestWrapper.svelte +43 -0
- package/dist/primitives/Dropdown/DropdownItemTestWrapper.svelte.d.ts +17 -0
- package/dist/primitives/Dropdown/DropdownItemTestWrapper.svelte.d.ts.map +1 -0
- package/dist/primitives/Helper/Helper.spec.d.ts +2 -0
- package/dist/primitives/Helper/Helper.spec.d.ts.map +1 -0
- package/dist/primitives/Helper/Helper.spec.js +57 -0
- package/dist/primitives/Input/Input.spec.js +664 -0
- package/dist/primitives/Input/Input.svelte +18 -10
- package/dist/primitives/Input/Input.svelte.d.ts.map +1 -1
- package/dist/primitives/Input/Select.spec.js +414 -0
- package/dist/primitives/Label/Label.spec.js +9 -0
- package/dist/primitives/LandingButton/LandingButton.spec.d.ts +2 -0
- package/dist/primitives/LandingButton/LandingButton.spec.d.ts.map +1 -0
- package/dist/primitives/LandingButton/LandingButton.spec.js +61 -0
- package/dist/primitives/MenuItem/MenuItem.spec.d.ts +2 -0
- package/dist/primitives/MenuItem/MenuItem.spec.d.ts.map +1 -0
- package/dist/primitives/MenuItem/MenuItem.spec.js +130 -0
- package/dist/primitives/Modal/Modal.spec.js +215 -0
- package/dist/primitives/NavItem/NavItem.spec.d.ts +2 -0
- package/dist/primitives/NavItem/NavItem.spec.d.ts.map +1 -0
- package/dist/primitives/NavItem/NavItem.spec.js +97 -0
- package/dist/primitives/SearchResultItem/SearchResultItem.spec.d.ts +2 -0
- package/dist/primitives/SearchResultItem/SearchResultItem.spec.d.ts.map +1 -0
- package/dist/primitives/SearchResultItem/SearchResultItem.spec.js +78 -0
- package/dist/primitives/SidebarToggle/SidebarToggle.spec.d.ts +2 -0
- package/dist/primitives/SidebarToggle/SidebarToggle.spec.d.ts.map +1 -0
- package/dist/primitives/SidebarToggle/SidebarToggle.spec.js +61 -0
- package/dist/primitives/Spinner/Spinner.spec.js +13 -0
- package/dist/primitives/Toggle.spec.js +75 -0
- package/dist/primitives/ToggleTestWrapper.svelte +30 -0
- package/dist/primitives/ToggleTestWrapper.svelte.d.ts +29 -0
- package/dist/primitives/ToggleTestWrapper.svelte.d.ts.map +1 -0
- package/dist/primitives/Tooltip/Tooltip.spec.d.ts +2 -0
- package/dist/primitives/Tooltip/Tooltip.spec.d.ts.map +1 -0
- package/dist/primitives/Tooltip/Tooltip.spec.js +126 -0
- package/dist/recipes/inputs/Search.spec.js +66 -2
- package/dist/recipes/modals/ConfirmationModal.spec.js +190 -0
- package/dist/schemas/__tests__/auth.test.d.ts +2 -0
- package/dist/schemas/__tests__/auth.test.d.ts.map +1 -0
- package/dist/schemas/__tests__/auth.test.js +210 -0
- package/dist/schemas/__tests__/common.test.d.ts +2 -0
- package/dist/schemas/__tests__/common.test.d.ts.map +1 -0
- package/dist/schemas/__tests__/common.test.js +340 -0
- package/dist/schemas/__tests__/domain.test.d.ts +2 -0
- package/dist/schemas/__tests__/domain.test.d.ts.map +1 -0
- package/dist/schemas/__tests__/domain.test.js +293 -0
- package/dist/schemas/__tests__/order.test.d.ts +2 -0
- package/dist/schemas/__tests__/order.test.d.ts.map +1 -0
- package/dist/schemas/__tests__/order.test.js +349 -0
- package/dist/schemas/__tests__/user.test.d.ts +2 -0
- package/dist/schemas/__tests__/user.test.d.ts.map +1 -0
- package/dist/schemas/__tests__/user.test.js +325 -0
- package/dist/schemas/auth.d.ts +41 -0
- package/dist/schemas/auth.d.ts.map +1 -0
- package/dist/schemas/auth.js +69 -0
- package/dist/schemas/common.d.ts +43 -0
- package/dist/schemas/common.d.ts.map +1 -0
- package/dist/schemas/common.js +157 -0
- package/dist/schemas/event.d.ts +82 -0
- package/dist/schemas/event.d.ts.map +1 -0
- package/dist/schemas/event.js +58 -0
- package/dist/schemas/index.d.ts +10 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +9 -0
- package/dist/schemas/order.d.ts +111 -0
- package/dist/schemas/order.d.ts.map +1 -0
- package/dist/schemas/order.js +73 -0
- package/dist/schemas/performer.d.ts +133 -0
- package/dist/schemas/performer.d.ts.map +1 -0
- package/dist/schemas/performer.js +73 -0
- package/dist/schemas/promo.d.ts +87 -0
- package/dist/schemas/promo.d.ts.map +1 -0
- package/dist/schemas/promo.js +98 -0
- package/dist/schemas/ticket.d.ts +104 -0
- package/dist/schemas/ticket.d.ts.map +1 -0
- package/dist/schemas/ticket.js +82 -0
- package/dist/schemas/user.d.ts +92 -0
- package/dist/schemas/user.d.ts.map +1 -0
- package/dist/schemas/user.js +53 -0
- package/dist/schemas/venue.d.ts +95 -0
- package/dist/schemas/venue.d.ts.map +1 -0
- package/dist/schemas/venue.js +52 -0
- package/dist/stores/auth.svelte.spec.d.ts +2 -0
- package/dist/stores/auth.svelte.spec.d.ts.map +1 -0
- package/dist/stores/auth.svelte.spec.js +112 -0
- package/dist/stores/formDataStore.svelte.spec.d.ts +2 -0
- package/dist/stores/formDataStore.svelte.spec.d.ts.map +1 -0
- package/dist/stores/formDataStore.svelte.spec.js +150 -0
- package/dist/stores/formSave.svelte.spec.d.ts +2 -0
- package/dist/stores/formSave.svelte.spec.d.ts.map +1 -0
- package/dist/stores/formSave.svelte.spec.js +196 -0
- package/dist/stores/navigation.spec.d.ts +2 -0
- package/dist/stores/navigation.spec.d.ts.map +1 -0
- package/dist/stores/navigation.spec.js +53 -0
- package/dist/telemetry.spec.js +5 -0
- package/dist/tokens/__tests__/sizing.test.js +2 -2
- package/dist/tokens/sizing.d.ts +5 -0
- package/dist/tokens/sizing.d.ts.map +1 -1
- package/dist/tokens/sizing.js +6 -0
- package/dist/utils/haptic.spec.d.ts +2 -0
- package/dist/utils/haptic.spec.d.ts.map +1 -0
- package/dist/utils/haptic.spec.js +153 -0
- package/dist/utils/imageOptimizer.spec.d.ts +2 -0
- package/dist/utils/imageOptimizer.spec.d.ts.map +1 -0
- package/dist/utils/imageOptimizer.spec.js +201 -0
- package/dist/utils/logger.spec.d.ts +2 -0
- package/dist/utils/logger.spec.d.ts.map +1 -0
- package/dist/utils/logger.spec.js +95 -0
- package/package.json +1 -2
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const promoCodeTypeSchema: z.ZodEnum<{
|
|
3
|
+
dollar: "dollar";
|
|
4
|
+
percent: "percent";
|
|
5
|
+
}>;
|
|
6
|
+
export type PromoCodeType = z.infer<typeof promoCodeTypeSchema>;
|
|
7
|
+
export declare const promoCodeLimitTypeSchema: z.ZodEnum<{
|
|
8
|
+
unlimited: "unlimited";
|
|
9
|
+
limited: "limited";
|
|
10
|
+
}>;
|
|
11
|
+
export type PromoCodeLimitType = z.infer<typeof promoCodeLimitTypeSchema>;
|
|
12
|
+
export declare const promoCodeNameSchema: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
|
|
13
|
+
export declare const promoCodeSchema: z.ZodObject<{
|
|
14
|
+
code: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
|
|
15
|
+
discountType: z.ZodEnum<{
|
|
16
|
+
dollar: "dollar";
|
|
17
|
+
percent: "percent";
|
|
18
|
+
}>;
|
|
19
|
+
dollarAmount: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodNumber, z.ZodTransform<number, number>>>>;
|
|
20
|
+
percentAmount: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
21
|
+
limitType: z.ZodDefault<z.ZodEnum<{
|
|
22
|
+
unlimited: "unlimited";
|
|
23
|
+
limited: "limited";
|
|
24
|
+
}>>;
|
|
25
|
+
usageLimit: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
26
|
+
startDate: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate, z.ZodNull]>>, z.ZodTransform<Date | null, string | Date | null | undefined>>;
|
|
27
|
+
endDate: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate, z.ZodNull]>>, z.ZodTransform<Date | null, string | Date | null | undefined>>;
|
|
28
|
+
revealHiddenTickets: z.ZodDefault<z.ZodBoolean>;
|
|
29
|
+
ticketTypeIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
30
|
+
isActive: z.ZodDefault<z.ZodBoolean>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export type PromoCodeInput = z.infer<typeof promoCodeSchema>;
|
|
33
|
+
export declare const promoCodeUpdateSchema: z.ZodObject<{
|
|
34
|
+
discountType: z.ZodOptional<z.ZodEnum<{
|
|
35
|
+
dollar: "dollar";
|
|
36
|
+
percent: "percent";
|
|
37
|
+
}>>;
|
|
38
|
+
dollarAmount: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodNumber, z.ZodTransform<number, number>>>>>;
|
|
39
|
+
percentAmount: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
|
|
40
|
+
limitType: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
41
|
+
unlimited: "unlimited";
|
|
42
|
+
limited: "limited";
|
|
43
|
+
}>>>;
|
|
44
|
+
usageLimit: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
|
|
45
|
+
startDate: z.ZodOptional<z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate, z.ZodNull]>>, z.ZodTransform<Date | null, string | Date | null | undefined>>>;
|
|
46
|
+
endDate: z.ZodOptional<z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate, z.ZodNull]>>, z.ZodTransform<Date | null, string | Date | null | undefined>>>;
|
|
47
|
+
revealHiddenTickets: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
48
|
+
ticketTypeIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodNumber>>>;
|
|
49
|
+
isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
50
|
+
code: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
export type PromoCodeUpdateInput = z.infer<typeof promoCodeUpdateSchema>;
|
|
53
|
+
export declare const globalPromoCodeSchema: z.ZodObject<{
|
|
54
|
+
code: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
|
|
55
|
+
discountType: z.ZodEnum<{
|
|
56
|
+
dollar: "dollar";
|
|
57
|
+
percent: "percent";
|
|
58
|
+
}>;
|
|
59
|
+
dollarAmount: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodNumber, z.ZodTransform<number, number>>>>;
|
|
60
|
+
percentAmount: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
61
|
+
limitType: z.ZodDefault<z.ZodEnum<{
|
|
62
|
+
unlimited: "unlimited";
|
|
63
|
+
limited: "limited";
|
|
64
|
+
}>>;
|
|
65
|
+
usageLimit: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
|
|
66
|
+
startDate: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate, z.ZodNull]>>, z.ZodTransform<Date | null, string | Date | null | undefined>>;
|
|
67
|
+
endDate: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate, z.ZodNull]>>, z.ZodTransform<Date | null, string | Date | null | undefined>>;
|
|
68
|
+
revealHiddenTickets: z.ZodDefault<z.ZodBoolean>;
|
|
69
|
+
ticketTypeIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
70
|
+
isActive: z.ZodDefault<z.ZodBoolean>;
|
|
71
|
+
venueId: z.ZodNumber;
|
|
72
|
+
}, z.core.$strip>;
|
|
73
|
+
export type GlobalPromoCodeInput = z.infer<typeof globalPromoCodeSchema>;
|
|
74
|
+
export declare const promoCodeApplySchema: z.ZodObject<{
|
|
75
|
+
code: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
76
|
+
eventId: z.ZodNumber;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
export type PromoCodeApplyInput = z.infer<typeof promoCodeApplySchema>;
|
|
79
|
+
export declare const promoCodeFilterSchema: z.ZodObject<{
|
|
80
|
+
search: z.ZodOptional<z.ZodString>;
|
|
81
|
+
isActive: z.ZodOptional<z.ZodBoolean>;
|
|
82
|
+
eventId: z.ZodOptional<z.ZodNumber>;
|
|
83
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
84
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
85
|
+
}, z.core.$strip>;
|
|
86
|
+
export type PromoCodeFilter = z.infer<typeof promoCodeFilterSchema>;
|
|
87
|
+
//# sourceMappingURL=promo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promo.d.ts","sourceRoot":"","sources":["../../src/lib/schemas/promo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,mBAAmB;;;EAAgC,CAAC;AACjE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,wBAAwB;;;EAAmC,CAAC;AACzE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,mBAAmB,gFAkB7B,CAAC;AAgBJ,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;iBAqEzB,CAAC;AAEJ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBAEhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;iBAEhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,eAAO,MAAM,oBAAoB;;;iBAM/B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PROMO_CODE } from '../config';
|
|
3
|
+
import { VALIDATION_MESSAGES } from '../messages';
|
|
4
|
+
import { optionalDateSchema, percentageSchema, positiveIntSchema, priceSchema, } from './common';
|
|
5
|
+
export const promoCodeTypeSchema = z.enum(['dollar', 'percent']);
|
|
6
|
+
export const promoCodeLimitTypeSchema = z.enum(['unlimited', 'limited']);
|
|
7
|
+
export const promoCodeNameSchema = z
|
|
8
|
+
.string()
|
|
9
|
+
.transform(v => v.toUpperCase().trim())
|
|
10
|
+
.pipe(z
|
|
11
|
+
.string()
|
|
12
|
+
.min(PROMO_CODE.MIN_CODE_LENGTH, VALIDATION_MESSAGES.tooShort('Promo code', PROMO_CODE.MIN_CODE_LENGTH))
|
|
13
|
+
.max(PROMO_CODE.MAX_CODE_LENGTH, VALIDATION_MESSAGES.tooLong('Promo code', PROMO_CODE.MAX_CODE_LENGTH))
|
|
14
|
+
.regex(/^[A-Z0-9_]+$/, 'Promo code must contain only uppercase letters, numbers, and underscores'));
|
|
15
|
+
const promoCodeBaseSchema = z.object({
|
|
16
|
+
code: promoCodeNameSchema,
|
|
17
|
+
discountType: promoCodeTypeSchema,
|
|
18
|
+
dollarAmount: priceSchema.optional().nullable(),
|
|
19
|
+
percentAmount: percentageSchema.optional().nullable(),
|
|
20
|
+
limitType: promoCodeLimitTypeSchema.default('unlimited'),
|
|
21
|
+
usageLimit: positiveIntSchema.optional().nullable(),
|
|
22
|
+
startDate: optionalDateSchema,
|
|
23
|
+
endDate: optionalDateSchema,
|
|
24
|
+
revealHiddenTickets: z.boolean().default(false),
|
|
25
|
+
ticketTypeIds: z.array(z.number().int().positive()).optional(),
|
|
26
|
+
isActive: z.boolean().default(true),
|
|
27
|
+
});
|
|
28
|
+
export const promoCodeSchema = promoCodeBaseSchema
|
|
29
|
+
.refine(data => {
|
|
30
|
+
if (data.revealHiddenTickets)
|
|
31
|
+
return true;
|
|
32
|
+
if (data.discountType === 'dollar') {
|
|
33
|
+
return (data.dollarAmount !== null &&
|
|
34
|
+
data.dollarAmount !== undefined &&
|
|
35
|
+
data.dollarAmount > 0);
|
|
36
|
+
}
|
|
37
|
+
if (data.discountType === 'percent') {
|
|
38
|
+
return (data.percentAmount !== null &&
|
|
39
|
+
data.percentAmount !== undefined &&
|
|
40
|
+
data.percentAmount > 0);
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}, {
|
|
44
|
+
message: VALIDATION_MESSAGES.DISCOUNT_REQUIRED,
|
|
45
|
+
path: ['dollarAmount'],
|
|
46
|
+
})
|
|
47
|
+
.refine(data => {
|
|
48
|
+
const hasDollar = data.dollarAmount !== null &&
|
|
49
|
+
data.dollarAmount !== undefined &&
|
|
50
|
+
data.dollarAmount > 0;
|
|
51
|
+
const hasPercent = data.percentAmount !== null &&
|
|
52
|
+
data.percentAmount !== undefined &&
|
|
53
|
+
data.percentAmount > 0;
|
|
54
|
+
return !(hasDollar && hasPercent);
|
|
55
|
+
}, {
|
|
56
|
+
message: VALIDATION_MESSAGES.INVALID_DISCOUNT_TYPE,
|
|
57
|
+
path: ['discountType'],
|
|
58
|
+
})
|
|
59
|
+
.refine(data => {
|
|
60
|
+
if (data.limitType === 'limited') {
|
|
61
|
+
return (data.usageLimit !== null &&
|
|
62
|
+
data.usageLimit !== undefined &&
|
|
63
|
+
data.usageLimit > 0);
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
}, {
|
|
67
|
+
message: 'Usage limit is required when limit type is limited',
|
|
68
|
+
path: ['usageLimit'],
|
|
69
|
+
})
|
|
70
|
+
.refine(data => {
|
|
71
|
+
if (data.startDate && data.endDate) {
|
|
72
|
+
return data.endDate > data.startDate;
|
|
73
|
+
}
|
|
74
|
+
return true;
|
|
75
|
+
}, {
|
|
76
|
+
message: VALIDATION_MESSAGES.END_DATE_AFTER_START,
|
|
77
|
+
path: ['endDate'],
|
|
78
|
+
});
|
|
79
|
+
export const promoCodeUpdateSchema = promoCodeBaseSchema.partial().extend({
|
|
80
|
+
code: promoCodeNameSchema.optional(),
|
|
81
|
+
});
|
|
82
|
+
export const globalPromoCodeSchema = promoCodeBaseSchema.extend({
|
|
83
|
+
venueId: z.number().int().positive(),
|
|
84
|
+
});
|
|
85
|
+
export const promoCodeApplySchema = z.object({
|
|
86
|
+
code: z
|
|
87
|
+
.string()
|
|
88
|
+
.min(1, VALIDATION_MESSAGES.REQUIRED)
|
|
89
|
+
.transform(v => v.toUpperCase().trim()),
|
|
90
|
+
eventId: z.number().int().positive(),
|
|
91
|
+
});
|
|
92
|
+
export const promoCodeFilterSchema = z.object({
|
|
93
|
+
search: z.string().optional(),
|
|
94
|
+
isActive: z.boolean().optional(),
|
|
95
|
+
eventId: z.number().int().positive().optional(),
|
|
96
|
+
limit: z.number().int().positive().optional(),
|
|
97
|
+
offset: z.number().int().min(0).optional(),
|
|
98
|
+
});
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ticketPriceTypeSchema: z.ZodEnum<{
|
|
3
|
+
free: "free";
|
|
4
|
+
paid: "paid";
|
|
5
|
+
donation: "donation";
|
|
6
|
+
}>;
|
|
7
|
+
export type TicketPriceType = z.infer<typeof ticketPriceTypeSchema>;
|
|
8
|
+
export declare const ticketVisibilitySchema: z.ZodEnum<{
|
|
9
|
+
hidden: "hidden";
|
|
10
|
+
visible: "visible";
|
|
11
|
+
promoOnly: "promoOnly";
|
|
12
|
+
}>;
|
|
13
|
+
export type TicketVisibility = z.infer<typeof ticketVisibilitySchema>;
|
|
14
|
+
export declare const salesChannelSchema: z.ZodEnum<{
|
|
15
|
+
everywhere: "everywhere";
|
|
16
|
+
onlineOnly: "onlineOnly";
|
|
17
|
+
boxOfficeOnly: "boxOfficeOnly";
|
|
18
|
+
}>;
|
|
19
|
+
export type SalesChannel = z.infer<typeof salesChannelSchema>;
|
|
20
|
+
export declare const ticketSectionSchema: z.ZodObject<{
|
|
21
|
+
name: z.ZodString;
|
|
22
|
+
capacity: z.ZodNumber;
|
|
23
|
+
description: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
24
|
+
sortOrder: z.ZodDefault<z.ZodNumber>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
export type TicketSectionInput = z.infer<typeof ticketSectionSchema>;
|
|
27
|
+
export declare const ticketTypeSchema: z.ZodObject<{
|
|
28
|
+
name: z.ZodString;
|
|
29
|
+
description: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
30
|
+
sectionId: z.ZodOptional<z.ZodNumber>;
|
|
31
|
+
ticketType: z.ZodDefault<z.ZodEnum<{
|
|
32
|
+
free: "free";
|
|
33
|
+
paid: "paid";
|
|
34
|
+
donation: "donation";
|
|
35
|
+
}>>;
|
|
36
|
+
price: z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodNumber, z.ZodTransform<number, number>>>>;
|
|
37
|
+
quantity: z.ZodOptional<z.ZodNumber>;
|
|
38
|
+
minimumTickets: z.ZodDefault<z.ZodNumber>;
|
|
39
|
+
maximumTickets: z.ZodDefault<z.ZodNumber>;
|
|
40
|
+
salesStartDateTime: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate, z.ZodNull]>>, z.ZodTransform<Date | null, string | Date | null | undefined>>;
|
|
41
|
+
salesEndDateTime: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate, z.ZodNull]>>, z.ZodTransform<Date | null, string | Date | null | undefined>>;
|
|
42
|
+
visibility: z.ZodDefault<z.ZodEnum<{
|
|
43
|
+
hidden: "hidden";
|
|
44
|
+
visible: "visible";
|
|
45
|
+
promoOnly: "promoOnly";
|
|
46
|
+
}>>;
|
|
47
|
+
salesChannel: z.ZodDefault<z.ZodEnum<{
|
|
48
|
+
everywhere: "everywhere";
|
|
49
|
+
onlineOnly: "onlineOnly";
|
|
50
|
+
boxOfficeOnly: "boxOfficeOnly";
|
|
51
|
+
}>>;
|
|
52
|
+
sortOrder: z.ZodDefault<z.ZodNumber>;
|
|
53
|
+
isActive: z.ZodDefault<z.ZodBoolean>;
|
|
54
|
+
}, z.core.$strip>;
|
|
55
|
+
export type TicketTypeInput = z.infer<typeof ticketTypeSchema>;
|
|
56
|
+
export declare const ticketTypeUpdateSchema: z.ZodObject<{
|
|
57
|
+
name: z.ZodOptional<z.ZodString>;
|
|
58
|
+
description: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
59
|
+
sectionId: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
60
|
+
ticketType: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
61
|
+
free: "free";
|
|
62
|
+
paid: "paid";
|
|
63
|
+
donation: "donation";
|
|
64
|
+
}>>>;
|
|
65
|
+
price: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodPipe<z.ZodNumber, z.ZodTransform<number, number>>>>>;
|
|
66
|
+
quantity: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
67
|
+
minimumTickets: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
68
|
+
maximumTickets: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
69
|
+
salesStartDateTime: z.ZodOptional<z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate, z.ZodNull]>>, z.ZodTransform<Date | null, string | Date | null | undefined>>>;
|
|
70
|
+
salesEndDateTime: z.ZodOptional<z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate, z.ZodNull]>>, z.ZodTransform<Date | null, string | Date | null | undefined>>>;
|
|
71
|
+
visibility: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
72
|
+
hidden: "hidden";
|
|
73
|
+
visible: "visible";
|
|
74
|
+
promoOnly: "promoOnly";
|
|
75
|
+
}>>>;
|
|
76
|
+
salesChannel: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
77
|
+
everywhere: "everywhere";
|
|
78
|
+
onlineOnly: "onlineOnly";
|
|
79
|
+
boxOfficeOnly: "boxOfficeOnly";
|
|
80
|
+
}>>>;
|
|
81
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
82
|
+
isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
83
|
+
}, z.core.$strip>;
|
|
84
|
+
export type TicketTypeUpdateInput = z.infer<typeof ticketTypeUpdateSchema>;
|
|
85
|
+
export declare const cartItemSchema: z.ZodObject<{
|
|
86
|
+
ticketTypeId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
87
|
+
quantity: z.ZodNumber;
|
|
88
|
+
}, z.core.$strip>;
|
|
89
|
+
export type CartItem = z.infer<typeof cartItemSchema>;
|
|
90
|
+
export declare const cartSchema: z.ZodObject<{
|
|
91
|
+
items: z.ZodArray<z.ZodObject<{
|
|
92
|
+
ticketTypeId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
93
|
+
quantity: z.ZodNumber;
|
|
94
|
+
}, z.core.$strip>>;
|
|
95
|
+
promoCode: z.ZodOptional<z.ZodString>;
|
|
96
|
+
}, z.core.$strip>;
|
|
97
|
+
export type CartInput = z.infer<typeof cartSchema>;
|
|
98
|
+
export declare const ticketTransferSchema: z.ZodObject<{
|
|
99
|
+
ticketId: z.ZodString;
|
|
100
|
+
recipientEmail: z.ZodString;
|
|
101
|
+
recipientName: z.ZodString;
|
|
102
|
+
}, z.core.$strip>;
|
|
103
|
+
export type TicketTransferInput = z.infer<typeof ticketTransferSchema>;
|
|
104
|
+
//# sourceMappingURL=ticket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticket.d.ts","sourceRoot":"","sources":["../../src/lib/schemas/ticket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,eAAO,MAAM,qBAAqB;;;;EAAuC,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,sBAAsB;;;;EAIjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,kBAAkB;;;;EAI7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AA4CrE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgB1B,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAiC,CAAC;AACrE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,eAAO,MAAM,cAAc;;;iBAUzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,UAAU;;;;;;iBAGrB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEnD,eAAO,MAAM,oBAAoB;;;;iBAO/B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ORDER, STRING_LIMITS } from '../config';
|
|
3
|
+
import { VALIDATION_MESSAGES } from '../messages';
|
|
4
|
+
import { nonNegativeIntSchema, optionalDateSchema, optionalString, positiveIntSchema, priceSchema, requiredString, uuidSchema, } from './common';
|
|
5
|
+
export const ticketPriceTypeSchema = z.enum(['free', 'paid', 'donation']);
|
|
6
|
+
export const ticketVisibilitySchema = z.enum([
|
|
7
|
+
'visible',
|
|
8
|
+
'hidden',
|
|
9
|
+
'promoOnly',
|
|
10
|
+
]);
|
|
11
|
+
export const salesChannelSchema = z.enum([
|
|
12
|
+
'everywhere',
|
|
13
|
+
'onlineOnly',
|
|
14
|
+
'boxOfficeOnly',
|
|
15
|
+
]);
|
|
16
|
+
export const ticketSectionSchema = z.object({
|
|
17
|
+
name: requiredString(100, 'Section name'),
|
|
18
|
+
capacity: positiveIntSchema,
|
|
19
|
+
description: optionalString(500, 'Description'),
|
|
20
|
+
sortOrder: nonNegativeIntSchema.default(0),
|
|
21
|
+
});
|
|
22
|
+
const ticketTypeBaseSchema = z.object({
|
|
23
|
+
name: requiredString(STRING_LIMITS.TICKET_NAME_MAX, 'Ticket name'),
|
|
24
|
+
description: optionalString(STRING_LIMITS.TICKET_DESCRIPTION_MAX, 'Description'),
|
|
25
|
+
sectionId: z.number().int().optional(),
|
|
26
|
+
ticketType: ticketPriceTypeSchema.default('paid'),
|
|
27
|
+
price: priceSchema.optional().nullable(),
|
|
28
|
+
quantity: positiveIntSchema.optional(),
|
|
29
|
+
minimumTickets: z
|
|
30
|
+
.number()
|
|
31
|
+
.int()
|
|
32
|
+
.min(ORDER.MIN_TICKETS, VALIDATION_MESSAGES.tooSmall('Minimum', ORDER.MIN_TICKETS))
|
|
33
|
+
.max(ORDER.MAX_TICKETS, VALIDATION_MESSAGES.tooLarge('Minimum', ORDER.MAX_TICKETS))
|
|
34
|
+
.default(1),
|
|
35
|
+
maximumTickets: z
|
|
36
|
+
.number()
|
|
37
|
+
.int()
|
|
38
|
+
.min(ORDER.MIN_TICKETS, VALIDATION_MESSAGES.tooSmall('Maximum', ORDER.MIN_TICKETS))
|
|
39
|
+
.max(ORDER.MAX_TICKETS, VALIDATION_MESSAGES.tooLarge('Maximum', ORDER.MAX_TICKETS))
|
|
40
|
+
.default(ORDER.DEFAULT_MAX_TICKETS),
|
|
41
|
+
salesStartDateTime: optionalDateSchema,
|
|
42
|
+
salesEndDateTime: optionalDateSchema,
|
|
43
|
+
visibility: ticketVisibilitySchema.default('visible'),
|
|
44
|
+
salesChannel: salesChannelSchema.default('everywhere'),
|
|
45
|
+
sortOrder: nonNegativeIntSchema.default(0),
|
|
46
|
+
isActive: z.boolean().default(true),
|
|
47
|
+
});
|
|
48
|
+
export const ticketTypeSchema = ticketTypeBaseSchema
|
|
49
|
+
.refine(data => data.minimumTickets <= data.maximumTickets, {
|
|
50
|
+
message: VALIDATION_MESSAGES.MIN_EXCEEDS_MAX,
|
|
51
|
+
path: ['minimumTickets'],
|
|
52
|
+
})
|
|
53
|
+
.refine(data => {
|
|
54
|
+
if (data.salesStartDateTime && data.salesEndDateTime) {
|
|
55
|
+
return data.salesEndDateTime > data.salesStartDateTime;
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}, {
|
|
59
|
+
message: VALIDATION_MESSAGES.END_DATE_AFTER_START,
|
|
60
|
+
path: ['salesEndDateTime'],
|
|
61
|
+
});
|
|
62
|
+
export const ticketTypeUpdateSchema = ticketTypeBaseSchema.partial();
|
|
63
|
+
export const cartItemSchema = z.object({
|
|
64
|
+
ticketTypeId: z.union([uuidSchema, z.number().int().positive()]),
|
|
65
|
+
quantity: z
|
|
66
|
+
.number()
|
|
67
|
+
.int()
|
|
68
|
+
.min(1)
|
|
69
|
+
.max(ORDER.MAX_TICKETS, VALIDATION_MESSAGES.tooLarge('Quantity', ORDER.MAX_TICKETS)),
|
|
70
|
+
});
|
|
71
|
+
export const cartSchema = z.object({
|
|
72
|
+
items: z.array(cartItemSchema).min(1, 'Cart must have at least one item'),
|
|
73
|
+
promoCode: z.string().optional(),
|
|
74
|
+
});
|
|
75
|
+
export const ticketTransferSchema = z.object({
|
|
76
|
+
ticketId: uuidSchema,
|
|
77
|
+
recipientEmail: z
|
|
78
|
+
.string()
|
|
79
|
+
.min(1, VALIDATION_MESSAGES.REQUIRED)
|
|
80
|
+
.email(VALIDATION_MESSAGES.INVALID_EMAIL),
|
|
81
|
+
recipientName: requiredString(100, 'Recipient name'),
|
|
82
|
+
});
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const userRoleSchema: z.ZodEnum<{
|
|
3
|
+
admin: "admin";
|
|
4
|
+
owner: "owner";
|
|
5
|
+
manager: "manager";
|
|
6
|
+
staff: "staff";
|
|
7
|
+
viewer: "viewer";
|
|
8
|
+
}>;
|
|
9
|
+
export type UserRole = z.infer<typeof userRoleSchema>;
|
|
10
|
+
export declare const userProfileSchema: z.ZodObject<{
|
|
11
|
+
firstName: z.ZodString;
|
|
12
|
+
lastName: z.ZodString;
|
|
13
|
+
email: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
|
|
14
|
+
phone: z.ZodPipe<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>, z.ZodTransform<string | undefined, string | undefined>>;
|
|
15
|
+
bio: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
16
|
+
profileImageUrl: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<File, File>, z.ZodNull]>>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
export type UserProfileInput = z.infer<typeof userProfileSchema>;
|
|
19
|
+
export declare const userProfileUpdateSchema: z.ZodObject<{
|
|
20
|
+
firstName: z.ZodOptional<z.ZodString>;
|
|
21
|
+
lastName: z.ZodOptional<z.ZodString>;
|
|
22
|
+
phone: z.ZodOptional<z.ZodPipe<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>, z.ZodTransform<string | undefined, string | undefined>>>;
|
|
23
|
+
bio: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
24
|
+
profileImageUrl: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<File, File>, z.ZodNull]>>>;
|
|
25
|
+
email: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export type UserProfileUpdateInput = z.infer<typeof userProfileUpdateSchema>;
|
|
28
|
+
export declare const userPreferencesSchema: z.ZodObject<{
|
|
29
|
+
emailNotifications: z.ZodDefault<z.ZodBoolean>;
|
|
30
|
+
smsNotifications: z.ZodDefault<z.ZodBoolean>;
|
|
31
|
+
marketingEmails: z.ZodDefault<z.ZodBoolean>;
|
|
32
|
+
timezone: z.ZodOptional<z.ZodString>;
|
|
33
|
+
language: z.ZodDefault<z.ZodString>;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
export type UserPreferencesInput = z.infer<typeof userPreferencesSchema>;
|
|
36
|
+
export declare const teamMemberSchema: z.ZodObject<{
|
|
37
|
+
email: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
|
|
38
|
+
firstName: z.ZodString;
|
|
39
|
+
lastName: z.ZodString;
|
|
40
|
+
role: z.ZodEnum<{
|
|
41
|
+
admin: "admin";
|
|
42
|
+
owner: "owner";
|
|
43
|
+
manager: "manager";
|
|
44
|
+
staff: "staff";
|
|
45
|
+
viewer: "viewer";
|
|
46
|
+
}>;
|
|
47
|
+
venueIds: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
export type TeamMemberInput = z.infer<typeof teamMemberSchema>;
|
|
50
|
+
export declare const teamMemberUpdateSchema: z.ZodObject<{
|
|
51
|
+
firstName: z.ZodOptional<z.ZodString>;
|
|
52
|
+
lastName: z.ZodOptional<z.ZodString>;
|
|
53
|
+
role: z.ZodOptional<z.ZodEnum<{
|
|
54
|
+
admin: "admin";
|
|
55
|
+
owner: "owner";
|
|
56
|
+
manager: "manager";
|
|
57
|
+
staff: "staff";
|
|
58
|
+
viewer: "viewer";
|
|
59
|
+
}>>;
|
|
60
|
+
venueIds: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodNumber>>>;
|
|
61
|
+
email: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
export type TeamMemberUpdateInput = z.infer<typeof teamMemberUpdateSchema>;
|
|
64
|
+
export declare const teamInviteSchema: z.ZodObject<{
|
|
65
|
+
email: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
|
|
66
|
+
role: z.ZodEnum<{
|
|
67
|
+
admin: "admin";
|
|
68
|
+
owner: "owner";
|
|
69
|
+
manager: "manager";
|
|
70
|
+
staff: "staff";
|
|
71
|
+
viewer: "viewer";
|
|
72
|
+
}>;
|
|
73
|
+
venueIds: z.ZodArray<z.ZodNumber>;
|
|
74
|
+
message: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
75
|
+
}, z.core.$strip>;
|
|
76
|
+
export type TeamInviteInput = z.infer<typeof teamInviteSchema>;
|
|
77
|
+
export declare const userFilterSchema: z.ZodObject<{
|
|
78
|
+
search: z.ZodOptional<z.ZodString>;
|
|
79
|
+
role: z.ZodOptional<z.ZodEnum<{
|
|
80
|
+
admin: "admin";
|
|
81
|
+
owner: "owner";
|
|
82
|
+
manager: "manager";
|
|
83
|
+
staff: "staff";
|
|
84
|
+
viewer: "viewer";
|
|
85
|
+
}>>;
|
|
86
|
+
venueId: z.ZodOptional<z.ZodNumber>;
|
|
87
|
+
isActive: z.ZodOptional<z.ZodBoolean>;
|
|
88
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
89
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
90
|
+
}, z.core.$strip>;
|
|
91
|
+
export type UserFilter = z.infer<typeof userFilterSchema>;
|
|
92
|
+
//# sourceMappingURL=user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/lib/schemas/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,cAAc;;;;;;EAMzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,iBAAiB;;;;;;;iBAO5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,eAAO,MAAM,uBAAuB;;;;;;;iBAElC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE7E,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;iBAM3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;iBAEjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,eAAO,MAAM,gBAAgB;;;;;;;;;;;iBAO3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;iBAO3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { emailSchema, imageSchema, optionalString, phoneSchema, requiredString, } from './common';
|
|
3
|
+
export const userRoleSchema = z.enum([
|
|
4
|
+
'owner',
|
|
5
|
+
'admin',
|
|
6
|
+
'manager',
|
|
7
|
+
'staff',
|
|
8
|
+
'viewer',
|
|
9
|
+
]);
|
|
10
|
+
export const userProfileSchema = z.object({
|
|
11
|
+
firstName: requiredString(50, 'First name'),
|
|
12
|
+
lastName: requiredString(50, 'Last name'),
|
|
13
|
+
email: emailSchema,
|
|
14
|
+
phone: phoneSchema,
|
|
15
|
+
bio: optionalString(500, 'Bio'),
|
|
16
|
+
profileImageUrl: imageSchema,
|
|
17
|
+
});
|
|
18
|
+
export const userProfileUpdateSchema = userProfileSchema.partial().extend({
|
|
19
|
+
email: emailSchema.optional(),
|
|
20
|
+
});
|
|
21
|
+
export const userPreferencesSchema = z.object({
|
|
22
|
+
emailNotifications: z.boolean().default(true),
|
|
23
|
+
smsNotifications: z.boolean().default(false),
|
|
24
|
+
marketingEmails: z.boolean().default(false),
|
|
25
|
+
timezone: z.string().optional(),
|
|
26
|
+
language: z.string().default('en'),
|
|
27
|
+
});
|
|
28
|
+
export const teamMemberSchema = z.object({
|
|
29
|
+
email: emailSchema,
|
|
30
|
+
firstName: requiredString(50, 'First name'),
|
|
31
|
+
lastName: requiredString(50, 'Last name'),
|
|
32
|
+
role: userRoleSchema,
|
|
33
|
+
venueIds: z.array(z.number().int().positive()).optional(),
|
|
34
|
+
});
|
|
35
|
+
export const teamMemberUpdateSchema = teamMemberSchema.partial().extend({
|
|
36
|
+
email: emailSchema.optional(),
|
|
37
|
+
});
|
|
38
|
+
export const teamInviteSchema = z.object({
|
|
39
|
+
email: emailSchema,
|
|
40
|
+
role: userRoleSchema,
|
|
41
|
+
venueIds: z
|
|
42
|
+
.array(z.number().int().positive())
|
|
43
|
+
.min(1, 'At least one venue must be selected'),
|
|
44
|
+
message: optionalString(500, 'Message'),
|
|
45
|
+
});
|
|
46
|
+
export const userFilterSchema = z.object({
|
|
47
|
+
search: z.string().optional(),
|
|
48
|
+
role: userRoleSchema.optional(),
|
|
49
|
+
venueId: z.number().int().positive().optional(),
|
|
50
|
+
isActive: z.boolean().optional(),
|
|
51
|
+
limit: z.number().int().positive().optional(),
|
|
52
|
+
offset: z.number().int().min(0).optional(),
|
|
53
|
+
});
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const venueSchema: z.ZodObject<{
|
|
3
|
+
name: z.ZodString;
|
|
4
|
+
description: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
5
|
+
address: z.ZodObject<{
|
|
6
|
+
street: z.ZodString;
|
|
7
|
+
street2: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
8
|
+
city: z.ZodString;
|
|
9
|
+
state: z.ZodString;
|
|
10
|
+
zipCode: z.ZodString;
|
|
11
|
+
country: z.ZodDefault<z.ZodString>;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
phone: z.ZodPipe<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>, z.ZodTransform<string | undefined, string | undefined>>;
|
|
14
|
+
email: z.ZodUnion<[z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>, z.ZodLiteral<"">]>;
|
|
15
|
+
website: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
16
|
+
timezone: z.ZodString;
|
|
17
|
+
capacity: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
imageUrl: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<File, File>, z.ZodNull]>>;
|
|
19
|
+
logoUrl: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<File, File>, z.ZodNull]>>;
|
|
20
|
+
socialLinks: z.ZodOptional<z.ZodObject<{
|
|
21
|
+
facebook: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
22
|
+
instagram: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
23
|
+
twitter: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
24
|
+
tiktok: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
25
|
+
youtube: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
26
|
+
website: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
27
|
+
}, z.core.$strip>>;
|
|
28
|
+
isActive: z.ZodDefault<z.ZodBoolean>;
|
|
29
|
+
}, z.core.$strip>;
|
|
30
|
+
export type VenueInput = z.infer<typeof venueSchema>;
|
|
31
|
+
export declare const venueUpdateSchema: z.ZodObject<{
|
|
32
|
+
name: z.ZodOptional<z.ZodString>;
|
|
33
|
+
description: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
34
|
+
address: z.ZodOptional<z.ZodObject<{
|
|
35
|
+
street: z.ZodString;
|
|
36
|
+
street2: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
37
|
+
city: z.ZodString;
|
|
38
|
+
state: z.ZodString;
|
|
39
|
+
zipCode: z.ZodString;
|
|
40
|
+
country: z.ZodDefault<z.ZodString>;
|
|
41
|
+
}, z.core.$strip>>;
|
|
42
|
+
phone: z.ZodOptional<z.ZodPipe<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>, z.ZodTransform<string | undefined, string | undefined>>>;
|
|
43
|
+
email: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>, z.ZodLiteral<"">]>>;
|
|
44
|
+
website: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
45
|
+
timezone: z.ZodOptional<z.ZodString>;
|
|
46
|
+
capacity: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
47
|
+
imageUrl: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<File, File>, z.ZodNull]>>>;
|
|
48
|
+
logoUrl: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<File, File>, z.ZodNull]>>>;
|
|
49
|
+
socialLinks: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
50
|
+
facebook: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
51
|
+
instagram: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
52
|
+
twitter: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
53
|
+
tiktok: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
54
|
+
youtube: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
55
|
+
website: z.ZodOptional<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>;
|
|
56
|
+
}, z.core.$strip>>>;
|
|
57
|
+
isActive: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
export type VenueUpdateInput = z.infer<typeof venueUpdateSchema>;
|
|
60
|
+
export declare const stageSchema: z.ZodObject<{
|
|
61
|
+
name: z.ZodString;
|
|
62
|
+
description: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
63
|
+
capacity: z.ZodOptional<z.ZodNumber>;
|
|
64
|
+
sortOrder: z.ZodDefault<z.ZodNumber>;
|
|
65
|
+
isActive: z.ZodDefault<z.ZodBoolean>;
|
|
66
|
+
}, z.core.$strip>;
|
|
67
|
+
export type StageInput = z.infer<typeof stageSchema>;
|
|
68
|
+
export declare const venueSettingsSchema: z.ZodObject<{
|
|
69
|
+
serviceFeePercentage: z.ZodDefault<z.ZodNumber>;
|
|
70
|
+
serviceFeeFixed: z.ZodDefault<z.ZodNumber>;
|
|
71
|
+
absorbServiceFee: z.ZodDefault<z.ZodBoolean>;
|
|
72
|
+
allowRefunds: z.ZodDefault<z.ZodBoolean>;
|
|
73
|
+
refundCutoffDays: z.ZodDefault<z.ZodNumber>;
|
|
74
|
+
requireApproval: z.ZodDefault<z.ZodBoolean>;
|
|
75
|
+
ticketTransfersEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
76
|
+
waitlistEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
export type VenueSettingsInput = z.infer<typeof venueSettingsSchema>;
|
|
79
|
+
export declare const venueFaqSchema: z.ZodObject<{
|
|
80
|
+
question: z.ZodString;
|
|
81
|
+
answer: z.ZodString;
|
|
82
|
+
sortOrder: z.ZodDefault<z.ZodNumber>;
|
|
83
|
+
isActive: z.ZodDefault<z.ZodBoolean>;
|
|
84
|
+
}, z.core.$strip>;
|
|
85
|
+
export type VenueFaqInput = z.infer<typeof venueFaqSchema>;
|
|
86
|
+
export declare const venueFilterSchema: z.ZodObject<{
|
|
87
|
+
search: z.ZodOptional<z.ZodString>;
|
|
88
|
+
isActive: z.ZodOptional<z.ZodBoolean>;
|
|
89
|
+
city: z.ZodOptional<z.ZodString>;
|
|
90
|
+
state: z.ZodOptional<z.ZodString>;
|
|
91
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
92
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
93
|
+
}, z.core.$strip>;
|
|
94
|
+
export type VenueFilter = z.infer<typeof venueFilterSchema>;
|
|
95
|
+
//# sourceMappingURL=venue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venue.d.ts","sourceRoot":"","sources":["../../src/lib/schemas/venue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqBtB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAErD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAwB,CAAC;AACvD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,eAAO,MAAM,WAAW;;;;;;iBAMtB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAErD,eAAO,MAAM,mBAAmB;;;;;;;;;iBAS9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,eAAO,MAAM,cAAc;;;;;iBAKzB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE3D,eAAO,MAAM,iBAAiB;;;;;;;iBAO5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|