@01.software/sdk 0.1.5 → 0.1.7

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.
@@ -13,6 +13,7 @@ type SupportedTimezones = 'Pacific/Midway' | 'Pacific/Niue' | 'Pacific/Honolulu'
13
13
  interface Config {
14
14
  auth: {
15
15
  users: UserAuthOperations;
16
+ customers: CustomerAuthOperations;
16
17
  };
17
18
  blocks: {
18
19
  Player: PlayerBlock;
@@ -43,7 +44,19 @@ interface Config {
43
44
  'order-products': OrderProduct;
44
45
  returns: Return;
45
46
  'return-products': ReturnProduct;
47
+ exchanges: Exchange;
48
+ 'exchange-products': ExchangeProduct;
49
+ fulfillments: Fulfillment;
50
+ 'fulfillment-items': FulfillmentItem;
46
51
  transactions: Transaction;
52
+ customers: Customer;
53
+ 'customer-addresses': CustomerAddress;
54
+ 'customer-groups': CustomerGroup;
55
+ 'customer-group-images': CustomerGroupImage;
56
+ carts: Cart;
57
+ 'cart-items': CartItem;
58
+ discounts: Discount;
59
+ 'shipping-policies': ShippingPolicy;
47
60
  posts: Post;
48
61
  'post-categories': PostCategory;
49
62
  'post-tags': PostTag;
@@ -76,10 +89,28 @@ interface Config {
76
89
  products: 'order-products';
77
90
  transactions: 'transactions';
78
91
  returns: 'returns';
92
+ exchanges: 'exchanges';
93
+ fulfillments: 'fulfillments';
79
94
  };
80
95
  returns: {
81
96
  returnProducts: 'return-products';
82
97
  };
98
+ exchanges: {
99
+ exchangeProducts: 'exchange-products';
100
+ };
101
+ fulfillments: {
102
+ items: 'fulfillment-items';
103
+ };
104
+ customers: {
105
+ orders: 'orders';
106
+ addresses: 'customer-addresses';
107
+ };
108
+ 'customer-groups': {
109
+ customers: 'customers';
110
+ };
111
+ carts: {
112
+ items: 'cart-items';
113
+ };
83
114
  authors: {
84
115
  posts: 'posts';
85
116
  };
@@ -111,7 +142,19 @@ interface Config {
111
142
  'order-products': OrderProductsSelect<false> | OrderProductsSelect<true>;
112
143
  returns: ReturnsSelect<false> | ReturnsSelect<true>;
113
144
  'return-products': ReturnProductsSelect<false> | ReturnProductsSelect<true>;
145
+ exchanges: ExchangesSelect<false> | ExchangesSelect<true>;
146
+ 'exchange-products': ExchangeProductsSelect<false> | ExchangeProductsSelect<true>;
147
+ fulfillments: FulfillmentsSelect<false> | FulfillmentsSelect<true>;
148
+ 'fulfillment-items': FulfillmentItemsSelect<false> | FulfillmentItemsSelect<true>;
114
149
  transactions: TransactionsSelect<false> | TransactionsSelect<true>;
150
+ customers: CustomersSelect<false> | CustomersSelect<true>;
151
+ 'customer-addresses': CustomerAddressesSelect<false> | CustomerAddressesSelect<true>;
152
+ 'customer-groups': CustomerGroupsSelect<false> | CustomerGroupsSelect<true>;
153
+ 'customer-group-images': CustomerGroupImagesSelect<false> | CustomerGroupImagesSelect<true>;
154
+ carts: CartsSelect<false> | CartsSelect<true>;
155
+ 'cart-items': CartItemsSelect<false> | CartItemsSelect<true>;
156
+ discounts: DiscountsSelect<false> | DiscountsSelect<true>;
157
+ 'shipping-policies': ShippingPoliciesSelect<false> | ShippingPoliciesSelect<true>;
115
158
  posts: PostsSelect<false> | PostsSelect<true>;
116
159
  'post-categories': PostCategoriesSelect<false> | PostCategoriesSelect<true>;
117
160
  'post-tags': PostTagsSelect<false> | PostTagsSelect<true>;
@@ -139,7 +182,7 @@ interface Config {
139
182
  globals: {};
140
183
  globalsSelect: {};
141
184
  locale: null;
142
- user: User;
185
+ user: User | Customer;
143
186
  jobs: {
144
187
  tasks: unknown;
145
188
  workflows: unknown;
@@ -163,6 +206,24 @@ interface UserAuthOperations {
163
206
  password: string;
164
207
  };
165
208
  }
209
+ interface CustomerAuthOperations {
210
+ forgotPassword: {
211
+ email: string;
212
+ password: string;
213
+ };
214
+ login: {
215
+ email: string;
216
+ password: string;
217
+ };
218
+ registerFirstUser: {
219
+ email: string;
220
+ password: string;
221
+ };
222
+ unlock: {
223
+ email: string;
224
+ password: string;
225
+ };
226
+ }
166
227
  /**
167
228
  * This interface was referenced by `Config`'s JSON-Schema
168
229
  * via the `definition` "PlayerBlock".
@@ -204,7 +265,7 @@ interface CodeBlock {
204
265
  */
205
266
  interface User {
206
267
  id: number;
207
- roles: ('super-admin' | 'user' | 'customer')[];
268
+ roles: ('super-admin' | 'user')[];
208
269
  tenants?: {
209
270
  tenant: number | Tenant;
210
271
  roles: ('tenant-admin' | 'tenant-viewer')[];
@@ -239,7 +300,13 @@ interface User {
239
300
  interface Tenant {
240
301
  id: number;
241
302
  name: string;
242
- domain?: string | null;
303
+ /**
304
+ * Allowed CORS origins for browser SDK requests. Empty = all origins allowed.
305
+ */
306
+ cors?: {
307
+ origin: string;
308
+ id?: string | null;
309
+ }[] | null;
243
310
  features?: ('ecommerce' | 'playlists' | 'links' | 'forms' | 'galleries' | 'posts' | 'documents')[] | null;
244
311
  plan: 'free' | 'starter' | 'basic' | 'pro' | 'enterprise';
245
312
  clientKey: string;
@@ -887,6 +954,10 @@ interface Product {
887
954
  categories?: (number | ProductCategory)[] | null;
888
955
  tags?: (number | ProductTag)[] | null;
889
956
  brand?: (number | null) | Brand;
957
+ shippingPolicy?: (number | null) | ShippingPolicy;
958
+ metadata?: {
959
+ [k: string]: unknown;
960
+ } | unknown[] | string | number | boolean | null;
890
961
  variants?: {
891
962
  docs?: (number | ProductVariant)[];
892
963
  hasNextPage?: boolean;
@@ -897,6 +968,20 @@ interface Product {
897
968
  hasNextPage?: boolean;
898
969
  totalDocs?: number;
899
970
  };
971
+ meta?: {
972
+ /**
973
+ * 검색엔진에 표시되는 제목입니다. 한글 기준 30자, 영문 기준 60자 이내를 권장합니다.
974
+ */
975
+ title?: string | null;
976
+ /**
977
+ * 검색엔진에 표시되는 설명입니다. 한글 기준 80자, 영문 기준 160자 이내를 권장합니다.
978
+ */
979
+ description?: string | null;
980
+ /**
981
+ * SNS 공유 시 표시되는 이미지입니다. 1200x630px 권장.
982
+ */
983
+ image?: (number | null) | Media;
984
+ };
900
985
  updatedAt: string;
901
986
  createdAt: string;
902
987
  }
@@ -1024,6 +1109,38 @@ interface Brand {
1024
1109
  updatedAt: string;
1025
1110
  createdAt: string;
1026
1111
  }
1112
+ /**
1113
+ * This interface was referenced by `Config`'s JSON-Schema
1114
+ * via the `definition` "shipping-policies".
1115
+ */
1116
+ interface ShippingPolicy {
1117
+ id: number;
1118
+ _order?: string | null;
1119
+ tenant?: (number | null) | Tenant;
1120
+ /**
1121
+ * e.g. 기본 배송비, 대형 상품
1122
+ */
1123
+ title: string;
1124
+ /**
1125
+ * Base shipping fee
1126
+ */
1127
+ baseFee: number;
1128
+ /**
1129
+ * Free shipping above this amount (empty = no free shipping)
1130
+ */
1131
+ freeShippingThreshold?: number | null;
1132
+ /**
1133
+ * Extra fee for Jeju island
1134
+ */
1135
+ jejuExtraFee?: number | null;
1136
+ /**
1137
+ * Extra fee for remote islands
1138
+ */
1139
+ islandExtraFee?: number | null;
1140
+ isDefault?: boolean | null;
1141
+ updatedAt: string;
1142
+ createdAt: string;
1143
+ }
1027
1144
  /**
1028
1145
  * This interface was referenced by `Config`'s JSON-Schema
1029
1146
  * via the `definition` "product-variants".
@@ -1043,8 +1160,19 @@ interface ProductVariant {
1043
1160
  * Override price (uses product price if empty)
1044
1161
  */
1045
1162
  price?: number | null;
1163
+ /**
1164
+ * Barcode (EAN, UPC, etc.)
1165
+ */
1166
+ barcode?: string | null;
1167
+ /**
1168
+ * Weight in grams (g)
1169
+ */
1170
+ weight?: number | null;
1046
1171
  isSoldOut?: boolean | null;
1047
1172
  images?: (number | ProductImage)[] | null;
1173
+ metadata?: {
1174
+ [k: string]: unknown;
1175
+ } | unknown[] | string | number | boolean | null;
1048
1176
  productOptions?: {
1049
1177
  docs?: (number | ProductOption)[];
1050
1178
  hasNextPage?: boolean;
@@ -1071,6 +1199,10 @@ interface ProductOption {
1071
1199
  */
1072
1200
  sku?: string | null;
1073
1201
  stock: number;
1202
+ /**
1203
+ * Reserved by carts (available = stock - reservedStock)
1204
+ */
1205
+ reservedStock?: number | null;
1074
1206
  /**
1075
1207
  * Price adjustment (add/subtract from base price)
1076
1208
  */
@@ -1087,14 +1219,18 @@ interface Order {
1087
1219
  tenant?: (number | null) | Tenant;
1088
1220
  orderNumber: string;
1089
1221
  status: 'pending' | 'paid' | 'failed' | 'canceled' | 'preparing' | 'shipped' | 'delivered' | 'confirmed' | 'return_requested' | 'return_processing' | 'returned';
1090
- customer?: {
1222
+ customer?: (number | null) | Customer;
1223
+ /**
1224
+ * Customer info at the time of order
1225
+ */
1226
+ customerSnapshot?: {
1091
1227
  name?: string | null;
1092
1228
  email?: string | null;
1093
1229
  phone?: string | null;
1094
1230
  };
1095
1231
  totalAmount?: number | null;
1096
- shippingCarrier?: ('cj' | 'hanjin' | 'lotte' | 'epost' | 'logen' | 'other') | null;
1097
- trackingNumber?: string | null;
1232
+ discountCode?: string | null;
1233
+ discountAmount?: number | null;
1098
1234
  /**
1099
1235
  * Internal notes (not visible to customers)
1100
1236
  */
@@ -1122,6 +1258,154 @@ interface Order {
1122
1258
  hasNextPage?: boolean;
1123
1259
  totalDocs?: number;
1124
1260
  };
1261
+ exchanges?: {
1262
+ docs?: (number | Exchange)[];
1263
+ hasNextPage?: boolean;
1264
+ totalDocs?: number;
1265
+ };
1266
+ fulfillments?: {
1267
+ docs?: (number | Fulfillment)[];
1268
+ hasNextPage?: boolean;
1269
+ totalDocs?: number;
1270
+ };
1271
+ updatedAt: string;
1272
+ createdAt: string;
1273
+ }
1274
+ /**
1275
+ * This interface was referenced by `Config`'s JSON-Schema
1276
+ * via the `definition` "customers".
1277
+ */
1278
+ interface Customer {
1279
+ id: number;
1280
+ tenant?: (number | null) | Tenant;
1281
+ name: string;
1282
+ email?: string | null;
1283
+ phone?: string | null;
1284
+ hashedPassword?: string | null;
1285
+ salt?: string | null;
1286
+ isGuest?: boolean | null;
1287
+ isVerified?: boolean | null;
1288
+ verificationToken?: string | null;
1289
+ resetPasswordToken?: string | null;
1290
+ resetPasswordExpiry?: string | null;
1291
+ loginAttempts?: number | null;
1292
+ lockedUntil?: string | null;
1293
+ /**
1294
+ * Internal notes (not visible to customers)
1295
+ */
1296
+ note?: string | null;
1297
+ metadata?: {
1298
+ [k: string]: unknown;
1299
+ } | unknown[] | string | number | boolean | null;
1300
+ groups?: (number | CustomerGroup)[] | null;
1301
+ orders?: {
1302
+ docs?: (number | Order)[];
1303
+ hasNextPage?: boolean;
1304
+ totalDocs?: number;
1305
+ };
1306
+ addresses?: {
1307
+ docs?: (number | CustomerAddress)[];
1308
+ hasNextPage?: boolean;
1309
+ totalDocs?: number;
1310
+ };
1311
+ updatedAt: string;
1312
+ createdAt: string;
1313
+ collection: 'customers';
1314
+ }
1315
+ /**
1316
+ * This interface was referenced by `Config`'s JSON-Schema
1317
+ * via the `definition` "customer-groups".
1318
+ */
1319
+ interface CustomerGroup {
1320
+ id: number;
1321
+ tenant?: (number | null) | Tenant;
1322
+ title: string;
1323
+ /**
1324
+ * When enabled, the slug will auto-generate from the title field on save and autosave.
1325
+ */
1326
+ generateSlug?: boolean | null;
1327
+ slug?: string | null;
1328
+ description?: string | null;
1329
+ color?: string | null;
1330
+ image?: (number | null) | CustomerGroupImage;
1331
+ metadata?: {
1332
+ [k: string]: unknown;
1333
+ } | unknown[] | string | number | boolean | null;
1334
+ customers?: {
1335
+ docs?: (number | Customer)[];
1336
+ hasNextPage?: boolean;
1337
+ totalDocs?: number;
1338
+ };
1339
+ updatedAt: string;
1340
+ createdAt: string;
1341
+ }
1342
+ /**
1343
+ * This interface was referenced by `Config`'s JSON-Schema
1344
+ * via the `definition` "customer-group-images".
1345
+ */
1346
+ interface CustomerGroupImage {
1347
+ id: number;
1348
+ tenant?: (number | null) | Tenant;
1349
+ alt?: string | null;
1350
+ lqip?: string | null;
1351
+ palette?: {
1352
+ vibrant?: string | null;
1353
+ muted?: string | null;
1354
+ darkVibrant?: string | null;
1355
+ darkMuted?: string | null;
1356
+ lightVibrant?: string | null;
1357
+ lightMuted?: string | null;
1358
+ };
1359
+ prefix?: string | null;
1360
+ updatedAt: string;
1361
+ createdAt: string;
1362
+ url?: string | null;
1363
+ thumbnailURL?: string | null;
1364
+ filename?: string | null;
1365
+ mimeType?: string | null;
1366
+ filesize?: number | null;
1367
+ width?: number | null;
1368
+ height?: number | null;
1369
+ focalX?: number | null;
1370
+ focalY?: number | null;
1371
+ sizes?: {
1372
+ '512'?: {
1373
+ url?: string | null;
1374
+ width?: number | null;
1375
+ height?: number | null;
1376
+ mimeType?: string | null;
1377
+ filesize?: number | null;
1378
+ filename?: string | null;
1379
+ };
1380
+ '1024'?: {
1381
+ url?: string | null;
1382
+ width?: number | null;
1383
+ height?: number | null;
1384
+ mimeType?: string | null;
1385
+ filesize?: number | null;
1386
+ filename?: string | null;
1387
+ };
1388
+ };
1389
+ }
1390
+ /**
1391
+ * This interface was referenced by `Config`'s JSON-Schema
1392
+ * via the `definition` "customer-addresses".
1393
+ */
1394
+ interface CustomerAddress {
1395
+ id: number;
1396
+ tenant?: (number | null) | Tenant;
1397
+ customer: number | Customer;
1398
+ label?: string | null;
1399
+ recipientName?: string | null;
1400
+ phone?: string | null;
1401
+ postalCode?: string | null;
1402
+ address1?: string | null;
1403
+ address2?: string | null;
1404
+ isDefault?: boolean | null;
1405
+ /**
1406
+ * Default delivery message
1407
+ */
1408
+ deliveryMessage?: string | null;
1125
1409
  updatedAt: string;
1126
1410
  createdAt: string;
1127
1411
  }
@@ -1207,6 +1491,190 @@ interface ReturnProduct {
1207
1491
  updatedAt: string;
1208
1492
  createdAt: string;
1209
1493
  }
1494
+ /**
1495
+ * This interface was referenced by `Config`'s JSON-Schema
1496
+ * via the `definition` "exchanges".
1497
+ */
1498
+ interface Exchange {
1499
+ id: number;
1500
+ tenant?: (number | null) | Tenant;
1501
+ order: number | Order;
1502
+ status: 'requested' | 'processing' | 'shipped' | 'completed' | 'rejected';
1503
+ reason?: ('wrong_size' | 'wrong_color' | 'defective' | 'other') | null;
1504
+ /**
1505
+ * Detailed exchange reason
1506
+ */
1507
+ reasonDetail?: string | null;
1508
+ shippingFee?: number | null;
1509
+ exchangeProducts?: {
1510
+ docs?: (number | ExchangeProduct)[];
1511
+ hasNextPage?: boolean;
1512
+ totalDocs?: number;
1513
+ };
1514
+ updatedAt: string;
1515
+ createdAt: string;
1516
+ }
1517
+ /**
1518
+ * This interface was referenced by `Config`'s JSON-Schema
1519
+ * via the `definition` "exchange-products".
1520
+ */
1521
+ interface ExchangeProduct {
1522
+ id: number;
1523
+ tenant?: (number | null) | Tenant;
1524
+ exchange: number | Exchange;
1525
+ order: number | Order;
1526
+ orderProduct: number | OrderProduct;
1527
+ product: number | Product;
1528
+ variant?: (number | null) | ProductVariant;
1529
+ option?: (number | null) | ProductOption;
1530
+ quantity: number;
1531
+ /**
1532
+ * New variant to exchange to
1533
+ */
1534
+ newVariant?: (number | null) | ProductVariant;
1535
+ /**
1536
+ * New option to exchange to
1537
+ */
1538
+ newOption?: (number | null) | ProductOption;
1539
+ title?: string | null;
1540
+ updatedAt: string;
1541
+ createdAt: string;
1542
+ }
1543
+ /**
1544
+ * This interface was referenced by `Config`'s JSON-Schema
1545
+ * via the `definition` "fulfillments".
1546
+ */
1547
+ interface Fulfillment {
1548
+ id: number;
1549
+ tenant?: (number | null) | Tenant;
1550
+ order: number | Order;
1551
+ status: 'pending' | 'packed' | 'shipped' | 'delivered' | 'failed';
1552
+ carrier?: ('cj' | 'hanjin' | 'lotte' | 'epost' | 'logen' | 'other') | null;
1553
+ trackingNumber?: string | null;
1554
+ shippedAt?: string | null;
1555
+ deliveredAt?: string | null;
1556
+ items?: {
1557
+ docs?: (number | FulfillmentItem)[];
1558
+ hasNextPage?: boolean;
1559
+ totalDocs?: number;
1560
+ };
1561
+ updatedAt: string;
1562
+ createdAt: string;
1563
+ }
1564
+ /**
1565
+ * This interface was referenced by `Config`'s JSON-Schema
1566
+ * via the `definition` "fulfillment-items".
1567
+ */
1568
+ interface FulfillmentItem {
1569
+ id: number;
1570
+ tenant?: (number | null) | Tenant;
1571
+ fulfillment: number | Fulfillment;
1572
+ orderProduct: number | OrderProduct;
1573
+ quantity: number;
1574
+ updatedAt: string;
1575
+ createdAt: string;
1576
+ }
1577
+ /**
1578
+ * This interface was referenced by `Config`'s JSON-Schema
1579
+ * via the `definition` "carts".
1580
+ */
1581
+ interface Cart {
1582
+ id: number;
1583
+ tenant?: (number | null) | Tenant;
1584
+ customer?: (number | null) | Customer;
1585
+ status: 'active' | 'completed' | 'abandoned';
1586
+ shippingAddress?: {
1587
+ recipientName?: string | null;
1588
+ phone?: string | null;
1589
+ postalCode?: string | null;
1590
+ address1?: string | null;
1591
+ address2?: string | null;
1592
+ deliveryMessage?: string | null;
1593
+ };
1594
+ discountCode?: string | null;
1595
+ itemsTotal?: number | null;
1596
+ shippingFee?: number | null;
1597
+ discountAmount?: number | null;
1598
+ totalAmount?: number | null;
1599
+ items?: {
1600
+ docs?: (number | CartItem)[];
1601
+ hasNextPage?: boolean;
1602
+ totalDocs?: number;
1603
+ };
1604
+ expiresAt?: string | null;
1605
+ updatedAt: string;
1606
+ createdAt: string;
1607
+ }
1608
+ /**
1609
+ * This interface was referenced by `Config`'s JSON-Schema
1610
+ * via the `definition` "cart-items".
1611
+ */
1612
+ interface CartItem {
1613
+ id: number;
1614
+ tenant?: (number | null) | Tenant;
1615
+ cart: number | Cart;
1616
+ product: number | Product;
1617
+ variant?: (number | null) | ProductVariant;
1618
+ option?: (number | null) | ProductOption;
1619
+ quantity: number;
1620
+ /**
1621
+ * Price at the time of adding to cart
1622
+ */
1623
+ unitPrice: number;
1624
+ updatedAt: string;
1625
+ createdAt: string;
1626
+ }
1627
+ /**
1628
+ * This interface was referenced by `Config`'s JSON-Schema
1629
+ * via the `definition` "discounts".
1630
+ */
1631
+ interface Discount {
1632
+ id: number;
1633
+ tenant?: (number | null) | Tenant;
1634
+ /**
1635
+ * Unique discount code
1636
+ */
1637
+ code: string;
1638
+ /**
1639
+ * Internal name (e.g. 신규가입 10% 할인)
1640
+ */
1641
+ title: string;
1642
+ type: 'percentage' | 'fixed_amount' | 'free_shipping';
1643
+ /**
1644
+ * Discount rate (%) or fixed amount
1645
+ */
1646
+ value: number;
1647
+ /**
1648
+ * Minimum order amount to apply
1649
+ */
1650
+ minOrderAmount?: number | null;
1651
+ /**
1652
+ * Max discount for percentage type
1653
+ */
1654
+ maxDiscountAmount?: number | null;
1655
+ startsAt?: string | null;
1656
+ endsAt?: string | null;
1657
+ /**
1658
+ * Total usage limit (empty = unlimited)
1659
+ */
1660
+ usageLimit?: number | null;
1661
+ usageCount?: number | null;
1662
+ /**
1663
+ * Usage limit per customer (empty = unlimited)
1664
+ */
1665
+ perCustomerLimit?: number | null;
1666
+ isActive?: boolean | null;
1667
+ /**
1668
+ * Leave empty to apply to all products
1669
+ */
1670
+ applicableProducts?: (number | Product)[] | null;
1671
+ /**
1672
+ * Leave empty to apply to all categories
1673
+ */
1674
+ applicableCategories?: (number | ProductCategory)[] | null;
1675
+ updatedAt: string;
1676
+ createdAt: string;
1677
+ }
1210
1678
  /**
1211
1679
  * This interface was referenced by `Config`'s JSON-Schema
1212
1680
  * via the `definition` "posts".
@@ -1246,6 +1714,20 @@ interface Post {
1246
1714
  };
1247
1715
  [k: string]: unknown;
1248
1716
  } | null;
1717
+ meta?: {
1718
+ /**
1719
+ * 검색엔진에 표시되는 제목입니다. 한글 기준 30자, 영문 기준 60자 이내를 권장합니다.
1720
+ */
1721
+ title?: string | null;
1722
+ /**
1723
+ * 검색엔진에 표시되는 설명입니다. 한글 기준 80자, 영문 기준 160자 이내를 권장합니다.
1724
+ */
1725
+ description?: string | null;
1726
+ /**
1727
+ * SNS 공유 시 표시되는 이미지입니다. 1200x630px 권장.
1728
+ */
1729
+ image?: (number | null) | Media;
1730
+ };
1249
1731
  updatedAt: string;
1250
1732
  createdAt: string;
1251
1733
  _status?: ('draft' | 'published') | null;
@@ -1423,6 +1905,20 @@ interface Document {
1423
1905
  * Changelog (differences from previous version)
1424
1906
  */
1425
1907
  changeLog?: string | null;
1908
+ meta?: {
1909
+ /**
1910
+ * 검색엔진에 표시되는 제목입니다. 한글 기준 30자, 영문 기준 60자 이내를 권장합니다.
1911
+ */
1912
+ title?: string | null;
1913
+ /**
1914
+ * 검색엔진에 표시되는 설명입니다. 한글 기준 80자, 영문 기준 160자 이내를 권장합니다.
1915
+ */
1916
+ description?: string | null;
1917
+ /**
1918
+ * SNS 공유 시 표시되는 이미지입니다. 1200x630px 권장.
1919
+ */
1920
+ image?: (number | null) | Media;
1921
+ };
1426
1922
  updatedAt: string;
1427
1923
  createdAt: string;
1428
1924
  _status?: ('draft' | 'published') | null;
@@ -1516,6 +2012,20 @@ interface Playlist {
1516
2012
  hasNextPage?: boolean;
1517
2013
  totalDocs?: number;
1518
2014
  };
2015
+ meta?: {
2016
+ /**
2017
+ * 검색엔진에 표시되는 제목입니다. 한글 기준 30자, 영문 기준 60자 이내를 권장합니다.
2018
+ */
2019
+ title?: string | null;
2020
+ /**
2021
+ * 검색엔진에 표시되는 설명입니다. 한글 기준 80자, 영문 기준 160자 이내를 권장합니다.
2022
+ */
2023
+ description?: string | null;
2024
+ /**
2025
+ * SNS 공유 시 표시되는 이미지입니다. 1200x630px 권장.
2026
+ */
2027
+ image?: (number | null) | Media;
2028
+ };
1519
2029
  updatedAt: string;
1520
2030
  createdAt: string;
1521
2031
  }
@@ -1610,6 +2120,20 @@ interface Gallery {
1610
2120
  slug?: string | null;
1611
2121
  description?: string | null;
1612
2122
  images: (number | GalleryImage)[];
2123
+ meta?: {
2124
+ /**
2125
+ * 검색엔진에 표시되는 제목입니다. 한글 기준 30자, 영문 기준 60자 이내를 권장합니다.
2126
+ */
2127
+ title?: string | null;
2128
+ /**
2129
+ * 검색엔진에 표시되는 설명입니다. 한글 기준 80자, 영문 기준 160자 이내를 권장합니다.
2130
+ */
2131
+ description?: string | null;
2132
+ /**
2133
+ * SNS 공유 시 표시되는 이미지입니다. 1200x630px 권장.
2134
+ */
2135
+ image?: (number | null) | Media;
2136
+ };
1613
2137
  updatedAt: string;
1614
2138
  createdAt: string;
1615
2139
  }
@@ -1930,9 +2454,45 @@ interface PayloadLockedDocument {
1930
2454
  } | null) | ({
1931
2455
  relationTo: 'return-products';
1932
2456
  value: number | ReturnProduct;
2457
+ } | null) | ({
2458
+ relationTo: 'exchanges';
2459
+ value: number | Exchange;
2460
+ } | null) | ({
2461
+ relationTo: 'exchange-products';
2462
+ value: number | ExchangeProduct;
2463
+ } | null) | ({
2464
+ relationTo: 'fulfillments';
2465
+ value: number | Fulfillment;
2466
+ } | null) | ({
2467
+ relationTo: 'fulfillment-items';
2468
+ value: number | FulfillmentItem;
1933
2469
  } | null) | ({
1934
2470
  relationTo: 'transactions';
1935
2471
  value: number | Transaction;
2472
+ } | null) | ({
2473
+ relationTo: 'customers';
2474
+ value: number | Customer;
2475
+ } | null) | ({
2476
+ relationTo: 'customer-addresses';
2477
+ value: number | CustomerAddress;
2478
+ } | null) | ({
2479
+ relationTo: 'customer-groups';
2480
+ value: number | CustomerGroup;
2481
+ } | null) | ({
2482
+ relationTo: 'customer-group-images';
2483
+ value: number | CustomerGroupImage;
2484
+ } | null) | ({
2485
+ relationTo: 'carts';
2486
+ value: number | Cart;
2487
+ } | null) | ({
2488
+ relationTo: 'cart-items';
2489
+ value: number | CartItem;
2490
+ } | null) | ({
2491
+ relationTo: 'discounts';
2492
+ value: number | Discount;
2493
+ } | null) | ({
2494
+ relationTo: 'shipping-policies';
2495
+ value: number | ShippingPolicy;
1936
2496
  } | null) | ({
1937
2497
  relationTo: 'posts';
1938
2498
  value: number | Post;
@@ -1983,6 +2543,9 @@ interface PayloadLockedDocument {
1983
2543
  user: {
1984
2544
  relationTo: 'users';
1985
2545
  value: number | User;
2546
+ } | {
2547
+ relationTo: 'customers';
2548
+ value: number | Customer;
1986
2549
  };
1987
2550
  updatedAt: string;
1988
2551
  createdAt: string;
@@ -1996,6 +2559,9 @@ interface PayloadPreference {
1996
2559
  user: {
1997
2560
  relationTo: 'users';
1998
2561
  value: number | User;
2562
+ } | {
2563
+ relationTo: 'customers';
2564
+ value: number | Customer;
1999
2565
  };
2000
2566
  key?: string | null;
2001
2567
  value?: {
@@ -2105,7 +2671,10 @@ interface EmailLogsSelect<T extends boolean = true> {
2105
2671
  */
2106
2672
  interface TenantsSelect<T extends boolean = true> {
2107
2673
  name?: T;
2108
- domain?: T;
2674
+ cors?: T | {
2675
+ origin?: T;
2676
+ id?: T;
2677
+ };
2109
2678
  features?: T;
2110
2679
  plan?: T;
2111
2680
  clientKey?: T;
@@ -2404,8 +2973,15 @@ interface ProductsSelect<T extends boolean = true> {
2404
2973
  categories?: T;
2405
2974
  tags?: T;
2406
2975
  brand?: T;
2976
+ shippingPolicy?: T;
2977
+ metadata?: T;
2407
2978
  variants?: T;
2408
2979
  options?: T;
2980
+ meta?: T | {
2981
+ title?: T;
2982
+ description?: T;
2983
+ image?: T;
2984
+ };
2409
2985
  updatedAt?: T;
2410
2986
  createdAt?: T;
2411
2987
  }
@@ -2421,8 +2997,11 @@ interface ProductVariantsSelect<T extends boolean = true> {
2421
2997
  title?: T;
2422
2998
  sku?: T;
2423
2999
  price?: T;
3000
+ barcode?: T;
3001
+ weight?: T;
2424
3002
  isSoldOut?: T;
2425
3003
  images?: T;
3004
+ metadata?: T;
2426
3005
  productOptions?: T;
2427
3006
  updatedAt?: T;
2428
3007
  createdAt?: T;
@@ -2441,6 +3020,7 @@ interface ProductOptionsSelect<T extends boolean = true> {
2441
3020
  title?: T;
2442
3021
  sku?: T;
2443
3022
  stock?: T;
3023
+ reservedStock?: T;
2444
3024
  priceAdjustment?: T;
2445
3025
  updatedAt?: T;
2446
3026
  createdAt?: T;
@@ -2639,14 +3219,15 @@ interface OrdersSelect<T extends boolean = true> {
2639
3219
  tenant?: T;
2640
3220
  orderNumber?: T;
2641
3221
  status?: T;
2642
- customer?: T | {
3222
+ customer?: T;
3223
+ customerSnapshot?: T | {
2643
3224
  name?: T;
2644
3225
  email?: T;
2645
3226
  phone?: T;
2646
3227
  };
2647
3228
  totalAmount?: T;
2648
- shippingCarrier?: T;
2649
- trackingNumber?: T;
3229
+ discountCode?: T;
3230
+ discountAmount?: T;
2650
3231
  notes?: T;
2651
3232
  shippingAddress?: T | {
2652
3233
  recipientName?: T;
@@ -2659,6 +3240,8 @@ interface OrdersSelect<T extends boolean = true> {
2659
3240
  products?: T;
2660
3241
  transactions?: T;
2661
3242
  returns?: T;
3243
+ exchanges?: T;
3244
+ fulfillments?: T;
2662
3245
  updatedAt?: T;
2663
3246
  createdAt?: T;
2664
3247
  }
@@ -2712,6 +3295,68 @@ interface ReturnProductsSelect<T extends boolean = true> {
2712
3295
  updatedAt?: T;
2713
3296
  createdAt?: T;
2714
3297
  }
3298
+ /**
3299
+ * This interface was referenced by `Config`'s JSON-Schema
3300
+ * via the `definition` "exchanges_select".
3301
+ */
3302
+ interface ExchangesSelect<T extends boolean = true> {
3303
+ tenant?: T;
3304
+ order?: T;
3305
+ status?: T;
3306
+ reason?: T;
3307
+ reasonDetail?: T;
3308
+ shippingFee?: T;
3309
+ exchangeProducts?: T;
3310
+ updatedAt?: T;
3311
+ createdAt?: T;
3312
+ }
3313
+ /**
3314
+ * This interface was referenced by `Config`'s JSON-Schema
3315
+ * via the `definition` "exchange-products_select".
3316
+ */
3317
+ interface ExchangeProductsSelect<T extends boolean = true> {
3318
+ tenant?: T;
3319
+ exchange?: T;
3320
+ order?: T;
3321
+ orderProduct?: T;
3322
+ product?: T;
3323
+ variant?: T;
3324
+ option?: T;
3325
+ quantity?: T;
3326
+ newVariant?: T;
3327
+ newOption?: T;
3328
+ title?: T;
3329
+ updatedAt?: T;
3330
+ createdAt?: T;
3331
+ }
3332
+ /**
3333
+ * This interface was referenced by `Config`'s JSON-Schema
3334
+ * via the `definition` "fulfillments_select".
3335
+ */
3336
+ interface FulfillmentsSelect<T extends boolean = true> {
3337
+ tenant?: T;
3338
+ order?: T;
3339
+ status?: T;
3340
+ carrier?: T;
3341
+ trackingNumber?: T;
3342
+ shippedAt?: T;
3343
+ deliveredAt?: T;
3344
+ items?: T;
3345
+ updatedAt?: T;
3346
+ createdAt?: T;
3347
+ }
3348
+ /**
3349
+ * This interface was referenced by `Config`'s JSON-Schema
3350
+ * via the `definition` "fulfillment-items_select".
3351
+ */
3352
+ interface FulfillmentItemsSelect<T extends boolean = true> {
3353
+ tenant?: T;
3354
+ fulfillment?: T;
3355
+ orderProduct?: T;
3356
+ quantity?: T;
3357
+ updatedAt?: T;
3358
+ createdAt?: T;
3359
+ }
2715
3360
  /**
2716
3361
  * This interface was referenced by `Config`'s JSON-Schema
2717
3362
  * via the `definition` "transactions_select".
@@ -2727,6 +3372,194 @@ interface TransactionsSelect<T extends boolean = true> {
2727
3372
  updatedAt?: T;
2728
3373
  createdAt?: T;
2729
3374
  }
3375
+ /**
3376
+ * This interface was referenced by `Config`'s JSON-Schema
3377
+ * via the `definition` "customers_select".
3378
+ */
3379
+ interface CustomersSelect<T extends boolean = true> {
3380
+ tenant?: T;
3381
+ name?: T;
3382
+ email?: T;
3383
+ phone?: T;
3384
+ hashedPassword?: T;
3385
+ salt?: T;
3386
+ isGuest?: T;
3387
+ isVerified?: T;
3388
+ verificationToken?: T;
3389
+ resetPasswordToken?: T;
3390
+ resetPasswordExpiry?: T;
3391
+ loginAttempts?: T;
3392
+ lockedUntil?: T;
3393
+ note?: T;
3394
+ metadata?: T;
3395
+ groups?: T;
3396
+ orders?: T;
3397
+ addresses?: T;
3398
+ updatedAt?: T;
3399
+ createdAt?: T;
3400
+ }
3401
+ /**
3402
+ * This interface was referenced by `Config`'s JSON-Schema
3403
+ * via the `definition` "customer-addresses_select".
3404
+ */
3405
+ interface CustomerAddressesSelect<T extends boolean = true> {
3406
+ tenant?: T;
3407
+ customer?: T;
3408
+ label?: T;
3409
+ recipientName?: T;
3410
+ phone?: T;
3411
+ postalCode?: T;
3412
+ address1?: T;
3413
+ address2?: T;
3414
+ isDefault?: T;
3415
+ deliveryMessage?: T;
3416
+ updatedAt?: T;
3417
+ createdAt?: T;
3418
+ }
3419
+ /**
3420
+ * This interface was referenced by `Config`'s JSON-Schema
3421
+ * via the `definition` "customer-groups_select".
3422
+ */
3423
+ interface CustomerGroupsSelect<T extends boolean = true> {
3424
+ tenant?: T;
3425
+ title?: T;
3426
+ generateSlug?: T;
3427
+ slug?: T;
3428
+ description?: T;
3429
+ color?: T;
3430
+ image?: T;
3431
+ metadata?: T;
3432
+ customers?: T;
3433
+ updatedAt?: T;
3434
+ createdAt?: T;
3435
+ }
3436
+ /**
3437
+ * This interface was referenced by `Config`'s JSON-Schema
3438
+ * via the `definition` "customer-group-images_select".
3439
+ */
3440
+ interface CustomerGroupImagesSelect<T extends boolean = true> {
3441
+ tenant?: T;
3442
+ alt?: T;
3443
+ lqip?: T;
3444
+ palette?: T | {
3445
+ vibrant?: T;
3446
+ muted?: T;
3447
+ darkVibrant?: T;
3448
+ darkMuted?: T;
3449
+ lightVibrant?: T;
3450
+ lightMuted?: T;
3451
+ };
3452
+ prefix?: T;
3453
+ updatedAt?: T;
3454
+ createdAt?: T;
3455
+ url?: T;
3456
+ thumbnailURL?: T;
3457
+ filename?: T;
3458
+ mimeType?: T;
3459
+ filesize?: T;
3460
+ width?: T;
3461
+ height?: T;
3462
+ focalX?: T;
3463
+ focalY?: T;
3464
+ sizes?: T | {
3465
+ '512'?: T | {
3466
+ url?: T;
3467
+ width?: T;
3468
+ height?: T;
3469
+ mimeType?: T;
3470
+ filesize?: T;
3471
+ filename?: T;
3472
+ };
3473
+ '1024'?: T | {
3474
+ url?: T;
3475
+ width?: T;
3476
+ height?: T;
3477
+ mimeType?: T;
3478
+ filesize?: T;
3479
+ filename?: T;
3480
+ };
3481
+ };
3482
+ }
3483
+ /**
3484
+ * This interface was referenced by `Config`'s JSON-Schema
3485
+ * via the `definition` "carts_select".
3486
+ */
3487
+ interface CartsSelect<T extends boolean = true> {
3488
+ tenant?: T;
3489
+ customer?: T;
3490
+ status?: T;
3491
+ shippingAddress?: T | {
3492
+ recipientName?: T;
3493
+ phone?: T;
3494
+ postalCode?: T;
3495
+ address1?: T;
3496
+ address2?: T;
3497
+ deliveryMessage?: T;
3498
+ };
3499
+ discountCode?: T;
3500
+ itemsTotal?: T;
3501
+ shippingFee?: T;
3502
+ discountAmount?: T;
3503
+ totalAmount?: T;
3504
+ items?: T;
3505
+ expiresAt?: T;
3506
+ updatedAt?: T;
3507
+ createdAt?: T;
3508
+ }
3509
+ /**
3510
+ * This interface was referenced by `Config`'s JSON-Schema
3511
+ * via the `definition` "cart-items_select".
3512
+ */
3513
+ interface CartItemsSelect<T extends boolean = true> {
3514
+ tenant?: T;
3515
+ cart?: T;
3516
+ product?: T;
3517
+ variant?: T;
3518
+ option?: T;
3519
+ quantity?: T;
3520
+ unitPrice?: T;
3521
+ updatedAt?: T;
3522
+ createdAt?: T;
3523
+ }
3524
+ /**
3525
+ * This interface was referenced by `Config`'s JSON-Schema
3526
+ * via the `definition` "discounts_select".
3527
+ */
3528
+ interface DiscountsSelect<T extends boolean = true> {
3529
+ tenant?: T;
3530
+ code?: T;
3531
+ title?: T;
3532
+ type?: T;
3533
+ value?: T;
3534
+ minOrderAmount?: T;
3535
+ maxDiscountAmount?: T;
3536
+ startsAt?: T;
3537
+ endsAt?: T;
3538
+ usageLimit?: T;
3539
+ usageCount?: T;
3540
+ perCustomerLimit?: T;
3541
+ isActive?: T;
3542
+ applicableProducts?: T;
3543
+ applicableCategories?: T;
3544
+ updatedAt?: T;
3545
+ createdAt?: T;
3546
+ }
3547
+ /**
3548
+ * This interface was referenced by `Config`'s JSON-Schema
3549
+ * via the `definition` "shipping-policies_select".
3550
+ */
3551
+ interface ShippingPoliciesSelect<T extends boolean = true> {
3552
+ _order?: T;
3553
+ tenant?: T;
3554
+ title?: T;
3555
+ baseFee?: T;
3556
+ freeShippingThreshold?: T;
3557
+ jejuExtraFee?: T;
3558
+ islandExtraFee?: T;
3559
+ isDefault?: T;
3560
+ updatedAt?: T;
3561
+ createdAt?: T;
3562
+ }
2730
3563
  /**
2731
3564
  * This interface was referenced by `Config`'s JSON-Schema
2732
3565
  * via the `definition` "posts_select".
@@ -2745,6 +3578,11 @@ interface PostsSelect<T extends boolean = true> {
2745
3578
  categories?: T;
2746
3579
  tags?: T;
2747
3580
  content?: T;
3581
+ meta?: T | {
3582
+ title?: T;
3583
+ description?: T;
3584
+ image?: T;
3585
+ };
2748
3586
  updatedAt?: T;
2749
3587
  createdAt?: T;
2750
3588
  _status?: T;
@@ -2869,6 +3707,11 @@ interface DocumentsSelect<T extends boolean = true> {
2869
3707
  };
2870
3708
  isRequired?: T;
2871
3709
  changeLog?: T;
3710
+ meta?: T | {
3711
+ title?: T;
3712
+ description?: T;
3713
+ image?: T;
3714
+ };
2872
3715
  updatedAt?: T;
2873
3716
  createdAt?: T;
2874
3717
  _status?: T;
@@ -2949,6 +3792,11 @@ interface PlaylistsSelect<T extends boolean = true> {
2949
3792
  slug?: T;
2950
3793
  description?: T;
2951
3794
  musics?: T;
3795
+ meta?: T | {
3796
+ title?: T;
3797
+ description?: T;
3798
+ image?: T;
3799
+ };
2952
3800
  updatedAt?: T;
2953
3801
  createdAt?: T;
2954
3802
  }
@@ -3028,6 +3876,11 @@ interface GalleriesSelect<T extends boolean = true> {
3028
3876
  slug?: T;
3029
3877
  description?: T;
3030
3878
  images?: T;
3879
+ meta?: T | {
3880
+ title?: T;
3881
+ description?: T;
3882
+ image?: T;
3883
+ };
3031
3884
  updatedAt?: T;
3032
3885
  createdAt?: T;
3033
3886
  }
@@ -3258,4 +4111,4 @@ declare module 'payload' {
3258
4111
  }
3259
4112
  }
3260
4113
 
3261
- export type { TenantsSelect as $, Audience as A, BrandLogo as B, Config as C, Document as D, EmailLog as E, PlaylistImage as F, Music as G, Gallery as H, IframeBlock as I, GalleryImage as J, Form as K, FormSubmission as L, Media as M, PayloadKv as N, Order as O, ProductOption as P, PayloadLockedDocument as Q, Return as R, SupportedTimezones as S, Transaction as T, UserAuthOperations as U, PayloadPreference as V, PayloadMigration as W, UsersSelect as X, MediaSelect as Y, AudiencesSelect as Z, EmailLogsSelect as _, OrderProduct as a, TenantMetadataSelect as a0, TenantLogosSelect as a1, TenantOgImagesSelect as a2, ApiUsageSelect as a3, SubscriptionsSelect as a4, BillingHistorySelect as a5, ProductsSelect as a6, ProductVariantsSelect as a7, ProductOptionsSelect as a8, ProductCategoriesSelect as a9, PayloadPreferencesSelect as aA, PayloadMigrationsSelect as aB, Auth as aC, ProductTagsSelect as aa, ProductImagesSelect as ab, BrandsSelect as ac, BrandLogosSelect as ad, OrdersSelect as ae, OrderProductsSelect as af, ReturnsSelect as ag, ReturnProductsSelect as ah, TransactionsSelect as ai, PostsSelect as aj, PostCategoriesSelect as ak, PostTagsSelect as al, PostImagesSelect as am, AuthorsSelect as an, DocumentsSelect as ao, DocumentCategoriesSelect as ap, DocumentImagesSelect as aq, PlaylistsSelect as ar, PlaylistImagesSelect as as, MusicsSelect as at, GalleriesSelect as au, GalleryImagesSelect as av, FormsSelect as aw, FormSubmissionsSelect as ax, PayloadKvSelect as ay, PayloadLockedDocumentsSelect as az, PlayerBlock as b, CodeBlock as c, User as d, Tenant as e, TenantMetadatum as f, TenantOgImage as g, TenantLogo as h, ApiUsage as i, Subscription as j, BillingHistory as k, Product as l, ProductImage as m, ProductCategory as n, ProductTag as o, Brand as p, ProductVariant as q, ReturnProduct as r, Post as s, PostImage as t, Author as u, PostCategory as v, PostTag as w, DocumentCategory as x, DocumentImage as y, Playlist as z };
4114
+ export type { Music as $, Audience as A, BrandLogo as B, CartItem as C, ExchangeProduct as D, EmailLog as E, Fulfillment as F, FulfillmentItem as G, Cart as H, IframeBlock as I, Discount as J, Post as K, PostImage as L, Media as M, Author as N, Order as O, ProductOption as P, PostCategory as Q, Return as R, SupportedTimezones as S, Transaction as T, UserAuthOperations as U, PostTag as V, Document as W, DocumentCategory as X, DocumentImage as Y, Playlist as Z, PlaylistImage as _, OrderProduct as a, Auth as a$, Gallery as a0, GalleryImage as a1, Form as a2, FormSubmission as a3, PayloadKv as a4, PayloadLockedDocument as a5, PayloadPreference as a6, PayloadMigration as a7, UsersSelect as a8, MediaSelect as a9, CustomersSelect as aA, CustomerAddressesSelect as aB, CustomerGroupsSelect as aC, CustomerGroupImagesSelect as aD, CartsSelect as aE, CartItemsSelect as aF, DiscountsSelect as aG, ShippingPoliciesSelect as aH, PostsSelect as aI, PostCategoriesSelect as aJ, PostTagsSelect as aK, PostImagesSelect as aL, AuthorsSelect as aM, DocumentsSelect as aN, DocumentCategoriesSelect as aO, DocumentImagesSelect as aP, PlaylistsSelect as aQ, PlaylistImagesSelect as aR, MusicsSelect as aS, GalleriesSelect as aT, GalleryImagesSelect as aU, FormsSelect as aV, FormSubmissionsSelect as aW, PayloadKvSelect as aX, PayloadLockedDocumentsSelect as aY, PayloadPreferencesSelect as aZ, PayloadMigrationsSelect as a_, AudiencesSelect as aa, EmailLogsSelect as ab, TenantsSelect as ac, TenantMetadataSelect as ad, TenantLogosSelect as ae, TenantOgImagesSelect as af, ApiUsageSelect as ag, SubscriptionsSelect as ah, BillingHistorySelect as ai, ProductsSelect as aj, ProductVariantsSelect as ak, ProductOptionsSelect as al, ProductCategoriesSelect as am, ProductTagsSelect as an, ProductImagesSelect as ao, BrandsSelect as ap, BrandLogosSelect as aq, OrdersSelect as ar, OrderProductsSelect as as, ReturnsSelect as at, ReturnProductsSelect as au, ExchangesSelect as av, ExchangeProductsSelect as aw, FulfillmentsSelect as ax, FulfillmentItemsSelect as ay, TransactionsSelect as az, Config as b, CustomerAuthOperations as c, PlayerBlock as d, CodeBlock as e, User as f, Tenant as g, TenantMetadatum as h, TenantOgImage as i, TenantLogo as j, ApiUsage as k, Subscription as l, BillingHistory as m, Product as n, ProductImage as o, ProductCategory as p, ProductTag as q, Brand as r, ShippingPolicy as s, ProductVariant as t, Customer as u, CustomerGroup as v, CustomerGroupImage as w, CustomerAddress as x, ReturnProduct as y, Exchange as z };