@absolutejs/commerce 0.6.0-beta.0 → 0.7.0-beta.0

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.
@@ -1244,6 +1244,255 @@ export declare const commerceGiftCards: import("drizzle-orm/pg-core").PgTableWit
1244
1244
  };
1245
1245
  dialect: "pg";
1246
1246
  }>;
1247
+ export declare const commerceGroupStores: import("drizzle-orm/pg-core").PgTableWithColumns<{
1248
+ name: "group_stores";
1249
+ schema: undefined;
1250
+ columns: {
1251
+ active: import("drizzle-orm/pg-core").PgColumn<{
1252
+ name: "active";
1253
+ tableName: "group_stores";
1254
+ dataType: "boolean";
1255
+ columnType: "PgBoolean";
1256
+ data: boolean;
1257
+ driverParam: boolean;
1258
+ notNull: true;
1259
+ hasDefault: true;
1260
+ isPrimaryKey: false;
1261
+ isAutoincrement: false;
1262
+ hasRuntimeDefault: false;
1263
+ enumValues: undefined;
1264
+ baseColumn: never;
1265
+ identity: undefined;
1266
+ generated: undefined;
1267
+ }, {}, {}>;
1268
+ created_at: import("drizzle-orm/pg-core").PgColumn<{
1269
+ name: "created_at";
1270
+ tableName: "group_stores";
1271
+ dataType: "date";
1272
+ columnType: "PgTimestamp";
1273
+ data: Date;
1274
+ driverParam: string;
1275
+ notNull: true;
1276
+ hasDefault: true;
1277
+ isPrimaryKey: false;
1278
+ isAutoincrement: false;
1279
+ hasRuntimeDefault: false;
1280
+ enumValues: undefined;
1281
+ baseColumn: never;
1282
+ identity: undefined;
1283
+ generated: undefined;
1284
+ }, {}, {}>;
1285
+ deadline: import("drizzle-orm/pg-core").PgColumn<{
1286
+ name: "deadline";
1287
+ tableName: "group_stores";
1288
+ dataType: "string";
1289
+ columnType: "PgVarchar";
1290
+ data: string;
1291
+ driverParam: string;
1292
+ notNull: false;
1293
+ hasDefault: false;
1294
+ isPrimaryKey: false;
1295
+ isAutoincrement: false;
1296
+ hasRuntimeDefault: false;
1297
+ enumValues: [string, ...string[]];
1298
+ baseColumn: never;
1299
+ identity: undefined;
1300
+ generated: undefined;
1301
+ }, {}, {
1302
+ length: 60;
1303
+ }>;
1304
+ id: import("drizzle-orm/pg-core").PgColumn<{
1305
+ name: "id";
1306
+ tableName: "group_stores";
1307
+ dataType: "string";
1308
+ columnType: "PgUUID";
1309
+ data: string;
1310
+ driverParam: string;
1311
+ notNull: true;
1312
+ hasDefault: true;
1313
+ isPrimaryKey: true;
1314
+ isAutoincrement: false;
1315
+ hasRuntimeDefault: false;
1316
+ enumValues: undefined;
1317
+ baseColumn: never;
1318
+ identity: undefined;
1319
+ generated: undefined;
1320
+ }, {}, {}>;
1321
+ message: import("drizzle-orm/pg-core").PgColumn<{
1322
+ name: "message";
1323
+ tableName: "group_stores";
1324
+ dataType: "string";
1325
+ columnType: "PgText";
1326
+ data: string;
1327
+ driverParam: string;
1328
+ notNull: false;
1329
+ hasDefault: false;
1330
+ isPrimaryKey: false;
1331
+ isAutoincrement: false;
1332
+ hasRuntimeDefault: false;
1333
+ enumValues: [string, ...string[]];
1334
+ baseColumn: never;
1335
+ identity: undefined;
1336
+ generated: undefined;
1337
+ }, {}, {}>;
1338
+ name: import("drizzle-orm/pg-core").PgColumn<{
1339
+ name: "name";
1340
+ tableName: "group_stores";
1341
+ dataType: "string";
1342
+ columnType: "PgVarchar";
1343
+ data: string;
1344
+ driverParam: string;
1345
+ notNull: true;
1346
+ hasDefault: false;
1347
+ isPrimaryKey: false;
1348
+ isAutoincrement: false;
1349
+ hasRuntimeDefault: false;
1350
+ enumValues: [string, ...string[]];
1351
+ baseColumn: never;
1352
+ identity: undefined;
1353
+ generated: undefined;
1354
+ }, {}, {
1355
+ length: 160;
1356
+ }>;
1357
+ organizer_email: import("drizzle-orm/pg-core").PgColumn<{
1358
+ name: "organizer_email";
1359
+ tableName: "group_stores";
1360
+ dataType: "string";
1361
+ columnType: "PgVarchar";
1362
+ data: string;
1363
+ driverParam: string;
1364
+ notNull: false;
1365
+ hasDefault: false;
1366
+ isPrimaryKey: false;
1367
+ isAutoincrement: false;
1368
+ hasRuntimeDefault: false;
1369
+ enumValues: [string, ...string[]];
1370
+ baseColumn: never;
1371
+ identity: undefined;
1372
+ generated: undefined;
1373
+ }, {}, {
1374
+ length: 320;
1375
+ }>;
1376
+ product_id: import("drizzle-orm/pg-core").PgColumn<{
1377
+ name: "product_id";
1378
+ tableName: "group_stores";
1379
+ dataType: "string";
1380
+ columnType: "PgVarchar";
1381
+ data: string;
1382
+ driverParam: string;
1383
+ notNull: true;
1384
+ hasDefault: false;
1385
+ isPrimaryKey: false;
1386
+ isAutoincrement: false;
1387
+ hasRuntimeDefault: false;
1388
+ enumValues: [string, ...string[]];
1389
+ baseColumn: never;
1390
+ identity: undefined;
1391
+ generated: undefined;
1392
+ }, {}, {
1393
+ length: 40;
1394
+ }>;
1395
+ slug: import("drizzle-orm/pg-core").PgColumn<{
1396
+ name: "slug";
1397
+ tableName: "group_stores";
1398
+ dataType: "string";
1399
+ columnType: "PgVarchar";
1400
+ data: string;
1401
+ driverParam: string;
1402
+ notNull: true;
1403
+ hasDefault: false;
1404
+ isPrimaryKey: false;
1405
+ isAutoincrement: false;
1406
+ hasRuntimeDefault: false;
1407
+ enumValues: [string, ...string[]];
1408
+ baseColumn: never;
1409
+ identity: undefined;
1410
+ generated: undefined;
1411
+ }, {}, {
1412
+ length: 80;
1413
+ }>;
1414
+ };
1415
+ dialect: "pg";
1416
+ }>;
1417
+ export declare const commerceGroupOrders: import("drizzle-orm/pg-core").PgTableWithColumns<{
1418
+ name: "group_orders";
1419
+ schema: undefined;
1420
+ columns: {
1421
+ created_at: import("drizzle-orm/pg-core").PgColumn<{
1422
+ name: "created_at";
1423
+ tableName: "group_orders";
1424
+ dataType: "date";
1425
+ columnType: "PgTimestamp";
1426
+ data: Date;
1427
+ driverParam: string;
1428
+ notNull: true;
1429
+ hasDefault: true;
1430
+ isPrimaryKey: false;
1431
+ isAutoincrement: false;
1432
+ hasRuntimeDefault: false;
1433
+ enumValues: undefined;
1434
+ baseColumn: never;
1435
+ identity: undefined;
1436
+ generated: undefined;
1437
+ }, {}, {}>;
1438
+ group_slug: import("drizzle-orm/pg-core").PgColumn<{
1439
+ name: "group_slug";
1440
+ tableName: "group_orders";
1441
+ dataType: "string";
1442
+ columnType: "PgVarchar";
1443
+ data: string;
1444
+ driverParam: string;
1445
+ notNull: true;
1446
+ hasDefault: false;
1447
+ isPrimaryKey: false;
1448
+ isAutoincrement: false;
1449
+ hasRuntimeDefault: false;
1450
+ enumValues: [string, ...string[]];
1451
+ baseColumn: never;
1452
+ identity: undefined;
1453
+ generated: undefined;
1454
+ }, {}, {
1455
+ length: 80;
1456
+ }>;
1457
+ id: import("drizzle-orm/pg-core").PgColumn<{
1458
+ name: "id";
1459
+ tableName: "group_orders";
1460
+ dataType: "string";
1461
+ columnType: "PgUUID";
1462
+ data: string;
1463
+ driverParam: string;
1464
+ notNull: true;
1465
+ hasDefault: true;
1466
+ isPrimaryKey: true;
1467
+ isAutoincrement: false;
1468
+ hasRuntimeDefault: false;
1469
+ enumValues: undefined;
1470
+ baseColumn: never;
1471
+ identity: undefined;
1472
+ generated: undefined;
1473
+ }, {}, {}>;
1474
+ order_session_id: import("drizzle-orm/pg-core").PgColumn<{
1475
+ name: "order_session_id";
1476
+ tableName: "group_orders";
1477
+ dataType: "string";
1478
+ columnType: "PgVarchar";
1479
+ data: string;
1480
+ driverParam: string;
1481
+ notNull: true;
1482
+ hasDefault: false;
1483
+ isPrimaryKey: false;
1484
+ isAutoincrement: false;
1485
+ hasRuntimeDefault: false;
1486
+ enumValues: [string, ...string[]];
1487
+ baseColumn: never;
1488
+ identity: undefined;
1489
+ generated: undefined;
1490
+ }, {}, {
1491
+ length: 255;
1492
+ }>;
1493
+ };
1494
+ dialect: "pg";
1495
+ }>;
1247
1496
  export declare const commerceFavorites: import("drizzle-orm/pg-core").PgTableWithColumns<{
1248
1497
  name: "favorites";
1249
1498
  schema: undefined;
@@ -2317,6 +2566,255 @@ export declare const commerceDrizzleSchema: {
2317
2566
  };
2318
2567
  dialect: "pg";
2319
2568
  }>;
