@sgftech/medusa-plugin-marketplace-v2 0.1.26

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.
Files changed (222) hide show
  1. package/.babelrc.js +12 -0
  2. package/.eslintrc.js +68 -0
  3. package/.vscode/settings.json +2 -0
  4. package/.yarnrc.yml +1 -0
  5. package/README.md +70 -0
  6. package/SECURITY.md +21 -0
  7. package/data/seed-onboarding.json +141 -0
  8. package/data/seed.json +1006 -0
  9. package/dist/api/middlewares/authenticate-user.d.ts +15 -0
  10. package/dist/api/middlewares/authenticate-user.js +212 -0
  11. package/dist/api/middlewares/authenticate-user.js.map +1 -0
  12. package/dist/api/middlewares/logged-in-user-v2.d.ts +3 -0
  13. package/dist/api/middlewares/logged-in-user-v2.js +69 -0
  14. package/dist/api/middlewares/logged-in-user-v2.js.map +1 -0
  15. package/dist/api/middlewares/logged-in-user.d.ts +1 -0
  16. package/dist/api/middlewares/logged-in-user.js +18 -0
  17. package/dist/api/middlewares/logged-in-user.js.map +1 -0
  18. package/dist/api/routes/admin/create-product.d.ts +1 -0
  19. package/dist/api/routes/admin/create-product.js +19 -0
  20. package/dist/api/routes/admin/create-product.js.map +1 -0
  21. package/dist/api/routes/admin/create-store.d.ts +1 -0
  22. package/dist/api/routes/admin/create-store.js +19 -0
  23. package/dist/api/routes/admin/create-store.js.map +1 -0
  24. package/dist/api/routes/admin/create-user.d.ts +1 -0
  25. package/dist/api/routes/admin/create-user.js +19 -0
  26. package/dist/api/routes/admin/create-user.js.map +1 -0
  27. package/dist/index.d.ts +0 -0
  28. package/dist/index.js +1 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/migrations/1629000000000-create-workflow-table.d.ts +5 -0
  31. package/dist/migrations/1629000000000-create-workflow-table.js +29 -0
  32. package/dist/migrations/1629000000000-create-workflow-table.js.map +1 -0
  33. package/dist/migrations/1629000000001-workflow-table-stage.d.ts +5 -0
  34. package/dist/migrations/1629000000001-workflow-table-stage.js +48 -0
  35. package/dist/migrations/1629000000001-workflow-table-stage.js.map +1 -0
  36. package/dist/migrations/1632467997443-workflow-requests.d.ts +5 -0
  37. package/dist/migrations/1632467997443-workflow-requests.js +48 -0
  38. package/dist/migrations/1632467997443-workflow-requests.js.map +1 -0
  39. package/dist/migrations/1632468000000-update-workflow-keys-table.d.ts +5 -0
  40. package/dist/migrations/1632468000000-update-workflow-keys-table.js +31 -0
  41. package/dist/migrations/1632468000000-update-workflow-keys-table.js.map +1 -0
  42. package/dist/migrations/1632470000000-add-approvers-to-workflow-stage.d.ts +5 -0
  43. package/dist/migrations/1632470000000-add-approvers-to-workflow-stage.js +52 -0
  44. package/dist/migrations/1632470000000-add-approvers-to-workflow-stage.js.map +1 -0
  45. package/dist/migrations/1632471000000-update-user-table-for-approvers.d.ts +5 -0
  46. package/dist/migrations/1632471000000-update-user-table-for-approvers.js +43 -0
  47. package/dist/migrations/1632471000000-update-user-table-for-approvers.js.map +1 -0
  48. package/dist/migrations/1632472000000-update-workflow-request-table-for-approvals.d.ts +5 -0
  49. package/dist/migrations/1632472000000-update-workflow-request-table-for-approvals.js +43 -0
  50. package/dist/migrations/1632472000000-update-workflow-request-table-for-approvals.js.map +1 -0
  51. package/dist/migrations/1632473000000-create-approval-table.d.ts +5 -0
  52. package/dist/migrations/1632473000000-create-approval-table.js +54 -0
  53. package/dist/migrations/1632473000000-create-approval-table.js.map +1 -0
  54. package/dist/migrations/1652101349791-order.migration.d.ts +6 -0
  55. package/dist/migrations/1652101349791-order.migration.js +26 -0
  56. package/dist/migrations/1652101349791-order.migration.js.map +1 -0
  57. package/dist/migrations/1655123458263-invite.migration.d.ts +6 -0
  58. package/dist/migrations/1655123458263-invite.migration.js +23 -0
  59. package/dist/migrations/1655123458263-invite.migration.js.map +1 -0
  60. package/dist/migrations/1655131148363-role.migration.d.ts +6 -0
  61. package/dist/migrations/1655131148363-role.migration.js +32 -0
  62. package/dist/migrations/1655131148363-role.migration.js.map +1 -0
  63. package/dist/migrations/1655131601491-permission.migration.d.ts +6 -0
  64. package/dist/migrations/1655131601491-permission.migration.js +47 -0
  65. package/dist/migrations/1655131601491-permission.migration.js.map +1 -0
  66. package/dist/migrations/1655132360987-user.migration.d.ts +6 -0
  67. package/dist/migrations/1655132360987-user.migration.js +29 -0
  68. package/dist/migrations/1655132360987-user.migration.js.map +1 -0
  69. package/dist/migrations/1666588571522-user.migration.d.ts +6 -0
  70. package/dist/migrations/1666588571522-user.migration.js +27 -0
  71. package/dist/migrations/1666588571522-user.migration.js.map +1 -0
  72. package/dist/migrations/1666588577183-store.migration.d.ts +6 -0
  73. package/dist/migrations/1666588577183-store.migration.js +26 -0
  74. package/dist/migrations/1666588577183-store.migration.js.map +1 -0
  75. package/dist/migrations/1667045765051-customer.migration.d.ts +6 -0
  76. package/dist/migrations/1667045765051-customer.migration.js +33 -0
  77. package/dist/migrations/1667045765051-customer.migration.js.map +1 -0
  78. package/dist/migrations/1683175918497-add-user-stores.migration.d.ts +6 -0
  79. package/dist/migrations/1683175918497-add-user-stores.migration.js +60 -0
  80. package/dist/migrations/1683175918497-add-user-stores.migration.js.map +1 -0
  81. package/dist/migrations/1683177500538-add-product-store-id.migration.d.ts +6 -0
  82. package/dist/migrations/1683177500538-add-product-store-id.migration.js +53 -0
  83. package/dist/migrations/1683177500538-add-product-store-id.migration.js.map +1 -0
  84. package/dist/migrations/address.migration.d.ts +6 -0
  85. package/dist/migrations/address.migration.js +25 -0
  86. package/dist/migrations/address.migration.js.map +1 -0
  87. package/dist/migrations/product.migration.d.ts +6 -0
  88. package/dist/migrations/product.migration.js +21 -0
  89. package/dist/migrations/product.migration.js.map +1 -0
  90. package/dist/migrations/stage-status.d.ts +5 -0
  91. package/dist/migrations/stage-status.js +22 -0
  92. package/dist/migrations/stage-status.js.map +1 -0
  93. package/dist/migrations/user.migration.d.ts +6 -0
  94. package/dist/migrations/user.migration.js +21 -0
  95. package/dist/migrations/user.migration.js.map +1 -0
  96. package/dist/models/address.d.ts +3 -0
  97. package/dist/models/address.js +18 -0
  98. package/dist/models/address.js.map +1 -0
  99. package/dist/models/customer.d.ts +9 -0
  100. package/dist/models/customer.js +49 -0
  101. package/dist/models/customer.js.map +1 -0
  102. package/dist/models/invite.d.ts +6 -0
  103. package/dist/models/invite.js +32 -0
  104. package/dist/models/invite.js.map +1 -0
  105. package/dist/models/order.d.ts +9 -0
  106. package/dist/models/order.js +48 -0
  107. package/dist/models/order.js.map +1 -0
  108. package/dist/models/permission.d.ts +8 -0
  109. package/dist/models/permission.js +56 -0
  110. package/dist/models/permission.js.map +1 -0
  111. package/dist/models/product.d.ts +5 -0
  112. package/dist/models/product.js +43 -0
  113. package/dist/models/product.js.map +1 -0
  114. package/dist/models/role.d.ts +12 -0
  115. package/dist/models/role.js +68 -0
  116. package/dist/models/role.js.map +1 -0
  117. package/dist/models/setting.d.ts +69 -0
  118. package/dist/models/setting.js +46 -0
  119. package/dist/models/setting.js.map +1 -0
  120. package/dist/models/store.d.ts +15 -0
  121. package/dist/models/store.js +85 -0
  122. package/dist/models/store.js.map +1 -0
  123. package/dist/models/user.d.ts +15 -0
  124. package/dist/models/user.js +76 -0
  125. package/dist/models/user.js.map +1 -0
  126. package/dist/models/workflow-approval.d.ts +8 -0
  127. package/dist/models/workflow-approval.js +37 -0
  128. package/dist/models/workflow-approval.js.map +1 -0
  129. package/dist/models/workflow-requests.d.ts +9 -0
  130. package/dist/models/workflow-requests.js +42 -0
  131. package/dist/models/workflow-requests.js.map +1 -0
  132. package/dist/models/workflow-stage.d.ts +8 -0
  133. package/dist/models/workflow-stage.js +38 -0
  134. package/dist/models/workflow-stage.js.map +1 -0
  135. package/dist/models/workflow.d.ts +8 -0
  136. package/dist/models/workflow.js +37 -0
  137. package/dist/models/workflow.js.map +1 -0
  138. package/dist/repositories/address.d.ts +7 -0
  139. package/dist/repositories/address.js +11 -0
  140. package/dist/repositories/address.js.map +1 -0
  141. package/dist/repositories/currency.d.ts +7 -0
  142. package/dist/repositories/currency.js +11 -0
  143. package/dist/repositories/currency.js.map +1 -0
  144. package/dist/repositories/customer.d.ts +12 -0
  145. package/dist/repositories/customer.js +11 -0
  146. package/dist/repositories/customer.js.map +1 -0
  147. package/dist/repositories/invite.d.ts +7 -0
  148. package/dist/repositories/invite.js +11 -0
  149. package/dist/repositories/invite.js.map +1 -0
  150. package/dist/repositories/order.d.ts +9 -0
  151. package/dist/repositories/order.js +11 -0
  152. package/dist/repositories/order.js.map +1 -0
  153. package/dist/repositories/permission.d.ts +3 -0
  154. package/dist/repositories/permission.js +8 -0
  155. package/dist/repositories/permission.js.map +1 -0
  156. package/dist/repositories/product.d.ts +43 -0
  157. package/dist/repositories/product.js +11 -0
  158. package/dist/repositories/product.js.map +1 -0
  159. package/dist/repositories/role.d.ts +3 -0
  160. package/dist/repositories/role.js +8 -0
  161. package/dist/repositories/role.js.map +1 -0
  162. package/dist/repositories/store.d.ts +7 -0
  163. package/dist/repositories/store.js +11 -0
  164. package/dist/repositories/store.js.map +1 -0
  165. package/dist/repositories/user.d.ts +7 -0
  166. package/dist/repositories/user.js +11 -0
  167. package/dist/repositories/user.js.map +1 -0
  168. package/dist/services/currency.d.ts +24 -0
  169. package/dist/services/currency.js +49 -0
  170. package/dist/services/currency.js.map +1 -0
  171. package/dist/services/customer.d.ts +34 -0
  172. package/dist/services/customer.js +137 -0
  173. package/dist/services/customer.js.map +1 -0
  174. package/dist/services/process-constant.d.ts +17 -0
  175. package/dist/services/process-constant.js +27 -0
  176. package/dist/services/process-constant.js.map +1 -0
  177. package/dist/services/product.d.ts +121 -0
  178. package/dist/services/product.js +382 -0
  179. package/dist/services/product.js.map +1 -0
  180. package/dist/services/region.d.ts +42 -0
  181. package/dist/services/region.js +190 -0
  182. package/dist/services/region.js.map +1 -0
  183. package/dist/services/store.d.ts +98 -0
  184. package/dist/services/store.js +607 -0
  185. package/dist/services/store.js.map +1 -0
  186. package/dist/services/user.d.ts +74 -0
  187. package/dist/services/user.js +356 -0
  188. package/dist/services/user.js.map +1 -0
  189. package/dist/services/workflow-request.d.ts +14 -0
  190. package/dist/services/workflow-request.js +100 -0
  191. package/dist/services/workflow-request.js.map +1 -0
  192. package/dist/services/workflow-stage.d.ts +19 -0
  193. package/dist/services/workflow-stage.js +46 -0
  194. package/dist/services/workflow-stage.js.map +1 -0
  195. package/dist/services/workflow.d.ts +22 -0
  196. package/dist/services/workflow.js +108 -0
  197. package/dist/services/workflow.js.map +1 -0
  198. package/dist/subscribers/customer.d.ts +5 -0
  199. package/dist/subscribers/customer.js +20 -0
  200. package/dist/subscribers/customer.js.map +1 -0
  201. package/dist/subscribers/product.d.ts +11 -0
  202. package/dist/subscribers/product.js +30 -0
  203. package/dist/subscribers/product.js.map +1 -0
  204. package/dist/subscribers/store.d.ts +25 -0
  205. package/dist/subscribers/store.js +54 -0
  206. package/dist/subscribers/store.js.map +1 -0
  207. package/dist/subscribers/user.d.ts +16 -0
  208. package/dist/subscribers/user.js +62 -0
  209. package/dist/subscribers/user.js.map +1 -0
  210. package/dist/types/global.d.ts +1 -0
  211. package/dist/types/global.js +3 -0
  212. package/dist/types/global.js.map +1 -0
  213. package/dist/types/oidc-types.d.ts +13 -0
  214. package/dist/types/oidc-types.js +3 -0
  215. package/dist/types/oidc-types.js.map +1 -0
  216. package/index.js +50 -0
  217. package/package.json +105 -0
  218. package/tsconfig.admin.json +8 -0
  219. package/tsconfig.json +33 -0
  220. package/tsconfig.server.json +8 -0
  221. package/tsconfig.spec.json +5 -0
  222. package/yarn-error.log +12869 -0
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const services_1 = require("@medusajs/medusa/dist/services");
7
+ const currency_1 = __importDefault(require("./currency"));
8
+ class RegionService extends services_1.RegionService {
9
+ // loggedInUser: User;
10
+ // loggedInUserStore: Store;
11
+ constructor(container) {
12
+ super(container);
13
+ this.container = container;
14
+ this.manager = container.manager;
15
+ this.regionRepository = container.regionRepository;
16
+ this.storeService_ = container.storeService;
17
+ this.logger = container.logger;
18
+ // this.loggedInUser = container.loggedInUser;
19
+ // this.loggedInUserStore = container.loggedInUserStore;
20
+ }
21
+ withTransaction(transactionManager) {
22
+ if (!transactionManager) {
23
+ return this;
24
+ }
25
+ const cloned = new RegionService({
26
+ manager: transactionManager,
27
+ storeService: this.storeService_,
28
+ // loggedInUser: this.loggedInUser,
29
+ // loggedInUserStore: this.loggedInUserStore,
30
+ regionRepository: this.regionRepository,
31
+ countryRepository: this.countryRepository_,
32
+ currencyRepository: this.currencyRepository_,
33
+ eventBusService: this.eventBus_,
34
+ paymentProviderService: this.paymentProviderService_,
35
+ fulfillmentProviderService: this.fulfillmentProviderService_,
36
+ featureFlagRouter: this.featureFlagRouter_,
37
+ taxProviderRepository: this.taxProviderRepository_,
38
+ paymentProviderRepository: this.paymentProviderRepository_,
39
+ fulfillmentProviderRepository: this.fulfillmentProviderRepository_,
40
+ logger: this.logger
41
+ });
42
+ // cloned.transactionManager_ = transactionManager;
43
+ return cloned;
44
+ }
45
+ /* @OnMedusaEntityEvent.After.Insert(Store, { async: true })
46
+ public async createRegion(
47
+ params: MedusaEventHandlerParams<Store, "Insert">
48
+ ): Promise<EntityEventType<Store, "Insert">> {
49
+ return await this.createDefaultRegion(params)
50
+ }*/
51
+ async createDefaultRegion(event) {
52
+ await this.createNewRegion("default");
53
+ return event;
54
+ }
55
+ async createNewRegion(name = "default") {
56
+ return await this.atomicPhase_(async (manager) => {
57
+ let defaultRegion;
58
+ try {
59
+ defaultRegion = (await super
60
+ .withTransaction(manager)
61
+ .retrieveByName(name));
62
+ }
63
+ catch (e) {
64
+ this.logger.warn("default region wasn't found");
65
+ }
66
+ if (defaultRegion) {
67
+ return await this.updateDefaultRegion(defaultRegion);
68
+ }
69
+ let paymentProviders;
70
+ let fulfillmentProviders;
71
+ const paymentService = this.container.paymentProviderService;
72
+ const fulfilmentService = this.container.fulfillmentProviderService;
73
+ try {
74
+ paymentProviders = await paymentService
75
+ .withTransaction(manager)
76
+ .list();
77
+ }
78
+ catch (e) {
79
+ console.warn("default payment providers don't exist");
80
+ }
81
+ if ((paymentProviders === null || paymentProviders === void 0 ? void 0 : paymentProviders.length) == 0) {
82
+ await paymentService
83
+ .withTransaction(manager)
84
+ .registerInstalledProviders([
85
+ "razorpay",
86
+ "manual",
87
+ "stripe"
88
+ ]);
89
+ paymentProviders = await paymentService
90
+ .withTransaction(manager)
91
+ .list();
92
+ }
93
+ try {
94
+ fulfillmentProviders = await fulfilmentService
95
+ .withTransaction(manager)
96
+ .list();
97
+ }
98
+ catch (e) {
99
+ console.warn("default fulfillment providers don't exist");
100
+ }
101
+ if (fulfillmentProviders.length == 0) {
102
+ await fulfilmentService
103
+ .withTransaction(manager)
104
+ .registerInstalledProviders(["manual"]);
105
+ fulfillmentProviders = await fulfilmentService
106
+ .withTransaction(manager)
107
+ .list();
108
+ }
109
+ const regionCreationParameters = {
110
+ name,
111
+ currency_code: currency_1.default.DEFAULT_CURRENCY_CODE,
112
+ tax_rate: 18,
113
+ payment_providers: paymentProviders.map((provider) => provider.id),
114
+ fulfillment_providers: fulfillmentProviders.map((provider) => provider.id),
115
+ countries: ["IN"]
116
+ };
117
+ defaultRegion = (await super
118
+ .withTransaction(manager)
119
+ .create(regionCreationParameters));
120
+ this.logger.info(`created new region ${defaultRegion.name}`);
121
+ return defaultRegion;
122
+ });
123
+ }
124
+ async updateDefaultRegion(defaultRegion) {
125
+ let updatedRegion;
126
+ defaultRegion = await this.atomicPhase_(async (manager) => await this.withTransaction(manager).retrieve(defaultRegion.id, {
127
+ relations: [
128
+ "payment_providers",
129
+ "fulfillment_providers",
130
+ "tax_rates"
131
+ ]
132
+ }));
133
+ const paymentProviders = ["stripe", "razorpay", "phonepe"];
134
+ const paymentProviderUpdates = paymentProviders.map(async (provider) => {
135
+ var _a;
136
+ if (!((_a = defaultRegion.payment_providers) === null || _a === void 0 ? void 0 : _a.find((p) => p.id == provider))) {
137
+ try {
138
+ updatedRegion = await this.addPaymentProvider(defaultRegion.id, provider);
139
+ this.logger.info(`Attached payment provider ${provider} to region ${defaultRegion.name}`);
140
+ return updatedRegion;
141
+ }
142
+ catch (e) {
143
+ this.logger.warn(e.message);
144
+ }
145
+ }
146
+ });
147
+ await Promise.all(paymentProviderUpdates);
148
+ /* if (!defaultRegion.payment_providers?.includes["razorpay"]) {
149
+ try {
150
+ updatedRegion = await this.addPaymentProvider(
151
+ defaultRegion.id,
152
+ "razorpay"
153
+ );
154
+ } catch (e) {
155
+ this.logger.warn(e.message);
156
+ }
157
+ }
158
+ if (!defaultRegion.payment_providers?.includes["phonepe"]) {
159
+ try {
160
+ updatedRegion = await this.addPaymentProvider(
161
+ defaultRegion.id,
162
+ "phonepe"
163
+ );
164
+ } catch (e) {
165
+ this.logger.warn(e.message);
166
+ }
167
+ }*/
168
+ return updatedRegion !== null && updatedRegion !== void 0 ? updatedRegion : defaultRegion;
169
+ }
170
+ async verifyOrCreateDefaultRegion(event) {
171
+ const newStore = event.entity;
172
+ let defaultRegion;
173
+ try {
174
+ defaultRegion = await this.retrieveByName("default");
175
+ }
176
+ catch (e) {
177
+ console.warn("default region doesn't exist");
178
+ }
179
+ defaultRegion =
180
+ defaultRegion !== null && defaultRegion !== void 0 ? defaultRegion : (await this.createNewRegion("default"));
181
+ if (defaultRegion) {
182
+ newStore.default_currency = defaultRegion.currency;
183
+ newStore.default_currency_code = defaultRegion.currency_code;
184
+ this.storeService_.setDefaultCurrency(defaultRegion.currency.code, newStore.id);
185
+ }
186
+ return event;
187
+ }
188
+ }
189
+ exports.default = RegionService;
190
+ //# sourceMappingURL=region.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"region.js","sourceRoot":"","sources":["../../src/services/region.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import { DeleteResult, EntityManager, InsertEvent, UpdateEvent } from "typeorm";
2
+ import { EventBusService, StoreService as MedusaStoreService } from "@medusajs/medusa/dist/services";
3
+ import { Store } from "../models/store";
4
+ import { StoreRepository } from "../repositories/store";
5
+ import { User } from "../models/user";
6
+ import { FindConfig } from "@medusajs/medusa/dist/types/common";
7
+ import { UserRoles } from "@medusajs/medusa";
8
+ import { ConfigModule, Logger } from "@medusajs/medusa/dist/types/global";
9
+ import { UpdateStoreInput } from "@medusajs/medusa/dist/types/store";
10
+ import { CurrencyRepository } from "../repositories/currency";
11
+ import CurrencyService from "./currency";
12
+ interface ConstructorParams {
13
+ loggedInUser?: User;
14
+ defaultAdmin?: User;
15
+ manager: EntityManager;
16
+ storeRepository: typeof StoreRepository;
17
+ currencyRepository: typeof CurrencyRepository;
18
+ eventBusService: EventBusService;
19
+ currencyService: CurrencyService;
20
+ logger: Logger;
21
+ }
22
+ export default class StoreService extends MedusaStoreService {
23
+ readonly container: ConstructorParams;
24
+ static LIFE_TIME: import("awilix").LifetimeType;
25
+ private readonly manager;
26
+ protected readonly storeRepository_: typeof StoreRepository;
27
+ protected eventBus_: EventBusService;
28
+ protected configModule: ConfigModule;
29
+ static Events: {
30
+ CREATED: string;
31
+ UPDATED: string;
32
+ DELETED: string;
33
+ };
34
+ protected logger: Logger;
35
+ protected defaultAdmin: User;
36
+ protected loggedInUser: User;
37
+ currencyService: CurrencyService;
38
+ defaultStore: Store | undefined;
39
+ constructor(container: ConstructorParams, configModule?: ConfigModule, defaultStore?: Store);
40
+ withTransaction(transactionManager: EntityManager): this;
41
+ attachExternalAccountToStoreAfterUpdate(event: UpdateEvent<User>): Promise<UpdateEvent<User>>;
42
+ attachStoreToExternalAccount(user: User, event: any): Promise<Store[]>;
43
+ attachExternalAccountToStore(event: InsertEvent<User>): Promise<InsertEvent<User>>;
44
+ /** Create a store for a particular user. It mainly used from the event BeforeInsert to create a store
45
+ * for the user that is being inserting.
46
+ * @param user
47
+ */
48
+ /**
49
+ * Return the store that belongs to the authenticated user.
50
+ * @param relations
51
+ */
52
+ retrieve(config?: FindConfig<Store>): Promise<Store>;
53
+ retrieveByStoreIdOrName(storeId: string, config?: FindConfig<Store>): Promise<Store>;
54
+ /**
55
+ * Return the store that belongs to the account.
56
+ * @param relations
57
+ * @account Id
58
+ */
59
+ retrieveRelationsByStoreId(storeId: string, relations?: string[]): Promise<Store>;
60
+ /**
61
+ * Return the store that belongs to the account.
62
+ * @param relations
63
+ * @account Id
64
+ */
65
+ retrieveStoreInAccount(accountId: string, relations?: string[]): Promise<Store>;
66
+ /**
67
+ * Return the store that belongs to the account the logged in user is attached to.
68
+ * @param relations
69
+ */
70
+ retrieveStoreInLoggedInUserAccount(relations?: string[], accountId?: string): Promise<Store>;
71
+ retrieveActiveUsers(): Promise<{
72
+ user?: User;
73
+ adminUser?: User;
74
+ }>;
75
+ getUserStores(user: User): Promise<Store[]>;
76
+ getUserStoreIds(user: User): Promise<{
77
+ id: string;
78
+ }[]>;
79
+ getUserStore(user: User, relations: string[]): Promise<Store>;
80
+ retrieveDefaultStore(relations?: string[]): Promise<Store>;
81
+ retrieveRelations(relations?: string[]): Promise<Store | undefined>;
82
+ createUserStore(storeName: string): Promise<Store>;
83
+ addMemberToStore(user: User, storeId: string, role?: UserRoles): Promise<Store>;
84
+ updateMemberToStore(user: User, storeId: string, role?: UserRoles): Promise<Store>;
85
+ createRegisteredStore(event: InsertEvent<User> | UpdateEvent<User>): Promise<Store>;
86
+ setDefaultCurrency(code: string, store_id?: string): Promise<Store | never>;
87
+ update(data: UpdateStoreInput, id?: string): Promise<Store>;
88
+ addCurrency(code: string, id?: string): Promise<Store | never>;
89
+ /**
90
+ * Removes a currency from the store
91
+ * @param code - 3 character ISO currency code
92
+ * @return result after update
93
+ */
94
+ removeCurrency(code: string, id?: string): Promise<any>;
95
+ purgeStore(store_id: string): Promise<DeleteResult>;
96
+ retrieveStore(idOrNameOrSlug: string): Promise<Store>;
97
+ }
98
+ export {};