@medusajs/loyalty-plugin 0.0.7-preview.4 → 0.0.7-preview.6
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/.medusa/server/medusa-config.d.ts +2 -0
- package/.medusa/server/src/admin/index.js +26651 -26545
- package/.medusa/server/src/admin/index.mjs +26654 -26548
- package/.medusa/server/src/api/admin/gift-cards/[id]/orders/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/gift-cards/[id]/orders/route.js +1 -1
- package/.medusa/server/src/api/admin/gift-cards/[id]/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/gift-cards/[id]/route.js +1 -1
- package/.medusa/server/src/api/admin/gift-cards/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/gift-cards/middlewares.js +1 -9
- package/.medusa/server/src/api/admin/gift-cards/query-config.d.ts +14 -0
- package/.medusa/server/src/api/admin/gift-cards/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/gift-cards/route.js +1 -1
- package/.medusa/server/src/api/admin/gift-cards/validators.d.ts +381 -0
- package/.medusa/server/src/api/admin/gift-cards/validators.js +2 -8
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/credit/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/credit/route.js +30 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/route.js +1 -6
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/transactions/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/[id]/transactions/route.js +1 -1
- package/.medusa/server/src/api/admin/store-credit-accounts/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/middlewares.js +9 -1
- package/.medusa/server/src/api/admin/store-credit-accounts/query-config.d.ts +18 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/query-config.js +2 -1
- package/.medusa/server/src/api/admin/store-credit-accounts/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/route.js +1 -1
- package/.medusa/server/src/api/admin/store-credit-accounts/validators.d.ts +412 -0
- package/.medusa/server/src/api/admin/store-credit-accounts/validators.js +6 -8
- package/.medusa/server/src/api/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/middlewares.js +7 -9
- package/.medusa/server/src/api/store/carts/[id]/gift-cards/route.d.ts +5 -0
- package/.medusa/server/src/api/store/carts/[id]/gift-cards/route.js +1 -1
- package/.medusa/server/src/api/store/carts/[id]/store-credits/route.d.ts +4 -0
- package/.medusa/server/src/api/store/carts/[id]/store-credits/route.js +1 -1
- package/.medusa/server/src/api/store/carts/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/store/carts/query-config.d.ts +4 -0
- package/.medusa/server/src/api/store/carts/validators.d.ts +25 -0
- package/.medusa/server/src/api/store/gift-cards/[idOrCode]/route.d.ts +3 -0
- package/.medusa/server/src/api/store/gift-cards/[idOrCode]/route.js +1 -1
- package/.medusa/server/src/api/store/gift-cards/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/store/gift-cards/middlewares.js +1 -10
- package/.medusa/server/src/api/store/gift-cards/query-config.d.ts +9 -0
- package/.medusa/server/src/api/store/gift-cards/validators.d.ts +11 -0
- package/.medusa/server/src/api/store/store-credit-accounts/[id]/route.d.ts +3 -0
- package/.medusa/server/src/api/store/store-credit-accounts/[id]/route.js +1 -1
- package/.medusa/server/src/api/store/store-credit-accounts/claim/route.d.ts +3 -0
- package/.medusa/server/src/api/store/store-credit-accounts/claim/route.js +25 -0
- package/.medusa/server/src/api/store/store-credit-accounts/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/store/store-credit-accounts/middlewares.js +9 -1
- package/.medusa/server/src/api/store/store-credit-accounts/query-config.d.ts +9 -0
- package/.medusa/server/src/api/store/store-credit-accounts/route.d.ts +3 -0
- package/.medusa/server/src/api/store/store-credit-accounts/route.js +1 -1
- package/.medusa/server/src/api/store/store-credit-accounts/validators.d.ts +120 -0
- package/.medusa/server/src/api/store/store-credit-accounts/validators.js +5 -2
- package/.medusa/server/src/links/cart-gift-cards-link.d.ts +2 -0
- package/.medusa/server/src/links/customer-store-credit-account-link.d.ts +1 -0
- package/.medusa/server/src/links/gift-card-store-credit.d.ts +2 -0
- package/.medusa/server/src/links/order-gift-cards-link.d.ts +2 -0
- package/.medusa/server/src/links/order-line-item-gift-card-link.d.ts +1 -0
- package/.medusa/server/src/modules/loyalty/index.d.ts +21 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250123130553.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250127174331.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250206141026.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250206141429.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250206144714.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250326095923.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/migrations/Migration20250617080328.d.ts +5 -0
- package/.medusa/server/src/modules/loyalty/models/gift-card.d.ts +18 -0
- package/.medusa/server/src/modules/loyalty/service.d.ts +21 -0
- package/.medusa/server/src/modules/store-credit/index.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250129115518.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250130213237.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250130220640.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250131205753.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250520081315.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250626081315.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250626081315.js +16 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250722080351.d.ts +5 -0
- package/.medusa/server/src/modules/store-credit/migrations/Migration20250722080351.js +27 -0
- package/.medusa/server/src/modules/store-credit/models/account-transaction.d.ts +28 -0
- package/.medusa/server/src/modules/store-credit/models/account-transaction.js +1 -7
- package/.medusa/server/src/modules/store-credit/models/store-credit-account.d.ts +27 -0
- package/.medusa/server/src/modules/store-credit/models/store-credit-account.js +3 -6
- package/.medusa/server/src/modules/store-credit/service.d.ts +29 -0
- package/.medusa/server/src/modules/store-credit/service.js +19 -178
- package/.medusa/server/src/subscribers/create-gift-card.d.ts +5 -0
- package/.medusa/server/src/subscribers/create-gift-card.js +1 -3
- package/.medusa/server/src/types/cart/index.d.ts +6 -0
- package/.medusa/server/src/types/http/gift-card.d.ts +42 -0
- package/.medusa/server/src/types/http/index.d.ts +3 -0
- package/.medusa/server/src/types/http/index.js +1 -2
- package/.medusa/server/src/types/http/store-credit-account.d.ts +60 -0
- package/.medusa/server/src/types/http/transaction.d.ts +19 -0
- package/.medusa/server/src/types/index.d.ts +4 -0
- package/.medusa/server/src/types/loyalty/index.d.ts +3 -0
- package/.medusa/server/src/types/loyalty/module.d.ts +42 -0
- package/.medusa/server/src/types/loyalty/service.d.ts +24 -0
- package/.medusa/server/src/types/loyalty/workflows.d.ts +3 -0
- package/.medusa/server/src/types/modules.d.ts +6 -0
- package/.medusa/server/src/types/store-credit/index.d.ts +2 -0
- package/.medusa/server/src/types/store-credit/module.d.ts +82 -0
- package/.medusa/server/src/types/store-credit/module.js +1 -1
- package/.medusa/server/src/types/store-credit/service.d.ts +34 -0
- package/.medusa/server/src/utils/code-generator.d.ts +1 -0
- package/.medusa/server/src/utils/code-generator.js +32 -0
- package/.medusa/server/src/workflows/carts/index.d.ts +5 -0
- package/.medusa/server/src/workflows/carts/index.js +22 -0
- package/.medusa/server/src/workflows/carts/steps/validate-gift-card-balances.d.ts +5 -0
- package/.medusa/server/src/workflows/carts/steps/validate-gift-card-balances.js +14 -0
- package/.medusa/server/src/workflows/carts/workflows/add-gift-card-to-cart.d.ts +18 -0
- package/.medusa/server/src/workflows/carts/workflows/add-gift-card-to-cart.js +14 -56
- package/.medusa/server/src/workflows/carts/workflows/add-store-credits-to-cart.d.ts +15 -0
- package/.medusa/server/src/workflows/carts/workflows/add-store-credits-to-cart.js +12 -25
- package/.medusa/server/src/workflows/carts/workflows/confirm-cart-credit-lines.d.ts +9 -0
- package/.medusa/server/src/workflows/carts/workflows/confirm-cart-credit-lines.js +16 -34
- package/.medusa/server/src/workflows/carts/workflows/refresh-cart-gift-cards.d.ts +3 -0
- package/.medusa/server/src/workflows/carts/workflows/refresh-cart-gift-cards.js +5 -24
- package/.medusa/server/src/workflows/carts/workflows/remove-gift-cart-from-cart.d.ts +17 -0
- package/.medusa/server/src/workflows/carts/workflows/remove-gift-cart-from-cart.js +4 -4
- package/.medusa/server/src/workflows/common/steps/validate-presence-of.d.ts +5 -0
- package/.medusa/server/src/workflows/gift-cards/index.d.ts +9 -0
- package/.medusa/server/src/workflows/gift-cards/index.js +26 -0
- package/.medusa/server/src/workflows/gift-cards/steps/create-gift-cards.d.ts +2 -0
- package/.medusa/server/src/workflows/gift-cards/steps/create-gift-cards.js +3 -3
- package/.medusa/server/src/workflows/gift-cards/steps/delete-gift-cards.d.ts +3 -0
- package/.medusa/server/src/workflows/gift-cards/steps/retrieve-gift-card-balance.d.ts +6 -0
- package/.medusa/server/src/workflows/gift-cards/steps/retrieve-gift-card-balance.js +2 -3
- package/.medusa/server/src/workflows/gift-cards/steps/update-gift-cards.d.ts +2 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/claim-gift-card.d.ts +23 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/claim-gift-card.js +65 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/create-gift-cards.d.ts +2 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/create-gift-cards.js +51 -2
- package/.medusa/server/src/workflows/gift-cards/workflows/delete-gift-card.d.ts +3 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/redeem-gift-card.d.ts +13 -0
- package/.medusa/server/src/workflows/gift-cards/workflows/redeem-gift-card.js +33 -64
- package/.medusa/server/src/workflows/gift-cards/workflows/update-gift-cards.d.ts +2 -0
- package/.medusa/server/src/workflows/hooks/after-order-created.d.ts +1 -0
- package/.medusa/server/src/workflows/hooks/after-order-credit-lines-created.d.ts +1 -0
- package/.medusa/server/src/workflows/hooks/before-payment-collection-refresh.d.ts +1 -0
- package/.medusa/server/src/workflows/hooks/complete-cart-before-payment-authorization.d.ts +1 -0
- package/.medusa/server/src/workflows/index.d.ts +3 -0
- package/.medusa/server/src/workflows/index.js +20 -0
- package/.medusa/server/src/workflows/orders/index.d.ts +2 -0
- package/.medusa/server/src/workflows/orders/index.js +19 -0
- package/.medusa/server/src/workflows/orders/workflows/link-gift-cards-to-order.d.ts +4 -0
- package/.medusa/server/src/workflows/orders/workflows/refund-credit-lines.d.ts +17 -0
- package/.medusa/server/src/workflows/orders/workflows/refund-credit-lines.js +2 -10
- package/.medusa/server/src/workflows/store-credit/index.d.ts +8 -0
- package/.medusa/server/src/workflows/store-credit/index.js +25 -0
- package/.medusa/server/src/workflows/store-credit/steps/create-store-credit-accounts.d.ts +2 -0
- package/.medusa/server/src/workflows/store-credit/steps/create-store-credit-accounts.js +8 -1
- package/.medusa/server/src/workflows/store-credit/steps/credit-account.d.ts +2 -0
- package/.medusa/server/src/workflows/store-credit/steps/debit-account.d.ts +2 -0
- package/.medusa/server/src/workflows/store-credit/workflows/claim-store-credit-account.d.ts +11 -0
- package/.medusa/server/src/workflows/store-credit/workflows/claim-store-credit-account.js +117 -0
- package/.medusa/server/src/workflows/store-credit/workflows/create-store-credit-accounts.d.ts +9 -0
- package/.medusa/server/src/workflows/store-credit/workflows/create-store-credit-accounts.js +1 -1
- package/.medusa/server/src/workflows/store-credit/workflows/credit-accounts.d.ts +2 -0
- package/.medusa/server/src/workflows/store-credit/workflows/credit-store-credit-account.d.ts +2 -0
- package/.medusa/server/src/workflows/store-credit/workflows/credit-store-credit-account.js +44 -0
- package/.medusa/server/src/workflows/store-credit/workflows/debit-accounts.d.ts +2 -0
- package/package.json +14 -3
- package/.medusa/server/src/api/admin/gift-cards/[id]/redeem/route.js +0 -24
- package/.medusa/server/src/api/admin/transaction-groups/middlewares.js +0 -16
- package/.medusa/server/src/api/admin/transaction-groups/query-config.js +0 -13
- package/.medusa/server/src/api/admin/transaction-groups/route.js +0 -27
- package/.medusa/server/src/api/admin/transaction-groups/validators.js +0 -19
- package/.medusa/server/src/api/store/gift-cards/[idOrCode]/redeem/route.js +0 -24
- package/.medusa/server/src/modules/store-credit/models/transaction-group.js +0 -28
- package/.medusa/server/src/types/http/transaction-group.js +0 -3
- package/.medusa/server/src/utils/gift-card.js +0 -32
- package/.medusa/server/src/workflows/store-credit/steps/create-transaction-groups.js +0 -17
- package/.medusa/server/src/workflows/store-credit/workflows/create-transaction-groups.js +0 -12
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Context, DAL, FindConfig, InferEntityType, ModulesSdkTypes, SoftDeleteReturn } from "@medusajs/framework/types";
|
|
2
|
+
import { IStoreCreditModuleService, ModuleAccountStats, ModuleAccountTransaction, ModuleCreditAccount, ModuleDebitAccount, ModuleRetrieveAccountStats, ModuleStoreCreditAccount, ModuleStoreCreditAccountFilters, ModuleUpdateStoreCreditAccount } from "../../types";
|
|
3
|
+
type InjectedDependencies = {
|
|
4
|
+
baseRepository: DAL.RepositoryService;
|
|
5
|
+
accountTransactionService: ModulesSdkTypes.IMedusaInternalService<any>;
|
|
6
|
+
};
|
|
7
|
+
declare const StoreCreditService_base: import("@medusajs/framework/utils").MedusaServiceReturnType<{
|
|
8
|
+
StoreCreditAccount: {
|
|
9
|
+
dto: ModuleStoreCreditAccount;
|
|
10
|
+
};
|
|
11
|
+
AccountTransaction: {
|
|
12
|
+
dto: ModuleAccountTransaction;
|
|
13
|
+
};
|
|
14
|
+
}>;
|
|
15
|
+
declare class StoreCreditService extends StoreCreditService_base implements IStoreCreditModuleService {
|
|
16
|
+
protected baseRepository_: DAL.RepositoryService;
|
|
17
|
+
protected readonly accountTransactionService_: ModulesSdkTypes.IMedusaInternalService<InferEntityType<ModuleAccountTransaction>>;
|
|
18
|
+
constructor({ baseRepository, accountTransactionService, }: InjectedDependencies);
|
|
19
|
+
listStoreCreditAccounts(filters: ModuleStoreCreditAccountFilters, config?: FindConfig<ModuleStoreCreditAccount>, sharedContext?: Context): Promise<ModuleStoreCreditAccount[]>;
|
|
20
|
+
updateStoreCreditAccounts(data: ModuleUpdateStoreCreditAccount | ModuleUpdateStoreCreditAccount[], sharedContext?: Context): Promise<ModuleStoreCreditAccount[]>;
|
|
21
|
+
deleteStoreCreditAccounts(ids: string | string[], sharedContext?: Context): Promise<void>;
|
|
22
|
+
softDeleteStoreCreditAccounts<TReturnableLinkableKeys extends string = string>(ids: string | string[], config?: SoftDeleteReturn<TReturnableLinkableKeys>, sharedContext?: Context): Promise<Record<string, string[]> | void>;
|
|
23
|
+
retrieveAccountStats(data: ModuleRetrieveAccountStats, sharedContext?: Context): Promise<ModuleAccountStats>;
|
|
24
|
+
creditAccounts_(creditAccountsData: ModuleCreditAccount[], sharedContext?: Context): Promise<ModuleAccountTransaction[]>;
|
|
25
|
+
creditAccounts(data: ModuleCreditAccount[], sharedContext?: Context): Promise<ModuleAccountTransaction[]>;
|
|
26
|
+
debitAccounts(debitAccountsData: ModuleDebitAccount[], sharedContext?: Context): Promise<ModuleAccountTransaction[]>;
|
|
27
|
+
debitAccounts_(debitAccountsData: ModuleDebitAccount[], sharedContext?: Context): Promise<ModuleAccountTransaction[]>;
|
|
28
|
+
}
|
|
29
|
+
export default StoreCreditService;
|
|
@@ -19,8 +19,7 @@ const utils_1 = require("@medusajs/framework/utils");
|
|
|
19
19
|
const types_1 = require("../../types");
|
|
20
20
|
const account_transaction_1 = __importDefault(require("./models/account-transaction"));
|
|
21
21
|
const store_credit_account_1 = __importDefault(require("./models/store-credit-account"));
|
|
22
|
-
|
|
23
|
-
class StoreCreditService extends (0, utils_1.MedusaService)({ StoreCreditAccount: store_credit_account_1.default, TransactionGroup: transaction_group_1.default, AccountTransaction: account_transaction_1.default }) {
|
|
22
|
+
class StoreCreditService extends (0, utils_1.MedusaService)({ StoreCreditAccount: store_credit_account_1.default, AccountTransaction: account_transaction_1.default }) {
|
|
24
23
|
constructor({ baseRepository, accountTransactionService, }) {
|
|
25
24
|
super(...arguments);
|
|
26
25
|
this.baseRepository_ = baseRepository;
|
|
@@ -28,13 +27,10 @@ class StoreCreditService extends (0, utils_1.MedusaService)({ StoreCreditAccount
|
|
|
28
27
|
}
|
|
29
28
|
// @ts-expect-error
|
|
30
29
|
async listStoreCreditAccounts(filters, config = {}, sharedContext = {}) {
|
|
31
|
-
const transaction_group_id = filters.transaction_group_id;
|
|
32
|
-
delete filters.transaction_group_id;
|
|
33
30
|
const accounts = await super.listStoreCreditAccounts(filters, config, sharedContext);
|
|
34
31
|
for (const account of accounts) {
|
|
35
32
|
const stats = await this.retrieveAccountStats({
|
|
36
33
|
account_id: account.id,
|
|
37
|
-
transaction_group_id,
|
|
38
34
|
}, sharedContext);
|
|
39
35
|
account.balance = stats.balance;
|
|
40
36
|
account.credits = stats.credits;
|
|
@@ -86,60 +82,13 @@ class StoreCreditService extends (0, utils_1.MedusaService)({ StoreCreditAccount
|
|
|
86
82
|
*/
|
|
87
83
|
return await super.softDeleteStoreCreditAccounts(ids, config, sharedContext);
|
|
88
84
|
}
|
|
89
|
-
/* Entity: TransactionGroup */
|
|
90
|
-
// @ts-expect-error
|
|
91
|
-
async updateTransactionGroups(data, sharedContext = {}) {
|
|
92
|
-
/*
|
|
93
|
-
We should only allow updating the whitelisted fields for transaction groups.
|
|
94
|
-
|
|
95
|
-
Changing the account or code will lead to unexpected results where balances are not tracked correctly.
|
|
96
|
-
*/
|
|
97
|
-
const whitelistedFields = ["id", "metadata"];
|
|
98
|
-
const normalizedData = Array.isArray(data) ? data : [data];
|
|
99
|
-
normalizedData.forEach((transactionGroup) => {
|
|
100
|
-
Object.keys(transactionGroup).forEach((key) => {
|
|
101
|
-
if (!whitelistedFields.includes(key)) {
|
|
102
|
-
throw new Error(`Field ${key} is not allowed to be updated`);
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
return await super.updateTransactionGroups(normalizedData, sharedContext);
|
|
107
|
-
}
|
|
108
|
-
// @ts-expect-error
|
|
109
|
-
async deleteTransactionGroups(ids, sharedContext = {}) {
|
|
110
|
-
/*
|
|
111
|
-
TODO: Before deleting the transaction groups, we should check if the transaction groups have any transactions.
|
|
112
|
-
If they do, we should throw an error.
|
|
113
|
-
|
|
114
|
-
We should only allow deleting transaction groups that have no transactions.
|
|
115
|
-
*/
|
|
116
|
-
return await super.deleteTransactionGroups(ids, sharedContext);
|
|
117
|
-
}
|
|
118
|
-
// @ts-expect-error
|
|
119
|
-
async softDeleteTransactionGroups(ids, config, sharedContext = {}) {
|
|
120
|
-
/*
|
|
121
|
-
TODO: Before sodeleting the transaction groups, we should check if the transaction groups have any transactions.
|
|
122
|
-
If they do, we should throw an error.
|
|
123
|
-
|
|
124
|
-
We should only allow soft deleting transaction groups that have no transactions.
|
|
125
|
-
*/
|
|
126
|
-
return await super.softDeleteTransactionGroups(ids, config, sharedContext);
|
|
127
|
-
}
|
|
128
85
|
/* Entity: AccountTransaction */
|
|
129
86
|
async retrieveAccountStats(data, sharedContext = {}) {
|
|
130
87
|
const manager = sharedContext.transactionManager ??
|
|
131
88
|
sharedContext.manager;
|
|
132
89
|
const knex = manager.getTransactionContext() ?? manager.getKnex();
|
|
133
|
-
const { account_id
|
|
134
|
-
let code;
|
|
90
|
+
const { account_id } = data;
|
|
135
91
|
const account = await super.retrieveStoreCreditAccount(account_id, {}, sharedContext);
|
|
136
|
-
if ((0, utils_1.isDefined)(transaction_group_id)) {
|
|
137
|
-
const [transactionGroup] = await super.listTransactionGroups({ $or: [{ id: transaction_group_id }, { code: transaction_group_id }] }, {}, sharedContext);
|
|
138
|
-
if (!transactionGroup) {
|
|
139
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `TransactionGroup with id or code: ${transaction_group_id} was not found`);
|
|
140
|
-
}
|
|
141
|
-
code = transactionGroup.code;
|
|
142
|
-
}
|
|
143
92
|
// TODO: For higher accuracy and precision, we should run the transaction amounts through big number
|
|
144
93
|
// in memory and then use that value for the balance.
|
|
145
94
|
// We need to figure out clever ways to do this without running too many calculations in memory
|
|
@@ -153,15 +102,7 @@ class StoreCreditService extends (0, utils_1.MedusaService)({ StoreCreditAccount
|
|
|
153
102
|
.leftJoin("store_credit_account_transaction as at", "at.account_id", "account.id")
|
|
154
103
|
.where("account.id", account.id)
|
|
155
104
|
.groupBy("account.id");
|
|
156
|
-
if ((0, utils_1.isDefined)(code)) {
|
|
157
|
-
accountBalanceQuery
|
|
158
|
-
.leftJoin("store_credit_transaction_group as tg", "tg.id", "at.transaction_group_id")
|
|
159
|
-
.where("tg.code", code);
|
|
160
|
-
}
|
|
161
105
|
const accountBalances = await accountBalanceQuery;
|
|
162
|
-
if ((0, utils_1.isDefined)(code) && accountBalances.length === 0) {
|
|
163
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `TransactionGroup with id or code: ${transaction_group_id} was not found within account: ${account.id}`);
|
|
164
|
-
}
|
|
165
106
|
const accountBalance = accountBalances[0];
|
|
166
107
|
const response = {
|
|
167
108
|
id: account.id,
|
|
@@ -171,65 +112,25 @@ class StoreCreditService extends (0, utils_1.MedusaService)({ StoreCreditAccount
|
|
|
171
112
|
};
|
|
172
113
|
return await this.baseRepository_.serialize(response);
|
|
173
114
|
}
|
|
174
|
-
async listTransactionGroupsStats(data, sharedContext = {}) {
|
|
175
|
-
const manager = sharedContext.manager;
|
|
176
|
-
const knex = manager.getKnex();
|
|
177
|
-
const { account_id, transaction_group_id } = data;
|
|
178
|
-
let code;
|
|
179
|
-
const account = await super.retrieveStoreCreditAccount(account_id, {}, sharedContext);
|
|
180
|
-
if ((0, utils_1.isDefined)(transaction_group_id)) {
|
|
181
|
-
const transactionGroup = await super.retrieveTransactionGroup(transaction_group_id, {}, sharedContext);
|
|
182
|
-
code = transactionGroup.code;
|
|
183
|
-
}
|
|
184
|
-
// TODO: For higher accuracy and precision, we should run the transaction amounts through big number
|
|
185
|
-
// in memory and then use that value for the balance.
|
|
186
|
-
// We need to figure out clever ways to do this without running too many calculations in memory
|
|
187
|
-
const transactionGroupsQuery = knex("store_credit_transaction_group as tg")
|
|
188
|
-
.select({
|
|
189
|
-
id: "tg.id",
|
|
190
|
-
credits: knex.raw(`SUM(CASE WHEN at.type = 'credit' THEN at.amount ELSE 0 END)`),
|
|
191
|
-
debits: knex.raw(`SUM(CASE WHEN at.type = 'debit' THEN at.amount ELSE 0 END)`),
|
|
192
|
-
balance: knex.raw(`COALESCE(SUM(CASE WHEN at.type = 'credit' THEN at.amount::numeric ELSE -at.amount::numeric END), 0)`),
|
|
193
|
-
})
|
|
194
|
-
.leftJoin("store_credit_account_transaction as at", "at.transaction_group_id", "tg.id")
|
|
195
|
-
.where("tg.account_id", account.id)
|
|
196
|
-
.groupBy("tg.id")
|
|
197
|
-
.orderBy("tg.created_at", "asc");
|
|
198
|
-
if ((0, utils_1.isDefined)(transaction_group_id)) {
|
|
199
|
-
transactionGroupsQuery.where("tg.code", code);
|
|
200
|
-
}
|
|
201
|
-
let transactionGroups = await transactionGroupsQuery;
|
|
202
|
-
transactionGroups = transactionGroups.map((transactionGroup) => ({
|
|
203
|
-
id: transactionGroup.id,
|
|
204
|
-
balance: utils_1.MathBN.convert(transactionGroup.balance).toNumber(),
|
|
205
|
-
debits: utils_1.MathBN.convert(transactionGroup.debits).toNumber(),
|
|
206
|
-
credits: utils_1.MathBN.convert(transactionGroup.credits).toNumber(),
|
|
207
|
-
}));
|
|
208
|
-
return await this.baseRepository_.serialize(transactionGroups);
|
|
209
|
-
}
|
|
210
115
|
async creditAccounts_(creditAccountsData, sharedContext = {}) {
|
|
211
116
|
const transactions = [];
|
|
212
117
|
for (const data of creditAccountsData) {
|
|
213
|
-
const { account_id,
|
|
214
|
-
if (!transaction_group_id) {
|
|
215
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Transaction group ID is required");
|
|
216
|
-
}
|
|
118
|
+
const { account_id, amount, reference, reference_id, note } = data;
|
|
217
119
|
if (!account_id) {
|
|
218
120
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Account ID is required");
|
|
219
121
|
}
|
|
220
122
|
if (!(0, utils_1.isDefined)(amount)) {
|
|
221
123
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Amount is required");
|
|
222
124
|
}
|
|
223
|
-
const transactionGroup = await super.retrieveTransactionGroup(transaction_group_id, {}, sharedContext);
|
|
224
125
|
const storeCreditAccount = await super.retrieveStoreCreditAccount(account_id, {}, sharedContext);
|
|
225
126
|
const createdTransactions = await this.accountTransactionService_.create([
|
|
226
127
|
{
|
|
227
|
-
transaction_group_id: transactionGroup.id,
|
|
228
128
|
account_id: storeCreditAccount.id,
|
|
229
129
|
amount,
|
|
230
130
|
type: types_1.TransactionType.CREDIT,
|
|
231
131
|
reference,
|
|
232
132
|
reference_id,
|
|
133
|
+
note,
|
|
233
134
|
},
|
|
234
135
|
], sharedContext);
|
|
235
136
|
transactions.push(...createdTransactions);
|
|
@@ -248,56 +149,30 @@ class StoreCreditService extends (0, utils_1.MedusaService)({ StoreCreditAccount
|
|
|
248
149
|
const manager = sharedContext.transactionManager;
|
|
249
150
|
const transactions = [];
|
|
250
151
|
for (const data of debitAccountsData) {
|
|
251
|
-
const { account_id,
|
|
252
|
-
|
|
253
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "transaction_group_id has to be defined if input contains a transaction_group_id");
|
|
254
|
-
}
|
|
152
|
+
const { account_id, amount, reference, reference_id, note } = data;
|
|
153
|
+
const amountBN = utils_1.MathBN.convert(amount);
|
|
255
154
|
if (!account_id) {
|
|
256
155
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Account ID is required");
|
|
257
156
|
}
|
|
258
157
|
if (!(0, utils_1.isDefined)(amount)) {
|
|
259
158
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Amount is required");
|
|
260
159
|
}
|
|
261
|
-
|
|
262
|
-
|
|
160
|
+
if (amountBN.lte(0)) {
|
|
161
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Amount must be greater than 0");
|
|
162
|
+
}
|
|
163
|
+
const accountStats = await this.retrieveAccountStats({ account_id }, sharedContext);
|
|
164
|
+
if (utils_1.MathBN.convert(accountStats.balance).lt(amountBN)) {
|
|
263
165
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Insufficient balance");
|
|
264
166
|
}
|
|
265
|
-
const
|
|
167
|
+
const createdTransaction = await this.accountTransactionService_.create({
|
|
266
168
|
account_id: accountStats.id,
|
|
267
|
-
|
|
169
|
+
amount: amountBN,
|
|
170
|
+
type: types_1.TransactionType.DEBIT,
|
|
171
|
+
reference,
|
|
172
|
+
reference_id,
|
|
173
|
+
note,
|
|
268
174
|
}, sharedContext);
|
|
269
|
-
|
|
270
|
-
for (const transactionGroup of transactionGroups) {
|
|
271
|
-
const currentBalance = transactionGroupMap.get(transactionGroup.id) || utils_1.MathBN.convert(0);
|
|
272
|
-
transactionGroupMap.set(transactionGroup.id, utils_1.MathBN.add(currentBalance, transactionGroup.balance));
|
|
273
|
-
}
|
|
274
|
-
let remainingAmount = utils_1.MathBN.convert(amount);
|
|
275
|
-
const debitTransactions = [];
|
|
276
|
-
for (const [transactionGroupId, balance] of transactionGroupMap) {
|
|
277
|
-
if (utils_1.MathBN.convert(balance).lte(0)) {
|
|
278
|
-
continue;
|
|
279
|
-
}
|
|
280
|
-
const debitAmount = utils_1.MathBN.min(remainingAmount, balance);
|
|
281
|
-
if (utils_1.MathBN.convert(debitAmount).gt(0)) {
|
|
282
|
-
debitTransactions.push({
|
|
283
|
-
account_id: accountStats.id,
|
|
284
|
-
amount: debitAmount,
|
|
285
|
-
type: types_1.TransactionType.DEBIT,
|
|
286
|
-
transaction_group_id: transactionGroupId,
|
|
287
|
-
reference,
|
|
288
|
-
reference_id,
|
|
289
|
-
});
|
|
290
|
-
remainingAmount = utils_1.MathBN.sub(remainingAmount, debitAmount);
|
|
291
|
-
}
|
|
292
|
-
if (utils_1.MathBN.convert(remainingAmount).lte(0)) {
|
|
293
|
-
break;
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
if (debitTransactions.length === 0) {
|
|
297
|
-
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Could not process debit transactions");
|
|
298
|
-
}
|
|
299
|
-
const createdTransactions = await this.accountTransactionService_.create(debitTransactions, sharedContext);
|
|
300
|
-
transactions.push(...createdTransactions);
|
|
175
|
+
transactions.push(createdTransaction);
|
|
301
176
|
await manager.flush();
|
|
302
177
|
}
|
|
303
178
|
return transactions;
|
|
@@ -339,33 +214,6 @@ __decorate([
|
|
|
339
214
|
__metadata("design:paramtypes", [Object, Object, Object]),
|
|
340
215
|
__metadata("design:returntype", Promise)
|
|
341
216
|
], StoreCreditService.prototype, "softDeleteStoreCreditAccounts", null);
|
|
342
|
-
__decorate([
|
|
343
|
-
(0, utils_1.InjectTransactionManager)()
|
|
344
|
-
// @ts-expect-error
|
|
345
|
-
,
|
|
346
|
-
__param(1, (0, utils_1.MedusaContext)()),
|
|
347
|
-
__metadata("design:type", Function),
|
|
348
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
349
|
-
__metadata("design:returntype", Promise)
|
|
350
|
-
], StoreCreditService.prototype, "updateTransactionGroups", null);
|
|
351
|
-
__decorate([
|
|
352
|
-
(0, utils_1.InjectTransactionManager)()
|
|
353
|
-
// @ts-expect-error
|
|
354
|
-
,
|
|
355
|
-
__param(1, (0, utils_1.MedusaContext)()),
|
|
356
|
-
__metadata("design:type", Function),
|
|
357
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
358
|
-
__metadata("design:returntype", Promise)
|
|
359
|
-
], StoreCreditService.prototype, "deleteTransactionGroups", null);
|
|
360
|
-
__decorate([
|
|
361
|
-
(0, utils_1.InjectTransactionManager)()
|
|
362
|
-
// @ts-expect-error
|
|
363
|
-
,
|
|
364
|
-
__param(2, (0, utils_1.MedusaContext)()),
|
|
365
|
-
__metadata("design:type", Function),
|
|
366
|
-
__metadata("design:paramtypes", [Object, Object, Object]),
|
|
367
|
-
__metadata("design:returntype", Promise)
|
|
368
|
-
], StoreCreditService.prototype, "softDeleteTransactionGroups", null);
|
|
369
217
|
__decorate([
|
|
370
218
|
(0, utils_1.InjectManager)(),
|
|
371
219
|
__param(1, (0, utils_1.MedusaContext)()),
|
|
@@ -373,13 +221,6 @@ __decorate([
|
|
|
373
221
|
__metadata("design:paramtypes", [Object, Object]),
|
|
374
222
|
__metadata("design:returntype", Promise)
|
|
375
223
|
], StoreCreditService.prototype, "retrieveAccountStats", null);
|
|
376
|
-
__decorate([
|
|
377
|
-
(0, utils_1.InjectManager)(),
|
|
378
|
-
__param(1, (0, utils_1.MedusaContext)()),
|
|
379
|
-
__metadata("design:type", Function),
|
|
380
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
381
|
-
__metadata("design:returntype", Promise)
|
|
382
|
-
], StoreCreditService.prototype, "listTransactionGroupsStats", null);
|
|
383
224
|
__decorate([
|
|
384
225
|
(0, utils_1.InjectTransactionManager)(),
|
|
385
226
|
__param(1, (0, utils_1.MedusaContext)()),
|
|
@@ -409,4 +250,4 @@ __decorate([
|
|
|
409
250
|
__metadata("design:returntype", Promise)
|
|
410
251
|
], StoreCreditService.prototype, "debitAccounts_", null);
|
|
411
252
|
exports.default = StoreCreditService;
|
|
412
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3N0b3JlLWNyZWRpdC9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU0EscURBUW1DO0FBRW5DLHVDQWdCcUI7QUFDckIsdUZBQThEO0FBQzlELHlGQUErRDtBQUMvRCxtRkFBMEQ7QUFPMUQsTUFBTSxrQkFDSixTQUFRLElBQUEscUJBQWEsRUFJbEIsRUFBRSxrQkFBa0IsRUFBbEIsOEJBQWtCLEVBQUUsZ0JBQWdCLEVBQWhCLDJCQUFnQixFQUFFLGtCQUFrQixFQUFsQiw2QkFBa0IsRUFBRSxDQUFDO0lBUWhFLFlBQVksRUFDVixjQUFjLEVBQ2QseUJBQXlCLEdBQ0o7UUFDckIsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFFcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLHlCQUF5QixDQUFDO0lBQzlELENBQUM7SUFJSyxBQUROLG1CQUFtQjtJQUNuQixLQUFLLENBQUMsdUJBQXVCLENBQzNCLE9BQXdDLEVBQ3hDLFNBQStDLEVBQUUsRUFDaEMsZ0JBQXlCLEVBQUU7UUFFNUMsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUM7UUFDMUQsT0FBTyxPQUFPLENBQUMsb0JBQW9CLENBQUM7UUFFcEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQ2xELE9BQU8sRUFDUCxNQUFNLEVBQ04sYUFBYSxDQUNkLENBQUM7UUFFRixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUMzQztnQkFDRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUU7Z0JBQ3RCLG9CQUFvQjthQUNyQixFQUNELGFB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
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL3N0b3JlLWNyZWRpdC9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU0EscURBUW1DO0FBRW5DLHVDQVdxQjtBQUNyQix1RkFBOEQ7QUFDOUQseUZBQStEO0FBTy9ELE1BQU0sa0JBQ0osU0FBUSxJQUFBLHFCQUFhLEVBR2xCLEVBQUUsa0JBQWtCLEVBQWxCLDhCQUFrQixFQUFFLGtCQUFrQixFQUFsQiw2QkFBa0IsRUFBRSxDQUFDO0lBUTlDLFlBQVksRUFDVixjQUFjLEVBQ2QseUJBQXlCLEdBQ0o7UUFDckIsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFFcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLHlCQUF5QixDQUFDO0lBQzlELENBQUM7SUFJSyxBQUROLG1CQUFtQjtJQUNuQixLQUFLLENBQUMsdUJBQXVCLENBQzNCLE9BQXdDLEVBQ3hDLFNBQStDLEVBQUUsRUFDaEMsZ0JBQXlCLEVBQUU7UUFFNUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQ2xELE9BQU8sRUFDUCxNQUFNLEVBQ04sYUFBYSxDQUNkLENBQUM7UUFFRixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUMzQztnQkFDRSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUU7YUFDdkIsRUFDRCxhQUFhLENBQ2QsQ0FBQztZQUVGLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNoQyxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDaEMsT0FBTyxDQUFDLE1BQU0sR0FBRyxL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
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.config = void 0;
|
|
4
4
|
exports.default = createGiftCardHandler;
|
|
5
5
|
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
-
const gift_card_1 = require("../utils/gift-card");
|
|
7
6
|
const create_gift_cards_1 = require("../workflows/gift-cards/workflows/create-gift-cards");
|
|
8
7
|
async function createGiftCardHandler({ event: { data }, container, }) {
|
|
9
8
|
const orderId = data.id;
|
|
@@ -31,7 +30,6 @@ async function createGiftCardHandler({ event: { data }, container, }) {
|
|
|
31
30
|
for (const giftCardLineItem of giftCardLineItems) {
|
|
32
31
|
// For each gift card line item quantity, create a gift card using for const giftCard of giftCardLineItem.quantity
|
|
33
32
|
for (let i = 0; i < giftCardLineItem.quantity; i++) {
|
|
34
|
-
const giftCardCode = (0, gift_card_1.giftCardCodeGenerator)();
|
|
35
33
|
const giftCardValue = giftCardLineItem.subtotal / giftCardLineItem.quantity;
|
|
36
34
|
const { result: [giftCard], } = await create_gift_cards_1.createGiftCardsWorkflow.run({
|
|
37
35
|
input: [
|
|
@@ -52,4 +50,4 @@ async function createGiftCardHandler({ event: { data }, container, }) {
|
|
|
52
50
|
exports.config = {
|
|
53
51
|
event: utils_1.OrderWorkflowEvents.PLACED,
|
|
54
52
|
};
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWdpZnQtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdWJzY3JpYmVycy9jcmVhdGUtZ2lmdC1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVBLHdDQXlEQztBQWpFRCxxREFHbUM7QUFHbkMsMkZBQThGO0FBRS9FLEtBQUssVUFBVSxxQkFBcUIsQ0FBQyxFQUNsRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFDZixTQUFTLEdBQ3NCO0lBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDeEIsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqRSxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQ2QsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLE9BQU87UUFDZixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFO1FBQ3hCLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixlQUFlO1lBQ2YsVUFBVTtZQUNWLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsU0FBUztZQUNULDJCQUEyQjtZQUMzQixPQUFPO1lBQ1AsVUFBVTtZQUNWLFdBQVc7U0FDWjtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0saUJBQWlCLEdBQUksS0FBb0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUMxRCxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUN0QyxDQUFDO0lBRUYsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTztJQUNULENBQUM7SUFFRCxLQUFLLE1BQU0sZ0JBQWdCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUNqRCxrSEFBa0g7UUFDbEgsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25ELE1BQU0sYUFBYSxHQUNqQixnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1lBRXhELE1BQU0sRUFDSixNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FDbkIsR0FBRyxNQUFNLDJDQUF1QixDQUFDLEdBQUcsQ0FBQztnQkFDcEMsS0FBSyxFQUFFO29CQUNMO3dCQUNFLEtBQUssRUFBRSxhQUFhO3dCQUNwQixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7d0JBQ2xDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO3dCQUNqQyxTQUFTLEVBQUUsT0FBTzt3QkFDbEIsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFO3dCQUN0QixRQUFRLEVBQUUsRUFBRTtxQkFDYjtpQkFDRjtnQkFDRCxTQUFTO2FBQ1YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQXFCO0lBQ3RDLEtBQUssRUFBRSwyQkFBbUIsQ0FBQyxNQUFNO0NBQ2xDLENBQUMifQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AdminCustomer, AdminOrderLineItem, BaseFilterable, FindParams, OperatorMap, PaginatedResponse, SelectParams, StoreCustomer, StoreOrderLineItem } from "@medusajs/framework/types";
|
|
2
|
+
import { GiftCardStatus, ModuleCreateGiftCard, ModuleGiftCard, ModuleUpdateGiftCard } from "../loyalty";
|
|
3
|
+
export interface AdminGetGiftCardsParams extends FindParams, BaseFilterable<AdminGetGiftCardsParams> {
|
|
4
|
+
id?: string | string[];
|
|
5
|
+
customer_id?: string | string[];
|
|
6
|
+
created_at?: OperatorMap<string>;
|
|
7
|
+
updated_at?: OperatorMap<string>;
|
|
8
|
+
}
|
|
9
|
+
export interface AdminCreateGiftCardParams extends ModuleCreateGiftCard {
|
|
10
|
+
}
|
|
11
|
+
export interface AdminUpdateGiftCardParams extends Omit<ModuleUpdateGiftCard, "id"> {
|
|
12
|
+
}
|
|
13
|
+
export interface AdminGiftCard extends Omit<ModuleGiftCard, "customer" | "line_item"> {
|
|
14
|
+
line_item: AdminOrderLineItem;
|
|
15
|
+
customer: AdminCustomer;
|
|
16
|
+
}
|
|
17
|
+
export interface AdminGiftCardResponse {
|
|
18
|
+
gift_card: AdminGiftCard;
|
|
19
|
+
}
|
|
20
|
+
export interface AdminGiftCardsResponse extends PaginatedResponse<{
|
|
21
|
+
gift_cards: AdminGiftCard[];
|
|
22
|
+
}> {
|
|
23
|
+
}
|
|
24
|
+
export interface StoreAddGiftCardToCart {
|
|
25
|
+
code: string;
|
|
26
|
+
}
|
|
27
|
+
export interface StoreRemoveGiftCardFromCart {
|
|
28
|
+
code: string;
|
|
29
|
+
}
|
|
30
|
+
export interface StoreGiftCard extends Omit<ModuleGiftCard, "customer" | "line_item"> {
|
|
31
|
+
customer: StoreCustomer;
|
|
32
|
+
line_item: StoreOrderLineItem;
|
|
33
|
+
}
|
|
34
|
+
export interface StoreGiftCardResponse {
|
|
35
|
+
gift_card: StoreGiftCard;
|
|
36
|
+
}
|
|
37
|
+
export interface StoreGetGiftCardsParams extends FindParams, BaseFilterable<AdminGetGiftCardsParams> {
|
|
38
|
+
id?: string | string[];
|
|
39
|
+
status?: GiftCardStatus | GiftCardStatus[];
|
|
40
|
+
}
|
|
41
|
+
export interface StoreGetGiftCardParams extends SelectParams {
|
|
42
|
+
}
|
|
@@ -17,5 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./gift-card"), exports);
|
|
18
18
|
__exportStar(require("./store-credit-account"), exports);
|
|
19
19
|
__exportStar(require("./transaction"), exports);
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdHlwZXMvaHR0cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOENBQTRCO0FBQzVCLHlEQUF1QztBQUN2QyxnREFBOEI7QUFDOUIsc0RBQW9DIn0=
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdHlwZXMvaHR0cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOENBQTRCO0FBQzVCLHlEQUF1QztBQUN2QyxnREFBOEIifQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { AdminCustomer, BaseFilterable, FindParams, OperatorMap, PaginatedResponse, StoreCustomer } from "@medusajs/framework/types";
|
|
2
|
+
import { ModuleStoreCreditAccount } from "../store-credit";
|
|
3
|
+
export interface AdminGetStoreCreditAccountsParams extends FindParams, BaseFilterable<AdminGetStoreCreditAccountsParams> {
|
|
4
|
+
id?: string | string[];
|
|
5
|
+
code?: string | string[];
|
|
6
|
+
customer_id?: string | string[];
|
|
7
|
+
currency_code?: string | string[];
|
|
8
|
+
created_at?: OperatorMap<string>;
|
|
9
|
+
updated_at?: OperatorMap<string>;
|
|
10
|
+
}
|
|
11
|
+
export interface AdminStoreCreditAccount extends ModuleStoreCreditAccount {
|
|
12
|
+
customer: AdminCustomer;
|
|
13
|
+
}
|
|
14
|
+
export interface AdminStoreCreditAccountsResponse extends PaginatedResponse<{
|
|
15
|
+
store_credit_accounts: AdminStoreCreditAccount[];
|
|
16
|
+
}> {
|
|
17
|
+
}
|
|
18
|
+
export interface AdminStoreCreditAccountResponse {
|
|
19
|
+
store_credit_account: AdminStoreCreditAccount;
|
|
20
|
+
}
|
|
21
|
+
export interface AdminCreateStoreCreditAccount {
|
|
22
|
+
currency_code: string;
|
|
23
|
+
customer_id?: string;
|
|
24
|
+
metadata?: Record<string, unknown>;
|
|
25
|
+
}
|
|
26
|
+
export interface AdminCreditStoreCreditAccount {
|
|
27
|
+
amount: number;
|
|
28
|
+
note?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface StoreAddStoreCreditsToCart {
|
|
31
|
+
amount: number;
|
|
32
|
+
}
|
|
33
|
+
export interface StoreStoreCreditAccount extends ModuleStoreCreditAccount {
|
|
34
|
+
customer: StoreCustomer;
|
|
35
|
+
}
|
|
36
|
+
export interface StoreStoreCreditAccountResponse {
|
|
37
|
+
store_credit_account: StoreStoreCreditAccount;
|
|
38
|
+
}
|
|
39
|
+
export interface StoreGetStoreCreditAccountsParams extends FindParams, BaseFilterable<StoreGetStoreCreditAccountsParams> {
|
|
40
|
+
currency_code?: string;
|
|
41
|
+
created_at?: OperatorMap<string>;
|
|
42
|
+
updated_at?: OperatorMap<string>;
|
|
43
|
+
}
|
|
44
|
+
export interface StoreStoreCreditAccountsResponse extends PaginatedResponse<{
|
|
45
|
+
store_credit_accounts: StoreStoreCreditAccount[];
|
|
46
|
+
}> {
|
|
47
|
+
}
|
|
48
|
+
export interface StoreClaimStoreCreditAccountParams {
|
|
49
|
+
code: string;
|
|
50
|
+
}
|
|
51
|
+
export interface StoreClaimStoreCreditAccountResponse {
|
|
52
|
+
store_credit_account: StoreStoreCreditAccount;
|
|
53
|
+
}
|
|
54
|
+
export interface AdminCreditStoreCreditAccountParams {
|
|
55
|
+
amount: number;
|
|
56
|
+
note?: string;
|
|
57
|
+
}
|
|
58
|
+
export interface AdminCreditStoreCreditAccountResponse {
|
|
59
|
+
store_credit_account: AdminStoreCreditAccount;
|
|
60
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseFilterable, FindParams, OperatorMap, PaginatedResponse } from "@medusajs/framework/types";
|
|
2
|
+
import { ModuleAccountTransaction, ModuleCreateAccountTransaction } from "../store-credit";
|
|
3
|
+
import { AdminStoreCreditAccount } from "./store-credit-account";
|
|
4
|
+
export interface AdminGetTransactionsParams extends FindParams, BaseFilterable<AdminGetTransactionsParams> {
|
|
5
|
+
q?: string;
|
|
6
|
+
id?: string | string[];
|
|
7
|
+
transaction_group_id?: string | string[];
|
|
8
|
+
created_at?: OperatorMap<string>;
|
|
9
|
+
updated_at?: OperatorMap<string>;
|
|
10
|
+
}
|
|
11
|
+
export interface AdminCreateTransactionParams extends ModuleCreateAccountTransaction {
|
|
12
|
+
}
|
|
13
|
+
export interface AdminTransaction extends ModuleAccountTransaction {
|
|
14
|
+
account: AdminStoreCreditAccount;
|
|
15
|
+
}
|
|
16
|
+
export interface AdminTransactionsResponse extends PaginatedResponse<{
|
|
17
|
+
transactions: AdminTransaction[];
|
|
18
|
+
}> {
|
|
19
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { CustomerDTO } from "@medusajs/framework/types";
|
|
2
|
+
export declare enum GiftCardStatus {
|
|
3
|
+
PENDING = "pending",
|
|
4
|
+
REDEEMED = "redeemed"
|
|
5
|
+
}
|
|
6
|
+
export type GiftCardStatusValues = "pending" | "redeemed";
|
|
7
|
+
export type ModuleGiftCard = {
|
|
8
|
+
id: string;
|
|
9
|
+
code: string;
|
|
10
|
+
status: GiftCardStatus;
|
|
11
|
+
value: number;
|
|
12
|
+
currency_code: string;
|
|
13
|
+
customer_id: string;
|
|
14
|
+
customer: CustomerDTO;
|
|
15
|
+
reference_id: string | null;
|
|
16
|
+
note: string | null;
|
|
17
|
+
reference: string | null;
|
|
18
|
+
expires_at: string | null;
|
|
19
|
+
created_at: string;
|
|
20
|
+
updated_at: string;
|
|
21
|
+
};
|
|
22
|
+
export type ModuleCreateGiftCard = {
|
|
23
|
+
code: string;
|
|
24
|
+
value: number;
|
|
25
|
+
currency_code: string;
|
|
26
|
+
expires_at: string | null;
|
|
27
|
+
reference_id: string | null;
|
|
28
|
+
reference: string | null;
|
|
29
|
+
line_item_id: string;
|
|
30
|
+
customer_id: string | null;
|
|
31
|
+
metadata: Record<string, unknown>;
|
|
32
|
+
};
|
|
33
|
+
export type ModuleUpdateGiftCard = {
|
|
34
|
+
id: string;
|
|
35
|
+
value?: number;
|
|
36
|
+
status?: GiftCardStatus;
|
|
37
|
+
note?: string | null;
|
|
38
|
+
currency_code?: string;
|
|
39
|
+
expires_at?: string | null;
|
|
40
|
+
customer_id?: string;
|
|
41
|
+
metadata?: Record<string, unknown>;
|
|
42
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BaseFilterable, Context, FindConfig, IModuleService } from "@medusajs/types";
|
|
2
|
+
import { ModuleCreateGiftCard, ModuleGiftCard, ModuleUpdateGiftCard } from "./module";
|
|
3
|
+
export interface ModuleGiftCardFilters extends BaseFilterable<ModuleGiftCardFilters> {
|
|
4
|
+
q?: string;
|
|
5
|
+
id?: string | string[];
|
|
6
|
+
code?: string | string[];
|
|
7
|
+
reference_id?: string | string[];
|
|
8
|
+
reference?: string | string[];
|
|
9
|
+
status?: string | string[];
|
|
10
|
+
currency_code?: string | string[];
|
|
11
|
+
order?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The main service interface for the Loyalty Module.
|
|
15
|
+
*/
|
|
16
|
+
export interface ILoyaltyModuleService extends IModuleService {
|
|
17
|
+
createGiftCards(data: ModuleCreateGiftCard, sharedContext?: Context): Promise<ModuleGiftCard>;
|
|
18
|
+
createGiftCards(data: ModuleCreateGiftCard[], sharedContext?: Context): Promise<ModuleGiftCard[]>;
|
|
19
|
+
updateGiftCards(data: ModuleUpdateGiftCard, sharedContext?: Context): Promise<ModuleGiftCard>;
|
|
20
|
+
updateGiftCards(data: ModuleUpdateGiftCard[], sharedContext?: Context): Promise<ModuleGiftCard[]>;
|
|
21
|
+
listGiftCards(filters?: ModuleGiftCardFilters, config?: FindConfig<ModuleGiftCard>, sharedContext?: Context): Promise<ModuleGiftCard[]>;
|
|
22
|
+
retrieveGiftCard(id: string, config?: FindConfig<ModuleGiftCard>, sharedContext?: Context): Promise<ModuleGiftCard>;
|
|
23
|
+
deleteGiftCards(ids: string[], sharedContext?: Context): Promise<void>;
|
|
24
|
+
}
|