2569
+ groupOrders: import("drizzle-orm/pg-core").PgTableWithColumns<{
2570
+ name: "group_orders";
2571
+ schema: undefined;
2572
+ columns: {
2573
+ created_at: import("drizzle-orm/pg-core").PgColumn<{
2574
+ name: "created_at";
2575
+ tableName: "group_orders";
2576
+ dataType: "date";
2577
+ columnType: "PgTimestamp";
2578
+ data: Date;
2579
+ driverParam: string;
2580
+ notNull: true;
2581
+ hasDefault: true;
2582
+ isPrimaryKey: false;
2583
+ isAutoincrement: false;
2584
+ hasRuntimeDefault: false;
2585
+ enumValues: undefined;
2586
+ baseColumn: never;
2587
+ identity: undefined;
2588
+ generated: undefined;
2589
+ }, {}, {}>;
2590
+ group_slug: import("drizzle-orm/pg-core").PgColumn<{
2591
+ name: "group_slug";
2592
+ tableName: "group_orders";
2593
+ dataType: "string";
2594
+ columnType: "PgVarchar";
2595
+ data: string;
2596
+ driverParam: string;
2597
+ notNull: true;
2598
+ hasDefault: false;
2599
+ isPrimaryKey: false;
2600
+ isAutoincrement: false;
2601
+ hasRuntimeDefault: false;
2602
+ enumValues: [string, ...string[]];
2603
+ baseColumn: never;
2604
+ identity: undefined;
2605
+ generated: undefined;
2606
+ }, {}, {
2607
+ length: 80;
2608
+ }>;
2609
+ id: import("drizzle-orm/pg-core").PgColumn<{
2610
+ name: "id";
2611
+ tableName: "group_orders";
2612
+ dataType: "string";
2613
+ columnType: "PgUUID";
2614
+ data: string;
2615
+ driverParam: string;
2616
+ notNull: true;
2617
+ hasDefault: true;
2618
+ isPrimaryKey: true;
2619
+ isAutoincrement: false;
2620
+ hasRuntimeDefault: false;
2621
+ enumValues: undefined;
2622
+ baseColumn: never;
2623
+ identity: undefined;
2624
+ generated: undefined;
2625
+ }, {}, {}>;
2626
+ order_session_id: import("drizzle-orm/pg-core").PgColumn<{
2627
+ name: "order_session_id";
2628
+ tableName: "group_orders";
2629
+ dataType: "string";
2630
+ columnType: "PgVarchar";
2631
+ data: string;
2632
+ driverParam: string;
2633
+ notNull: true;
2634
+ hasDefault: false;
2635
+ isPrimaryKey: false;
2636
+ isAutoincrement: false;
2637
+ hasRuntimeDefault: false;
2638
+ enumValues: [string, ...string[]];
2639
+ baseColumn: never;
2640
+ identity: undefined;
2641
+ generated: undefined;
2642
+ }, {}, {
2643
+ length: 255;
2644
+ }>;
2645
+ };
2646
+ dialect: "pg";
2647
+ }>;
2648
+ groupStores: import("drizzle-orm/pg-core").PgTableWithColumns<{
2649
+ name: "group_stores";
2650
+ schema: undefined;
2651
+ columns: {
2652
+ active: import("drizzle-orm/pg-core").PgColumn<{
2653
+ name: "active";
2654
+ tableName: "group_stores";
2655
+ dataType: "boolean";
2656
+ columnType: "PgBoolean";
2657
+ data: boolean;
2658
+ driverParam: boolean;
2659
+ notNull: true;
2660
+ hasDefault: true;
2661
+ isPrimaryKey: false;
2662
+ isAutoincrement: false;
2663
+ hasRuntimeDefault: false;
2664
+ enumValues: undefined;
2665
+ baseColumn: never;
2666
+ identity: undefined;
2667
+ generated: undefined;
2668
+ }, {}, {}>;
2669
+ created_at: import("drizzle-orm/pg-core").PgColumn<{
2670
+ name: "created_at";
2671
+ tableName: "group_stores";
2672
+ dataType: "date";
2673
+ columnType: "PgTimestamp";
2674
+ data: Date;
2675
+ driverParam: string;
2676
+ notNull: true;
2677
+ hasDefault: true;
2678
+ isPrimaryKey: false;
2679
+ isAutoincrement: false;
2680
+ hasRuntimeDefault: false;
2681
+ enumValues: undefined;
2682
+ baseColumn: never;
2683
+ identity: undefined;
2684
+ generated: undefined;
2685
+ }, {}, {}>;
2686
+ deadline: import("drizzle-orm/pg-core").PgColumn<{
2687
+ name: "deadline";
2688
+ tableName: "group_stores";
2689
+ dataType: "string";
2690
+ columnType: "PgVarchar";
2691
+ data: string;
2692
+ driverParam: string;
2693
+ notNull: false;
2694
+ hasDefault: false;
2695
+ isPrimaryKey: false;
2696
+ isAutoincrement: false;
2697
+ hasRuntimeDefault: false;
2698
+ enumValues: [string, ...string[]];
2699
+ baseColumn: never;
2700
+ identity: undefined;
2701
+ generated: undefined;
2702
+ }, {}, {
2703
+ length: 60;
2704
+ }>;
2705
+ id: import("drizzle-orm/pg-core").PgColumn<{
2706
+ name: "id";
2707
+ tableName: "group_stores";
2708
+ dataType: "string";
2709
+ columnType: "PgUUID";
2710
+ data: string;
2711
+ driverParam: string;
2712
+ notNull: true;
2713
+ hasDefault: true;
2714
+ isPrimaryKey: true;
2715
+ isAutoincrement: false;
2716
+ hasRuntimeDefault: false;
2717
+ enumValues: undefined;
2718
+ baseColumn: never;
2719
+ identity: undefined;
2720
+ generated: undefined;
2721
+ }, {}, {}>;
2722
+ message: import("drizzle-orm/pg-core").PgColumn<{
2723
+ name: "message";
2724
+ tableName: "group_stores";
2725
+ dataType: "string";
2726
+ columnType: "PgText";
2727
+ data: string;
2728
+ driverParam: string;
2729
+ notNull: false;
2730
+ hasDefault: false;
2731
+ isPrimaryKey: false;
2732
+ isAutoincrement: false;
2733
+ hasRuntimeDefault: false;
2734
+ enumValues: [string, ...string[]];
2735
+ baseColumn: never;
2736
+ identity: undefined;
2737
+ generated: undefined;
2738
+ }, {}, {}>;
2739
+ name: import("drizzle-orm/pg-core").PgColumn<{
2740
+ name: "name";
2741
+ tableName: "group_stores";
2742
+ dataType: "string";
2743
+ columnType: "PgVarchar";
2744
+ data: string;
2745
+ driverParam: string;
2746
+ notNull: true;
2747
+ hasDefault: false;
2748
+ isPrimaryKey: false;
2749
+ isAutoincrement: false;
2750
+ hasRuntimeDefault: false;
2751
+ enumValues: [string, ...string[]];
2752
+ baseColumn: never;
2753
+ identity: undefined;
2754
+ generated: undefined;
2755
+ }, {}, {
2756
+ length: 160;
2757
+ }>;
2758
+ organizer_email: import("drizzle-orm/pg-core").PgColumn<{
2759
+ name: "organizer_email";
2760
+ tableName: "group_stores";
2761
+ dataType: "string";
2762
+ columnType: "PgVarchar";
2763
+ data: string;
2764
+ driverParam: string;
2765
+ notNull: false;
2766
+ hasDefault: false;
2767
+ isPrimaryKey: false;
2768
+ isAutoincrement: false;
2769
+ hasRuntimeDefault: false;
2770
+ enumValues: [string, ...string[]];
2771
+ baseColumn: never;
2772
+ identity: undefined;
2773
+ generated: undefined;
2774
+ }, {}, {
2775
+ length: 320;
2776
+ }>;
2777
+ product_id: import("drizzle-orm/pg-core").PgColumn<{
2778
+ name: "product_id";
2779
+ tableName: "group_stores";
2780
+ dataType: "string";
2781
+ columnType: "PgVarchar";
2782
+ data: string;
2783
+ driverParam: string;
2784
+ notNull: true;
2785
+ hasDefault: false;
2786
+ isPrimaryKey: false;
2787
+ isAutoincrement: false;
2788
+ hasRuntimeDefault: false;
2789
+ enumValues: [string, ...string[]];
2790
+ baseColumn: never;
2791
+ identity: undefined;
2792
+ generated: undefined;
2793
+ }, {}, {
2794
+ length: 40;
2795
+ }>;
2796
+ slug: import("drizzle-orm/pg-core").PgColumn<{
2797
+ name: "slug";
2798
+ tableName: "group_stores";
2799
+ dataType: "string";
2800
+ columnType: "PgVarchar";
2801
+ data: string;
2802
+ driverParam: string;
2803
+ notNull: true;
2804
+ hasDefault: false;
2805
+ isPrimaryKey: false;
2806
+ isAutoincrement: false;
2807
+ hasRuntimeDefault: false;
2808
+ enumValues: [string, ...string[]];
2809
+ baseColumn: never;
2810
+ identity: undefined;
2811
+ generated: undefined;
2812
+ }, {}, {
2813
+ length: 80;
2814
+ }>;
2815
+ };
2816
+ dialect: "pg";
2817
+ }>;
2320
2818
  orders: import("drizzle-orm/pg-core").PgTableWithColumns<{
2321
2819
  name: "orders";
2322
2820
  schema: undefined;
@@ -80,6 +80,19 @@ var redeemGiftCard = async (db, code, amountCents) => {
80
80
  await db.update(commerceGiftCards).set({ balance_cents: balance }).where(eq(commerceGiftCards.code, card.code));
81
81
  return { appliedCents: applied, balanceCents: balance };
82
82
  };
83
+ var createGroupStore = async (db, store) => {
84
+ const [created] = await db.insert(commerceGroupStores).values(store).returning();
85
+ return created;
86
+ };
87
+ var listGroupStores = (db) => db.select().from(commerceGroupStores).orderBy(desc(commerceGroupStores.created_at));
88
+ var getGroupStoreBySlug = async (db, slug) => {
89
+ const [store] = await db.select().from(commerceGroupStores).where(eq(commerceGroupStores.slug, slug)).limit(1);
90
+ return store ?? null;
91
+ };
92
+ var recordGroupOrder = async (db, slug, orderSessionId) => {
93
+ await db.insert(commerceGroupOrders).values({ group_slug: slug, order_session_id: orderSessionId });
94
+ };
95
+ var listGroupOrders = (db, slug) => db.select().from(commerceGroupOrders).where(eq(commerceGroupOrders.group_slug, slug)).orderBy(desc(commerceGroupOrders.created_at));
83
96
  var createReturnRequest = async (db, request) => {
84
97
  const [created] = await db.insert(commerceReturnRequests).values(request).returning();
85
98
  return created;
@@ -194,6 +207,23 @@ var commerceGiftCards = pgTable("gift_cards", {
194
207
  initial_cents: integer().notNull(),
195
208
  recipient_email: varchar({ length: 320 })
196
209
  });
210
+ var commerceGroupStores = pgTable("group_stores", {
211
+ active: boolean().notNull().default(true),
212
+ created_at: timestamp().notNull().defaultNow(),
213
+ deadline: varchar({ length: 60 }),
214
+ id: uuid().defaultRandom().primaryKey(),
215
+ message: text(),
216
+ name: varchar({ length: 160 }).notNull(),
217
+ organizer_email: varchar({ length: 320 }),
218
+ product_id: varchar({ length: 40 }).notNull(),
219
+ slug: varchar({ length: 80 }).notNull().unique()
220
+ });
221
+ var commerceGroupOrders = pgTable("group_orders", {
222
+ created_at: timestamp().notNull().defaultNow(),
223
+ group_slug: varchar({ length: 80 }).notNull(),
224
+ id: uuid().defaultRandom().primaryKey(),
225
+ order_session_id: varchar({ length: 255 }).notNull()
226
+ });
197
227
  var commerceFavorites = pgTable("favorites", {
198
228
  created_at: timestamp().notNull().defaultNow(),
199
229
  customer_email: varchar({ length: 320 }).notNull(),
@@ -238,6 +268,8 @@ var commerceDrizzleSchema = {
238
268
  discounts: commerceDiscounts,
239
269
  favorites: commerceFavorites,
240
270
  giftCards: commerceGiftCards,
271
+ groupOrders: commerceGroupOrders,
272
+ groupStores: commerceGroupStores,
241
273
  orders: commerceOrders,
242
274
  quotes: commerceQuotes,
243
275
  returnRequests: commerceReturnRequests,
@@ -252,6 +284,7 @@ export {
252
284
  setReturnStatus,
253
285
  saveDesign,
254
286
  redeemGiftCard,
287
+ recordGroupOrder,
255
288
  recordAbandonedCart,
256
289
  ratingSummaries,
257
290
  markReminded,
@@ -259,22 +292,28 @@ export {
259
292
  listSubscribers,
260
293
  listSavedDesigns,
261
294
  listReturnRequests,
295
+ listGroupStores,
296
+ listGroupOrders,
262
297
  listFavorites,
263
298
  listApprovedReviews,
264
299
  listAllReviews,
265
300
  issueGiftCard,
301
+ getGroupStoreBySlug,
266
302
  getGiftCard,
267
303
  findOrderForTracking,
268
304
  dueForReminder,
269
305
  deleteSavedDesign,
270
306
  createReview,
271
307
  createReturnRequest,
308
+ createGroupStore,
272
309
  commerceSubscribers,
273
310
  commerceSavedDesigns,
274
311
  commerceReviews,
275
312
  commerceReturnRequests,
276
313
  commerceQuotes,
277
314
  commerceOrders,
315
+ commerceGroupStores,
316
+ commerceGroupOrders,
278
317
  commerceGiftCards,
279
318
  commerceFavorites,
280
319
  commerceDrizzleSchema,
@@ -1,5 +1,5 @@
1
1
  import type { PgDatabase } from 'drizzle-orm/pg-core';
2
- import { commerceFavorites, commerceGiftCards, commerceReturnRequests, commerceReviews, commerceSavedDesigns } from './index';
2
+ import { commerceFavorites, commerceGiftCards, commerceGroupStores, commerceReturnRequests, commerceReviews, commerceSavedDesigns } from './index';
3
3
  export type CommerceDb = PgDatabase<any, any, any>;
4
4
  export type Review = typeof commerceReviews.$inferSelect;
5
5
  export type NewReview = typeof commerceReviews.$inferInsert;
@@ -9,6 +9,8 @@ export type NewSavedDesign = typeof commerceSavedDesigns.$inferInsert;
9
9
  export type ReturnRequest = typeof commerceReturnRequests.$inferSelect;
10
10
  export type NewReturnRequest = typeof commerceReturnRequests.$inferInsert;
11
11
  export type GiftCard = typeof commerceGiftCards.$inferSelect;
12
+ export type GroupStore = typeof commerceGroupStores.$inferSelect;
13
+ export type NewGroupStore = typeof commerceGroupStores.$inferInsert;
12
14
  export type GiftCardRedemption = {
13
15
  appliedCents: number;
14
16
  balanceCents: number;
@@ -986,6 +988,520 @@ export declare const getGiftCard: (db: CommerceDb, code: string) => Promise<{
986
988
  recipient_email: string | null;
987
989
  } | null>;
988
990
  export declare const redeemGiftCard: (db: CommerceDb, code: string, amountCents: number) => Promise<GiftCardRedemption | null>;
991
+ export declare const createGroupStore: (db: CommerceDb, store: NewGroupStore) => Promise<{
992
+ active: boolean;
993
+ message: string | null;
994
+ created_at: Date;
995
+ name: string;
996
+ id: string;
997
+ product_id: string;
998
+ deadline: string | null;
999
+ organizer_email: string | null;
1000
+ slug: string;
1001
+ } | undefined>;
1002
+ export declare const listGroupStores: (db: CommerceDb) => Omit<import("drizzle-orm/pg-core").PgSelectBase<"group_stores", {
1003
+ active: import("drizzle-orm/pg-core").PgColumn<{
1004
+ name: "active";
1005
+ tableName: "group_stores";
1006
+ dataType: "boolean";
1007
+ columnType: "PgBoolean";
1008
+ data: boolean;
1009
+ driverParam: boolean;
1010
+ notNull: true;
1011
+ hasDefault: true;
1012
+ isPrimaryKey: false;
1013
+ isAutoincrement: false;
1014
+ hasRuntimeDefault: false;
1015
+ enumValues: undefined;
1016
+ baseColumn: never;
1017
+ identity: undefined;
1018
+ generated: undefined;
1019
+ }, {}, {}>;
1020
+ created_at: import("drizzle-orm/pg-core").PgColumn<{
1021
+ name: "created_at";
1022
+ tableName: "group_stores";
1023
+ dataType: "date";
1024
+ columnType: "PgTimestamp";
1025
+ data: Date;
1026
+ driverParam: string;
1027
+ notNull: true;
1028
+ hasDefault: true;
1029
+ isPrimaryKey: false;
1030
+ isAutoincrement: false;
1031
+ hasRuntimeDefault: false;
1032
+ enumValues: undefined;
1033
+ baseColumn: never;
1034
+ identity: undefined;
1035
+ generated: undefined;
1036
+ }, {}, {}>;
1037
+ deadline: import("drizzle-orm/pg-core").PgColumn<{
1038
+ name: "deadline";
1039
+ tableName: "group_stores";
1040
+ dataType: "string";
1041
+ columnType: "PgVarchar";
1042
+ data: string;
1043
+ driverParam: string;
1044
+ notNull: false;
1045
+ hasDefault: false;
1046
+ isPrimaryKey: false;
1047
+ isAutoincrement: false;
1048
+ hasRuntimeDefault: false;
1049
+ enumValues: [string, ...string[]];
1050
+ baseColumn: never;
1051
+ identity: undefined;
1052
+ generated: undefined;
1053
+ }, {}, {
1054
+ length: 60;
1055
+ }>;
1056
+ id: import("drizzle-orm/pg-core").PgColumn<{
1057
+ name: "id";
1058
+ tableName: "group_stores";
1059
+ dataType: "string";
1060
+ columnType: "PgUUID";
1061
+ data: string;
1062
+ driverParam: string;
1063
+ notNull: true;
1064
+ hasDefault: true;
1065
+ isPrimaryKey: true;
1066
+ isAutoincrement: false;
1067
+ hasRuntimeDefault: false;
1068
+ enumValues: undefined;
1069
+ baseColumn: never;
1070
+ identity: undefined;
1071
+ generated: undefined;
1072
+ }, {}, {}>;
1073
+ message: import("drizzle-orm/pg-core").PgColumn<{
1074
+ name: "message";
1075
+ tableName: "group_stores";
1076
+ dataType: "string";
1077
+ columnType: "PgText";
1078
+ data: string;
1079
+ driverParam: string;
1080
+ notNull: false;
1081
+ hasDefault: false;
1082
+ isPrimaryKey: false;
1083
+ isAutoincrement: false;
1084
+ hasRuntimeDefault: false;
1085
+ enumValues: [string, ...string[]];
1086
+ baseColumn: never;
1087
+ identity: undefined;
1088
+ generated: undefined;
1089
+ }, {}, {}>;
1090
+ name: import("drizzle-orm/pg-core").PgColumn<{
1091
+ name: "name";
1092
+ tableName: "group_stores";
1093
+ dataType: "string";
1094
+ columnType: "PgVarchar";
1095
+ data: string;
1096
+ driverParam: string;
1097
+ notNull: true;
1098
+ hasDefault: false;
1099
+ isPrimaryKey: false;
1100
+ isAutoincrement: false;
1101
+ hasRuntimeDefault: false;
1102
+ enumValues: [string, ...string[]];
1103
+ baseColumn: never;
1104
+ identity: undefined;
1105
+ generated: undefined;
1106
+ }, {}, {
1107
+ length: 160;
1108
+ }>;
1109
+ organizer_email: import("drizzle-orm/pg-core").PgColumn<{
1110
+ name: "organizer_email";
1111
+ tableName: "group_stores";
1112
+ dataType: "string";
1113
+ columnType: "PgVarchar";
1114
+ data: string;
1115
+ driverParam: string;
1116
+ notNull: false;
1117
+ hasDefault: false;
1118
+ isPrimaryKey: false;
1119
+ isAutoincrement: false;
1120
+ hasRuntimeDefault: false;
1121
+ enumValues: [string, ...string[]];
1122
+ baseColumn: never;
1123
+ identity: undefined;
1124
+ generated: undefined;
1125
+ }, {}, {
1126
+ length: 320;
1127
+ }>;
1128
+ product_id: import("drizzle-orm/pg-core").PgColumn<{
1129
+ name: "product_id";
1130
+ tableName: "group_stores";
1131
+ dataType: "string";
1132
+ columnType: "PgVarchar";
1133
+ data: string;
1134
+ driverParam: string;
1135
+ notNull: true;
1136
+ hasDefault: false;
1137
+ isPrimaryKey: false;
1138
+ isAutoincrement: false;
1139
+ hasRuntimeDefault: false;
1140
+ enumValues: [string, ...string[]];
1141
+ baseColumn: never;
1142
+ identity: undefined;
1143
+ generated: undefined;
1144
+ }, {}, {
1145
+ length: 40;
1146
+ }>;
1147
+ slug: import("drizzle-orm/pg-core").PgColumn<{
1148
+ name: "slug";
1149
+ tableName: "group_stores";
1150
+ dataType: "string";
1151
+ columnType: "PgVarchar";
1152
+ data: string;
1153
+ driverParam: string;
1154
+ notNull: true;
1155
+ hasDefault: false;
1156
+ isPrimaryKey: false;
1157
+ isAutoincrement: false;
1158
+ hasRuntimeDefault: false;
1159
+ enumValues: [string, ...string[]];
1160
+ baseColumn: never;
1161
+ identity: undefined;
1162
+ generated: undefined;
1163
+ }, {}, {
1164
+ length: 80;
1165
+ }>;
1166
+ }, "single", Record<"group_stores", "not-null">, false, "orderBy", {
1167
+ active: boolean;
1168
+ created_at: Date;
1169
+ deadline: string | null;
1170
+ id: string;
1171
+ message: string | null;
1172
+ name: string;
1173
+ organizer_email: string | null;
1174
+ product_id: string;
1175
+ slug: string;
1176
+ }[], {
1177
+ active: import("drizzle-orm/pg-core").PgColumn<{
1178
+ name: "active";
1179
+ tableName: "group_stores";
1180
+ dataType: "boolean";
1181
+ columnType: "PgBoolean";
1182
+ data: boolean;
1183
+ driverParam: boolean;
1184
+ notNull: true;
1185
+ hasDefault: true;
1186
+ isPrimaryKey: false;
1187
+ isAutoincrement: false;
1188
+ hasRuntimeDefault: false;
1189
+ enumValues: undefined;
1190
+ baseColumn: never;
1191
+ identity: undefined;
1192
+ generated: undefined;
1193
+ }, {}, {}>;
1194
+ created_at: import("drizzle-orm/pg-core").PgColumn<{
1195
+ name: "created_at";
1196
+ tableName: "group_stores";
1197
+ dataType: "date";
1198
+ columnType: "PgTimestamp";
1199
+ data: Date;
1200
+ driverParam: string;
1201
+ notNull: true;
1202
+ hasDefault: true;
1203
+ isPrimaryKey: false;
1204
+ isAutoincrement: false;
1205
+ hasRuntimeDefault: false;
1206
+ enumValues: undefined;
1207
+ baseColumn: never;
1208
+ identity: undefined;
1209
+ generated: undefined;
1210
+ }, {}, {}>;
1211
+ deadline: import("drizzle-orm/pg-core").PgColumn<{
1212
+ name: "deadline";
1213
+ tableName: "group_stores";
1214
+ dataType: "string";
1215
+ columnType: "PgVarchar";
1216
+ data: string;
1217
+ driverParam: string;
1218
+ notNull: false;
1219
+ hasDefault: false;
1220
+ isPrimaryKey: false;
1221
+ isAutoincrement: false;
1222
+ hasRuntimeDefault: false;
1223
+ enumValues: [string, ...string[]];
1224
+ baseColumn: never;
1225
+ identity: undefined;
1226
+ generated: undefined;
1227
+ }, {}, {
1228
+ length: 60;
1229
+ }>;
1230
+ id: import("drizzle-orm/pg-core").PgColumn<{
1231
+ name: "id";
1232
+ tableName: "group_stores";
1233
+ dataType: "string";
1234
+ columnType: "PgUUID";
1235
+ data: string;
1236
+ driverParam: string;
1237
+ notNull: true;
1238
+ hasDefault: true;
1239
+ isPrimaryKey: true;
1240
+ isAutoincrement: false;
1241
+ hasRuntimeDefault: false;
1242
+ enumValues: undefined;
1243
+ baseColumn: never;
1244
+ identity: undefined;
1245
+ generated: undefined;
1246
+ }, {}, {}>;
1247
+ message: import("drizzle-orm/pg-core").PgColumn<{
1248
+ name: "message";
1249
+ tableName: "group_stores";
1250
+ dataType: "string";
1251
+ columnType: "PgText";
1252
+ data: string;
1253
+ driverParam: string;
1254
+ notNull: false;
1255
+ hasDefault: false;
1256
+ isPrimaryKey: false;
1257
+ isAutoincrement: false;
1258
+ hasRuntimeDefault: false;
1259
+ enumValues: [string, ...string[]];
1260
+ baseColumn: never;
1261
+ identity: undefined;
1262
+ generated: undefined;
1263
+ }, {}, {}>;
1264
+ name: import("drizzle-orm/pg-core").PgColumn<{
1265
+ name: "name";
1266
+ tableName: "group_stores";
1267
+ dataType: "string";
1268
+ columnType: "PgVarchar";
1269
+ data: string;
1270
+ driverParam: string;
1271
+ notNull: true;
1272
+ hasDefault: false;
1273
+ isPrimaryKey: false;
1274
+ isAutoincrement: false;
1275
+ hasRuntimeDefault: false;
1276
+ enumValues: [string, ...string[]];
1277
+ baseColumn: never;
1278
+ identity: undefined;
1279
+ generated: undefined;
1280
+ }, {}, {
1281
+ length: 160;
1282
+ }>;
1283
+ organizer_email: import("drizzle-orm/pg-core").PgColumn<{
1284
+ name: "organizer_email";
1285
+ tableName: "group_stores";
1286
+ dataType: "string";
1287
+ columnType: "PgVarchar";
1288
+ data: string;
1289
+ driverParam: string;
1290
+ notNull: false;
1291
+ hasDefault: false;
1292
+ isPrimaryKey: false;
1293
+ isAutoincrement: false;
1294
+ hasRuntimeDefault: false;
1295
+ enumValues: [string, ...string[]];
1296
+ baseColumn: never;
1297
+ identity: undefined;
1298
+ generated: undefined;
1299
+ }, {}, {
1300
+ length: 320;
1301
+ }>;
1302
+ product_id: import("drizzle-orm/pg-core").PgColumn<{
1303
+ name: "product_id";
1304
+ tableName: "group_stores";
1305
+ dataType: "string";
1306
+ columnType: "PgVarchar";
1307
+ data: string;
1308
+ driverParam: string;
1309
+ notNull: true;
1310
+ hasDefault: false;
1311
+ isPrimaryKey: false;
1312
+ isAutoincrement: false;
1313
+ hasRuntimeDefault: false;
1314
+ enumValues: [string, ...string[]];
1315
+ baseColumn: never;
1316
+ identity: undefined;
1317
+ generated: undefined;
1318
+ }, {}, {
1319
+ length: 40;
1320
+ }>;
1321
+ slug: import("drizzle-orm/pg-core").PgColumn<{
1322
+ name: "slug";
1323
+ tableName: "group_stores";
1324
+ dataType: "string";
1325
+ columnType: "PgVarchar";
1326
+ data: string;
1327
+ driverParam: string;
1328
+ notNull: true;
1329
+ hasDefault: false;
1330
+ isPrimaryKey: false;
1331
+ isAutoincrement: false;
1332
+ hasRuntimeDefault: false;
1333
+ enumValues: [string, ...string[]];
1334
+ baseColumn: never;
1335
+ identity: undefined;
1336
+ generated: undefined;
1337
+ }, {}, {
1338
+ length: 80;
1339
+ }>;
1340
+ }>, "orderBy">;
1341
+ export declare const getGroupStoreBySlug: (db: CommerceDb, slug: string) => Promise<{
1342
+ active: boolean;
1343
+ created_at: Date;
1344
+ deadline: string | null;
1345
+ id: string;
1346
+ message: string | null;
1347
+ name: string;
1348
+ organizer_email: string | null;
1349
+ product_id: string;
1350
+ slug: string;
1351
+ } | null>;
1352
+ export declare const recordGroupOrder: (db: CommerceDb, slug: string, orderSessionId: string) => Promise<void>;
1353
+ export declare const listGroupOrders: (db: CommerceDb, slug: string) => Omit<import("drizzle-orm/pg-core").PgSelectBase<"group_orders", {
1354
+ created_at: import("drizzle-orm/pg-core").PgColumn<{
1355
+ name: "created_at";
1356
+ tableName: "group_orders";
1357
+ dataType: "date";
1358
+ columnType: "PgTimestamp";
1359
+ data: Date;
1360
+ driverParam: string;
1361
+ notNull: true;
1362
+ hasDefault: true;
1363
+ isPrimaryKey: false;
1364
+ isAutoincrement: false;
1365
+ hasRuntimeDefault: false;
1366
+ enumValues: undefined;
1367
+ baseColumn: never;
1368
+ identity: undefined;
1369
+ generated: undefined;
1370
+ }, {}, {}>;
1371
+ group_slug: import("drizzle-orm/pg-core").PgColumn<{
1372
+ name: "group_slug";
1373
+ tableName: "group_orders";
1374
+ dataType: "string";
1375
+ columnType: "PgVarchar";
1376
+ data: string;
1377
+ driverParam: string;
1378
+ notNull: true;
1379
+ hasDefault: false;
1380
+ isPrimaryKey: false;
1381
+ isAutoincrement: false;
1382
+ hasRuntimeDefault: false;
1383
+ enumValues: [string, ...string[]];
1384
+ baseColumn: never;
1385
+ identity: undefined;
1386
+ generated: undefined;
1387
+ }, {}, {
1388
+ length: 80;
1389
+ }>;
1390
+ id: import("drizzle-orm/pg-core").PgColumn<{
1391
+ name: "id";
1392
+ tableName: "group_orders";
1393
+ dataType: "string";
1394
+ columnType: "PgUUID";
1395
+ data: string;
1396
+ driverParam: string;
1397
+ notNull: true;
1398
+ hasDefault: true;
1399
+ isPrimaryKey: true;
1400
+ isAutoincrement: false;
1401
+ hasRuntimeDefault: false;
1402
+ enumValues: undefined;
1403
+ baseColumn: never;
1404
+ identity: undefined;
1405
+ generated: undefined;
1406
+ }, {}, {}>;
1407
+ order_session_id: import("drizzle-orm/pg-core").PgColumn<{
1408
+ name: "order_session_id";
1409
+ tableName: "group_orders";
1410
+ dataType: "string";
1411
+ columnType: "PgVarchar";
1412
+ data: string;
1413
+ driverParam: string;
1414
+ notNull: true;
1415
+ hasDefault: false;
1416
+ isPrimaryKey: false;
1417
+ isAutoincrement: false;
1418
+ hasRuntimeDefault: false;
1419
+ enumValues: [string, ...string[]];
1420
+ baseColumn: never;
1421
+ identity: undefined;
1422
+ generated: undefined;
1423
+ }, {}, {
1424
+ length: 255;
1425
+ }>;
1426
+ }, "single", Record<"group_orders", "not-null">, false, "orderBy" | "where", {
1427
+ created_at: Date;
1428
+ group_slug: string;
1429
+ id: string;
1430
+ order_session_id: string;
1431
+ }[], {
1432
+ created_at: import("drizzle-orm/pg-core").PgColumn<{
1433
+ name: "created_at";
1434
+ tableName: "group_orders";
1435
+ dataType: "date";
1436
+ columnType: "PgTimestamp";
1437
+ data: Date;
1438
+ driverParam: string;
1439
+ notNull: true;
1440
+ hasDefault: true;
1441
+ isPrimaryKey: false;
1442
+ isAutoincrement: false;
1443
+ hasRuntimeDefault: false;
1444
+ enumValues: undefined;
1445
+ baseColumn: never;
1446
+ identity: undefined;
1447
+ generated: undefined;
1448
+ }, {}, {}>;
1449
+ group_slug: import("drizzle-orm/pg-core").PgColumn<{
1450
+ name: "group_slug";
1451
+ tableName: "group_orders";
1452
+ dataType: "string";
1453
+ columnType: "PgVarchar";
1454
+ data: string;
1455
+ driverParam: string;
1456
+ notNull: true;
1457
+ hasDefault: false;
1458
+ isPrimaryKey: false;
1459
+ isAutoincrement: false;
1460
+ hasRuntimeDefault: false;
1461
+ enumValues: [string, ...string[]];
1462
+ baseColumn: never;
1463
+ identity: undefined;
1464
+ generated: undefined;
1465
+ }, {}, {
1466
+ length: 80;
1467
+ }>;
1468
+ id: import("drizzle-orm/pg-core").PgColumn<{
1469
+ name: "id";
1470
+ tableName: "group_orders";
1471
+ dataType: "string";
1472
+ columnType: "PgUUID";
1473
+ data: string;
1474
+ driverParam: string;
1475
+ notNull: true;
1476
+ hasDefault: true;
1477
+ isPrimaryKey: true;
1478
+ isAutoincrement: false;
1479
+ hasRuntimeDefault: false;
1480
+ enumValues: undefined;
1481
+ baseColumn: never;
1482
+ identity: undefined;
1483
+ generated: undefined;
1484
+ }, {}, {}>;
1485
+ order_session_id: import("drizzle-orm/pg-core").PgColumn<{
1486
+ name: "order_session_id";
1487
+ tableName: "group_orders";
1488
+ dataType: "string";
1489
+ columnType: "PgVarchar";
1490
+ data: string;
1491
+ driverParam: string;
1492
+ notNull: true;
1493
+ hasDefault: false;
1494
+ isPrimaryKey: false;
1495
+ isAutoincrement: false;
1496
+ hasRuntimeDefault: false;
1497
+ enumValues: [string, ...string[]];
1498
+ baseColumn: never;
1499
+ identity: undefined;
1500
+ generated: undefined;
1501
+ }, {}, {
1502
+ length: 255;
1503
+ }>;
1504
+ }>, "orderBy" | "where">;
989
1505
  export declare const createReturnRequest: (db: CommerceDb, request: NewReturnRequest) => Promise<{
990
1506
  status: string;
991
1507
  created_at: Date;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/commerce",
3
- "version": "0.6.0-beta.0",
3
+ "version": "0.7.0-beta.0",
4
4
  "description": "Provider-agnostic commerce primitives (cart, orders, fulfillment, shipping) for AbsoluteJS",
5
5
  "repository": {
6
6
  "type": "git",