@01.software/sdk 0.1.0-dev.260210.4ecca43 → 0.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.
@@ -0,0 +1,2675 @@
1
+ /**
2
+ * This file was automatically generated by Payload.
3
+ * DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
4
+ * and re-run `payload generate:types` to regenerate this file.
5
+ */
6
+ /**
7
+ * Supported timezones in IANA format.
8
+ *
9
+ * This interface was referenced by `Config`'s JSON-Schema
10
+ * via the `definition` "supportedTimezones".
11
+ */
12
+ type SupportedTimezones = 'Pacific/Midway' | 'Pacific/Niue' | 'Pacific/Honolulu' | 'Pacific/Rarotonga' | 'America/Anchorage' | 'Pacific/Gambier' | 'America/Los_Angeles' | 'America/Tijuana' | 'America/Denver' | 'America/Phoenix' | 'America/Chicago' | 'America/Guatemala' | 'America/New_York' | 'America/Bogota' | 'America/Caracas' | 'America/Santiago' | 'America/Buenos_Aires' | 'America/Sao_Paulo' | 'Atlantic/South_Georgia' | 'Atlantic/Azores' | 'Atlantic/Cape_Verde' | 'Europe/London' | 'Europe/Berlin' | 'Africa/Lagos' | 'Europe/Athens' | 'Africa/Cairo' | 'Europe/Moscow' | 'Asia/Riyadh' | 'Asia/Dubai' | 'Asia/Baku' | 'Asia/Karachi' | 'Asia/Tashkent' | 'Asia/Calcutta' | 'Asia/Dhaka' | 'Asia/Almaty' | 'Asia/Jakarta' | 'Asia/Bangkok' | 'Asia/Shanghai' | 'Asia/Singapore' | 'Asia/Tokyo' | 'Asia/Seoul' | 'Australia/Brisbane' | 'Australia/Sydney' | 'Pacific/Guam' | 'Pacific/Noumea' | 'Pacific/Auckland' | 'Pacific/Fiji';
13
+ interface Config {
14
+ auth: {
15
+ users: UserAuthOperations;
16
+ };
17
+ blocks: {
18
+ Player: PlayerBlock;
19
+ Iframe: IframeBlock;
20
+ };
21
+ collections: {
22
+ users: User;
23
+ media: Media;
24
+ tenants: Tenant;
25
+ 'tenant-metadata': TenantMetadatum;
26
+ 'tenant-logos': TenantLogo;
27
+ 'tenant-og-images': TenantOgImage;
28
+ 'api-usage': ApiUsage;
29
+ products: Product;
30
+ 'product-variants': ProductVariant;
31
+ 'product-options': ProductOption;
32
+ 'product-categories': ProductCategory;
33
+ 'product-tags': ProductTag;
34
+ 'product-images': ProductImage;
35
+ brands: Brand;
36
+ 'brand-logos': BrandLogo;
37
+ orders: Order;
38
+ 'order-products': OrderProduct;
39
+ returns: Return;
40
+ 'return-products': ReturnProduct;
41
+ transactions: Transaction;
42
+ posts: Post;
43
+ 'post-categories': PostCategory;
44
+ 'post-tags': PostTag;
45
+ 'post-images': PostImage;
46
+ authors: Author;
47
+ documents: Document;
48
+ 'document-categories': DocumentCategory;
49
+ 'document-images': DocumentImage;
50
+ playlists: Playlist;
51
+ 'playlist-images': PlaylistImage;
52
+ musics: Music;
53
+ galleries: Gallery;
54
+ 'gallery-images': GalleryImage;
55
+ forms: Form;
56
+ 'form-submissions': FormSubmission;
57
+ 'payload-kv': PayloadKv;
58
+ 'payload-locked-documents': PayloadLockedDocument;
59
+ 'payload-preferences': PayloadPreference;
60
+ 'payload-migrations': PayloadMigration;
61
+ };
62
+ collectionsJoins: {
63
+ products: {
64
+ variants: 'product-variants';
65
+ options: 'product-options';
66
+ };
67
+ 'product-variants': {
68
+ productOptions: 'product-options';
69
+ };
70
+ orders: {
71
+ products: 'order-products';
72
+ transactions: 'transactions';
73
+ returns: 'returns';
74
+ };
75
+ returns: {
76
+ returnProducts: 'return-products';
77
+ };
78
+ authors: {
79
+ posts: 'posts';
80
+ };
81
+ playlists: {
82
+ musics: 'musics';
83
+ };
84
+ };
85
+ collectionsSelect: {
86
+ users: UsersSelect<false> | UsersSelect<true>;
87
+ media: MediaSelect<false> | MediaSelect<true>;
88
+ tenants: TenantsSelect<false> | TenantsSelect<true>;
89
+ 'tenant-metadata': TenantMetadataSelect<false> | TenantMetadataSelect<true>;
90
+ 'tenant-logos': TenantLogosSelect<false> | TenantLogosSelect<true>;
91
+ 'tenant-og-images': TenantOgImagesSelect<false> | TenantOgImagesSelect<true>;
92
+ 'api-usage': ApiUsageSelect<false> | ApiUsageSelect<true>;
93
+ products: ProductsSelect<false> | ProductsSelect<true>;
94
+ 'product-variants': ProductVariantsSelect<false> | ProductVariantsSelect<true>;
95
+ 'product-options': ProductOptionsSelect<false> | ProductOptionsSelect<true>;
96
+ 'product-categories': ProductCategoriesSelect<false> | ProductCategoriesSelect<true>;
97
+ 'product-tags': ProductTagsSelect<false> | ProductTagsSelect<true>;
98
+ 'product-images': ProductImagesSelect<false> | ProductImagesSelect<true>;
99
+ brands: BrandsSelect<false> | BrandsSelect<true>;
100
+ 'brand-logos': BrandLogosSelect<false> | BrandLogosSelect<true>;
101
+ orders: OrdersSelect<false> | OrdersSelect<true>;
102
+ 'order-products': OrderProductsSelect<false> | OrderProductsSelect<true>;
103
+ returns: ReturnsSelect<false> | ReturnsSelect<true>;
104
+ 'return-products': ReturnProductsSelect<false> | ReturnProductsSelect<true>;
105
+ transactions: TransactionsSelect<false> | TransactionsSelect<true>;
106
+ posts: PostsSelect<false> | PostsSelect<true>;
107
+ 'post-categories': PostCategoriesSelect<false> | PostCategoriesSelect<true>;
108
+ 'post-tags': PostTagsSelect<false> | PostTagsSelect<true>;
109
+ 'post-images': PostImagesSelect<false> | PostImagesSelect<true>;
110
+ authors: AuthorsSelect<false> | AuthorsSelect<true>;
111
+ documents: DocumentsSelect<false> | DocumentsSelect<true>;
112
+ 'document-categories': DocumentCategoriesSelect<false> | DocumentCategoriesSelect<true>;
113
+ 'document-images': DocumentImagesSelect<false> | DocumentImagesSelect<true>;
114
+ playlists: PlaylistsSelect<false> | PlaylistsSelect<true>;
115
+ 'playlist-images': PlaylistImagesSelect<false> | PlaylistImagesSelect<true>;
116
+ musics: MusicsSelect<false> | MusicsSelect<true>;
117
+ galleries: GalleriesSelect<false> | GalleriesSelect<true>;
118
+ 'gallery-images': GalleryImagesSelect<false> | GalleryImagesSelect<true>;
119
+ forms: FormsSelect<false> | FormsSelect<true>;
120
+ 'form-submissions': FormSubmissionsSelect<false> | FormSubmissionsSelect<true>;
121
+ 'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;
122
+ 'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
123
+ 'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
124
+ 'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
125
+ };
126
+ db: {
127
+ defaultIDType: number;
128
+ };
129
+ fallbackLocale: null;
130
+ globals: {};
131
+ globalsSelect: {};
132
+ locale: null;
133
+ user: User & {
134
+ collection: 'users';
135
+ };
136
+ jobs: {
137
+ tasks: unknown;
138
+ workflows: unknown;
139
+ };
140
+ }
141
+ interface UserAuthOperations {
142
+ forgotPassword: {
143
+ email: string;
144
+ password: string;
145
+ };
146
+ login: {
147
+ email: string;
148
+ password: string;
149
+ };
150
+ registerFirstUser: {
151
+ email: string;
152
+ password: string;
153
+ };
154
+ unlock: {
155
+ email: string;
156
+ password: string;
157
+ };
158
+ }
159
+ /**
160
+ * This interface was referenced by `Config`'s JSON-Schema
161
+ * via the `definition` "PlayerBlock".
162
+ */
163
+ interface PlayerBlock {
164
+ url: string;
165
+ width?: number | null;
166
+ height?: number | null;
167
+ id?: string | null;
168
+ blockName?: string | null;
169
+ blockType: 'Player';
170
+ }
171
+ /**
172
+ * This interface was referenced by `Config`'s JSON-Schema
173
+ * via the `definition` "IframeBlock".
174
+ */
175
+ interface IframeBlock {
176
+ url: string;
177
+ width?: number | null;
178
+ height?: number | null;
179
+ id?: string | null;
180
+ blockName?: string | null;
181
+ blockType: 'Iframe';
182
+ }
183
+ /**
184
+ * This interface was referenced by `Config`'s JSON-Schema
185
+ * via the `definition` "users".
186
+ */
187
+ interface User {
188
+ id: number;
189
+ roles: ('super-admin' | 'user' | 'customer')[];
190
+ tenants?: {
191
+ tenant: number | Tenant;
192
+ roles: ('tenant-admin' | 'tenant-viewer')[];
193
+ id?: string | null;
194
+ }[] | null;
195
+ updatedAt: string;
196
+ createdAt: string;
197
+ email: string;
198
+ resetPasswordToken?: string | null;
199
+ resetPasswordExpiration?: string | null;
200
+ salt?: string | null;
201
+ hash?: string | null;
202
+ loginAttempts?: number | null;
203
+ lockUntil?: string | null;
204
+ sessions?: {
205
+ id: string;
206
+ createdAt?: string | null;
207
+ expiresAt: string;
208
+ }[] | null;
209
+ password?: string | null;
210
+ }
211
+ /**
212
+ * This interface was referenced by `Config`'s JSON-Schema
213
+ * via the `definition` "tenants".
214
+ */
215
+ interface Tenant {
216
+ id: number;
217
+ name: string;
218
+ domain?: string | null;
219
+ features?: ('ecommerce' | 'playlists' | 'links' | 'forms' | 'galleries' | 'posts' | 'documents')[] | null;
220
+ plan: 'free' | 'basic' | 'pro' | 'enterprise';
221
+ clientKey: string;
222
+ secretKeys?: {
223
+ name: string;
224
+ value?: string | null;
225
+ id?: string | null;
226
+ }[] | null;
227
+ /**
228
+ * The URL to send webhooks to.
229
+ */
230
+ webhookUrl?: string | null;
231
+ updatedAt: string;
232
+ createdAt: string;
233
+ }
234
+ /**
235
+ * This interface was referenced by `Config`'s JSON-Schema
236
+ * via the `definition` "media".
237
+ */
238
+ interface Media {
239
+ id: number;
240
+ tenant?: (number | null) | Tenant;
241
+ alt?: string | null;
242
+ caption?: string | null;
243
+ /**
244
+ * Photographer or source attribution
245
+ */
246
+ credit?: string | null;
247
+ prefix?: string | null;
248
+ updatedAt: string;
249
+ createdAt: string;
250
+ url?: string | null;
251
+ thumbnailURL?: string | null;
252
+ filename?: string | null;
253
+ mimeType?: string | null;
254
+ filesize?: number | null;
255
+ width?: number | null;
256
+ height?: number | null;
257
+ focalX?: number | null;
258
+ focalY?: number | null;
259
+ }
260
+ /**
261
+ * This interface was referenced by `Config`'s JSON-Schema
262
+ * via the `definition` "tenant-metadata".
263
+ */
264
+ interface TenantMetadatum {
265
+ id: number;
266
+ tenant?: (number | null) | Tenant;
267
+ siteInfo?: {
268
+ /**
269
+ * Site title (used in browser tab and SEO)
270
+ */
271
+ title?: string | null;
272
+ /**
273
+ * Site description (used for SEO and social media)
274
+ */
275
+ description?: string | null;
276
+ /**
277
+ * Comma-separated keywords for SEO
278
+ */
279
+ keywords?: string | null;
280
+ /**
281
+ * Site author or company name
282
+ */
283
+ author?: string | null;
284
+ /**
285
+ * Full site URL (e.g., https://example.com)
286
+ */
287
+ siteUrl?: string | null;
288
+ };
289
+ branding?: {
290
+ /**
291
+ * Primary logo
292
+ */
293
+ logo?: (number | null) | BrandLogo;
294
+ /**
295
+ * Logo for dark mode (optional)
296
+ */
297
+ logoDark?: (number | null) | BrandLogo;
298
+ /**
299
+ * Logo mark / Icon (optional)
300
+ */
301
+ logomark?: (number | null) | BrandLogo;
302
+ /**
303
+ * Favicon (will be resized automatically)
304
+ */
305
+ favicon?: (number | null) | BrandLogo;
306
+ /**
307
+ * Theme color for mobile browsers (hex color)
308
+ */
309
+ themeColor?: string | null;
310
+ };
311
+ openGraph?: {
312
+ /**
313
+ * Open Graph title (falls back to site title)
314
+ */
315
+ ogTitle?: string | null;
316
+ /**
317
+ * Open Graph description (falls back to site description)
318
+ */
319
+ ogDescription?: string | null;
320
+ /**
321
+ * Open Graph image (1200x630 recommended)
322
+ */
323
+ ogImage?: (number | null) | TenantOgImage;
324
+ /**
325
+ * Open Graph type
326
+ */
327
+ ogType?: ('website' | 'article' | 'product' | 'profile') | null;
328
+ /**
329
+ * Open Graph locale (e.g., ko_KR, en_US)
330
+ */
331
+ ogLocale?: string | null;
332
+ };
333
+ twitter?: {
334
+ /**
335
+ * Twitter card type
336
+ */
337
+ twitterCard?: ('summary' | 'summary_large_image' | 'app' | 'player') | null;
338
+ /**
339
+ * Twitter username for the site (e.g., @yoursite)
340
+ */
341
+ twitterSite?: string | null;
342
+ /**
343
+ * Twitter username for the content creator (e.g., @author)
344
+ */
345
+ twitterCreator?: string | null;
346
+ /**
347
+ * Twitter title (falls back to OG title or site title)
348
+ */
349
+ twitterTitle?: string | null;
350
+ /**
351
+ * Twitter description (falls back to OG or site description)
352
+ */
353
+ twitterDescription?: string | null;
354
+ /**
355
+ * Twitter card image (falls back to OG image)
356
+ */
357
+ twitterImage?: (number | null) | TenantOgImage;
358
+ };
359
+ seo?: {
360
+ /**
361
+ * Robots meta tag (e.g., "index, follow" or "noindex, nofollow")
362
+ */
363
+ robots?: string | null;
364
+ /**
365
+ * Google Site Verification code
366
+ */
367
+ googleSiteVerification?: string | null;
368
+ /**
369
+ * Bing Site Verification code
370
+ */
371
+ bingSiteVerification?: string | null;
372
+ /**
373
+ * Naver Site Verification code
374
+ */
375
+ naverSiteVerification?: string | null;
376
+ /**
377
+ * Canonical URL (if different from site URL)
378
+ */
379
+ canonicalUrl?: string | null;
380
+ };
381
+ pwa?: {
382
+ /**
383
+ * Short name for PWA (12 characters max)
384
+ */
385
+ shortName?: string | null;
386
+ /**
387
+ * Background color for PWA splash screen
388
+ */
389
+ backgroundColor?: string | null;
390
+ /**
391
+ * PWA display mode
392
+ */
393
+ display?: ('fullscreen' | 'standalone' | 'minimal-ui' | 'browser') | null;
394
+ };
395
+ analytics?: {
396
+ /**
397
+ * Google Analytics ID (e.g., G-XXXXXXXXXX)
398
+ */
399
+ googleAnalyticsId?: string | null;
400
+ /**
401
+ * Google Tag Manager ID (e.g., GTM-XXXXXXX)
402
+ */
403
+ googleTagManagerId?: string | null;
404
+ /**
405
+ * Facebook Pixel ID
406
+ */
407
+ facebookPixelId?: string | null;
408
+ /**
409
+ * LinkedIn Partner ID
410
+ */
411
+ linkedInPartnerId?: string | null;
412
+ };
413
+ updatedAt: string;
414
+ createdAt: string;
415
+ }
416
+ /**
417
+ * This interface was referenced by `Config`'s JSON-Schema
418
+ * via the `definition` "brand-logos".
419
+ */
420
+ interface BrandLogo {
421
+ id: number;
422
+ tenant?: (number | null) | Tenant;
423
+ alt?: string | null;
424
+ lqip?: string | null;
425
+ palette?: {
426
+ vibrant?: string | null;
427
+ muted?: string | null;
428
+ darkVibrant?: string | null;
429
+ darkMuted?: string | null;
430
+ lightVibrant?: string | null;
431
+ lightMuted?: string | null;
432
+ };
433
+ prefix?: string | null;
434
+ updatedAt: string;
435
+ createdAt: string;
436
+ url?: string | null;
437
+ thumbnailURL?: string | null;
438
+ filename?: string | null;
439
+ mimeType?: string | null;
440
+ filesize?: number | null;
441
+ width?: number | null;
442
+ height?: number | null;
443
+ focalX?: number | null;
444
+ focalY?: number | null;
445
+ }
446
+ /**
447
+ * This interface was referenced by `Config`'s JSON-Schema
448
+ * via the `definition` "tenant-og-images".
449
+ */
450
+ interface TenantOgImage {
451
+ id: number;
452
+ tenant?: (number | null) | Tenant;
453
+ alt?: string | null;
454
+ lqip?: string | null;
455
+ palette?: {
456
+ vibrant?: string | null;
457
+ muted?: string | null;
458
+ darkVibrant?: string | null;
459
+ darkMuted?: string | null;
460
+ lightVibrant?: string | null;
461
+ lightMuted?: string | null;
462
+ };
463
+ prefix?: string | null;
464
+ updatedAt: string;
465
+ createdAt: string;
466
+ url?: string | null;
467
+ thumbnailURL?: string | null;
468
+ filename?: string | null;
469
+ mimeType?: string | null;
470
+ filesize?: number | null;
471
+ width?: number | null;
472
+ height?: number | null;
473
+ focalX?: number | null;
474
+ focalY?: number | null;
475
+ }
476
+ /**
477
+ * This interface was referenced by `Config`'s JSON-Schema
478
+ * via the `definition` "tenant-logos".
479
+ */
480
+ interface TenantLogo {
481
+ id: number;
482
+ tenant?: (number | null) | Tenant;
483
+ alt?: string | null;
484
+ lqip?: string | null;
485
+ palette?: {
486
+ vibrant?: string | null;
487
+ muted?: string | null;
488
+ darkVibrant?: string | null;
489
+ darkMuted?: string | null;
490
+ lightVibrant?: string | null;
491
+ lightMuted?: string | null;
492
+ };
493
+ prefix?: string | null;
494
+ updatedAt: string;
495
+ createdAt: string;
496
+ url?: string | null;
497
+ thumbnailURL?: string | null;
498
+ filename?: string | null;
499
+ mimeType?: string | null;
500
+ filesize?: number | null;
501
+ width?: number | null;
502
+ height?: number | null;
503
+ focalX?: number | null;
504
+ focalY?: number | null;
505
+ }
506
+ /**
507
+ * This interface was referenced by `Config`'s JSON-Schema
508
+ * via the `definition` "api-usage".
509
+ */
510
+ interface ApiUsage {
511
+ id: number;
512
+ tenant?: (number | null) | Tenant;
513
+ /**
514
+ * YYYY-MM format
515
+ */
516
+ month: string;
517
+ count: number;
518
+ plan: 'free' | 'basic' | 'pro' | 'enterprise';
519
+ /**
520
+ * -1 means unlimited
521
+ */
522
+ limit: number;
523
+ updatedAt: string;
524
+ createdAt: string;
525
+ }
526
+ /**
527
+ * This interface was referenced by `Config`'s JSON-Schema
528
+ * via the `definition` "products".
529
+ */
530
+ interface Product {
531
+ id: number;
532
+ _order?: string | null;
533
+ tenant?: (number | null) | Tenant;
534
+ title: string;
535
+ subtitle?: string | null;
536
+ /**
537
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
538
+ */
539
+ generateSlug?: boolean | null;
540
+ slug?: string | null;
541
+ /**
542
+ * Stock Keeping Unit
543
+ */
544
+ sku?: string | null;
545
+ status?: ('draft' | 'published' | 'archived') | null;
546
+ isSoldOut?: boolean | null;
547
+ thumbnail?: (number | null) | ProductImage;
548
+ images?: (number | ProductImage)[] | null;
549
+ description?: {
550
+ root: {
551
+ type: string;
552
+ children: {
553
+ type: any;
554
+ version: number;
555
+ [k: string]: unknown;
556
+ }[];
557
+ direction: ('ltr' | 'rtl') | null;
558
+ format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
559
+ indent: number;
560
+ version: number;
561
+ };
562
+ [k: string]: unknown;
563
+ } | null;
564
+ price: number;
565
+ /**
566
+ * Original price before discount
567
+ */
568
+ compareAtPrice?: number | null;
569
+ categories?: (number | ProductCategory)[] | null;
570
+ tags?: (number | ProductTag)[] | null;
571
+ brand?: (number | null) | Brand;
572
+ variants?: {
573
+ docs?: (number | ProductVariant)[];
574
+ hasNextPage?: boolean;
575
+ totalDocs?: number;
576
+ };
577
+ options?: {
578
+ docs?: (number | ProductOption)[];
579
+ hasNextPage?: boolean;
580
+ totalDocs?: number;
581
+ };
582
+ updatedAt: string;
583
+ createdAt: string;
584
+ }
585
+ /**
586
+ * This interface was referenced by `Config`'s JSON-Schema
587
+ * via the `definition` "product-images".
588
+ */
589
+ interface ProductImage {
590
+ id: number;
591
+ tenant?: (number | null) | Tenant;
592
+ alt?: string | null;
593
+ lqip?: string | null;
594
+ palette?: {
595
+ vibrant?: string | null;
596
+ muted?: string | null;
597
+ darkVibrant?: string | null;
598
+ darkMuted?: string | null;
599
+ lightVibrant?: string | null;
600
+ lightMuted?: string | null;
601
+ };
602
+ prefix?: string | null;
603
+ updatedAt: string;
604
+ createdAt: string;
605
+ url?: string | null;
606
+ thumbnailURL?: string | null;
607
+ filename?: string | null;
608
+ mimeType?: string | null;
609
+ filesize?: number | null;
610
+ width?: number | null;
611
+ height?: number | null;
612
+ focalX?: number | null;
613
+ focalY?: number | null;
614
+ sizes?: {
615
+ '512'?: {
616
+ url?: string | null;
617
+ width?: number | null;
618
+ height?: number | null;
619
+ mimeType?: string | null;
620
+ filesize?: number | null;
621
+ filename?: string | null;
622
+ };
623
+ '1024'?: {
624
+ url?: string | null;
625
+ width?: number | null;
626
+ height?: number | null;
627
+ mimeType?: string | null;
628
+ filesize?: number | null;
629
+ filename?: string | null;
630
+ };
631
+ };
632
+ }
633
+ /**
634
+ * This interface was referenced by `Config`'s JSON-Schema
635
+ * via the `definition` "product-categories".
636
+ */
637
+ interface ProductCategory {
638
+ id: number;
639
+ _order?: string | null;
640
+ tenant?: (number | null) | Tenant;
641
+ title: string;
642
+ /**
643
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
644
+ */
645
+ generateSlug?: boolean | null;
646
+ slug?: string | null;
647
+ description?: string | null;
648
+ image?: (number | null) | ProductImage;
649
+ parent?: (number | null) | ProductCategory;
650
+ updatedAt: string;
651
+ createdAt: string;
652
+ }
653
+ /**
654
+ * This interface was referenced by `Config`'s JSON-Schema
655
+ * via the `definition` "product-tags".
656
+ */
657
+ interface ProductTag {
658
+ id: number;
659
+ _order?: string | null;
660
+ tenant?: (number | null) | Tenant;
661
+ title: string;
662
+ /**
663
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
664
+ */
665
+ generateSlug?: boolean | null;
666
+ slug?: string | null;
667
+ description?: string | null;
668
+ updatedAt: string;
669
+ createdAt: string;
670
+ }
671
+ /**
672
+ * This interface was referenced by `Config`'s JSON-Schema
673
+ * via the `definition` "brands".
674
+ */
675
+ interface Brand {
676
+ id: number;
677
+ _order?: string | null;
678
+ tenant?: (number | null) | Tenant;
679
+ name: string;
680
+ /**
681
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
682
+ */
683
+ generateSlug?: boolean | null;
684
+ slug?: string | null;
685
+ /**
686
+ * Primary brand logo
687
+ */
688
+ logo?: (number | null) | BrandLogo;
689
+ /**
690
+ * Logo for dark mode (optional)
691
+ */
692
+ logoDark?: (number | null) | BrandLogo;
693
+ /**
694
+ * Logo mark / Icon (optional)
695
+ */
696
+ logomark?: (number | null) | BrandLogo;
697
+ description?: string | null;
698
+ /**
699
+ * Brand official website URL
700
+ */
701
+ website?: string | null;
702
+ updatedAt: string;
703
+ createdAt: string;
704
+ }
705
+ /**
706
+ * This interface was referenced by `Config`'s JSON-Schema
707
+ * via the `definition` "product-variants".
708
+ */
709
+ interface ProductVariant {
710
+ id: number;
711
+ _order?: string | null;
712
+ '_product-variants_variants_order'?: string | null;
713
+ tenant?: (number | null) | Tenant;
714
+ product: number | Product;
715
+ title: string;
716
+ /**
717
+ * Variant-specific SKU
718
+ */
719
+ sku?: string | null;
720
+ /**
721
+ * Override price (uses product price if empty)
722
+ */
723
+ price?: number | null;
724
+ images?: (number | ProductImage)[] | null;
725
+ productOptions?: {
726
+ docs?: (number | ProductOption)[];
727
+ hasNextPage?: boolean;
728
+ totalDocs?: number;
729
+ };
730
+ updatedAt: string;
731
+ createdAt: string;
732
+ }
733
+ /**
734
+ * This interface was referenced by `Config`'s JSON-Schema
735
+ * via the `definition` "product-options".
736
+ */
737
+ interface ProductOption {
738
+ id: number;
739
+ _order?: string | null;
740
+ '_product-options_productOptions_order'?: string | null;
741
+ '_product-options_options_order'?: string | null;
742
+ tenant?: (number | null) | Tenant;
743
+ product: number | Product;
744
+ variant?: (number | null) | ProductVariant;
745
+ title?: string | null;
746
+ /**
747
+ * Option-specific SKU
748
+ */
749
+ sku?: string | null;
750
+ stock: number;
751
+ /**
752
+ * Price adjustment (add/subtract from base price)
753
+ */
754
+ priceAdjustment?: number | null;
755
+ updatedAt: string;
756
+ createdAt: string;
757
+ }
758
+ /**
759
+ * This interface was referenced by `Config`'s JSON-Schema
760
+ * via the `definition` "orders".
761
+ */
762
+ interface Order {
763
+ id: number;
764
+ tenant?: (number | null) | Tenant;
765
+ orderNumber: string;
766
+ status: 'pending' | 'paid' | 'failed' | 'canceled' | 'preparing' | 'shipped' | 'delivered' | 'confirmed' | 'return_requested' | 'return_processing' | 'returned';
767
+ customer?: {
768
+ name?: string | null;
769
+ email?: string | null;
770
+ phone?: string | null;
771
+ };
772
+ totalAmount?: number | null;
773
+ shippingCarrier?: ('cj' | 'hanjin' | 'lotte' | 'epost' | 'logen' | 'other') | null;
774
+ trackingNumber?: string | null;
775
+ /**
776
+ * Internal notes (not visible to customers)
777
+ */
778
+ notes?: string | null;
779
+ shippingAddress?: {
780
+ recipientName?: string | null;
781
+ phone?: string | null;
782
+ postalCode?: string | null;
783
+ address1?: string | null;
784
+ address2?: string | null;
785
+ deliveryMessage?: string | null;
786
+ };
787
+ products?: {
788
+ docs?: (number | OrderProduct)[];
789
+ hasNextPage?: boolean;
790
+ totalDocs?: number;
791
+ };
792
+ transactions?: {
793
+ docs?: (number | Transaction)[];
794
+ hasNextPage?: boolean;
795
+ totalDocs?: number;
796
+ };
797
+ returns?: {
798
+ docs?: (number | Return)[];
799
+ hasNextPage?: boolean;
800
+ totalDocs?: number;
801
+ };
802
+ updatedAt: string;
803
+ createdAt: string;
804
+ }
805
+ /**
806
+ * This interface was referenced by `Config`'s JSON-Schema
807
+ * via the `definition` "order-products".
808
+ */
809
+ interface OrderProduct {
810
+ id: number;
811
+ tenant?: (number | null) | Tenant;
812
+ order: number | Order;
813
+ product: number | Product;
814
+ variant?: (number | null) | ProductVariant;
815
+ option?: (number | null) | ProductOption;
816
+ quantity: number;
817
+ /**
818
+ * Price per unit at time of order
819
+ */
820
+ unitPrice: number;
821
+ /**
822
+ * unitPrice * quantity
823
+ */
824
+ totalPrice: number;
825
+ title?: string | null;
826
+ updatedAt: string;
827
+ createdAt: string;
828
+ }
829
+ /**
830
+ * This interface was referenced by `Config`'s JSON-Schema
831
+ * via the `definition` "transactions".
832
+ */
833
+ interface Transaction {
834
+ id: number;
835
+ tenant?: (number | null) | Tenant;
836
+ status: 'pending' | 'paid' | 'failed' | 'canceled';
837
+ order: number | Order;
838
+ paymentId?: string | null;
839
+ paymentMethod?: string | null;
840
+ receiptUrl?: string | null;
841
+ totalAmount?: number | null;
842
+ updatedAt: string;
843
+ createdAt: string;
844
+ }
845
+ /**
846
+ * This interface was referenced by `Config`'s JSON-Schema
847
+ * via the `definition` "returns".
848
+ */
849
+ interface Return {
850
+ id: number;
851
+ tenant?: (number | null) | Tenant;
852
+ order: number | Order;
853
+ status: 'requested' | 'processing' | 'approved' | 'rejected' | 'completed';
854
+ reason?: ('change_of_mind' | 'defective' | 'wrong_delivery' | 'damaged' | 'other') | null;
855
+ /**
856
+ * Detailed return reason
857
+ */
858
+ reasonDetail?: string | null;
859
+ returnProducts?: {
860
+ docs?: (number | ReturnProduct)[];
861
+ hasNextPage?: boolean;
862
+ totalDocs?: number;
863
+ };
864
+ refundAmount: number;
865
+ updatedAt: string;
866
+ createdAt: string;
867
+ }
868
+ /**
869
+ * This interface was referenced by `Config`'s JSON-Schema
870
+ * via the `definition` "return-products".
871
+ */
872
+ interface ReturnProduct {
873
+ id: number;
874
+ tenant?: (number | null) | Tenant;
875
+ return: number | Return;
876
+ order: number | Order;
877
+ status: 'requested' | 'processing' | 'approved' | 'rejected';
878
+ orderProduct: number | OrderProduct;
879
+ product: number | Product;
880
+ variant: number | ProductVariant;
881
+ option: number | ProductOption;
882
+ quantity: number;
883
+ title?: string | null;
884
+ updatedAt: string;
885
+ createdAt: string;
886
+ }
887
+ /**
888
+ * This interface was referenced by `Config`'s JSON-Schema
889
+ * via the `definition` "posts".
890
+ */
891
+ interface Post {
892
+ id: number;
893
+ _order?: string | null;
894
+ tenant?: (number | null) | Tenant;
895
+ thumbnail?: (number | null) | PostImage;
896
+ title: string;
897
+ subtitle?: string | null;
898
+ /**
899
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
900
+ */
901
+ generateSlug?: boolean | null;
902
+ slug?: string | null;
903
+ author?: (number | null) | Author;
904
+ /**
905
+ * Brief summary for listing pages
906
+ */
907
+ excerpt?: string | null;
908
+ publishedAt?: string | null;
909
+ categories?: (number | PostCategory)[] | null;
910
+ tags?: (number | PostTag)[] | null;
911
+ content?: {
912
+ root: {
913
+ type: string;
914
+ children: {
915
+ type: any;
916
+ version: number;
917
+ [k: string]: unknown;
918
+ }[];
919
+ direction: ('ltr' | 'rtl') | null;
920
+ format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
921
+ indent: number;
922
+ version: number;
923
+ };
924
+ [k: string]: unknown;
925
+ } | null;
926
+ updatedAt: string;
927
+ createdAt: string;
928
+ _status?: ('draft' | 'published') | null;
929
+ }
930
+ /**
931
+ * This interface was referenced by `Config`'s JSON-Schema
932
+ * via the `definition` "post-images".
933
+ */
934
+ interface PostImage {
935
+ id: number;
936
+ tenant?: (number | null) | Tenant;
937
+ alt?: string | null;
938
+ lqip?: string | null;
939
+ palette?: {
940
+ vibrant?: string | null;
941
+ muted?: string | null;
942
+ darkVibrant?: string | null;
943
+ darkMuted?: string | null;
944
+ lightVibrant?: string | null;
945
+ lightMuted?: string | null;
946
+ };
947
+ prefix?: string | null;
948
+ updatedAt: string;
949
+ createdAt: string;
950
+ url?: string | null;
951
+ thumbnailURL?: string | null;
952
+ filename?: string | null;
953
+ mimeType?: string | null;
954
+ filesize?: number | null;
955
+ width?: number | null;
956
+ height?: number | null;
957
+ focalX?: number | null;
958
+ focalY?: number | null;
959
+ sizes?: {
960
+ '512'?: {
961
+ url?: string | null;
962
+ width?: number | null;
963
+ height?: number | null;
964
+ mimeType?: string | null;
965
+ filesize?: number | null;
966
+ filename?: string | null;
967
+ };
968
+ '1024'?: {
969
+ url?: string | null;
970
+ width?: number | null;
971
+ height?: number | null;
972
+ mimeType?: string | null;
973
+ filesize?: number | null;
974
+ filename?: string | null;
975
+ };
976
+ };
977
+ }
978
+ /**
979
+ * This interface was referenced by `Config`'s JSON-Schema
980
+ * via the `definition` "authors".
981
+ */
982
+ interface Author {
983
+ id: number;
984
+ _order?: string | null;
985
+ tenant?: (number | null) | Tenant;
986
+ name: string;
987
+ /**
988
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
989
+ */
990
+ generateSlug?: boolean | null;
991
+ slug?: string | null;
992
+ avatar?: (number | null) | PostImage;
993
+ bio?: string | null;
994
+ posts?: {
995
+ docs?: (number | Post)[];
996
+ hasNextPage?: boolean;
997
+ totalDocs?: number;
998
+ };
999
+ updatedAt: string;
1000
+ createdAt: string;
1001
+ }
1002
+ /**
1003
+ * This interface was referenced by `Config`'s JSON-Schema
1004
+ * via the `definition` "post-categories".
1005
+ */
1006
+ interface PostCategory {
1007
+ id: number;
1008
+ _order?: string | null;
1009
+ tenant?: (number | null) | Tenant;
1010
+ title: string;
1011
+ /**
1012
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
1013
+ */
1014
+ generateSlug?: boolean | null;
1015
+ slug?: string | null;
1016
+ description?: string | null;
1017
+ parent?: (number | null) | PostCategory;
1018
+ updatedAt: string;
1019
+ createdAt: string;
1020
+ }
1021
+ /**
1022
+ * This interface was referenced by `Config`'s JSON-Schema
1023
+ * via the `definition` "post-tags".
1024
+ */
1025
+ interface PostTag {
1026
+ id: number;
1027
+ _order?: string | null;
1028
+ tenant?: (number | null) | Tenant;
1029
+ title: string;
1030
+ /**
1031
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
1032
+ */
1033
+ generateSlug?: boolean | null;
1034
+ slug?: string | null;
1035
+ description?: string | null;
1036
+ updatedAt: string;
1037
+ createdAt: string;
1038
+ }
1039
+ /**
1040
+ * This interface was referenced by `Config`'s JSON-Schema
1041
+ * via the `definition` "documents".
1042
+ */
1043
+ interface Document {
1044
+ id: number;
1045
+ _order?: string | null;
1046
+ tenant?: (number | null) | Tenant;
1047
+ title: string;
1048
+ /**
1049
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
1050
+ */
1051
+ generateSlug?: boolean | null;
1052
+ slug?: string | null;
1053
+ type: 'terms_of_service' | 'privacy_policy' | 'guide' | 'notice' | 'legal_notice' | 'refund_policy' | 'other';
1054
+ /**
1055
+ * Document version (e.g. 1.0, 1.1, 2.0)
1056
+ */
1057
+ version: string;
1058
+ /**
1059
+ * Effective date
1060
+ */
1061
+ effectiveDate?: string | null;
1062
+ /**
1063
+ * Expiry date (optional)
1064
+ */
1065
+ expiryDate?: string | null;
1066
+ summary?: string | null;
1067
+ content: {
1068
+ root: {
1069
+ type: string;
1070
+ children: {
1071
+ type: any;
1072
+ version: number;
1073
+ [k: string]: unknown;
1074
+ }[];
1075
+ direction: ('ltr' | 'rtl') | null;
1076
+ format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
1077
+ indent: number;
1078
+ version: number;
1079
+ };
1080
+ [k: string]: unknown;
1081
+ };
1082
+ category?: (number | null) | DocumentCategory;
1083
+ /**
1084
+ * Tags for search (e.g. GDPR, CCPA)
1085
+ */
1086
+ tags?: {
1087
+ tag?: string | null;
1088
+ id?: string | null;
1089
+ }[] | null;
1090
+ /**
1091
+ * Document that requires user agreement
1092
+ */
1093
+ isRequired?: boolean | null;
1094
+ /**
1095
+ * Changelog (differences from previous version)
1096
+ */
1097
+ changeLog?: string | null;
1098
+ updatedAt: string;
1099
+ createdAt: string;
1100
+ _status?: ('draft' | 'published') | null;
1101
+ }
1102
+ /**
1103
+ * This interface was referenced by `Config`'s JSON-Schema
1104
+ * via the `definition` "document-categories".
1105
+ */
1106
+ interface DocumentCategory {
1107
+ id: number;
1108
+ _order?: string | null;
1109
+ tenant?: (number | null) | Tenant;
1110
+ title: string;
1111
+ /**
1112
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
1113
+ */
1114
+ generateSlug?: boolean | null;
1115
+ slug?: string | null;
1116
+ description?: string | null;
1117
+ updatedAt: string;
1118
+ createdAt: string;
1119
+ }
1120
+ /**
1121
+ * This interface was referenced by `Config`'s JSON-Schema
1122
+ * via the `definition` "document-images".
1123
+ */
1124
+ interface DocumentImage {
1125
+ id: number;
1126
+ tenant?: (number | null) | Tenant;
1127
+ alt?: string | null;
1128
+ lqip?: string | null;
1129
+ palette?: {
1130
+ vibrant?: string | null;
1131
+ muted?: string | null;
1132
+ darkVibrant?: string | null;
1133
+ darkMuted?: string | null;
1134
+ lightVibrant?: string | null;
1135
+ lightMuted?: string | null;
1136
+ };
1137
+ prefix?: string | null;
1138
+ updatedAt: string;
1139
+ createdAt: string;
1140
+ url?: string | null;
1141
+ thumbnailURL?: string | null;
1142
+ filename?: string | null;
1143
+ mimeType?: string | null;
1144
+ filesize?: number | null;
1145
+ width?: number | null;
1146
+ height?: number | null;
1147
+ focalX?: number | null;
1148
+ focalY?: number | null;
1149
+ sizes?: {
1150
+ '512'?: {
1151
+ url?: string | null;
1152
+ width?: number | null;
1153
+ height?: number | null;
1154
+ mimeType?: string | null;
1155
+ filesize?: number | null;
1156
+ filename?: string | null;
1157
+ };
1158
+ '1024'?: {
1159
+ url?: string | null;
1160
+ width?: number | null;
1161
+ height?: number | null;
1162
+ mimeType?: string | null;
1163
+ filesize?: number | null;
1164
+ filename?: string | null;
1165
+ };
1166
+ };
1167
+ }
1168
+ /**
1169
+ * This interface was referenced by `Config`'s JSON-Schema
1170
+ * via the `definition` "playlists".
1171
+ */
1172
+ interface Playlist {
1173
+ id: number;
1174
+ tenant?: (number | null) | Tenant;
1175
+ image?: (number | null) | PlaylistImage;
1176
+ title: string;
1177
+ /**
1178
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
1179
+ */
1180
+ generateSlug?: boolean | null;
1181
+ slug?: string | null;
1182
+ description?: string | null;
1183
+ musics?: {
1184
+ docs?: (number | Music)[];
1185
+ hasNextPage?: boolean;
1186
+ totalDocs?: number;
1187
+ };
1188
+ updatedAt: string;
1189
+ createdAt: string;
1190
+ }
1191
+ /**
1192
+ * This interface was referenced by `Config`'s JSON-Schema
1193
+ * via the `definition` "playlist-images".
1194
+ */
1195
+ interface PlaylistImage {
1196
+ id: number;
1197
+ tenant?: (number | null) | Tenant;
1198
+ alt?: string | null;
1199
+ lqip?: string | null;
1200
+ palette?: {
1201
+ vibrant?: string | null;
1202
+ muted?: string | null;
1203
+ darkVibrant?: string | null;
1204
+ darkMuted?: string | null;
1205
+ lightVibrant?: string | null;
1206
+ lightMuted?: string | null;
1207
+ };
1208
+ prefix?: string | null;
1209
+ updatedAt: string;
1210
+ createdAt: string;
1211
+ url?: string | null;
1212
+ thumbnailURL?: string | null;
1213
+ filename?: string | null;
1214
+ mimeType?: string | null;
1215
+ filesize?: number | null;
1216
+ width?: number | null;
1217
+ height?: number | null;
1218
+ focalX?: number | null;
1219
+ focalY?: number | null;
1220
+ sizes?: {
1221
+ '512'?: {
1222
+ url?: string | null;
1223
+ width?: number | null;
1224
+ height?: number | null;
1225
+ mimeType?: string | null;
1226
+ filesize?: number | null;
1227
+ filename?: string | null;
1228
+ };
1229
+ '1024'?: {
1230
+ url?: string | null;
1231
+ width?: number | null;
1232
+ height?: number | null;
1233
+ mimeType?: string | null;
1234
+ filesize?: number | null;
1235
+ filename?: string | null;
1236
+ };
1237
+ };
1238
+ }
1239
+ /**
1240
+ * This interface was referenced by `Config`'s JSON-Schema
1241
+ * via the `definition` "musics".
1242
+ */
1243
+ interface Music {
1244
+ id: number;
1245
+ _musics_musics_order?: string | null;
1246
+ tenant?: (number | null) | Tenant;
1247
+ playlist: number | Playlist;
1248
+ url: string;
1249
+ /**
1250
+ * Auto-filled from YouTube
1251
+ */
1252
+ title: string;
1253
+ /**
1254
+ * Auto-filled from YouTube channel
1255
+ */
1256
+ artist?: string | null;
1257
+ /**
1258
+ * Duration in seconds (auto-filled from YouTube)
1259
+ */
1260
+ duration?: number | null;
1261
+ isValid?: boolean | null;
1262
+ updatedAt: string;
1263
+ createdAt: string;
1264
+ }
1265
+ /**
1266
+ * This interface was referenced by `Config`'s JSON-Schema
1267
+ * via the `definition` "galleries".
1268
+ */
1269
+ interface Gallery {
1270
+ id: number;
1271
+ _order?: string | null;
1272
+ tenant?: (number | null) | Tenant;
1273
+ thumbnail?: (number | null) | GalleryImage;
1274
+ title: string;
1275
+ /**
1276
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
1277
+ */
1278
+ generateSlug?: boolean | null;
1279
+ slug?: string | null;
1280
+ description?: string | null;
1281
+ images: (number | GalleryImage)[];
1282
+ updatedAt: string;
1283
+ createdAt: string;
1284
+ }
1285
+ /**
1286
+ * This interface was referenced by `Config`'s JSON-Schema
1287
+ * via the `definition` "gallery-images".
1288
+ */
1289
+ interface GalleryImage {
1290
+ id: number;
1291
+ tenant?: (number | null) | Tenant;
1292
+ alt?: string | null;
1293
+ lqip?: string | null;
1294
+ palette?: {
1295
+ vibrant?: string | null;
1296
+ muted?: string | null;
1297
+ darkVibrant?: string | null;
1298
+ darkMuted?: string | null;
1299
+ lightVibrant?: string | null;
1300
+ lightMuted?: string | null;
1301
+ };
1302
+ prefix?: string | null;
1303
+ updatedAt: string;
1304
+ createdAt: string;
1305
+ url?: string | null;
1306
+ thumbnailURL?: string | null;
1307
+ filename?: string | null;
1308
+ mimeType?: string | null;
1309
+ filesize?: number | null;
1310
+ width?: number | null;
1311
+ height?: number | null;
1312
+ focalX?: number | null;
1313
+ focalY?: number | null;
1314
+ sizes?: {
1315
+ '512'?: {
1316
+ url?: string | null;
1317
+ width?: number | null;
1318
+ height?: number | null;
1319
+ mimeType?: string | null;
1320
+ filesize?: number | null;
1321
+ filename?: string | null;
1322
+ };
1323
+ '1024'?: {
1324
+ url?: string | null;
1325
+ width?: number | null;
1326
+ height?: number | null;
1327
+ mimeType?: string | null;
1328
+ filesize?: number | null;
1329
+ filename?: string | null;
1330
+ };
1331
+ };
1332
+ }
1333
+ /**
1334
+ * This interface was referenced by `Config`'s JSON-Schema
1335
+ * via the `definition` "forms".
1336
+ */
1337
+ interface Form {
1338
+ id: number;
1339
+ title: string;
1340
+ description?: {
1341
+ root: {
1342
+ type: string;
1343
+ children: {
1344
+ type: any;
1345
+ version: number;
1346
+ [k: string]: unknown;
1347
+ }[];
1348
+ direction: ('ltr' | 'rtl') | null;
1349
+ format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
1350
+ indent: number;
1351
+ version: number;
1352
+ };
1353
+ [k: string]: unknown;
1354
+ } | null;
1355
+ fields?: ({
1356
+ name: string;
1357
+ label?: string | null;
1358
+ width?: number | null;
1359
+ required?: boolean | null;
1360
+ defaultValue?: boolean | null;
1361
+ id?: string | null;
1362
+ blockName?: string | null;
1363
+ blockType: 'checkbox';
1364
+ } | {
1365
+ name: string;
1366
+ label?: string | null;
1367
+ width?: number | null;
1368
+ required?: boolean | null;
1369
+ id?: string | null;
1370
+ blockName?: string | null;
1371
+ blockType: 'country';
1372
+ } | {
1373
+ name: string;
1374
+ label?: string | null;
1375
+ width?: number | null;
1376
+ required?: boolean | null;
1377
+ id?: string | null;
1378
+ blockName?: string | null;
1379
+ blockType: 'email';
1380
+ } | {
1381
+ message?: {
1382
+ root: {
1383
+ type: string;
1384
+ children: {
1385
+ type: any;
1386
+ version: number;
1387
+ [k: string]: unknown;
1388
+ }[];
1389
+ direction: ('ltr' | 'rtl') | null;
1390
+ format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
1391
+ indent: number;
1392
+ version: number;
1393
+ };
1394
+ [k: string]: unknown;
1395
+ } | null;
1396
+ id?: string | null;
1397
+ blockName?: string | null;
1398
+ blockType: 'message';
1399
+ } | {
1400
+ name: string;
1401
+ label?: string | null;
1402
+ width?: number | null;
1403
+ defaultValue?: number | null;
1404
+ required?: boolean | null;
1405
+ id?: string | null;
1406
+ blockName?: string | null;
1407
+ blockType: 'number';
1408
+ } | {
1409
+ name: string;
1410
+ label?: string | null;
1411
+ width?: number | null;
1412
+ defaultValue?: string | null;
1413
+ placeholder?: string | null;
1414
+ options?: {
1415
+ label: string;
1416
+ value: string;
1417
+ id?: string | null;
1418
+ }[] | null;
1419
+ required?: boolean | null;
1420
+ id?: string | null;
1421
+ blockName?: string | null;
1422
+ blockType: 'select';
1423
+ } | {
1424
+ name: string;
1425
+ label?: string | null;
1426
+ width?: number | null;
1427
+ required?: boolean | null;
1428
+ id?: string | null;
1429
+ blockName?: string | null;
1430
+ blockType: 'state';
1431
+ } | {
1432
+ name: string;
1433
+ label?: string | null;
1434
+ width?: number | null;
1435
+ defaultValue?: string | null;
1436
+ required?: boolean | null;
1437
+ placeholder?: string | null;
1438
+ id?: string | null;
1439
+ blockName?: string | null;
1440
+ blockType: 'text';
1441
+ } | {
1442
+ name: string;
1443
+ label?: string | null;
1444
+ width?: number | null;
1445
+ defaultValue?: string | null;
1446
+ required?: boolean | null;
1447
+ id?: string | null;
1448
+ blockName?: string | null;
1449
+ blockType: 'textarea';
1450
+ })[] | null;
1451
+ submitButtonLabel?: string | null;
1452
+ /**
1453
+ * Choose whether to display an on-page message or redirect to a different page after they submit the form.
1454
+ */
1455
+ confirmationType?: ('message' | 'redirect') | null;
1456
+ confirmationMessage?: {
1457
+ root: {
1458
+ type: string;
1459
+ children: {
1460
+ type: any;
1461
+ version: number;
1462
+ [k: string]: unknown;
1463
+ }[];
1464
+ direction: ('ltr' | 'rtl') | null;
1465
+ format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
1466
+ indent: number;
1467
+ version: number;
1468
+ };
1469
+ [k: string]: unknown;
1470
+ } | null;
1471
+ redirect?: {
1472
+ url: string;
1473
+ };
1474
+ /**
1475
+ * Send custom emails when the form submits. Use comma separated lists to send the same email to multiple recipients. To reference a value from this form, wrap that field's name with double curly brackets, i.e. {{firstName}}. You can use a wildcard {{*}} to output all data and {{*:table}} to format it as an HTML table in the email.
1476
+ */
1477
+ emails?: {
1478
+ emailTo?: string | null;
1479
+ cc?: string | null;
1480
+ bcc?: string | null;
1481
+ replyTo?: string | null;
1482
+ emailFrom?: string | null;
1483
+ subject: string;
1484
+ /**
1485
+ * Enter the message that should be sent in this email.
1486
+ */
1487
+ message?: {
1488
+ root: {
1489
+ type: string;
1490
+ children: {
1491
+ type: any;
1492
+ version: number;
1493
+ [k: string]: unknown;
1494
+ }[];
1495
+ direction: ('ltr' | 'rtl') | null;
1496
+ format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
1497
+ indent: number;
1498
+ version: number;
1499
+ };
1500
+ [k: string]: unknown;
1501
+ } | null;
1502
+ id?: string | null;
1503
+ }[] | null;
1504
+ updatedAt: string;
1505
+ createdAt: string;
1506
+ }
1507
+ /**
1508
+ * This interface was referenced by `Config`'s JSON-Schema
1509
+ * via the `definition` "form-submissions".
1510
+ */
1511
+ interface FormSubmission {
1512
+ id: number;
1513
+ form: number | Form;
1514
+ submissionData?: {
1515
+ field: string;
1516
+ value: string;
1517
+ id?: string | null;
1518
+ }[] | null;
1519
+ updatedAt: string;
1520
+ createdAt: string;
1521
+ }
1522
+ /**
1523
+ * This interface was referenced by `Config`'s JSON-Schema
1524
+ * via the `definition` "payload-kv".
1525
+ */
1526
+ interface PayloadKv {
1527
+ id: number;
1528
+ key: string;
1529
+ data: {
1530
+ [k: string]: unknown;
1531
+ } | unknown[] | string | number | boolean | null;
1532
+ }
1533
+ /**
1534
+ * This interface was referenced by `Config`'s JSON-Schema
1535
+ * via the `definition` "payload-locked-documents".
1536
+ */
1537
+ interface PayloadLockedDocument {
1538
+ id: number;
1539
+ document?: ({
1540
+ relationTo: 'users';
1541
+ value: number | User;
1542
+ } | null) | ({
1543
+ relationTo: 'media';
1544
+ value: number | Media;
1545
+ } | null) | ({
1546
+ relationTo: 'tenants';
1547
+ value: number | Tenant;
1548
+ } | null) | ({
1549
+ relationTo: 'tenant-metadata';
1550
+ value: number | TenantMetadatum;
1551
+ } | null) | ({
1552
+ relationTo: 'tenant-logos';
1553
+ value: number | TenantLogo;
1554
+ } | null) | ({
1555
+ relationTo: 'tenant-og-images';
1556
+ value: number | TenantOgImage;
1557
+ } | null) | ({
1558
+ relationTo: 'api-usage';
1559
+ value: number | ApiUsage;
1560
+ } | null) | ({
1561
+ relationTo: 'products';
1562
+ value: number | Product;
1563
+ } | null) | ({
1564
+ relationTo: 'product-variants';
1565
+ value: number | ProductVariant;
1566
+ } | null) | ({
1567
+ relationTo: 'product-options';
1568
+ value: number | ProductOption;
1569
+ } | null) | ({
1570
+ relationTo: 'product-categories';
1571
+ value: number | ProductCategory;
1572
+ } | null) | ({
1573
+ relationTo: 'product-tags';
1574
+ value: number | ProductTag;
1575
+ } | null) | ({
1576
+ relationTo: 'product-images';
1577
+ value: number | ProductImage;
1578
+ } | null) | ({
1579
+ relationTo: 'brands';
1580
+ value: number | Brand;
1581
+ } | null) | ({
1582
+ relationTo: 'brand-logos';
1583
+ value: number | BrandLogo;
1584
+ } | null) | ({
1585
+ relationTo: 'orders';
1586
+ value: number | Order;
1587
+ } | null) | ({
1588
+ relationTo: 'order-products';
1589
+ value: number | OrderProduct;
1590
+ } | null) | ({
1591
+ relationTo: 'returns';
1592
+ value: number | Return;
1593
+ } | null) | ({
1594
+ relationTo: 'return-products';
1595
+ value: number | ReturnProduct;
1596
+ } | null) | ({
1597
+ relationTo: 'transactions';
1598
+ value: number | Transaction;
1599
+ } | null) | ({
1600
+ relationTo: 'posts';
1601
+ value: number | Post;
1602
+ } | null) | ({
1603
+ relationTo: 'post-categories';
1604
+ value: number | PostCategory;
1605
+ } | null) | ({
1606
+ relationTo: 'post-tags';
1607
+ value: number | PostTag;
1608
+ } | null) | ({
1609
+ relationTo: 'post-images';
1610
+ value: number | PostImage;
1611
+ } | null) | ({
1612
+ relationTo: 'authors';
1613
+ value: number | Author;
1614
+ } | null) | ({
1615
+ relationTo: 'documents';
1616
+ value: number | Document;
1617
+ } | null) | ({
1618
+ relationTo: 'document-categories';
1619
+ value: number | DocumentCategory;
1620
+ } | null) | ({
1621
+ relationTo: 'document-images';
1622
+ value: number | DocumentImage;
1623
+ } | null) | ({
1624
+ relationTo: 'playlists';
1625
+ value: number | Playlist;
1626
+ } | null) | ({
1627
+ relationTo: 'playlist-images';
1628
+ value: number | PlaylistImage;
1629
+ } | null) | ({
1630
+ relationTo: 'musics';
1631
+ value: number | Music;
1632
+ } | null) | ({
1633
+ relationTo: 'galleries';
1634
+ value: number | Gallery;
1635
+ } | null) | ({
1636
+ relationTo: 'gallery-images';
1637
+ value: number | GalleryImage;
1638
+ } | null) | ({
1639
+ relationTo: 'forms';
1640
+ value: number | Form;
1641
+ } | null) | ({
1642
+ relationTo: 'form-submissions';
1643
+ value: number | FormSubmission;
1644
+ } | null);
1645
+ globalSlug?: string | null;
1646
+ user: {
1647
+ relationTo: 'users';
1648
+ value: number | User;
1649
+ };
1650
+ updatedAt: string;
1651
+ createdAt: string;
1652
+ }
1653
+ /**
1654
+ * This interface was referenced by `Config`'s JSON-Schema
1655
+ * via the `definition` "payload-preferences".
1656
+ */
1657
+ interface PayloadPreference {
1658
+ id: number;
1659
+ user: {
1660
+ relationTo: 'users';
1661
+ value: number | User;
1662
+ };
1663
+ key?: string | null;
1664
+ value?: {
1665
+ [k: string]: unknown;
1666
+ } | unknown[] | string | number | boolean | null;
1667
+ updatedAt: string;
1668
+ createdAt: string;
1669
+ }
1670
+ /**
1671
+ * This interface was referenced by `Config`'s JSON-Schema
1672
+ * via the `definition` "payload-migrations".
1673
+ */
1674
+ interface PayloadMigration {
1675
+ id: number;
1676
+ name?: string | null;
1677
+ batch?: number | null;
1678
+ updatedAt: string;
1679
+ createdAt: string;
1680
+ }
1681
+ /**
1682
+ * This interface was referenced by `Config`'s JSON-Schema
1683
+ * via the `definition` "users_select".
1684
+ */
1685
+ interface UsersSelect<T extends boolean = true> {
1686
+ roles?: T;
1687
+ tenants?: T | {
1688
+ tenant?: T;
1689
+ roles?: T;
1690
+ id?: T;
1691
+ };
1692
+ updatedAt?: T;
1693
+ createdAt?: T;
1694
+ email?: T;
1695
+ resetPasswordToken?: T;
1696
+ resetPasswordExpiration?: T;
1697
+ salt?: T;
1698
+ hash?: T;
1699
+ loginAttempts?: T;
1700
+ lockUntil?: T;
1701
+ sessions?: T | {
1702
+ id?: T;
1703
+ createdAt?: T;
1704
+ expiresAt?: T;
1705
+ };
1706
+ }
1707
+ /**
1708
+ * This interface was referenced by `Config`'s JSON-Schema
1709
+ * via the `definition` "media_select".
1710
+ */
1711
+ interface MediaSelect<T extends boolean = true> {
1712
+ tenant?: T;
1713
+ alt?: T;
1714
+ caption?: T;
1715
+ credit?: T;
1716
+ prefix?: T;
1717
+ updatedAt?: T;
1718
+ createdAt?: T;
1719
+ url?: T;
1720
+ thumbnailURL?: T;
1721
+ filename?: T;
1722
+ mimeType?: T;
1723
+ filesize?: T;
1724
+ width?: T;
1725
+ height?: T;
1726
+ focalX?: T;
1727
+ focalY?: T;
1728
+ }
1729
+ /**
1730
+ * This interface was referenced by `Config`'s JSON-Schema
1731
+ * via the `definition` "tenants_select".
1732
+ */
1733
+ interface TenantsSelect<T extends boolean = true> {
1734
+ name?: T;
1735
+ domain?: T;
1736
+ features?: T;
1737
+ plan?: T;
1738
+ clientKey?: T;
1739
+ secretKeys?: T | {
1740
+ name?: T;
1741
+ value?: T;
1742
+ id?: T;
1743
+ };
1744
+ webhookUrl?: T;
1745
+ updatedAt?: T;
1746
+ createdAt?: T;
1747
+ }
1748
+ /**
1749
+ * This interface was referenced by `Config`'s JSON-Schema
1750
+ * via the `definition` "tenant-metadata_select".
1751
+ */
1752
+ interface TenantMetadataSelect<T extends boolean = true> {
1753
+ tenant?: T;
1754
+ siteInfo?: T | {
1755
+ title?: T;
1756
+ description?: T;
1757
+ keywords?: T;
1758
+ author?: T;
1759
+ siteUrl?: T;
1760
+ };
1761
+ branding?: T | {
1762
+ logo?: T;
1763
+ logoDark?: T;
1764
+ logomark?: T;
1765
+ favicon?: T;
1766
+ themeColor?: T;
1767
+ };
1768
+ openGraph?: T | {
1769
+ ogTitle?: T;
1770
+ ogDescription?: T;
1771
+ ogImage?: T;
1772
+ ogType?: T;
1773
+ ogLocale?: T;
1774
+ };
1775
+ twitter?: T | {
1776
+ twitterCard?: T;
1777
+ twitterSite?: T;
1778
+ twitterCreator?: T;
1779
+ twitterTitle?: T;
1780
+ twitterDescription?: T;
1781
+ twitterImage?: T;
1782
+ };
1783
+ seo?: T | {
1784
+ robots?: T;
1785
+ googleSiteVerification?: T;
1786
+ bingSiteVerification?: T;
1787
+ naverSiteVerification?: T;
1788
+ canonicalUrl?: T;
1789
+ };
1790
+ pwa?: T | {
1791
+ shortName?: T;
1792
+ backgroundColor?: T;
1793
+ display?: T;
1794
+ };
1795
+ analytics?: T | {
1796
+ googleAnalyticsId?: T;
1797
+ googleTagManagerId?: T;
1798
+ facebookPixelId?: T;
1799
+ linkedInPartnerId?: T;
1800
+ };
1801
+ updatedAt?: T;
1802
+ createdAt?: T;
1803
+ }
1804
+ /**
1805
+ * This interface was referenced by `Config`'s JSON-Schema
1806
+ * via the `definition` "tenant-logos_select".
1807
+ */
1808
+ interface TenantLogosSelect<T extends boolean = true> {
1809
+ tenant?: T;
1810
+ alt?: T;
1811
+ lqip?: T;
1812
+ palette?: T | {
1813
+ vibrant?: T;
1814
+ muted?: T;
1815
+ darkVibrant?: T;
1816
+ darkMuted?: T;
1817
+ lightVibrant?: T;
1818
+ lightMuted?: T;
1819
+ };
1820
+ prefix?: T;
1821
+ updatedAt?: T;
1822
+ createdAt?: T;
1823
+ url?: T;
1824
+ thumbnailURL?: T;
1825
+ filename?: T;
1826
+ mimeType?: T;
1827
+ filesize?: T;
1828
+ width?: T;
1829
+ height?: T;
1830
+ focalX?: T;
1831
+ focalY?: T;
1832
+ }
1833
+ /**
1834
+ * This interface was referenced by `Config`'s JSON-Schema
1835
+ * via the `definition` "tenant-og-images_select".
1836
+ */
1837
+ interface TenantOgImagesSelect<T extends boolean = true> {
1838
+ tenant?: T;
1839
+ alt?: T;
1840
+ lqip?: T;
1841
+ palette?: T | {
1842
+ vibrant?: T;
1843
+ muted?: T;
1844
+ darkVibrant?: T;
1845
+ darkMuted?: T;
1846
+ lightVibrant?: T;
1847
+ lightMuted?: T;
1848
+ };
1849
+ prefix?: T;
1850
+ updatedAt?: T;
1851
+ createdAt?: T;
1852
+ url?: T;
1853
+ thumbnailURL?: T;
1854
+ filename?: T;
1855
+ mimeType?: T;
1856
+ filesize?: T;
1857
+ width?: T;
1858
+ height?: T;
1859
+ focalX?: T;
1860
+ focalY?: T;
1861
+ }
1862
+ /**
1863
+ * This interface was referenced by `Config`'s JSON-Schema
1864
+ * via the `definition` "api-usage_select".
1865
+ */
1866
+ interface ApiUsageSelect<T extends boolean = true> {
1867
+ tenant?: T;
1868
+ month?: T;
1869
+ count?: T;
1870
+ plan?: T;
1871
+ limit?: T;
1872
+ updatedAt?: T;
1873
+ createdAt?: T;
1874
+ }
1875
+ /**
1876
+ * This interface was referenced by `Config`'s JSON-Schema
1877
+ * via the `definition` "products_select".
1878
+ */
1879
+ interface ProductsSelect<T extends boolean = true> {
1880
+ _order?: T;
1881
+ tenant?: T;
1882
+ title?: T;
1883
+ subtitle?: T;
1884
+ generateSlug?: T;
1885
+ slug?: T;
1886
+ sku?: T;
1887
+ status?: T;
1888
+ isSoldOut?: T;
1889
+ thumbnail?: T;
1890
+ images?: T;
1891
+ description?: T;
1892
+ price?: T;
1893
+ compareAtPrice?: T;
1894
+ categories?: T;
1895
+ tags?: T;
1896
+ brand?: T;
1897
+ variants?: T;
1898
+ options?: T;
1899
+ updatedAt?: T;
1900
+ createdAt?: T;
1901
+ }
1902
+ /**
1903
+ * This interface was referenced by `Config`'s JSON-Schema
1904
+ * via the `definition` "product-variants_select".
1905
+ */
1906
+ interface ProductVariantsSelect<T extends boolean = true> {
1907
+ _order?: T;
1908
+ '_product-variants_variants_order'?: T;
1909
+ tenant?: T;
1910
+ product?: T;
1911
+ title?: T;
1912
+ sku?: T;
1913
+ price?: T;
1914
+ images?: T;
1915
+ productOptions?: T;
1916
+ updatedAt?: T;
1917
+ createdAt?: T;
1918
+ }
1919
+ /**
1920
+ * This interface was referenced by `Config`'s JSON-Schema
1921
+ * via the `definition` "product-options_select".
1922
+ */
1923
+ interface ProductOptionsSelect<T extends boolean = true> {
1924
+ _order?: T;
1925
+ '_product-options_productOptions_order'?: T;
1926
+ '_product-options_options_order'?: T;
1927
+ tenant?: T;
1928
+ product?: T;
1929
+ variant?: T;
1930
+ title?: T;
1931
+ sku?: T;
1932
+ stock?: T;
1933
+ priceAdjustment?: T;
1934
+ updatedAt?: T;
1935
+ createdAt?: T;
1936
+ }
1937
+ /**
1938
+ * This interface was referenced by `Config`'s JSON-Schema
1939
+ * via the `definition` "product-categories_select".
1940
+ */
1941
+ interface ProductCategoriesSelect<T extends boolean = true> {
1942
+ _order?: T;
1943
+ tenant?: T;
1944
+ title?: T;
1945
+ generateSlug?: T;
1946
+ slug?: T;
1947
+ description?: T;
1948
+ image?: T;
1949
+ parent?: T;
1950
+ updatedAt?: T;
1951
+ createdAt?: T;
1952
+ }
1953
+ /**
1954
+ * This interface was referenced by `Config`'s JSON-Schema
1955
+ * via the `definition` "product-tags_select".
1956
+ */
1957
+ interface ProductTagsSelect<T extends boolean = true> {
1958
+ _order?: T;
1959
+ tenant?: T;
1960
+ title?: T;
1961
+ generateSlug?: T;
1962
+ slug?: T;
1963
+ description?: T;
1964
+ updatedAt?: T;
1965
+ createdAt?: T;
1966
+ }
1967
+ /**
1968
+ * This interface was referenced by `Config`'s JSON-Schema
1969
+ * via the `definition` "product-images_select".
1970
+ */
1971
+ interface ProductImagesSelect<T extends boolean = true> {
1972
+ tenant?: T;
1973
+ alt?: T;
1974
+ lqip?: T;
1975
+ palette?: T | {
1976
+ vibrant?: T;
1977
+ muted?: T;
1978
+ darkVibrant?: T;
1979
+ darkMuted?: T;
1980
+ lightVibrant?: T;
1981
+ lightMuted?: T;
1982
+ };
1983
+ prefix?: T;
1984
+ updatedAt?: T;
1985
+ createdAt?: T;
1986
+ url?: T;
1987
+ thumbnailURL?: T;
1988
+ filename?: T;
1989
+ mimeType?: T;
1990
+ filesize?: T;
1991
+ width?: T;
1992
+ height?: T;
1993
+ focalX?: T;
1994
+ focalY?: T;
1995
+ sizes?: T | {
1996
+ '512'?: T | {
1997
+ url?: T;
1998
+ width?: T;
1999
+ height?: T;
2000
+ mimeType?: T;
2001
+ filesize?: T;
2002
+ filename?: T;
2003
+ };
2004
+ '1024'?: T | {
2005
+ url?: T;
2006
+ width?: T;
2007
+ height?: T;
2008
+ mimeType?: T;
2009
+ filesize?: T;
2010
+ filename?: T;
2011
+ };
2012
+ };
2013
+ }
2014
+ /**
2015
+ * This interface was referenced by `Config`'s JSON-Schema
2016
+ * via the `definition` "brands_select".
2017
+ */
2018
+ interface BrandsSelect<T extends boolean = true> {
2019
+ _order?: T;
2020
+ tenant?: T;
2021
+ name?: T;
2022
+ generateSlug?: T;
2023
+ slug?: T;
2024
+ logo?: T;
2025
+ logoDark?: T;
2026
+ logomark?: T;
2027
+ description?: T;
2028
+ website?: T;
2029
+ updatedAt?: T;
2030
+ createdAt?: T;
2031
+ }
2032
+ /**
2033
+ * This interface was referenced by `Config`'s JSON-Schema
2034
+ * via the `definition` "brand-logos_select".
2035
+ */
2036
+ interface BrandLogosSelect<T extends boolean = true> {
2037
+ tenant?: T;
2038
+ alt?: T;
2039
+ lqip?: T;
2040
+ palette?: T | {
2041
+ vibrant?: T;
2042
+ muted?: T;
2043
+ darkVibrant?: T;
2044
+ darkMuted?: T;
2045
+ lightVibrant?: T;
2046
+ lightMuted?: T;
2047
+ };
2048
+ prefix?: T;
2049
+ updatedAt?: T;
2050
+ createdAt?: T;
2051
+ url?: T;
2052
+ thumbnailURL?: T;
2053
+ filename?: T;
2054
+ mimeType?: T;
2055
+ filesize?: T;
2056
+ width?: T;
2057
+ height?: T;
2058
+ focalX?: T;
2059
+ focalY?: T;
2060
+ }
2061
+ /**
2062
+ * This interface was referenced by `Config`'s JSON-Schema
2063
+ * via the `definition` "orders_select".
2064
+ */
2065
+ interface OrdersSelect<T extends boolean = true> {
2066
+ tenant?: T;
2067
+ orderNumber?: T;
2068
+ status?: T;
2069
+ customer?: T | {
2070
+ name?: T;
2071
+ email?: T;
2072
+ phone?: T;
2073
+ };
2074
+ totalAmount?: T;
2075
+ shippingCarrier?: T;
2076
+ trackingNumber?: T;
2077
+ notes?: T;
2078
+ shippingAddress?: T | {
2079
+ recipientName?: T;
2080
+ phone?: T;
2081
+ postalCode?: T;
2082
+ address1?: T;
2083
+ address2?: T;
2084
+ deliveryMessage?: T;
2085
+ };
2086
+ products?: T;
2087
+ transactions?: T;
2088
+ returns?: T;
2089
+ updatedAt?: T;
2090
+ createdAt?: T;
2091
+ }
2092
+ /**
2093
+ * This interface was referenced by `Config`'s JSON-Schema
2094
+ * via the `definition` "order-products_select".
2095
+ */
2096
+ interface OrderProductsSelect<T extends boolean = true> {
2097
+ tenant?: T;
2098
+ order?: T;
2099
+ product?: T;
2100
+ variant?: T;
2101
+ option?: T;
2102
+ quantity?: T;
2103
+ unitPrice?: T;
2104
+ totalPrice?: T;
2105
+ title?: T;
2106
+ updatedAt?: T;
2107
+ createdAt?: T;
2108
+ }
2109
+ /**
2110
+ * This interface was referenced by `Config`'s JSON-Schema
2111
+ * via the `definition` "returns_select".
2112
+ */
2113
+ interface ReturnsSelect<T extends boolean = true> {
2114
+ tenant?: T;
2115
+ order?: T;
2116
+ status?: T;
2117
+ reason?: T;
2118
+ reasonDetail?: T;
2119
+ returnProducts?: T;
2120
+ refundAmount?: T;
2121
+ updatedAt?: T;
2122
+ createdAt?: T;
2123
+ }
2124
+ /**
2125
+ * This interface was referenced by `Config`'s JSON-Schema
2126
+ * via the `definition` "return-products_select".
2127
+ */
2128
+ interface ReturnProductsSelect<T extends boolean = true> {
2129
+ tenant?: T;
2130
+ return?: T;
2131
+ order?: T;
2132
+ status?: T;
2133
+ orderProduct?: T;
2134
+ product?: T;
2135
+ variant?: T;
2136
+ option?: T;
2137
+ quantity?: T;
2138
+ title?: T;
2139
+ updatedAt?: T;
2140
+ createdAt?: T;
2141
+ }
2142
+ /**
2143
+ * This interface was referenced by `Config`'s JSON-Schema
2144
+ * via the `definition` "transactions_select".
2145
+ */
2146
+ interface TransactionsSelect<T extends boolean = true> {
2147
+ tenant?: T;
2148
+ status?: T;
2149
+ order?: T;
2150
+ paymentId?: T;
2151
+ paymentMethod?: T;
2152
+ receiptUrl?: T;
2153
+ totalAmount?: T;
2154
+ updatedAt?: T;
2155
+ createdAt?: T;
2156
+ }
2157
+ /**
2158
+ * This interface was referenced by `Config`'s JSON-Schema
2159
+ * via the `definition` "posts_select".
2160
+ */
2161
+ interface PostsSelect<T extends boolean = true> {
2162
+ _order?: T;
2163
+ tenant?: T;
2164
+ thumbnail?: T;
2165
+ title?: T;
2166
+ subtitle?: T;
2167
+ generateSlug?: T;
2168
+ slug?: T;
2169
+ author?: T;
2170
+ excerpt?: T;
2171
+ publishedAt?: T;
2172
+ categories?: T;
2173
+ tags?: T;
2174
+ content?: T;
2175
+ updatedAt?: T;
2176
+ createdAt?: T;
2177
+ _status?: T;
2178
+ }
2179
+ /**
2180
+ * This interface was referenced by `Config`'s JSON-Schema
2181
+ * via the `definition` "post-categories_select".
2182
+ */
2183
+ interface PostCategoriesSelect<T extends boolean = true> {
2184
+ _order?: T;
2185
+ tenant?: T;
2186
+ title?: T;
2187
+ generateSlug?: T;
2188
+ slug?: T;
2189
+ description?: T;
2190
+ parent?: T;
2191
+ updatedAt?: T;
2192
+ createdAt?: T;
2193
+ }
2194
+ /**
2195
+ * This interface was referenced by `Config`'s JSON-Schema
2196
+ * via the `definition` "post-tags_select".
2197
+ */
2198
+ interface PostTagsSelect<T extends boolean = true> {
2199
+ _order?: T;
2200
+ tenant?: T;
2201
+ title?: T;
2202
+ generateSlug?: T;
2203
+ slug?: T;
2204
+ description?: T;
2205
+ updatedAt?: T;
2206
+ createdAt?: T;
2207
+ }
2208
+ /**
2209
+ * This interface was referenced by `Config`'s JSON-Schema
2210
+ * via the `definition` "post-images_select".
2211
+ */
2212
+ interface PostImagesSelect<T extends boolean = true> {
2213
+ tenant?: T;
2214
+ alt?: T;
2215
+ lqip?: T;
2216
+ palette?: T | {
2217
+ vibrant?: T;
2218
+ muted?: T;
2219
+ darkVibrant?: T;
2220
+ darkMuted?: T;
2221
+ lightVibrant?: T;
2222
+ lightMuted?: T;
2223
+ };
2224
+ prefix?: T;
2225
+ updatedAt?: T;
2226
+ createdAt?: T;
2227
+ url?: T;
2228
+ thumbnailURL?: T;
2229
+ filename?: T;
2230
+ mimeType?: T;
2231
+ filesize?: T;
2232
+ width?: T;
2233
+ height?: T;
2234
+ focalX?: T;
2235
+ focalY?: T;
2236
+ sizes?: T | {
2237
+ '512'?: T | {
2238
+ url?: T;
2239
+ width?: T;
2240
+ height?: T;
2241
+ mimeType?: T;
2242
+ filesize?: T;
2243
+ filename?: T;
2244
+ };
2245
+ '1024'?: T | {
2246
+ url?: T;
2247
+ width?: T;
2248
+ height?: T;
2249
+ mimeType?: T;
2250
+ filesize?: T;
2251
+ filename?: T;
2252
+ };
2253
+ };
2254
+ }
2255
+ /**
2256
+ * This interface was referenced by `Config`'s JSON-Schema
2257
+ * via the `definition` "authors_select".
2258
+ */
2259
+ interface AuthorsSelect<T extends boolean = true> {
2260
+ _order?: T;
2261
+ tenant?: T;
2262
+ name?: T;
2263
+ generateSlug?: T;
2264
+ slug?: T;
2265
+ avatar?: T;
2266
+ bio?: T;
2267
+ posts?: T;
2268
+ updatedAt?: T;
2269
+ createdAt?: T;
2270
+ }
2271
+ /**
2272
+ * This interface was referenced by `Config`'s JSON-Schema
2273
+ * via the `definition` "documents_select".
2274
+ */
2275
+ interface DocumentsSelect<T extends boolean = true> {
2276
+ _order?: T;
2277
+ tenant?: T;
2278
+ title?: T;
2279
+ generateSlug?: T;
2280
+ slug?: T;
2281
+ type?: T;
2282
+ version?: T;
2283
+ effectiveDate?: T;
2284
+ expiryDate?: T;
2285
+ summary?: T;
2286
+ content?: T;
2287
+ category?: T;
2288
+ tags?: T | {
2289
+ tag?: T;
2290
+ id?: T;
2291
+ };
2292
+ isRequired?: T;
2293
+ changeLog?: T;
2294
+ updatedAt?: T;
2295
+ createdAt?: T;
2296
+ _status?: T;
2297
+ }
2298
+ /**
2299
+ * This interface was referenced by `Config`'s JSON-Schema
2300
+ * via the `definition` "document-categories_select".
2301
+ */
2302
+ interface DocumentCategoriesSelect<T extends boolean = true> {
2303
+ _order?: T;
2304
+ tenant?: T;
2305
+ title?: T;
2306
+ generateSlug?: T;
2307
+ slug?: T;
2308
+ description?: T;
2309
+ updatedAt?: T;
2310
+ createdAt?: T;
2311
+ }
2312
+ /**
2313
+ * This interface was referenced by `Config`'s JSON-Schema
2314
+ * via the `definition` "document-images_select".
2315
+ */
2316
+ interface DocumentImagesSelect<T extends boolean = true> {
2317
+ tenant?: T;
2318
+ alt?: T;
2319
+ lqip?: T;
2320
+ palette?: T | {
2321
+ vibrant?: T;
2322
+ muted?: T;
2323
+ darkVibrant?: T;
2324
+ darkMuted?: T;
2325
+ lightVibrant?: T;
2326
+ lightMuted?: T;
2327
+ };
2328
+ prefix?: T;
2329
+ updatedAt?: T;
2330
+ createdAt?: T;
2331
+ url?: T;
2332
+ thumbnailURL?: T;
2333
+ filename?: T;
2334
+ mimeType?: T;
2335
+ filesize?: T;
2336
+ width?: T;
2337
+ height?: T;
2338
+ focalX?: T;
2339
+ focalY?: T;
2340
+ sizes?: T | {
2341
+ '512'?: T | {
2342
+ url?: T;
2343
+ width?: T;
2344
+ height?: T;
2345
+ mimeType?: T;
2346
+ filesize?: T;
2347
+ filename?: T;
2348
+ };
2349
+ '1024'?: T | {
2350
+ url?: T;
2351
+ width?: T;
2352
+ height?: T;
2353
+ mimeType?: T;
2354
+ filesize?: T;
2355
+ filename?: T;
2356
+ };
2357
+ };
2358
+ }
2359
+ /**
2360
+ * This interface was referenced by `Config`'s JSON-Schema
2361
+ * via the `definition` "playlists_select".
2362
+ */
2363
+ interface PlaylistsSelect<T extends boolean = true> {
2364
+ tenant?: T;
2365
+ image?: T;
2366
+ title?: T;
2367
+ generateSlug?: T;
2368
+ slug?: T;
2369
+ description?: T;
2370
+ musics?: T;
2371
+ updatedAt?: T;
2372
+ createdAt?: T;
2373
+ }
2374
+ /**
2375
+ * This interface was referenced by `Config`'s JSON-Schema
2376
+ * via the `definition` "playlist-images_select".
2377
+ */
2378
+ interface PlaylistImagesSelect<T extends boolean = true> {
2379
+ tenant?: T;
2380
+ alt?: T;
2381
+ lqip?: T;
2382
+ palette?: T | {
2383
+ vibrant?: T;
2384
+ muted?: T;
2385
+ darkVibrant?: T;
2386
+ darkMuted?: T;
2387
+ lightVibrant?: T;
2388
+ lightMuted?: T;
2389
+ };
2390
+ prefix?: T;
2391
+ updatedAt?: T;
2392
+ createdAt?: T;
2393
+ url?: T;
2394
+ thumbnailURL?: T;
2395
+ filename?: T;
2396
+ mimeType?: T;
2397
+ filesize?: T;
2398
+ width?: T;
2399
+ height?: T;
2400
+ focalX?: T;
2401
+ focalY?: T;
2402
+ sizes?: T | {
2403
+ '512'?: T | {
2404
+ url?: T;
2405
+ width?: T;
2406
+ height?: T;
2407
+ mimeType?: T;
2408
+ filesize?: T;
2409
+ filename?: T;
2410
+ };
2411
+ '1024'?: T | {
2412
+ url?: T;
2413
+ width?: T;
2414
+ height?: T;
2415
+ mimeType?: T;
2416
+ filesize?: T;
2417
+ filename?: T;
2418
+ };
2419
+ };
2420
+ }
2421
+ /**
2422
+ * This interface was referenced by `Config`'s JSON-Schema
2423
+ * via the `definition` "musics_select".
2424
+ */
2425
+ interface MusicsSelect<T extends boolean = true> {
2426
+ _musics_musics_order?: T;
2427
+ tenant?: T;
2428
+ playlist?: T;
2429
+ url?: T;
2430
+ title?: T;
2431
+ artist?: T;
2432
+ duration?: T;
2433
+ isValid?: T;
2434
+ updatedAt?: T;
2435
+ createdAt?: T;
2436
+ }
2437
+ /**
2438
+ * This interface was referenced by `Config`'s JSON-Schema
2439
+ * via the `definition` "galleries_select".
2440
+ */
2441
+ interface GalleriesSelect<T extends boolean = true> {
2442
+ _order?: T;
2443
+ tenant?: T;
2444
+ thumbnail?: T;
2445
+ title?: T;
2446
+ generateSlug?: T;
2447
+ slug?: T;
2448
+ description?: T;
2449
+ images?: T;
2450
+ updatedAt?: T;
2451
+ createdAt?: T;
2452
+ }
2453
+ /**
2454
+ * This interface was referenced by `Config`'s JSON-Schema
2455
+ * via the `definition` "gallery-images_select".
2456
+ */
2457
+ interface GalleryImagesSelect<T extends boolean = true> {
2458
+ tenant?: T;
2459
+ alt?: T;
2460
+ lqip?: T;
2461
+ palette?: T | {
2462
+ vibrant?: T;
2463
+ muted?: T;
2464
+ darkVibrant?: T;
2465
+ darkMuted?: T;
2466
+ lightVibrant?: T;
2467
+ lightMuted?: T;
2468
+ };
2469
+ prefix?: T;
2470
+ updatedAt?: T;
2471
+ createdAt?: T;
2472
+ url?: T;
2473
+ thumbnailURL?: T;
2474
+ filename?: T;
2475
+ mimeType?: T;
2476
+ filesize?: T;
2477
+ width?: T;
2478
+ height?: T;
2479
+ focalX?: T;
2480
+ focalY?: T;
2481
+ sizes?: T | {
2482
+ '512'?: T | {
2483
+ url?: T;
2484
+ width?: T;
2485
+ height?: T;
2486
+ mimeType?: T;
2487
+ filesize?: T;
2488
+ filename?: T;
2489
+ };
2490
+ '1024'?: T | {
2491
+ url?: T;
2492
+ width?: T;
2493
+ height?: T;
2494
+ mimeType?: T;
2495
+ filesize?: T;
2496
+ filename?: T;
2497
+ };
2498
+ };
2499
+ }
2500
+ /**
2501
+ * This interface was referenced by `Config`'s JSON-Schema
2502
+ * via the `definition` "forms_select".
2503
+ */
2504
+ interface FormsSelect<T extends boolean = true> {
2505
+ title?: T;
2506
+ description?: T;
2507
+ fields?: T | {
2508
+ checkbox?: T | {
2509
+ name?: T;
2510
+ label?: T;
2511
+ width?: T;
2512
+ required?: T;
2513
+ defaultValue?: T;
2514
+ id?: T;
2515
+ blockName?: T;
2516
+ };
2517
+ country?: T | {
2518
+ name?: T;
2519
+ label?: T;
2520
+ width?: T;
2521
+ required?: T;
2522
+ id?: T;
2523
+ blockName?: T;
2524
+ };
2525
+ email?: T | {
2526
+ name?: T;
2527
+ label?: T;
2528
+ width?: T;
2529
+ required?: T;
2530
+ id?: T;
2531
+ blockName?: T;
2532
+ };
2533
+ message?: T | {
2534
+ message?: T;
2535
+ id?: T;
2536
+ blockName?: T;
2537
+ };
2538
+ number?: T | {
2539
+ name?: T;
2540
+ label?: T;
2541
+ width?: T;
2542
+ defaultValue?: T;
2543
+ required?: T;
2544
+ id?: T;
2545
+ blockName?: T;
2546
+ };
2547
+ select?: T | {
2548
+ name?: T;
2549
+ label?: T;
2550
+ width?: T;
2551
+ defaultValue?: T;
2552
+ placeholder?: T;
2553
+ options?: T | {
2554
+ label?: T;
2555
+ value?: T;
2556
+ id?: T;
2557
+ };
2558
+ required?: T;
2559
+ id?: T;
2560
+ blockName?: T;
2561
+ };
2562
+ state?: T | {
2563
+ name?: T;
2564
+ label?: T;
2565
+ width?: T;
2566
+ required?: T;
2567
+ id?: T;
2568
+ blockName?: T;
2569
+ };
2570
+ text?: T | {
2571
+ name?: T;
2572
+ label?: T;
2573
+ width?: T;
2574
+ defaultValue?: T;
2575
+ required?: T;
2576
+ placeholder?: T;
2577
+ id?: T;
2578
+ blockName?: T;
2579
+ };
2580
+ textarea?: T | {
2581
+ name?: T;
2582
+ label?: T;
2583
+ width?: T;
2584
+ defaultValue?: T;
2585
+ required?: T;
2586
+ id?: T;
2587
+ blockName?: T;
2588
+ };
2589
+ };
2590
+ submitButtonLabel?: T;
2591
+ confirmationType?: T;
2592
+ confirmationMessage?: T;
2593
+ redirect?: T | {
2594
+ url?: T;
2595
+ };
2596
+ emails?: T | {
2597
+ emailTo?: T;
2598
+ cc?: T;
2599
+ bcc?: T;
2600
+ replyTo?: T;
2601
+ emailFrom?: T;
2602
+ subject?: T;
2603
+ message?: T;
2604
+ id?: T;
2605
+ };
2606
+ updatedAt?: T;
2607
+ createdAt?: T;
2608
+ }
2609
+ /**
2610
+ * This interface was referenced by `Config`'s JSON-Schema
2611
+ * via the `definition` "form-submissions_select".
2612
+ */
2613
+ interface FormSubmissionsSelect<T extends boolean = true> {
2614
+ form?: T;
2615
+ submissionData?: T | {
2616
+ field?: T;
2617
+ value?: T;
2618
+ id?: T;
2619
+ };
2620
+ updatedAt?: T;
2621
+ createdAt?: T;
2622
+ }
2623
+ /**
2624
+ * This interface was referenced by `Config`'s JSON-Schema
2625
+ * via the `definition` "payload-kv_select".
2626
+ */
2627
+ interface PayloadKvSelect<T extends boolean = true> {
2628
+ key?: T;
2629
+ data?: T;
2630
+ }
2631
+ /**
2632
+ * This interface was referenced by `Config`'s JSON-Schema
2633
+ * via the `definition` "payload-locked-documents_select".
2634
+ */
2635
+ interface PayloadLockedDocumentsSelect<T extends boolean = true> {
2636
+ document?: T;
2637
+ globalSlug?: T;
2638
+ user?: T;
2639
+ updatedAt?: T;
2640
+ createdAt?: T;
2641
+ }
2642
+ /**
2643
+ * This interface was referenced by `Config`'s JSON-Schema
2644
+ * via the `definition` "payload-preferences_select".
2645
+ */
2646
+ interface PayloadPreferencesSelect<T extends boolean = true> {
2647
+ user?: T;
2648
+ key?: T;
2649
+ value?: T;
2650
+ updatedAt?: T;
2651
+ createdAt?: T;
2652
+ }
2653
+ /**
2654
+ * This interface was referenced by `Config`'s JSON-Schema
2655
+ * via the `definition` "payload-migrations_select".
2656
+ */
2657
+ interface PayloadMigrationsSelect<T extends boolean = true> {
2658
+ name?: T;
2659
+ batch?: T;
2660
+ updatedAt?: T;
2661
+ createdAt?: T;
2662
+ }
2663
+ /**
2664
+ * This interface was referenced by `Config`'s JSON-Schema
2665
+ * via the `definition` "auth".
2666
+ */
2667
+ interface Auth {
2668
+ [k: string]: unknown;
2669
+ }
2670
+ declare module 'payload' {
2671
+ interface GeneratedTypes extends Config {
2672
+ }
2673
+ }
2674
+
2675
+ export type { ProductOptionsSelect as $, ApiUsage as A, BrandLogo as B, Config as C, Document as D, PayloadKv as E, Form as F, Gallery as G, PayloadLockedDocument as H, IframeBlock as I, PayloadPreference as J, PayloadMigration as K, UsersSelect as L, Media as M, MediaSelect as N, Order as O, ProductOption as P, TenantsSelect as Q, Return as R, SupportedTimezones as S, Transaction as T, UserAuthOperations as U, TenantMetadataSelect as V, TenantLogosSelect as W, TenantOgImagesSelect as X, ApiUsageSelect as Y, ProductsSelect as Z, ProductVariantsSelect as _, OrderProduct as a, ProductCategoriesSelect as a0, ProductTagsSelect as a1, ProductImagesSelect as a2, BrandsSelect as a3, BrandLogosSelect as a4, OrdersSelect as a5, OrderProductsSelect as a6, ReturnsSelect as a7, ReturnProductsSelect as a8, TransactionsSelect as a9, PostsSelect as aa, PostCategoriesSelect as ab, PostTagsSelect as ac, PostImagesSelect as ad, AuthorsSelect as ae, DocumentsSelect as af, DocumentCategoriesSelect as ag, DocumentImagesSelect as ah, PlaylistsSelect as ai, PlaylistImagesSelect as aj, MusicsSelect as ak, GalleriesSelect as al, GalleryImagesSelect as am, FormsSelect as an, FormSubmissionsSelect as ao, PayloadKvSelect as ap, PayloadLockedDocumentsSelect as aq, PayloadPreferencesSelect as ar, PayloadMigrationsSelect as as, Auth as at, PlayerBlock as b, User as c, Tenant as d, TenantMetadatum as e, TenantOgImage as f, TenantLogo as g, Product as h, ProductImage as i, ProductCategory as j, ProductTag as k, Brand as l, ProductVariant as m, ReturnProduct as n, Post as o, PostImage as p, Author as q, PostCategory as r, PostTag as s, DocumentCategory as t, DocumentImage as u, Playlist as v, PlaylistImage as w, Music as x, GalleryImage as y, FormSubmission as z };