@mohasinac/appkit 3.0.6 → 3.1.1

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 (186) hide show
  1. package/dist/_internal/client/features/lottery/LotteryAdminEditView.d.ts +42 -0
  2. package/dist/_internal/client/features/lottery/LotteryAdminEditView.js +86 -0
  3. package/dist/_internal/client/features/lottery/LotteryAdminSlotView.d.ts +14 -0
  4. package/dist/_internal/client/features/lottery/LotteryAdminSlotView.js +46 -0
  5. package/dist/_internal/client/features/lottery/LotteryDetailView.d.ts +28 -0
  6. package/dist/_internal/client/features/lottery/LotteryDetailView.js +17 -0
  7. package/dist/_internal/client/features/lottery/LotteryEntriesView.d.ts +23 -0
  8. package/dist/_internal/client/features/lottery/LotteryEntriesView.js +58 -0
  9. package/dist/_internal/client/features/lottery/LotteryListView.d.ts +21 -0
  10. package/dist/_internal/client/features/lottery/LotteryListView.js +25 -0
  11. package/dist/_internal/client/features/lottery/LotteryPullForm.d.ts +19 -0
  12. package/dist/_internal/client/features/lottery/LotteryPullForm.js +65 -0
  13. package/dist/_internal/client/features/lottery/LotterySlotGrid.d.ts +13 -0
  14. package/dist/_internal/client/features/lottery/LotterySlotGrid.js +21 -0
  15. package/dist/_internal/client/features/lottery/PrizeDrawLotteryDetailView.d.ts +28 -0
  16. package/dist/_internal/client/features/lottery/PrizeDrawLotteryDetailView.js +18 -0
  17. package/dist/_internal/server/features/auctions/__tests__/service.test.d.ts +1 -0
  18. package/dist/_internal/server/features/auctions/__tests__/service.test.js +140 -0
  19. package/dist/_internal/server/features/checkout/__tests__/actions.test.d.ts +1 -0
  20. package/dist/_internal/server/features/checkout/__tests__/actions.test.js +600 -0
  21. package/dist/_internal/server/features/lottery/actions.d.ts +43 -0
  22. package/dist/_internal/server/features/lottery/actions.js +243 -0
  23. package/dist/_internal/server/features/lottery/adapters.d.ts +9 -0
  24. package/dist/_internal/server/features/lottery/adapters.js +21 -0
  25. package/dist/_internal/server/features/lottery/data.d.ts +20 -0
  26. package/dist/_internal/server/features/lottery/data.js +41 -0
  27. package/dist/_internal/server/features/lottery/metadata.d.ts +6 -0
  28. package/dist/_internal/server/features/lottery/metadata.js +31 -0
  29. package/dist/_internal/server/features/refunds/__tests__/actions.test.d.ts +1 -0
  30. package/dist/_internal/server/features/refunds/__tests__/actions.test.js +263 -0
  31. package/dist/_internal/server/jobs/core/__tests__/auctionSettlement.test.d.ts +1 -0
  32. package/dist/_internal/server/jobs/core/__tests__/auctionSettlement.test.js +249 -0
  33. package/dist/_internal/server/jobs/core/__tests__/onBidPlaced.test.d.ts +1 -0
  34. package/dist/_internal/server/jobs/core/__tests__/onBidPlaced.test.js +201 -0
  35. package/dist/_internal/server/jobs/core/__tests__/onOrderCreate.test.d.ts +1 -0
  36. package/dist/_internal/server/jobs/core/__tests__/onOrderCreate.test.js +169 -0
  37. package/dist/_internal/server/jobs/core/__tests__/onOrderStatusChange.test.d.ts +1 -0
  38. package/dist/_internal/server/jobs/core/__tests__/onOrderStatusChange.test.js +148 -0
  39. package/dist/_internal/server/jobs/core/__tests__/onProductStockChange.test.d.ts +1 -0
  40. package/dist/_internal/server/jobs/core/__tests__/onProductStockChange.test.js +210 -0
  41. package/dist/_internal/server/jobs/core/__tests__/onReviewWrite.test.d.ts +1 -0
  42. package/dist/_internal/server/jobs/core/__tests__/onReviewWrite.test.js +190 -0
  43. package/dist/_internal/server/jobs/core/__tests__/onUserBanChange.test.d.ts +1 -0
  44. package/dist/_internal/server/jobs/core/__tests__/onUserBanChange.test.js +161 -0
  45. package/dist/_internal/server/jobs/core/__tests__/payoutBatch.test.d.ts +1 -0
  46. package/dist/_internal/server/jobs/core/__tests__/payoutBatch.test.js +302 -0
  47. package/dist/_internal/server/jobs/core/__tests__/triggerEventRaffle.test.d.ts +1 -0
  48. package/dist/_internal/server/jobs/core/__tests__/triggerEventRaffle.test.js +252 -0
  49. package/dist/_internal/server/jobs/core/__tests__/wrapJobHandler.test.d.ts +1 -0
  50. package/dist/_internal/server/jobs/core/__tests__/wrapJobHandler.test.js +129 -0
  51. package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
  52. package/dist/_internal/shared/actions/action-registry.js +46 -0
  53. package/dist/_internal/shared/features/products/schema.d.ts +8 -8
  54. package/dist/client.d.ts +9 -0
  55. package/dist/client.js +9 -0
  56. package/dist/constants/field-names.d.ts +5 -1
  57. package/dist/constants/field-names.js +5 -1
  58. package/dist/features/addresses/repository/__tests__/addresses.repository.test.d.ts +1 -0
  59. package/dist/features/addresses/repository/__tests__/addresses.repository.test.js +386 -0
  60. package/dist/features/admin/api/bids/route.d.ts +2 -2
  61. package/dist/features/admin/api/coupons/route.d.ts +2 -2
  62. package/dist/features/admin/api/products/route.d.ts +2 -2
  63. package/dist/features/admin/api/reviews/route.d.ts +2 -2
  64. package/dist/features/admin/repository/__tests__/notification.repository.test.d.ts +1 -0
  65. package/dist/features/admin/repository/__tests__/notification.repository.test.js +356 -0
  66. package/dist/features/admin/repository/__tests__/site-settings.repository.test.d.ts +1 -0
  67. package/dist/features/admin/repository/__tests__/site-settings.repository.test.js +298 -0
  68. package/dist/features/auctions/repository/__tests__/bid.repository.test.d.ts +1 -0
  69. package/dist/features/auctions/repository/__tests__/bid.repository.test.js +290 -0
  70. package/dist/features/auth/api/route.d.ts +2 -2
  71. package/dist/features/auth/repository/__tests__/session.repository.test.d.ts +1 -0
  72. package/dist/features/auth/repository/__tests__/session.repository.test.js +310 -0
  73. package/dist/features/auth/repository/__tests__/session.test.d.ts +1 -0
  74. package/dist/features/auth/repository/__tests__/session.test.js +146 -0
  75. package/dist/features/auth/repository/__tests__/sms-counter.repository.test.d.ts +1 -0
  76. package/dist/features/auth/repository/__tests__/sms-counter.repository.test.js +171 -0
  77. package/dist/features/auth/repository/__tests__/sms-counter.test.d.ts +1 -0
  78. package/dist/features/auth/repository/__tests__/sms-counter.test.js +88 -0
  79. package/dist/features/auth/repository/__tests__/token.repository.test.d.ts +1 -0
  80. package/dist/features/auth/repository/__tests__/token.repository.test.js +260 -0
  81. package/dist/features/auth/repository/__tests__/token.test.d.ts +1 -0
  82. package/dist/features/auth/repository/__tests__/token.test.js +140 -0
  83. package/dist/features/auth/repository/__tests__/user.repository.test.d.ts +1 -0
  84. package/dist/features/auth/repository/__tests__/user.repository.test.js +352 -0
  85. package/dist/features/auth/repository/__tests__/user.test.d.ts +1 -0
  86. package/dist/features/auth/repository/__tests__/user.test.js +226 -0
  87. package/dist/features/auth/repository/session.repository.js +10 -1
  88. package/dist/features/cart/repository/__tests__/cart.repository.test.d.ts +1 -0
  89. package/dist/features/cart/repository/__tests__/cart.repository.test.js +371 -0
  90. package/dist/features/cart/repository/cart.repository.js +2 -2
  91. package/dist/features/categories/api/[id]/route.d.ts +4 -4
  92. package/dist/features/categories/api/route.d.ts +2 -2
  93. package/dist/features/categories/repository/__tests__/categories.repository.test.d.ts +1 -0
  94. package/dist/features/categories/repository/__tests__/categories.repository.test.js +813 -0
  95. package/dist/features/events/components/EventCard.js +1 -0
  96. package/dist/features/events/repository/__tests__/event.repository.test.d.ts +1 -0
  97. package/dist/features/events/repository/__tests__/event.repository.test.js +299 -0
  98. package/dist/features/events/schemas/firestore.d.ts +3 -0
  99. package/dist/features/events/schemas/index.d.ts +834 -14
  100. package/dist/features/events/schemas/index.js +80 -1
  101. package/dist/features/events/types/index.d.ts +4 -1
  102. package/dist/features/faq/repository/__tests__/faqs.repository.test.d.ts +1 -0
  103. package/dist/features/faq/repository/__tests__/faqs.repository.test.js +311 -0
  104. package/dist/features/history/repository/__tests__/user-history.repository.test.d.ts +1 -0
  105. package/dist/features/history/repository/__tests__/user-history.repository.test.js +180 -0
  106. package/dist/features/homepage/api/[id]/route.d.ts +4 -4
  107. package/dist/features/homepage/api/carousel/[id]/route.d.ts +4 -4
  108. package/dist/features/homepage/api/carousel/route.d.ts +2 -2
  109. package/dist/features/homepage/api/route.d.ts +2 -2
  110. package/dist/features/homepage/repository/__tests__/carousel.repository.test.d.ts +1 -0
  111. package/dist/features/homepage/repository/__tests__/carousel.repository.test.js +182 -0
  112. package/dist/features/homepage/repository/__tests__/homepage-sections.repository.test.d.ts +1 -0
  113. package/dist/features/homepage/repository/__tests__/homepage-sections.repository.test.js +185 -0
  114. package/dist/features/lottery/repository/lottery-entry.repository.d.ts +33 -0
  115. package/dist/features/lottery/repository/lottery-entry.repository.js +130 -0
  116. package/dist/features/lottery/schemas/firestore.d.ts +49 -0
  117. package/dist/features/lottery/schemas/firestore.js +25 -0
  118. package/dist/features/lottery/schemas/zod.d.ts +113 -0
  119. package/dist/features/lottery/schemas/zod.js +39 -0
  120. package/dist/features/lottery/types/index.d.ts +67 -0
  121. package/dist/features/lottery/types/index.js +55 -0
  122. package/dist/features/messages/repository/__tests__/conversations.repository.test.d.ts +1 -0
  123. package/dist/features/messages/repository/__tests__/conversations.repository.test.js +257 -0
  124. package/dist/features/orders/repository/__tests__/orders.repository.test.d.ts +1 -0
  125. package/dist/features/orders/repository/__tests__/orders.repository.test.js +211 -0
  126. package/dist/features/payments/repository/__tests__/payout.repository.test.d.ts +1 -0
  127. package/dist/features/payments/repository/__tests__/payout.repository.test.js +292 -0
  128. package/dist/features/products/api/[id]/route.d.ts +4 -4
  129. package/dist/features/products/api/route.d.ts +2 -2
  130. package/dist/features/products/repository/__tests__/product-features.repository.test.d.ts +1 -0
  131. package/dist/features/products/repository/__tests__/product-features.repository.test.js +329 -0
  132. package/dist/features/products/repository/__tests__/products.repository.test.d.ts +1 -0
  133. package/dist/features/products/repository/__tests__/products.repository.test.js +607 -0
  134. package/dist/features/products/schemas/firestore.d.ts +15 -1
  135. package/dist/features/products/schemas/index.d.ts +12 -12
  136. package/dist/features/products/schemas/index.js +4 -2
  137. package/dist/features/products/types/index.d.ts +1 -1
  138. package/dist/features/promotions/repository/__tests__/claimed-coupons.repository.test.d.ts +1 -0
  139. package/dist/features/promotions/repository/__tests__/claimed-coupons.repository.test.js +219 -0
  140. package/dist/features/promotions/repository/__tests__/coupons.repository.test.d.ts +1 -0
  141. package/dist/features/promotions/repository/__tests__/coupons.repository.test.js +480 -0
  142. package/dist/features/reviews/api/[id]/route.d.ts +4 -4
  143. package/dist/features/reviews/api/route.d.ts +2 -2
  144. package/dist/features/reviews/repository/__tests__/reviews.repository.test.d.ts +1 -0
  145. package/dist/features/reviews/repository/__tests__/reviews.repository.test.js +327 -0
  146. package/dist/features/scams/repository/__tests__/scammer.repository.test.d.ts +1 -0
  147. package/dist/features/scams/repository/__tests__/scammer.repository.test.js +385 -0
  148. package/dist/features/search/repository/__tests__/search.repository.test.d.ts +1 -0
  149. package/dist/features/search/repository/__tests__/search.repository.test.js +369 -0
  150. package/dist/features/seller/api/coupons/route.d.ts +2 -2
  151. package/dist/features/seller/api/offers/route.d.ts +2 -2
  152. package/dist/features/seller/api/products/route.d.ts +2 -2
  153. package/dist/features/seller/api/store/route.d.ts +2 -2
  154. package/dist/features/seller/repository/__tests__/offer.repository.test.d.ts +1 -0
  155. package/dist/features/seller/repository/__tests__/offer.repository.test.js +458 -0
  156. package/dist/features/stores/repository/__tests__/store.repository.test.d.ts +1 -0
  157. package/dist/features/stores/repository/__tests__/store.repository.test.js +261 -0
  158. package/dist/features/support/repository/__tests__/support.repository.test.d.ts +1 -0
  159. package/dist/features/support/repository/__tests__/support.repository.test.js +312 -0
  160. package/dist/features/wishlist/repository/__tests__/user-wishlist.repository.test.d.ts +1 -0
  161. package/dist/features/wishlist/repository/__tests__/user-wishlist.repository.test.js +139 -0
  162. package/dist/index.d.ts +14 -0
  163. package/dist/index.js +17 -0
  164. package/dist/next/api/routeHandler.d.ts +1 -1
  165. package/dist/next/routing/route-map.d.ts +13 -0
  166. package/dist/next/routing/route-map.js +6 -0
  167. package/dist/repositories/index.d.ts +1 -0
  168. package/dist/repositories/index.js +2 -0
  169. package/dist/security/index.d.ts +1 -1
  170. package/dist/security/index.js +1 -1
  171. package/dist/security/pii-schemas.d.ts +2 -0
  172. package/dist/security/pii-schemas.js +6 -0
  173. package/dist/seed/actions/demo-seed-actions.d.ts +1 -1
  174. package/dist/seed/events-seed-data.js +85 -2
  175. package/dist/seed/grouped-listings-seed-data.d.ts +3 -1
  176. package/dist/seed/index.d.ts +1 -0
  177. package/dist/seed/index.js +1 -0
  178. package/dist/seed/lottery-entries-seed-data.d.ts +2 -0
  179. package/dist/seed/lottery-entries-seed-data.js +108 -0
  180. package/dist/seed/manifest.js +1 -0
  181. package/dist/seed/products-preorders-seed-data.d.ts +3 -1
  182. package/dist/server.d.ts +6 -0
  183. package/dist/server.js +6 -0
  184. package/dist/styles.css +1 -1
  185. package/dist/tailwind-utilities.css +1 -1
  186. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  export * from "./firestore";
