@absolutejs/commerce 0.12.0-beta.0 → 0.13.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.
- package/dist/drizzle/index.d.ts +196 -0
- package/dist/drizzle/index.js +42 -0
- package/dist/drizzle/queries.d.ts +45 -1
- package/package.json +1 -1
package/dist/drizzle/index.d.ts
CHANGED
|
@@ -2082,6 +2082,104 @@ export declare const commerceGroupStores: import("drizzle-orm/pg-core").PgTableW
|
|
|
2082
2082
|
};
|
|
2083
2083
|
dialect: "pg";
|
|
2084
2084
|
}>;
|
|
2085
|
+
export declare const commerceLoyalty: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
2086
|
+
name: "loyalty";
|
|
2087
|
+
schema: undefined;
|
|
2088
|
+
columns: {
|
|
2089
|
+
created_at: import("drizzle-orm/pg-core").PgColumn<{
|
|
2090
|
+
name: "created_at";
|
|
2091
|
+
tableName: "loyalty";
|
|
2092
|
+
dataType: "date";
|
|
2093
|
+
columnType: "PgTimestamp";
|
|
2094
|
+
data: Date;
|
|
2095
|
+
driverParam: string;
|
|
2096
|
+
notNull: true;
|
|
2097
|
+
hasDefault: true;
|
|
2098
|
+
isPrimaryKey: false;
|
|
2099
|
+
isAutoincrement: false;
|
|
2100
|
+
hasRuntimeDefault: false;
|
|
2101
|
+
enumValues: undefined;
|
|
2102
|
+
baseColumn: never;
|
|
2103
|
+
identity: undefined;
|
|
2104
|
+
generated: undefined;
|
|
2105
|
+
}, {}, {}>;
|
|
2106
|
+
email: import("drizzle-orm/pg-core").PgColumn<{
|
|
2107
|
+
name: "email";
|
|
2108
|
+
tableName: "loyalty";
|
|
2109
|
+
dataType: "string";
|
|
2110
|
+
columnType: "PgVarchar";
|
|
2111
|
+
data: string;
|
|
2112
|
+
driverParam: string;
|
|
2113
|
+
notNull: true;
|
|
2114
|
+
hasDefault: false;
|
|
2115
|
+
isPrimaryKey: true;
|
|
2116
|
+
isAutoincrement: false;
|
|
2117
|
+
hasRuntimeDefault: false;
|
|
2118
|
+
enumValues: [string, ...string[]];
|
|
2119
|
+
baseColumn: never;
|
|
2120
|
+
identity: undefined;
|
|
2121
|
+
generated: undefined;
|
|
2122
|
+
}, {}, {
|
|
2123
|
+
length: 320;
|
|
2124
|
+
}>;
|
|
2125
|
+
points: import("drizzle-orm/pg-core").PgColumn<{
|
|
2126
|
+
name: "points";
|
|
2127
|
+
tableName: "loyalty";
|
|
2128
|
+
dataType: "number";
|
|
2129
|
+
columnType: "PgInteger";
|
|
2130
|
+
data: number;
|
|
2131
|
+
driverParam: string | number;
|
|
2132
|
+
notNull: true;
|
|
2133
|
+
hasDefault: true;
|
|
2134
|
+
isPrimaryKey: false;
|
|
2135
|
+
isAutoincrement: false;
|
|
2136
|
+
hasRuntimeDefault: false;
|
|
2137
|
+
enumValues: undefined;
|
|
2138
|
+
baseColumn: never;
|
|
2139
|
+
identity: undefined;
|
|
2140
|
+
generated: undefined;
|
|
2141
|
+
}, {}, {}>;
|
|
2142
|
+
referral_code: import("drizzle-orm/pg-core").PgColumn<{
|
|
2143
|
+
name: "referral_code";
|
|
2144
|
+
tableName: "loyalty";
|
|
2145
|
+
dataType: "string";
|
|
2146
|
+
columnType: "PgVarchar";
|
|
2147
|
+
data: string;
|
|
2148
|
+
driverParam: string;
|
|
2149
|
+
notNull: true;
|
|
2150
|
+
hasDefault: false;
|
|
2151
|
+
isPrimaryKey: false;
|
|
2152
|
+
isAutoincrement: false;
|
|
2153
|
+
hasRuntimeDefault: false;
|
|
2154
|
+
enumValues: [string, ...string[]];
|
|
2155
|
+
baseColumn: never;
|
|
2156
|
+
identity: undefined;
|
|
2157
|
+
generated: undefined;
|
|
2158
|
+
}, {}, {
|
|
2159
|
+
length: 20;
|
|
2160
|
+
}>;
|
|
2161
|
+
referred_by: import("drizzle-orm/pg-core").PgColumn<{
|
|
2162
|
+
name: "referred_by";
|
|
2163
|
+
tableName: "loyalty";
|
|
2164
|
+
dataType: "string";
|
|
2165
|
+
columnType: "PgVarchar";
|
|
2166
|
+
data: string;
|
|
2167
|
+
driverParam: string;
|
|
2168
|
+
notNull: false;
|
|
2169
|
+
hasDefault: false;
|
|
2170
|
+
isPrimaryKey: false;
|
|
2171
|
+
isAutoincrement: false;
|
|
2172
|
+
hasRuntimeDefault: false;
|
|
2173
|
+
enumValues: [string, ...string[]];
|
|
2174
|
+
baseColumn: never;
|
|
2175
|
+
identity: undefined;
|
|
2176
|
+
generated: undefined;
|
|
2177
|
+
}, {}, {
|
|
2178
|
+
length: 20;
|
|
2179
|
+
}>;
|
|
2180
|
+
};
|
|
2181
|
+
dialect: "pg";
|
|
2182
|
+
}>;
|
|
2085
2183
|
export declare const commercePushSubscriptions: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
2086
2184
|
name: "push_subscriptions";
|
|
2087
2185
|
schema: undefined;
|
|
@@ -4518,6 +4616,104 @@ export declare const commerceDrizzleSchema: {
|
|
|
4518
4616
|
};
|
|
4519
4617
|
dialect: "pg";
|
|
4520
4618
|
}>;
|
|
4619
|
+
loyalty: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
4620
|
+
name: "loyalty";
|
|
4621
|
+
schema: undefined;
|
|
4622
|
+
columns: {
|
|
4623
|
+
created_at: import("drizzle-orm/pg-core").PgColumn<{
|
|
4624
|
+
name: "created_at";
|
|
4625
|
+
tableName: "loyalty";
|
|
4626
|
+
dataType: "date";
|
|
4627
|
+
columnType: "PgTimestamp";
|
|
4628
|
+
data: Date;
|
|
4629
|
+
driverParam: string;
|
|
4630
|
+
notNull: true;
|
|
4631
|
+
hasDefault: true;
|
|
4632
|
+
isPrimaryKey: false;
|
|
4633
|
+
isAutoincrement: false;
|
|
4634
|
+
hasRuntimeDefault: false;
|
|
4635
|
+
enumValues: undefined;
|
|
4636
|
+
baseColumn: never;
|
|
4637
|
+
identity: undefined;
|
|
4638
|
+
generated: undefined;
|
|
4639
|
+
}, {}, {}>;
|
|
4640
|
+
email: import("drizzle-orm/pg-core").PgColumn<{
|
|
4641
|
+
name: "email";
|
|
4642
|
+
tableName: "loyalty";
|
|
4643
|
+
dataType: "string";
|
|
4644
|
+
columnType: "PgVarchar";
|
|
4645
|
+
data: string;
|
|
4646
|
+
driverParam: string;
|
|
4647
|
+
notNull: true;
|
|
4648
|
+
hasDefault: false;
|
|
4649
|
+
isPrimaryKey: true;
|
|
4650
|
+
isAutoincrement: false;
|
|
4651
|
+
hasRuntimeDefault: false;
|
|
4652
|
+
enumValues: [string, ...string[]];
|
|
4653
|
+
baseColumn: never;
|
|
4654
|
+
identity: undefined;
|
|
4655
|
+
generated: undefined;
|
|
4656
|
+
}, {}, {
|
|
4657
|
+
length: 320;
|
|
4658
|
+
}>;
|
|
4659
|
+
points: import("drizzle-orm/pg-core").PgColumn<{
|
|
4660
|
+
name: "points";
|
|
4661
|
+
tableName: "loyalty";
|
|
4662
|
+
dataType: "number";
|
|
4663
|
+
columnType: "PgInteger";
|
|
4664
|
+
data: number;
|
|
4665
|
+
driverParam: string | number;
|
|
4666
|
+
notNull: true;
|
|
4667
|
+
hasDefault: true;
|
|
4668
|
+
isPrimaryKey: false;
|
|
4669
|
+
isAutoincrement: false;
|
|
4670
|
+
hasRuntimeDefault: false;
|
|
4671
|
+
enumValues: undefined;
|
|
4672
|
+
baseColumn: never;
|
|
4673
|
+
identity: undefined;
|
|
4674
|
+
generated: undefined;
|
|
4675
|
+
}, {}, {}>;
|
|
4676
|
+
referral_code: import("drizzle-orm/pg-core").PgColumn<{
|
|
4677
|
+
name: "referral_code";
|
|
4678
|
+
tableName: "loyalty";
|
|
4679
|
+
dataType: "string";
|
|
4680
|
+
columnType: "PgVarchar";
|
|
4681
|
+
data: string;
|
|
4682
|
+
driverParam: string;
|
|
4683
|
+
notNull: true;
|
|
4684
|
+
hasDefault: false;
|
|
4685
|
+
isPrimaryKey: false;
|
|
4686
|
+
isAutoincrement: false;
|
|
4687
|
+
hasRuntimeDefault: false;
|
|
4688
|
+
enumValues: [string, ...string[]];
|
|
4689
|
+
baseColumn: never;
|
|
4690
|
+
identity: undefined;
|
|
4691
|
+
generated: undefined;
|
|
4692
|
+
}, {}, {
|
|
4693
|
+
length: 20;
|
|
4694
|
+
}>;
|
|
4695
|
+
referred_by: import("drizzle-orm/pg-core").PgColumn<{
|
|
4696
|
+
name: "referred_by";
|
|
4697
|
+
tableName: "loyalty";
|
|
4698
|
+
dataType: "string";
|
|
4699
|
+
columnType: "PgVarchar";
|
|
4700
|
+
data: string;
|
|
4701
|
+
driverParam: string;
|
|
4702
|
+
notNull: false;
|
|
4703
|
+
hasDefault: false;
|
|
4704
|
+
isPrimaryKey: false;
|
|
4705
|
+
isAutoincrement: false;
|
|
4706
|
+
hasRuntimeDefault: false;
|
|
4707
|
+
enumValues: [string, ...string[]];
|
|
4708
|
+
baseColumn: never;
|
|
4709
|
+
identity: undefined;
|
|
4710
|
+
generated: undefined;
|
|
4711
|
+
}, {}, {
|
|
4712
|
+
length: 20;
|
|
4713
|
+
}>;
|
|
4714
|
+
};
|
|
4715
|
+
dialect: "pg";
|
|
4716
|
+
}>;
|
|
4521
4717
|
orders: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
4522
4718
|
name: "orders";
|
|
4523
4719
|
schema: undefined;
|
package/dist/drizzle/index.js
CHANGED
|
@@ -110,6 +110,33 @@ var setInvoiceStatus = async (db, id, status) => {
|
|
|
110
110
|
const [updated] = await db.update(commerceInvoices).set({ status }).where(eq(commerceInvoices.id, id)).returning();
|
|
111
111
|
return updated;
|
|
112
112
|
};
|
|
113
|
+
var ensureLoyalty = async (db, email, referralCode) => {
|
|
114
|
+
const [row] = await db.insert(commerceLoyalty).values({ email, referral_code: referralCode }).onConflictDoNothing({ target: commerceLoyalty.email }).returning();
|
|
115
|
+
if (row)
|
|
116
|
+
return row;
|
|
117
|
+
const [existing] = await db.select().from(commerceLoyalty).where(eq(commerceLoyalty.email, email)).limit(1);
|
|
118
|
+
return existing;
|
|
119
|
+
};
|
|
120
|
+
var getLoyalty = async (db, email) => {
|
|
121
|
+
const [row] = await db.select().from(commerceLoyalty).where(eq(commerceLoyalty.email, email)).limit(1);
|
|
122
|
+
return row ?? null;
|
|
123
|
+
};
|
|
124
|
+
var getLoyaltyByReferralCode = async (db, code) => {
|
|
125
|
+
const [row] = await db.select().from(commerceLoyalty).where(eq(commerceLoyalty.referral_code, code)).limit(1);
|
|
126
|
+
return row ?? null;
|
|
127
|
+
};
|
|
128
|
+
var addLoyaltyPoints = async (db, email, points) => {
|
|
129
|
+
const [row] = await db.update(commerceLoyalty).set({ points: sql`${commerceLoyalty.points} + ${points}` }).where(eq(commerceLoyalty.email, email)).returning();
|
|
130
|
+
return row;
|
|
131
|
+
};
|
|
132
|
+
var spendLoyaltyPoints = async (db, email, points) => {
|
|
133
|
+
const [row] = await db.update(commerceLoyalty).set({ points: sql`GREATEST(${commerceLoyalty.points} - ${points}, 0)` }).where(eq(commerceLoyalty.email, email)).returning();
|
|
134
|
+
return row;
|
|
135
|
+
};
|
|
136
|
+
var setReferredBy = async (db, email, code) => {
|
|
137
|
+
const [row] = await db.update(commerceLoyalty).set({ referred_by: code }).where(eq(commerceLoyalty.email, email)).returning();
|
|
138
|
+
return row;
|
|
139
|
+
};
|
|
113
140
|
var savePushSubscription = async (db, sub) => {
|
|
114
141
|
const [saved] = await db.insert(commercePushSubscriptions).values(sub).onConflictDoUpdate({
|
|
115
142
|
set: { auth: sub.auth, email: sub.email, p256dh: sub.p256dh, role: sub.role },
|
|
@@ -328,6 +355,13 @@ var commerceGroupStores = pgTable("group_stores", {
|
|
|
328
355
|
product_id: varchar({ length: 40 }).notNull(),
|
|
329
356
|
slug: varchar({ length: 80 }).notNull().unique()
|
|
330
357
|
});
|
|
358
|
+
var commerceLoyalty = pgTable("loyalty", {
|
|
359
|
+
created_at: timestamp().notNull().defaultNow(),
|
|
360
|
+
email: varchar({ length: 320 }).primaryKey(),
|
|
361
|
+
points: integer().notNull().default(0),
|
|
362
|
+
referral_code: varchar({ length: 20 }).notNull().unique(),
|
|
363
|
+
referred_by: varchar({ length: 20 })
|
|
364
|
+
});
|
|
331
365
|
var commercePushSubscriptions = pgTable("push_subscriptions", {
|
|
332
366
|
auth: varchar({ length: 255 }).notNull(),
|
|
333
367
|
created_at: timestamp().notNull().defaultNow(),
|
|
@@ -403,6 +437,7 @@ var commerceDrizzleSchema = {
|
|
|
403
437
|
groupOrders: commerceGroupOrders,
|
|
404
438
|
groupStores: commerceGroupStores,
|
|
405
439
|
inventory: commerceInventory,
|
|
440
|
+
loyalty: commerceLoyalty,
|
|
406
441
|
orders: commerceOrders,
|
|
407
442
|
pushSubscriptions: commercePushSubscriptions,
|
|
408
443
|
quotes: commerceQuotes,
|
|
@@ -415,8 +450,10 @@ export {
|
|
|
415
450
|
updateCompany,
|
|
416
451
|
toggleFavorite,
|
|
417
452
|
subscribe,
|
|
453
|
+
spendLoyaltyPoints,
|
|
418
454
|
setReviewStatus,
|
|
419
455
|
setReturnStatus,
|
|
456
|
+
setReferredBy,
|
|
420
457
|
setInvoiceStatus,
|
|
421
458
|
setInventoryQuantity,
|
|
422
459
|
savePushSubscription,
|
|
@@ -444,12 +481,15 @@ export {
|
|
|
444
481
|
listApprovedReviews,
|
|
445
482
|
listAllReviews,
|
|
446
483
|
issueGiftCard,
|
|
484
|
+
getLoyaltyByReferralCode,
|
|
485
|
+
getLoyalty,
|
|
447
486
|
getInvoiceByOrder,
|
|
448
487
|
getInvoice,
|
|
449
488
|
getGroupStoreBySlug,
|
|
450
489
|
getGiftCard,
|
|
451
490
|
getCompany,
|
|
452
491
|
findOrderForTracking,
|
|
492
|
+
ensureLoyalty,
|
|
453
493
|
dueForReminder,
|
|
454
494
|
deleteSavedDesign,
|
|
455
495
|
deletePushSubscription,
|
|
@@ -468,6 +508,7 @@ export {
|
|
|
468
508
|
commerceQuotes,
|
|
469
509
|
commercePushSubscriptions,
|
|
470
510
|
commerceOrders,
|
|
511
|
+
commerceLoyalty,
|
|
471
512
|
commerceInvoices,
|
|
472
513
|
commerceInventory,
|
|
473
514
|
commerceGroupStores,
|
|
@@ -480,5 +521,6 @@ export {
|
|
|
480
521
|
commerceDesigns,
|
|
481
522
|
commerceCompanies,
|
|
482
523
|
commerceAbandonedCarts,
|
|
524
|
+
addLoyaltyPoints,
|
|
483
525
|
addInventoryItem
|
|
484
526
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PgDatabase } from 'drizzle-orm/pg-core';
|
|
2
|
-
import { commerceCompanies, commerceFavorites, commerceGalleryItems, commerceGiftCards, commerceGroupStores, commerceInventory, commerceInvoices, commercePushSubscriptions, commerceReturnRequests, commerceReviews, commerceSavedDesigns } from './index';
|
|
2
|
+
import { commerceCompanies, commerceFavorites, commerceGalleryItems, commerceGiftCards, commerceGroupStores, commerceInventory, commerceInvoices, commerceLoyalty, commercePushSubscriptions, 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;
|
|
@@ -19,6 +19,8 @@ export type Company = typeof commerceCompanies.$inferSelect;
|
|
|
19
19
|
export type NewCompany = typeof commerceCompanies.$inferInsert;
|
|
20
20
|
export type PushSubscription = typeof commercePushSubscriptions.$inferSelect;
|
|
21
21
|
export type NewPushSubscription = typeof commercePushSubscriptions.$inferInsert;
|
|
22
|
+
export type Loyalty = typeof commerceLoyalty.$inferSelect;
|
|
23
|
+
export type NewLoyalty = typeof commerceLoyalty.$inferInsert;
|
|
22
24
|
export type Invoice = typeof commerceInvoices.$inferSelect;
|
|
23
25
|
export type NewInvoice = typeof commerceInvoices.$inferInsert;
|
|
24
26
|
export type GiftCardRedemption = {
|
|
@@ -1947,6 +1949,48 @@ export declare const setInvoiceStatus: (db: CommerceDb, id: string, status: stri
|
|
|
1947
1949
|
status: string;
|
|
1948
1950
|
tax_exempt: boolean;
|
|
1949
1951
|
} | undefined>;
|
|
1952
|
+
export declare const ensureLoyalty: (db: CommerceDb, email: string, referralCode: string) => Promise<{
|
|
1953
|
+
email: string;
|
|
1954
|
+
created_at: Date;
|
|
1955
|
+
points: number;
|
|
1956
|
+
referral_code: string;
|
|
1957
|
+
referred_by: string | null;
|
|
1958
|
+
} | undefined>;
|
|
1959
|
+
export declare const getLoyalty: (db: CommerceDb, email: string) => Promise<{
|
|
1960
|
+
created_at: Date;
|
|
1961
|
+
email: string;
|
|
1962
|
+
points: number;
|
|
1963
|
+
referral_code: string;
|
|
1964
|
+
referred_by: string | null;
|
|
1965
|
+
} | null>;
|
|
1966
|
+
export declare const getLoyaltyByReferralCode: (db: CommerceDb, code: string) => Promise<{
|
|
1967
|
+
created_at: Date;
|
|
1968
|
+
email: string;
|
|
1969
|
+
points: number;
|
|
1970
|
+
referral_code: string;
|
|
1971
|
+
referred_by: string | null;
|
|
1972
|
+
} | null>;
|
|
1973
|
+
export declare const addLoyaltyPoints: (db: CommerceDb, email: string, points: number) => Promise<{
|
|
1974
|
+
created_at: Date;
|
|
1975
|
+
email: string;
|
|
1976
|
+
points: number;
|
|
1977
|
+
referral_code: string;
|
|
1978
|
+
referred_by: string | null;
|
|
1979
|
+
} | undefined>;
|
|
1980
|
+
export declare const spendLoyaltyPoints: (db: CommerceDb, email: string, points: number) => Promise<{
|
|
1981
|
+
created_at: Date;
|
|
1982
|
+
email: string;
|
|
1983
|
+
points: number;
|
|
1984
|
+
referral_code: string;
|
|
1985
|
+
referred_by: string | null;
|
|
1986
|
+
} | undefined>;
|
|
1987
|
+
export declare const setReferredBy: (db: CommerceDb, email: string, code: string) => Promise<{
|
|
1988
|
+
created_at: Date;
|
|
1989
|
+
email: string;
|
|
1990
|
+
points: number;
|
|
1991
|
+
referral_code: string;
|
|
1992
|
+
referred_by: string | null;
|
|
1993
|
+
} | undefined>;
|
|
1950
1994
|
export declare const savePushSubscription: (db: CommerceDb, sub: NewPushSubscription) => Promise<{
|
|
1951
1995
|
email: string | null;
|
|
1952
1996
|
created_at: Date;
|
package/package.json
CHANGED