2
2
  import { z } from "zod";
3
- export declare const eventTypeSchema: z.ZodEnum<["sale", "offer", "poll", "survey", "feedback"]>;
4
- export declare const eventStatusSchema: z.ZodEnum<["draft", "active", "paused", "ended"]>;
3
+ export declare const eventTypeSchema: z.ZodEnum<["sale", "offer", "poll", "survey", "feedback", "raffle", "spin_wheel", "lottery"]>;
4
+ export declare const eventStatusSchema: z.ZodEnum<["draft", "active", "paused", "ended", "cancelled"]>;
5
5
  export declare const saleConfigSchema: z.ZodObject<{
6
6
  discountPercent: z.ZodNumber;
7
7
  bannerText: z.ZodOptional<z.ZodString>;
@@ -42,6 +42,7 @@ export declare const pollConfigSchema: z.ZodObject<{
42
42
  label: string;
43
43
  }>, "many">;
44
44
  resultsVisibility: z.ZodEnum<["always", "after_vote", "after_end"]>;
45
+ requireLogin: z.ZodOptional<z.ZodBoolean>;
45
46
  }, "strip", z.ZodTypeAny, {
46
47
  options: {
47
48
  id: string;
@@ -50,6 +51,7 @@ export declare const pollConfigSchema: z.ZodObject<{
50
51
  allowMultiSelect: boolean;
51
52
  allowComment: boolean;
52
53
  resultsVisibility: "always" | "after_vote" | "after_end";
54
+ requireLogin?: boolean | undefined;
53
55
  }, {
54
56
  options: {
55
57
  id: string;
@@ -58,6 +60,366 @@ export declare const pollConfigSchema: z.ZodObject<{
58
60
  allowMultiSelect: boolean;
59
61
  allowComment: boolean;
60
62
  resultsVisibility: "always" | "after_vote" | "after_end";
63
+ requireLogin?: boolean | undefined;
64
+ }>;
65
+ export declare const surveyFormFieldSchema: z.ZodObject<{
66
+ id: z.ZodString;
67
+ type: z.ZodEnum<["text", "textarea", "email", "phone", "number", "select", "multiselect", "checkbox", "radio", "date", "rating", "file"]>;
68
+ label: z.ZodString;
69
+ placeholder: z.ZodOptional<z.ZodString>;
70
+ required: z.ZodBoolean;
71
+ options: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
72
+ validation: z.ZodOptional<z.ZodObject<{
73
+ minLength: z.ZodOptional<z.ZodNumber>;
74
+ maxLength: z.ZodOptional<z.ZodNumber>;
75
+ min: z.ZodOptional<z.ZodNumber>;
76
+ max: z.ZodOptional<z.ZodNumber>;
77
+ pattern: z.ZodOptional<z.ZodString>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ pattern?: string | undefined;
80
+ maxLength?: number | undefined;
81
+ minLength?: number | undefined;
82
+ min?: number | undefined;
83
+ max?: number | undefined;
84
+ }, {
85
+ pattern?: string | undefined;
86
+ maxLength?: number | undefined;
87
+ minLength?: number | undefined;
88
+ min?: number | undefined;
89
+ max?: number | undefined;
90
+ }>>;
91
+ order: z.ZodNumber;
92
+ }, "strip", z.ZodTypeAny, {
93
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
94
+ id: string;
95
+ label: string;
96
+ required: boolean;
97
+ order: number;
98
+ options?: string[] | undefined;
99
+ validation?: {
100
+ pattern?: string | undefined;
101
+ maxLength?: number | undefined;
102
+ minLength?: number | undefined;
103
+ min?: number | undefined;
104
+ max?: number | undefined;
105
+ } | undefined;
106
+ placeholder?: string | undefined;
107
+ }, {
108
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
109
+ id: string;
110
+ label: string;
111
+ required: boolean;
112
+ order: number;
113
+ options?: string[] | undefined;
114
+ validation?: {
115
+ pattern?: string | undefined;
116
+ maxLength?: number | undefined;
117
+ minLength?: number | undefined;
118
+ min?: number | undefined;
119
+ max?: number | undefined;
120
+ } | undefined;
121
+ placeholder?: string | undefined;
122
+ }>;
123
+ export declare const surveyConfigSchema: z.ZodObject<{
124
+ requireLogin: z.ZodBoolean;
125
+ maxEntriesPerUser: z.ZodNumber;
126
+ hasLeaderboard: z.ZodBoolean;
127
+ hasPointSystem: z.ZodBoolean;
128
+ pointsLabel: z.ZodOptional<z.ZodString>;
129
+ entryReviewRequired: z.ZodBoolean;
130
+ formFields: z.ZodArray<z.ZodObject<{
131
+ id: z.ZodString;
132
+ type: z.ZodEnum<["text", "textarea", "email", "phone", "number", "select", "multiselect", "checkbox", "radio", "date", "rating", "file"]>;
133
+ label: z.ZodString;
134
+ placeholder: z.ZodOptional<z.ZodString>;
135
+ required: z.ZodBoolean;
136
+ options: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
137
+ validation: z.ZodOptional<z.ZodObject<{
138
+ minLength: z.ZodOptional<z.ZodNumber>;
139
+ maxLength: z.ZodOptional<z.ZodNumber>;
140
+ min: z.ZodOptional<z.ZodNumber>;
141
+ max: z.ZodOptional<z.ZodNumber>;
142
+ pattern: z.ZodOptional<z.ZodString>;
143
+ }, "strip", z.ZodTypeAny, {
144
+ pattern?: string | undefined;
145
+ maxLength?: number | undefined;
146
+ minLength?: number | undefined;
147
+ min?: number | undefined;
148
+ max?: number | undefined;
149
+ }, {
150
+ pattern?: string | undefined;
151
+ maxLength?: number | undefined;
152
+ minLength?: number | undefined;
153
+ min?: number | undefined;
154
+ max?: number | undefined;
155
+ }>>;
156
+ order: z.ZodNumber;
157
+ }, "strip", z.ZodTypeAny, {
158
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
159
+ id: string;
160
+ label: string;
161
+ required: boolean;
162
+ order: number;
163
+ options?: string[] | undefined;
164
+ validation?: {
165
+ pattern?: string | undefined;
166
+ maxLength?: number | undefined;
167
+ minLength?: number | undefined;
168
+ min?: number | undefined;
169
+ max?: number | undefined;
170
+ } | undefined;
171
+ placeholder?: string | undefined;
172
+ }, {
173
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
174
+ id: string;
175
+ label: string;
176
+ required: boolean;
177
+ order: number;
178
+ options?: string[] | undefined;
179
+ validation?: {
180
+ pattern?: string | undefined;
181
+ maxLength?: number | undefined;
182
+ minLength?: number | undefined;
183
+ min?: number | undefined;
184
+ max?: number | undefined;
185
+ } | undefined;
186
+ placeholder?: string | undefined;
187
+ }>, "many">;
188
+ }, "strip", z.ZodTypeAny, {
189
+ requireLogin: boolean;
190
+ maxEntriesPerUser: number;
191
+ hasLeaderboard: boolean;
192
+ hasPointSystem: boolean;
193
+ entryReviewRequired: boolean;
194
+ formFields: {
195
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
196
+ id: string;
197
+ label: string;
198
+ required: boolean;
199
+ order: number;
200
+ options?: string[] | undefined;
201
+ validation?: {
202
+ pattern?: string | undefined;
203
+ maxLength?: number | undefined;
204
+ minLength?: number | undefined;
205
+ min?: number | undefined;
206
+ max?: number | undefined;
207
+ } | undefined;
208
+ placeholder?: string | undefined;
209
+ }[];
210
+ pointsLabel?: string | undefined;
211
+ }, {
212
+ requireLogin: boolean;
213
+ maxEntriesPerUser: number;
214
+ hasLeaderboard: boolean;
215
+ hasPointSystem: boolean;
216
+ entryReviewRequired: boolean;
217
+ formFields: {
218
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
219
+ id: string;
220
+ label: string;
221
+ required: boolean;
222
+ order: number;
223
+ options?: string[] | undefined;
224
+ validation?: {
225
+ pattern?: string | undefined;
226
+ maxLength?: number | undefined;
227
+ minLength?: number | undefined;
228
+ min?: number | undefined;
229
+ max?: number | undefined;
230
+ } | undefined;
231
+ placeholder?: string | undefined;
232
+ }[];
233
+ pointsLabel?: string | undefined;
234
+ }>;
235
+ export declare const feedbackConfigSchema: z.ZodObject<{
236
+ formFields: z.ZodArray<z.ZodObject<{
237
+ id: z.ZodString;
238
+ type: z.ZodEnum<["text", "textarea", "email", "phone", "number", "select", "multiselect", "checkbox", "radio", "date", "rating", "file"]>;
239
+ label: z.ZodString;
240
+ placeholder: z.ZodOptional<z.ZodString>;
241
+ required: z.ZodBoolean;
242
+ options: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
243
+ validation: z.ZodOptional<z.ZodObject<{
244
+ minLength: z.ZodOptional<z.ZodNumber>;
245
+ maxLength: z.ZodOptional<z.ZodNumber>;
246
+ min: z.ZodOptional<z.ZodNumber>;
247
+ max: z.ZodOptional<z.ZodNumber>;
248
+ pattern: z.ZodOptional<z.ZodString>;
249
+ }, "strip", z.ZodTypeAny, {
250
+ pattern?: string | undefined;
251
+ maxLength?: number | undefined;
252
+ minLength?: number | undefined;
253
+ min?: number | undefined;
254
+ max?: number | undefined;
255
+ }, {
256
+ pattern?: string | undefined;
257
+ maxLength?: number | undefined;
258
+ minLength?: number | undefined;
259
+ min?: number | undefined;
260
+ max?: number | undefined;
261
+ }>>;
262
+ order: z.ZodNumber;
263
+ }, "strip", z.ZodTypeAny, {
264
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
265
+ id: string;
266
+ label: string;
267
+ required: boolean;
268
+ order: number;
269
+ options?: string[] | undefined;
270
+ validation?: {
271
+ pattern?: string | undefined;
272
+ maxLength?: number | undefined;
273
+ minLength?: number | undefined;
274
+ min?: number | undefined;
275
+ max?: number | undefined;
276
+ } | undefined;
277
+ placeholder?: string | undefined;
278
+ }, {
279
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
280
+ id: string;
281
+ label: string;
282
+ required: boolean;
283
+ order: number;
284
+ options?: string[] | undefined;
285
+ validation?: {
286
+ pattern?: string | undefined;
287
+ maxLength?: number | undefined;
288
+ minLength?: number | undefined;
289
+ min?: number | undefined;
290
+ max?: number | undefined;
291
+ } | undefined;
292
+ placeholder?: string | undefined;
293
+ }>, "many">;
294
+ anonymous: z.ZodBoolean;
295
+ }, "strip", z.ZodTypeAny, {
296
+ anonymous: boolean;
297
+ formFields: {
298
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
299
+ id: string;
300
+ label: string;
301
+ required: boolean;
302
+ order: number;
303
+ options?: string[] | undefined;
304
+ validation?: {
305
+ pattern?: string | undefined;
306
+ maxLength?: number | undefined;
307
+ minLength?: number | undefined;
308
+ min?: number | undefined;
309
+ max?: number | undefined;
310
+ } | undefined;
311
+ placeholder?: string | undefined;
312
+ }[];
313
+ }, {
314
+ anonymous: boolean;
315
+ formFields: {
316
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
317
+ id: string;
318
+ label: string;
319
+ required: boolean;
320
+ order: number;
321
+ options?: string[] | undefined;
322
+ validation?: {
323
+ pattern?: string | undefined;
324
+ maxLength?: number | undefined;
325
+ minLength?: number | undefined;
326
+ min?: number | undefined;
327
+ max?: number | undefined;
328
+ } | undefined;
329
+ placeholder?: string | undefined;
330
+ }[];
331
+ }>;
332
+ export declare const spinPrizeSchema: z.ZodObject<{
333
+ id: z.ZodString;
334
+ label: z.ZodString;
335
+ couponId: z.ZodOptional<z.ZodString>;
336
+ weight: z.ZodNumber;
337
+ isActive: z.ZodBoolean;
338
+ }, "strip", z.ZodTypeAny, {
339
+ id: string;
340
+ weight: number;
341
+ label: string;
342
+ isActive: boolean;
343
+ couponId?: string | undefined;
344
+ }, {
345
+ id: string;
346
+ weight: number;
347
+ label: string;
348
+ isActive: boolean;
349
+ couponId?: string | undefined;
350
+ }>;
351
+ /** Lottery slot schema — client-safe shape (no priceInPaise/weight sent to clients). */
352
+ export declare const lotterySlotClientSchema: z.ZodObject<{
353
+ slotNumber: z.ZodNumber;
354
+ name: z.ZodString;
355
+ isBooked: z.ZodBoolean;
356
+ bookedByUserLotteryNumber: z.ZodOptional<z.ZodNumber>;
357
+ bookedByDisplayName: z.ZodOptional<z.ZodString>;
358
+ }, "strip", z.ZodTypeAny, {
359
+ name: string;
360
+ slotNumber: number;
361
+ isBooked: boolean;
362
+ bookedByUserLotteryNumber?: number | undefined;
363
+ bookedByDisplayName?: string | undefined;
364
+ }, {
365
+ name: string;
366
+ slotNumber: number;
367
+ isBooked: boolean;
368
+ bookedByUserLotteryNumber?: number | undefined;
369
+ bookedByDisplayName?: string | undefined;
370
+ }>;
371
+ /** Client-safe lottery config schema — price/weight fields stripped server-side. */
372
+ export declare const lotteryConfigClientSchema: z.ZodObject<{
373
+ slots: z.ZodArray<z.ZodObject<{
374
+ slotNumber: z.ZodNumber;
375
+ name: z.ZodString;
376
+ isBooked: z.ZodBoolean;
377
+ bookedByUserLotteryNumber: z.ZodOptional<z.ZodNumber>;
378
+ bookedByDisplayName: z.ZodOptional<z.ZodString>;
379
+ }, "strip", z.ZodTypeAny, {
380
+ name: string;
381
+ slotNumber: number;
382
+ isBooked: boolean;
383
+ bookedByUserLotteryNumber?: number | undefined;
384
+ bookedByDisplayName?: string | undefined;
385
+ }, {
386
+ name: string;
387
+ slotNumber: number;
388
+ isBooked: boolean;
389
+ bookedByUserLotteryNumber?: number | undefined;
390
+ bookedByDisplayName?: string | undefined;
391
+ }>, "many">;
392
+ totalSlots: z.ZodNumber;
393
+ pricingMode: z.ZodEnum<["uniform", "variable"]>;
394
+ drawWindowDurationMinutes: z.ZodNumber;
395
+ maxPullsPerTransaction: z.ZodNumber;
396
+ maxPullsPerUser: z.ZodNumber;
397
+ }, "strip", z.ZodTypeAny, {
398
+ slots: {
399
+ name: string;
400
+ slotNumber: number;
401
+ isBooked: boolean;
402
+ bookedByUserLotteryNumber?: number | undefined;
403
+ bookedByDisplayName?: string | undefined;
404
+ }[];
405
+ totalSlots: number;
406
+ pricingMode: "uniform" | "variable";
407
+ drawWindowDurationMinutes: number;
408
+ maxPullsPerTransaction: number;
409
+ maxPullsPerUser: number;
410
+ }, {
411
+ slots: {
412
+ name: string;
413
+ slotNumber: number;
414
+ isBooked: boolean;
415
+ bookedByUserLotteryNumber?: number | undefined;
416
+ bookedByDisplayName?: string | undefined;
417
+ }[];
418
+ totalSlots: number;
419
+ pricingMode: "uniform" | "variable";
420
+ drawWindowDurationMinutes: number;
421
+ maxPullsPerTransaction: number;
422
+ maxPullsPerUser: number;
61
423
  }>;
62
424
  /**
63
425
  * Base Zod schema for an event item.
@@ -74,10 +436,11 @@ export declare const pollConfigSchema: z.ZodObject<{
74
436
  */
75
437
  export declare const eventItemSchema: z.ZodObject<{
76
438
  id: z.ZodString;
77
- type: z.ZodEnum<["sale", "offer", "poll", "survey", "feedback"]>;
439
+ slug: z.ZodOptional<z.ZodString>;
440
+ type: z.ZodEnum<["sale", "offer", "poll", "survey", "feedback", "raffle", "spin_wheel", "lottery"]>;
78
441
  title: z.ZodString;
79
442
  description: z.ZodString;
80
- status: z.ZodEnum<["draft", "active", "paused", "ended"]>;
443
+ status: z.ZodEnum<["draft", "active", "paused", "ended", "cancelled"]>;
81
444
  startsAt: z.ZodString;
82
445
  endsAt: z.ZodString;
83
446
  coverImage: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodObject<{
@@ -229,6 +592,7 @@ export declare const eventItemSchema: z.ZodObject<{
229
592
  label: string;
230
593
  }>, "many">;
231
594
  resultsVisibility: z.ZodEnum<["always", "after_vote", "after_end"]>;
595
+ requireLogin: z.ZodOptional<z.ZodBoolean>;
232
596
  }, "strip", z.ZodTypeAny, {
233
597
  options: {
234
598
  id: string;
@@ -237,6 +601,7 @@ export declare const eventItemSchema: z.ZodObject<{
237
601
  allowMultiSelect: boolean;
238
602
  allowComment: boolean;
239
603
  resultsVisibility: "always" | "after_vote" | "after_end";
604
+ requireLogin?: boolean | undefined;
240
605
  }, {
241
606
  options: {
242
607
  id: string;
@@ -245,6 +610,301 @@ export declare const eventItemSchema: z.ZodObject<{
245
610
  allowMultiSelect: boolean;
246
611
  allowComment: boolean;
247
612
  resultsVisibility: "always" | "after_vote" | "after_end";
613
+ requireLogin?: boolean | undefined;
614
+ }>>;
615
+ surveyConfig: z.ZodOptional<z.ZodObject<{
616
+ requireLogin: z.ZodBoolean;
617
+ maxEntriesPerUser: z.ZodNumber;
618
+ hasLeaderboard: z.ZodBoolean;
619
+ hasPointSystem: z.ZodBoolean;
620
+ pointsLabel: z.ZodOptional<z.ZodString>;
621
+ entryReviewRequired: z.ZodBoolean;
622
+ formFields: z.ZodArray<z.ZodObject<{
623
+ id: z.ZodString;
624
+ type: z.ZodEnum<["text", "textarea", "email", "phone", "number", "select", "multiselect", "checkbox", "radio", "date", "rating", "file"]>;
625
+ label: z.ZodString;
626
+ placeholder: z.ZodOptional<z.ZodString>;
627
+ required: z.ZodBoolean;
628
+ options: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
629
+ validation: z.ZodOptional<z.ZodObject<{
630
+ minLength: z.ZodOptional<z.ZodNumber>;
631
+ maxLength: z.ZodOptional<z.ZodNumber>;
632
+ min: z.ZodOptional<z.ZodNumber>;
633
+ max: z.ZodOptional<z.ZodNumber>;
634
+ pattern: z.ZodOptional<z.ZodString>;
635
+ }, "strip", z.ZodTypeAny, {
636
+ pattern?: string | undefined;
637
+ maxLength?: number | undefined;
638
+ minLength?: number | undefined;
639
+ min?: number | undefined;
640
+ max?: number | undefined;
641
+ }, {
642
+ pattern?: string | undefined;
643
+ maxLength?: number | undefined;
644
+ minLength?: number | undefined;
645
+ min?: number | undefined;
646
+ max?: number | undefined;
647
+ }>>;
648
+ order: z.ZodNumber;
649
+ }, "strip", z.ZodTypeAny, {
650
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
651
+ id: string;
652
+ label: string;
653
+ required: boolean;
654
+ order: number;
655
+ options?: string[] | undefined;
656
+ validation?: {
657
+ pattern?: string | undefined;
658
+ maxLength?: number | undefined;
659
+ minLength?: number | undefined;
660
+ min?: number | undefined;
661
+ max?: number | undefined;
662
+ } | undefined;
663
+ placeholder?: string | undefined;
664
+ }, {
665
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
666
+ id: string;
667
+ label: string;
668
+ required: boolean;
669
+ order: number;
670
+ options?: string[] | undefined;
671
+ validation?: {
672
+ pattern?: string | undefined;
673
+ maxLength?: number | undefined;
674
+ minLength?: number | undefined;
675
+ min?: number | undefined;
676
+ max?: number | undefined;
677
+ } | undefined;
678
+ placeholder?: string | undefined;
679
+ }>, "many">;
680
+ }, "strip", z.ZodTypeAny, {
681
+ requireLogin: boolean;
682
+ maxEntriesPerUser: number;
683
+ hasLeaderboard: boolean;
684
+ hasPointSystem: boolean;
685
+ entryReviewRequired: boolean;
686
+ formFields: {
687
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
688
+ id: string;
689
+ label: string;
690
+ required: boolean;
691
+ order: number;
692
+ options?: string[] | undefined;
693
+ validation?: {
694
+ pattern?: string | undefined;
695
+ maxLength?: number | undefined;
696
+ minLength?: number | undefined;
697
+ min?: number | undefined;
698
+ max?: number | undefined;
699
+ } | undefined;
700
+ placeholder?: string | undefined;
701
+ }[];
702
+ pointsLabel?: string | undefined;
703
+ }, {
704
+ requireLogin: boolean;
705
+ maxEntriesPerUser: number;
706
+ hasLeaderboard: boolean;
707
+ hasPointSystem: boolean;
708
+ entryReviewRequired: boolean;
709
+ formFields: {
710
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
711
+ id: string;
712
+ label: string;
713
+ required: boolean;
714
+ order: number;
715
+ options?: string[] | undefined;
716
+ validation?: {
717
+ pattern?: string | undefined;
718
+ maxLength?: number | undefined;
719
+ minLength?: number | undefined;
720
+ min?: number | undefined;
721
+ max?: number | undefined;
722
+ } | undefined;
723
+ placeholder?: string | undefined;
724
+ }[];
725
+ pointsLabel?: string | undefined;
726
+ }>>;
727
+ feedbackConfig: z.ZodOptional<z.ZodObject<{
728
+ formFields: z.ZodArray<z.ZodObject<{
729
+ id: z.ZodString;
730
+ type: z.ZodEnum<["text", "textarea", "email", "phone", "number", "select", "multiselect", "checkbox", "radio", "date", "rating", "file"]>;
731
+ label: z.ZodString;
732
+ placeholder: z.ZodOptional<z.ZodString>;
733
+ required: z.ZodBoolean;
734
+ options: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
735
+ validation: z.ZodOptional<z.ZodObject<{
736
+ minLength: z.ZodOptional<z.ZodNumber>;
737
+ maxLength: z.ZodOptional<z.ZodNumber>;
738
+ min: z.ZodOptional<z.ZodNumber>;
739
+ max: z.ZodOptional<z.ZodNumber>;
740
+ pattern: z.ZodOptional<z.ZodString>;
741
+ }, "strip", z.ZodTypeAny, {
742
+ pattern?: string | undefined;
743
+ maxLength?: number | undefined;
744
+ minLength?: number | undefined;
745
+ min?: number | undefined;
746
+ max?: number | undefined;
747
+ }, {
748
+ pattern?: string | undefined;
749
+ maxLength?: number | undefined;
750
+ minLength?: number | undefined;
751
+ min?: number | undefined;
752
+ max?: number | undefined;
753
+ }>>;
754
+ order: z.ZodNumber;
755
+ }, "strip", z.ZodTypeAny, {
756
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
757
+ id: string;
758
+ label: string;
759
+ required: boolean;
760
+ order: number;
761
+ options?: string[] | undefined;
762
+ validation?: {
763
+ pattern?: string | undefined;
764
+ maxLength?: number | undefined;
765
+ minLength?: number | undefined;
766
+ min?: number | undefined;
767
+ max?: number | undefined;
768
+ } | undefined;
769
+ placeholder?: string | undefined;
770
+ }, {
771
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
772
+ id: string;
773
+ label: string;
774
+ required: boolean;
775
+ order: number;
776
+ options?: string[] | undefined;
777
+ validation?: {
778
+ pattern?: string | undefined;
779
+ maxLength?: number | undefined;
780
+ minLength?: number | undefined;
781
+ min?: number | undefined;
782
+ max?: number | undefined;
783
+ } | undefined;
784
+ placeholder?: string | undefined;
785
+ }>, "many">;
786
+ anonymous: z.ZodBoolean;
787
+ }, "strip", z.ZodTypeAny, {
788
+ anonymous: boolean;
789
+ formFields: {
790
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
791
+ id: string;
792
+ label: string;
793
+ required: boolean;
794
+ order: number;
795
+ options?: string[] | undefined;
796
+ validation?: {
797
+ pattern?: string | undefined;
798
+ maxLength?: number | undefined;
799
+ minLength?: number | undefined;
800
+ min?: number | undefined;
801
+ max?: number | undefined;
802
+ } | undefined;
803
+ placeholder?: string | undefined;
804
+ }[];
805
+ }, {
806
+ anonymous: boolean;
807
+ formFields: {
808
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
809
+ id: string;
810
+ label: string;
811
+ required: boolean;
812
+ order: number;
813
+ options?: string[] | undefined;
814
+ validation?: {
815
+ pattern?: string | undefined;
816
+ maxLength?: number | undefined;
817
+ minLength?: number | undefined;
818
+ min?: number | undefined;
819
+ max?: number | undefined;
820
+ } | undefined;
821
+ placeholder?: string | undefined;
822
+ }[];
823
+ }>>;
824
+ hasRaffle: z.ZodOptional<z.ZodBoolean>;
825
+ raffleType: z.ZodOptional<z.ZodEnum<["top_n_scorers", "top_n_participants", "open_raffle", "spin_wheel"]>>;
826
+ raffleTopN: z.ZodOptional<z.ZodNumber>;
827
+ rafflePrize: z.ZodOptional<z.ZodString>;
828
+ rafflePrizeCouponId: z.ZodOptional<z.ZodString>;
829
+ rafflePrizeProductIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
830
+ raffleGithubFunctionUrl: z.ZodOptional<z.ZodString>;
831
+ raffleWinnerUserId: z.ZodOptional<z.ZodString>;
832
+ raffleWinnerDisplayName: z.ZodOptional<z.ZodString>;
833
+ raffleTriggeredAt: z.ZodOptional<z.ZodString>;
834
+ raffleEntryCount: z.ZodOptional<z.ZodNumber>;
835
+ spinPrizes: z.ZodOptional<z.ZodArray<z.ZodObject<{
836
+ id: z.ZodString;
837
+ label: z.ZodString;
838
+ couponId: z.ZodOptional<z.ZodString>;
839
+ weight: z.ZodNumber;
840
+ isActive: z.ZodBoolean;
841
+ }, "strip", z.ZodTypeAny, {
842
+ id: string;
843
+ weight: number;
844
+ label: string;
845
+ isActive: boolean;
846
+ couponId?: string | undefined;
847
+ }, {
848
+ id: string;
849
+ weight: number;
850
+ label: string;
851
+ isActive: boolean;
852
+ couponId?: string | undefined;
853
+ }>, "many">>;
854
+ spinMaxPerUser: z.ZodOptional<z.ZodNumber>;
855
+ spinWindowStart: z.ZodOptional<z.ZodString>;
856
+ spinWindowEnd: z.ZodOptional<z.ZodString>;
857
+ lotteryConfig: z.ZodOptional<z.ZodObject<{
858
+ slots: z.ZodArray<z.ZodObject<{
859
+ slotNumber: z.ZodNumber;
860
+ name: z.ZodString;
861
+ isBooked: z.ZodBoolean;
862
+ bookedByUserLotteryNumber: z.ZodOptional<z.ZodNumber>;
863
+ bookedByDisplayName: z.ZodOptional<z.ZodString>;
864
+ }, "strip", z.ZodTypeAny, {
865
+ name: string;
866
+ slotNumber: number;
867
+ isBooked: boolean;
868
+ bookedByUserLotteryNumber?: number | undefined;
869
+ bookedByDisplayName?: string | undefined;
870
+ }, {
871
+ name: string;
872
+ slotNumber: number;
873
+ isBooked: boolean;
874
+ bookedByUserLotteryNumber?: number | undefined;
875
+ bookedByDisplayName?: string | undefined;
876
+ }>, "many">;
877
+ totalSlots: z.ZodNumber;
878
+ pricingMode: z.ZodEnum<["uniform", "variable"]>;
879
+ drawWindowDurationMinutes: z.ZodNumber;
880
+ maxPullsPerTransaction: z.ZodNumber;
881
+ maxPullsPerUser: z.ZodNumber;
882
+ }, "strip", z.ZodTypeAny, {
883
+ slots: {
884
+ name: string;
885
+ slotNumber: number;
886
+ isBooked: boolean;
887
+ bookedByUserLotteryNumber?: number | undefined;
888
+ bookedByDisplayName?: string | undefined;
889
+ }[];
890
+ totalSlots: number;
891
+ pricingMode: "uniform" | "variable";
892
+ drawWindowDurationMinutes: number;
893
+ maxPullsPerTransaction: number;
894
+ maxPullsPerUser: number;
895
+ }, {
896
+ slots: {
897
+ name: string;
898
+ slotNumber: number;
899
+ isBooked: boolean;
900
+ bookedByUserLotteryNumber?: number | undefined;
901
+ bookedByDisplayName?: string | undefined;
902
+ }[];
903
+ totalSlots: number;
904
+ pricingMode: "uniform" | "variable";
905
+ drawWindowDurationMinutes: number;
906
+ maxPullsPerTransaction: number;
907
+ maxPullsPerUser: number;
248
908
  }>>;
249
909
  stats: z.ZodObject<{
250
910
  totalEntries: z.ZodNumber;
@@ -263,8 +923,8 @@ export declare const eventItemSchema: z.ZodObject<{
263
923
  createdAt: z.ZodString;
264
924
  updatedAt: z.ZodString;
265
925
  }, "strip", z.ZodTypeAny, {
266
- status: "draft" | "ended" | "active" | "paused";
267
- type: "offer" | "feedback" | "sale" | "poll" | "survey";
926
+ status: "cancelled" | "draft" | "ended" | "active" | "paused";
927
+ type: "lottery" | "raffle" | "offer" | "feedback" | "sale" | "poll" | "survey" | "spin_wheel";
268
928
  createdAt: string;
269
929
  title: string;
270
930
  description: string;
@@ -313,6 +973,41 @@ export declare const eventItemSchema: z.ZodObject<{
313
973
  source?: "upload" | "youtube" | "external" | undefined;
314
974
  youtubeId?: string | undefined;
315
975
  }[];
976
+ slug?: string | undefined;
977
+ lotteryConfig?: {
978
+ slots: {
979
+ name: string;
980
+ slotNumber: number;
981
+ isBooked: boolean;
982
+ bookedByUserLotteryNumber?: number | undefined;
983
+ bookedByDisplayName?: string | undefined;
984
+ }[];
985
+ totalSlots: number;
986
+ pricingMode: "uniform" | "variable";
987
+ drawWindowDurationMinutes: number;
988
+ maxPullsPerTransaction: number;
989
+ maxPullsPerUser: number;
990
+ } | undefined;
991
+ hasRaffle?: boolean | undefined;
992
+ raffleType?: "spin_wheel" | "open_raffle" | "top_n_scorers" | "top_n_participants" | undefined;
993
+ raffleTopN?: number | undefined;
994
+ rafflePrize?: string | undefined;
995
+ rafflePrizeCouponId?: string | undefined;
996
+ raffleGithubFunctionUrl?: string | undefined;
997
+ raffleWinnerUserId?: string | undefined;
998
+ raffleWinnerDisplayName?: string | undefined;
999
+ raffleTriggeredAt?: string | undefined;
1000
+ raffleEntryCount?: number | undefined;
1001
+ spinPrizes?: {
1002
+ id: string;
1003
+ weight: number;
1004
+ label: string;
1005
+ isActive: boolean;
1006
+ couponId?: string | undefined;
1007
+ }[] | undefined;
1008
+ spinMaxPerUser?: number | undefined;
1009
+ spinWindowStart?: string | undefined;
1010
+ spinWindowEnd?: string | undefined;
316
1011
  coverImageUrl?: string | undefined;
317
1012
  saleConfig?: {
318
1013
  discountPercent: number;
@@ -332,10 +1027,55 @@ export declare const eventItemSchema: z.ZodObject<{
332
1027
  allowMultiSelect: boolean;
333
1028
  allowComment: boolean;
334
1029
  resultsVisibility: "always" | "after_vote" | "after_end";
1030
+ requireLogin?: boolean | undefined;
1031
+ } | undefined;
1032
+ surveyConfig?: {
1033
+ requireLogin: boolean;
1034
+ maxEntriesPerUser: number;
1035
+ hasLeaderboard: boolean;
1036
+ hasPointSystem: boolean;
1037
+ entryReviewRequired: boolean;
1038
+ formFields: {
1039
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
1040
+ id: string;
1041
+ label: string;
1042
+ required: boolean;
1043
+ order: number;
1044
+ options?: string[] | undefined;
1045
+ validation?: {
1046
+ pattern?: string | undefined;
1047
+ maxLength?: number | undefined;
1048
+ minLength?: number | undefined;
1049
+ min?: number | undefined;
1050
+ max?: number | undefined;
1051
+ } | undefined;
1052
+ placeholder?: string | undefined;
1053
+ }[];
1054
+ pointsLabel?: string | undefined;
1055
+ } | undefined;
1056
+ feedbackConfig?: {
1057
+ anonymous: boolean;
1058
+ formFields: {
1059
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
1060
+ id: string;
1061
+ label: string;
1062
+ required: boolean;
1063
+ order: number;
1064
+ options?: string[] | undefined;
1065
+ validation?: {
1066
+ pattern?: string | undefined;
1067
+ maxLength?: number | undefined;
1068
+ minLength?: number | undefined;
1069
+ min?: number | undefined;
1070
+ max?: number | undefined;
1071
+ } | undefined;
1072
+ placeholder?: string | undefined;
1073
+ }[];
335
1074
  } | undefined;
1075
+ rafflePrizeProductIds?: string[] | undefined;
336
1076
  }, {
337
- status: "draft" | "ended" | "active" | "paused";
338
- type: "offer" | "feedback" | "sale" | "poll" | "survey";
1077
+ status: "cancelled" | "draft" | "ended" | "active" | "paused";
1078
+ type: "lottery" | "raffle" | "offer" | "feedback" | "sale" | "poll" | "survey" | "spin_wheel";
339
1079
  createdAt: string;
340
1080
  title: string;
341
1081
  description: string;
@@ -349,6 +1089,41 @@ export declare const eventItemSchema: z.ZodObject<{
349
1089
  startsAt: string;
350
1090
  endsAt: string;
351
1091
  createdBy: string;
1092
+ slug?: string | undefined;
1093
+ lotteryConfig?: {
1094
+ slots: {
1095
+ name: string;
1096
+ slotNumber: number;
1097
+ isBooked: boolean;
1098
+ bookedByUserLotteryNumber?: number | undefined;
1099
+ bookedByDisplayName?: string | undefined;
1100
+ }[];
1101
+ totalSlots: number;
1102
+ pricingMode: "uniform" | "variable";
1103
+ drawWindowDurationMinutes: number;
1104
+ maxPullsPerTransaction: number;
1105
+ maxPullsPerUser: number;
1106
+ } | undefined;
1107
+ hasRaffle?: boolean | undefined;
1108
+ raffleType?: "spin_wheel" | "open_raffle" | "top_n_scorers" | "top_n_participants" | undefined;
1109
+ raffleTopN?: number | undefined;
1110
+ rafflePrize?: string | undefined;
1111
+ rafflePrizeCouponId?: string | undefined;
1112
+ raffleGithubFunctionUrl?: string | undefined;
1113
+ raffleWinnerUserId?: string | undefined;
1114
+ raffleWinnerDisplayName?: string | undefined;
1115
+ raffleTriggeredAt?: string | undefined;
1116
+ raffleEntryCount?: number | undefined;
1117
+ spinPrizes?: {
1118
+ id: string;
1119
+ weight: number;
1120
+ label: string;
1121
+ isActive: boolean;
1122
+ couponId?: string | undefined;
1123
+ }[] | undefined;
1124
+ spinMaxPerUser?: number | undefined;
1125
+ spinWindowStart?: string | undefined;
1126
+ spinWindowEnd?: string | undefined;
352
1127
  coverImage?: string | {
353
1128
  url: string;
354
1129
  type: "image" | "video" | "file";
@@ -400,26 +1175,71 @@ export declare const eventItemSchema: z.ZodObject<{
400
1175
  allowMultiSelect: boolean;
401
1176
  allowComment: boolean;
402
1177
  resultsVisibility: "always" | "after_vote" | "after_end";
1178
+ requireLogin?: boolean | undefined;
1179
+ } | undefined;
1180
+ surveyConfig?: {
1181
+ requireLogin: boolean;
1182
+ maxEntriesPerUser: number;
1183
+ hasLeaderboard: boolean;
1184
+ hasPointSystem: boolean;
1185
+ entryReviewRequired: boolean;
1186
+ formFields: {
1187
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
1188
+ id: string;
1189
+ label: string;
1190
+ required: boolean;
1191
+ order: number;
1192
+ options?: string[] | undefined;
1193
+ validation?: {
1194
+ pattern?: string | undefined;
1195
+ maxLength?: number | undefined;
1196
+ minLength?: number | undefined;
1197
+ min?: number | undefined;
1198
+ max?: number | undefined;
1199
+ } | undefined;
1200
+ placeholder?: string | undefined;
1201
+ }[];
1202
+ pointsLabel?: string | undefined;
1203
+ } | undefined;
1204
+ feedbackConfig?: {
1205
+ anonymous: boolean;
1206
+ formFields: {
1207
+ type: "number" | "file" | "date" | "text" | "phone" | "email" | "select" | "textarea" | "checkbox" | "radio" | "multiselect" | "rating";
1208
+ id: string;
1209
+ label: string;
1210
+ required: boolean;
1211
+ order: number;
1212
+ options?: string[] | undefined;
1213
+ validation?: {
1214
+ pattern?: string | undefined;
1215
+ maxLength?: number | undefined;
1216
+ minLength?: number | undefined;
1217
+ min?: number | undefined;
1218
+ max?: number | undefined;
1219
+ } | undefined;
1220
+ placeholder?: string | undefined;
1221
+ }[];
403
1222
  } | undefined;
1223
+ rafflePrizeProductIds?: string[] | undefined;
404
1224
  }>;
405
1225
  /** Base Zod schema for list-query parameters. */
406
1226
  export declare const eventListParamsSchema: z.ZodObject<{
407
- type: z.ZodOptional<z.ZodEnum<["sale", "offer", "poll", "survey", "feedback"]>>;
408
- status: z.ZodOptional<z.ZodEnum<["draft", "active", "paused", "ended"]>>;
1227
+ type: z.ZodOptional<z.ZodEnum<["sale", "offer", "poll", "survey", "feedback", "raffle", "spin_wheel", "lottery"]>>;
1228
+ status: z.ZodOptional<z.ZodEnum<["draft", "active", "paused", "ended", "cancelled"]>>;
409
1229
  q: z.ZodOptional<z.ZodString>;
410
1230
  page: z.ZodOptional<z.ZodNumber>;
411
1231
  perPage: z.ZodOptional<z.ZodNumber>;
412
1232
  sort: z.ZodOptional<z.ZodString>;
413
1233
  }, "strip", z.ZodTypeAny, {
414
- status?: "draft" | "ended" | "active" | "paused" | undefined;
415
- type?: "offer" | "feedback" | "sale" | "poll" | "survey" | undefined;
1234
+ status?: "cancelled" | "draft" | "ended" | "active" | "paused" | undefined;
1235
+ type?: "lottery" | "raffle" | "offer" | "feedback" | "sale" | "poll" | "survey" | "spin_wheel" | undefined;
416
1236
  sort?: string | undefined;
417
1237
  page?: number | undefined;
418
1238
  q?: string | undefined;
419
1239
  perPage?: number | undefined;
420
1240
  }, {
421
- status?: "draft" | "ended" | "active" | "paused" | undefined;
422
- type?: "offer" | "feedback" | "sale" | "poll" | "survey" | undefined;
1241
+ status?: "cancelled" | "draft" | "ended" | "active" | "paused" | undefined;
1242
+ type?: "lottery" | "raffle" | "offer" | "feedback" | "sale" | "poll" | "survey" | "spin_wheel" | undefined;
423
1243
  sort?: string | undefined;
424
1244
  page?: number | undefined;
425
1245
  q?: string | undefined;