@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,22 @@
1
+ import { WorkflowRequest } from "src/models/workflow-requests";
2
+ import { ApprovedActionCallback } from "../types/global";
3
+ import { AwilixContainer } from "awilix";
4
+ import { TransactionBaseService, User } from "@medusajs/medusa";
5
+ import { Workflow } from "../models/workflow";
6
+ import { WorkflowStage } from "../models/workflow-stage";
7
+ import { UpdateResult } from "typeorm";
8
+ export default class WorkflowService extends TransactionBaseService {
9
+ constructor(container: any, config: any);
10
+ createWorkflow(workflowData: Partial<Workflow>): Promise<Workflow>;
11
+ getWorkflow(id: string): Promise<Workflow>;
12
+ getAllWorkflows(limit?: number, offset?: number): Promise<[Workflow[], number]>;
13
+ deleteWorkflow(workflowId: string): Promise<UpdateResult | boolean>;
14
+ updateWorkflow(workflowId: string, updatedWorkflow: Partial<Workflow>): Promise<Workflow | undefined>;
15
+ addWorkflowStage(stage: WorkflowStage, workflowId: string): Promise<Workflow>;
16
+ getStageByName(workflowId: string, name: string): Promise<WorkflowStage | undefined>;
17
+ getApproversForStage(workflowId: string, stageName: string): Promise<User[] | undefined>;
18
+ getNextStage(workflowId: string, currentStageName: string): Promise<WorkflowStage | undefined>;
19
+ isFinalStage(workflowId: string, stageName: string): Promise<boolean>;
20
+ isLastApprover(workflowId: string, stageName: string, userId: string): Promise<boolean>;
21
+ isApproved(request: WorkflowRequest, callback?: ApprovedActionCallback, container?: AwilixContainer, config?: Record<string, unknown>): Promise<boolean>;
22
+ }
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ /* eslint-disable require-jsdoc */
3
+ // Define the WorkflowStage interface
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ const medusa_1 = require("@medusajs/medusa");
6
+ const workflow_1 = require("../models/workflow");
7
+ // Define the Workflow class
8
+ class WorkflowService extends medusa_1.TransactionBaseService {
9
+ constructor(container, config) {
10
+ super(container, config);
11
+ }
12
+ async createWorkflow(workflowData) {
13
+ const workflowRepo = this.manager_.getRepository(workflow_1.Workflow);
14
+ const newWorkflow = workflowRepo.create(workflowData);
15
+ return await workflowRepo.save(newWorkflow);
16
+ }
17
+ async getWorkflow(id) {
18
+ const workflowRepo = this.manager_.getRepository(workflow_1.Workflow);
19
+ return await workflowRepo.findOne({
20
+ where: { id },
21
+ relations: ["stages", "requests"]
22
+ });
23
+ }
24
+ async getAllWorkflows(limit, offset) {
25
+ const workflowRepo = this.manager_.getRepository(workflow_1.Workflow);
26
+ return await workflowRepo.findAndCount({
27
+ skip: offset,
28
+ take: limit
29
+ });
30
+ }
31
+ async deleteWorkflow(workflowId) {
32
+ const workflowRepo = this.manager_.getRepository(workflow_1.Workflow);
33
+ try {
34
+ return await workflowRepo.softDelete({ id: workflowId });
35
+ }
36
+ catch (e) {
37
+ return false;
38
+ }
39
+ }
40
+ async updateWorkflow(workflowId, updatedWorkflow) {
41
+ const workflowRepo = this.manager_.getRepository(workflow_1.Workflow);
42
+ const workflow = await workflowRepo.findOne({
43
+ where: { id: workflowId }
44
+ });
45
+ const update = workflowRepo.merge(workflow, updatedWorkflow);
46
+ return await workflowRepo.save(update);
47
+ }
48
+ async addWorkflowStage(stage, workflowId) {
49
+ const workflowRepo = this.manager_.getRepository(workflow_1.Workflow);
50
+ const workflow = await this.getWorkflow(workflowId);
51
+ workflow.stages.push(stage);
52
+ return await workflowRepo.save(workflow);
53
+ }
54
+ // Get a workflow stage by name
55
+ async getStageByName(workflowId, name) {
56
+ const workflow = await this.getWorkflow(workflowId);
57
+ return workflow.stages.find((stage) => stage.name === name);
58
+ }
59
+ // Get the list of approvers for a specific stage by name
60
+ async getApproversForStage(workflowId, stageName) {
61
+ const workflow = await this.getWorkflow(workflowId);
62
+ const stage = await this.getStageByName(workflow.id, stageName);
63
+ return stage.approvers;
64
+ }
65
+ // Get the next stage in the workflow sequence after the given stage
66
+ async getNextStage(workflowId, currentStageName) {
67
+ const workflow = await this.getWorkflow(workflowId);
68
+ const currentIndex = workflow.stages.findIndex((stage) => stage.name === currentStageName);
69
+ if (currentIndex !== -1 && currentIndex < workflow.stages.length - 1) {
70
+ return workflow.stages[currentIndex + 1];
71
+ }
72
+ return undefined; // No next stage found
73
+ }
74
+ // Check if a given stage is the final stage in the workflow
75
+ async isFinalStage(workflowId, stageName) {
76
+ const workflow = await this.getWorkflow(workflowId);
77
+ return workflow[workflow.stages.length - 1].name === stageName;
78
+ }
79
+ // Check if a user is the last approver for a specific stage
80
+ async isLastApprover(workflowId, stageName, userId) {
81
+ const stage = await this.getStageByName(workflowId, stageName);
82
+ if (stage) {
83
+ const approvers = stage.approvers;
84
+ return approvers[approvers.length - 1].id === userId;
85
+ }
86
+ return false;
87
+ }
88
+ async isApproved(request, callback, container, config) {
89
+ const totalStages = request.workflow.stages.length; // Total number of stages in the workflow
90
+ // Check if all stages are approved
91
+ if (request.workflow.stages.length === totalStages &&
92
+ request.stageStatus.every((status) => status === "Approved")) {
93
+ // Call the callback function with container and config
94
+ try {
95
+ await callback(container, config);
96
+ return true; // All stages are approved
97
+ }
98
+ catch (error) {
99
+ // Handle errors and retries here
100
+ return false; // Return false if there was an error
101
+ }
102
+ }
103
+ return false; // Not all stages are approved
104
+ }
105
+ }
106
+ exports.default = WorkflowService;
107
+ // You can now use the 'workflow' instance to manage and interact with your workflow stages.
108
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/services/workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Customer } from "../models/customer";
2
+ import { EntitySubscriberInterface } from "typeorm";
3
+ export default class CustomerSubscriber implements EntitySubscriberInterface<Customer> {
4
+ listenTo(): typeof Customer;
5
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const customer_1 = require("../models/customer");
10
+ const typeorm_1 = require("typeorm");
11
+ let CustomerSubscriber = class CustomerSubscriber {
12
+ listenTo() {
13
+ return customer_1.Customer;
14
+ }
15
+ };
16
+ CustomerSubscriber = __decorate([
17
+ (0, typeorm_1.EventSubscriber)()
18
+ ], CustomerSubscriber);
19
+ exports.default = CustomerSubscriber;
20
+ //# sourceMappingURL=customer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer.js","sourceRoot":"","sources":["../../src/subscribers/customer.ts"],"names":[],"mappings":";;;;;;;;AAAA,iDAA6C;AAC7C,qCAKiB;AAGF,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAG9B,QAAQ;QACb,OAAO,mBAAQ,CAAC;IAClB,CAAC;CAaF,CAAA;AAlBoB,kBAAkB;IADtC,IAAA,yBAAe,GAAE;GACG,kBAAkB,CAkBtC;kBAlBoB,kBAAkB"}
@@ -0,0 +1,11 @@
1
+ import { ProductService } from "../services/product";
2
+ import { Product } from "../models/product";
3
+ import { EntitySubscriberInterface, InsertEvent } from "typeorm";
4
+ export default class ProductSubscriber implements EntitySubscriberInterface<Product> {
5
+ protected productService: ProductService;
6
+ constructor(container: {
7
+ productService: ProductService;
8
+ });
9
+ listenTo(): typeof Product;
10
+ beforeInsert(event: InsertEvent<Product>): Promise<void>;
11
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const product_1 = require("../models/product");
13
+ const typeorm_1 = require("typeorm");
14
+ let ProductSubscriber = class ProductSubscriber {
15
+ constructor(container) {
16
+ this.productService = container.productService;
17
+ }
18
+ listenTo() {
19
+ return product_1.Product;
20
+ }
21
+ async beforeInsert(event) {
22
+ await this.productService.attachProductToUserStores(event);
23
+ }
24
+ };
25
+ ProductSubscriber = __decorate([
26
+ (0, typeorm_1.EventSubscriber)(),
27
+ __metadata("design:paramtypes", [Object])
28
+ ], ProductSubscriber);
29
+ exports.default = ProductSubscriber;
30
+ //# sourceMappingURL=product.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product.js","sourceRoot":"","sources":["../../src/subscribers/product.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,+CAA4C;AAC5C,qCAIiB;AAGF,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAIlC,YAAY,SAA6C;QACrD,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;IACnD,CAAC;IAEM,QAAQ;QACX,OAAO,iBAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAA2B;QAC1C,MAAM,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;CAeJ,CAAA;AA7BoB,iBAAiB;IADrC,IAAA,yBAAe,GAAE;;GACG,iBAAiB,CA6BrC;kBA7BoB,iBAAiB"}
@@ -0,0 +1,25 @@
1
+ import StoreService from "../services/store";
2
+ import { Store } from "../models/store";
3
+ import { EntitySubscriberInterface, InsertEvent, UpdateEvent } from "typeorm";
4
+ import RegionService from "../services/region";
5
+ import UserService from "../services/user";
6
+ import { Logger } from "@medusajs/medusa";
7
+ export default class StoreSubscriber implements EntitySubscriberInterface<Store> {
8
+ storeService: StoreService;
9
+ regionService: RegionService;
10
+ logger: Logger;
11
+ userService: UserService;
12
+ constructor(container: {
13
+ storeService: StoreService;
14
+ regionService: RegionService;
15
+ logger: Logger;
16
+ userService: UserService;
17
+ });
18
+ listenTo(): typeof Store;
19
+ /**
20
+ * Relay the event to the handlers.
21
+ * @param event Event to pass to the event handler
22
+ */
23
+ afterUpdate(event: UpdateEvent<Store>): Promise<void>;
24
+ afterInsert(event: InsertEvent<Store>): Promise<void>;
25
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const store_1 = require("../models/store");
13
+ const typeorm_1 = require("typeorm");
14
+ let StoreSubscriber = class StoreSubscriber {
15
+ constructor(container) {
16
+ this.storeService = container.storeService;
17
+ this.regionService = container.regionService;
18
+ this.userService = container.userService;
19
+ this.logger = container.logger;
20
+ }
21
+ listenTo() {
22
+ return store_1.Store;
23
+ }
24
+ /**
25
+ * Relay the event to the handlers.
26
+ * @param event Event to pass to the event handler
27
+ */
28
+ /* public async afterInsert(event: InsertEvent<Store>): Promise<void> {
29
+ const eventName = OnMedusaEntityEvent.After.InsertEvent(Store);
30
+ return await eventEmitter.emitAsync(eventName, {
31
+ event,
32
+ transactionalEntityManager: event.manager
33
+ });
34
+ }
35
+ public async beforeInsert(event: InsertEvent<Store>): Promise<void> {
36
+ const eventName = OnMedusaEntityEvent.Before.InsertEvent(Store);
37
+ return await eventEmitter.emitAsync(eventName, {
38
+ event,
39
+ transactionalEntityManager: event.manager
40
+ });
41
+ }*/
42
+ async afterUpdate(event) {
43
+ this.logger.info("Store Updated:" + JSON.stringify(event.entity));
44
+ }
45
+ async afterInsert(event) {
46
+ await this.userService.associateUserWithNewStore(event);
47
+ }
48
+ };
49
+ StoreSubscriber = __decorate([
50
+ (0, typeorm_1.EventSubscriber)(),
51
+ __metadata("design:paramtypes", [Object])
52
+ ], StoreSubscriber);
53
+ exports.default = StoreSubscriber;
54
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/subscribers/store.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,2CAAwC;AAExC,qCAOiB;AAMF,IAAM,eAAe,GAArB,MAAM,eAAe;IAOhC,YAAY,SAKX;QACG,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IACnC,CAAC;IAEM,QAAQ;QACX,OAAO,aAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,WAAW,CAAC,KAAyB;QAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAyB;QAC9C,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;CACJ,CAAA;AAhDoB,eAAe;IADnC,IAAA,yBAAe,GAAE;;GACG,eAAe,CAgDnC;kBAhDoB,eAAe"}
@@ -0,0 +1,16 @@
1
+ import StoreService from "../services/store";
2
+ import { User } from "../models/user";
3
+ import { EntitySubscriberInterface, InsertEvent, UpdateEvent } from "typeorm";
4
+ export default class UserSubscriber implements EntitySubscriberInterface<User> {
5
+ storeService: StoreService;
6
+ constructor(container: {
7
+ storeService: StoreService;
8
+ });
9
+ listenTo(): typeof User;
10
+ /**
11
+ * Relay the event to the handlers.
12
+ * @param event Event to pass to the event handler
13
+ */
14
+ afterUpdate(event: UpdateEvent<User>): Promise<void>;
15
+ beforeInsert(event: InsertEvent<User>): Promise<void>;
16
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const user_1 = require("../models/user");
13
+ const typeorm_1 = require("typeorm");
14
+ let UserSubscriber = class UserSubscriber {
15
+ constructor(container) {
16
+ this.storeService = container.storeService;
17
+ }
18
+ listenTo() {
19
+ return user_1.User;
20
+ }
21
+ /**
22
+ * Relay the event to the handlers.
23
+ * @param event Event to pass to the event handler
24
+ */
25
+ /* public async beforeInsert(event: InsertEvent<User>): Promise<void> {
26
+ console.log("BEFORE ENTITY INSERT: ", event.entity);
27
+ const eventName = OnMedusaEntityEvent.Before.InsertEvent(User);
28
+ return await eventEmitter.emitAsync(eventName, {
29
+ event,
30
+ transactionalEntityManager: event.manager
31
+ });
32
+ }
33
+ public async afterInsert(event: InsertEvent<User>): Promise<void> {
34
+ console.log("AFTER ENTITY INSERT: ", event.entity);
35
+ const eventName = OnMedusaEntityEvent.Before.InsertEvent(User);
36
+ return await eventEmitter.emitAsync(eventName, {
37
+ event,
38
+ transactionalEntityManager: event.manager
39
+ });
40
+ }
41
+
42
+ public async beforeUpdate(event: UpdateEvent<User>): Promise<void> {
43
+ console.log("BEFORE ENTITY UPDATE: ", event.entity);
44
+ const eventName = OnMedusaEntityEvent.Before.UpdateEvent(User);
45
+ return await eventEmitter.emitAsync(eventName, {
46
+ event,
47
+ transactionalEntityManager: event.manager
48
+ });
49
+ }*/
50
+ async afterUpdate(event) {
51
+ await this.storeService.attachExternalAccountToStoreAfterUpdate(event);
52
+ }
53
+ async beforeInsert(event) {
54
+ await this.storeService.createRegisteredStore(event);
55
+ }
56
+ };
57
+ UserSubscriber = __decorate([
58
+ (0, typeorm_1.EventSubscriber)(),
59
+ __metadata("design:paramtypes", [Object])
60
+ ], UserSubscriber);
61
+ exports.default = UserSubscriber;
62
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/subscribers/user.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,yCAAsC;AACtC,qCAKiB;AAGF,IAAM,cAAc,GAApB,MAAM,cAAc;IAG/B,YAAY,SAAyC;QACjD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;IAC/C,CAAC;IAEM,QAAQ;QACX,OAAO,WAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IAEI,KAAK,CAAC,WAAW,CAAC,KAAwB;QAC7C,MAAM,IAAI,CAAC,YAAY,CAAC,uCAAuC,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,KAAwB;QAC9C,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;CACJ,CAAA;AAhDoB,cAAc;IADlC,IAAA,yBAAe,GAAE;;GACG,cAAc,CAgDlC;kBAhDoB,cAAc"}
@@ -0,0 +1 @@
1
+ export type ApprovedActionCallback = (container: any, config: any) => Promise<unknown>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=global.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/types/global.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export interface SaasFormUserAuthenticationTokenFormat {
2
+ nonce: string;
3
+ provider: string /** to identify method of creation */;
4
+ url: string;
5
+ id: string;
6
+ account_id?: string;
7
+ account_name?: string;
8
+ status?: string;
9
+ email?: string;
10
+ email_verified?: boolean;
11
+ staff?: boolean;
12
+ username?: string;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=oidc-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc-types.js","sourceRoot":"","sources":["../../src/types/oidc-types.ts"],"names":[],"mappings":""}
package/index.js ADDED
@@ -0,0 +1,50 @@
1
+ const express = require("express")
2
+ const { GracefulShutdownServer } = require("medusa-core-utils")
3
+
4
+ const loaders = require("@medusajs/medusa/dist/loaders/index").default
5
+
6
+ ;(async() => {
7
+ async function start() {
8
+ const app = express()
9
+ const directory = process.cwd()
10
+
11
+ try {
12
+ const { container } = await loaders({
13
+ directory,
14
+ expressApp: app
15
+ })
16
+ const configModule = container.resolve("configModule")
17
+ const port = process.env.PORT ?? configModule.projectConfig.port ?? 9000
18
+
19
+ const server = GracefulShutdownServer.create(
20
+ app.listen(port, (err) => {
21
+ if (err) {
22
+ return
23
+ }
24
+ console.log(`Server is ready on port: ${port}`)
25
+ })
26
+ )
27
+
28
+ // Handle graceful shutdown
29
+ const gracefulShutDown = () => {
30
+ server
31
+ .shutdown()
32
+ .then(() => {
33
+ console.info("Gracefully stopping the server.")
34
+ process.exit(0)
35
+ })
36
+ .catch((e) => {
37
+ console.error("Error received when shutting down the server.", e)
38
+ process.exit(1)
39
+ })
40
+ }
41
+ process.on("SIGTERM", gracefulShutDown)
42
+ process.on("SIGINT", gracefulShutDown)
43
+ } catch (err) {
44
+ console.error("Error starting server", err)
45
+ process.exit(1)
46
+ }
47
+ }
48
+
49
+ await start()
50
+ })()
package/package.json ADDED
@@ -0,0 +1,105 @@
1
+ {
2
+ "name": "@sgftech/medusa-plugin-marketplace-v2",
3
+ "version": "0.1.26",
4
+ "description": "A pluging to initiate marketplace and associated workflow",
5
+ "author": "Govind Diwakar",
6
+ "license": "MIT",
7
+ "keywords": [
8
+ "sqlite",
9
+ "postgres",
10
+ "typescript",
11
+ "ecommerce",
12
+ "headless",
13
+ "medusa",
14
+ "marketplace",
15
+ "workflows"
16
+ ],
17
+ "scripts": {
18
+ "clean": "cross-env ./node_modules/.bin/rimraf dist",
19
+ "build": "cross-env npm run clean && yarn run build:server",
20
+ "build:server": "cross-env npm run clean && tsc -p tsconfig.json",
21
+ "watch": "cross-env tsc --watch",
22
+ "test": "cross-env jest"
23
+ },
24
+ "dependencies": {
25
+ "@medusajs/admin": "^7.0.1",
26
+ "@medusajs/cache-inmemory": "^1.8.8",
27
+ "@medusajs/cache-redis": "^1.8.8",
28
+ "@medusajs/event-bus-local": "^1.9.6",
29
+ "@medusajs/event-bus-redis": "^1.8.9",
30
+ "@medusajs/file-local": "^1.0.2",
31
+ "@medusajs/icons": "^1.0.0",
32
+ "@medusajs/ui": "^1.0.0",
33
+ "@sgftech/medusa-plugin-marketplace-v2": "/home/ec2-user/hercules/medusa-plugin-marketplace-v2/sgftech-medusa-plugin-marketplace-v2-v0.0.6.tgz",
34
+ "@tanstack/react-query": "4.22.0",
35
+ "awilix": "^8.0.1",
36
+ "axios": "0.27",
37
+ "babel-preset-medusa-package": "^1.1.13",
38
+ "body-parser": "^1.19.0",
39
+ "cors": "^2.8.5",
40
+ "dotenv": "^16.3.1",
41
+ "express": "^4.17.2",
42
+ "medusa-fulfillment-manual": "^1.1.38",
43
+ "medusa-interfaces": "^1.3.7",
44
+ "medusa-payment-manual": "^1.0.24",
45
+ "medusa-payment-stripe": "^6.0.3",
46
+ "prism-react-renderer": "^2.0.4",
47
+ "typeorm": "^0.3.16"
48
+ },
49
+ "peerDependencies": {
50
+ "@medusajs/medusa": "^1.15.1"
51
+ },
52
+ "devDependencies": {
53
+ "@babel/cli": "^7.14.3",
54
+ "@babel/core": "^7.14.3",
55
+ "@babel/preset-typescript": "^7.21.4",
56
+ "@medusajs/medusa": "^1.15.1",
57
+ "@medusajs/medusa-cli": "^1.3.16",
58
+ "@types/express": "^4.17.13",
59
+ "@types/jest": "^27.4.0",
60
+ "@types/node": "^17.0.8",
61
+ "@typescript-eslint/eslint-plugin": "^5.0.0",
62
+ "@typescript-eslint/parser": "^5.0.0",
63
+ "babel-preset-medusa-package": "^1.1.13",
64
+ "cross-env": "^7.0.3",
65
+ "eslint": "^8.23.1",
66
+ "eslint-config-google": "^0.14.0",
67
+ "eslint-config-prettier": "^8.5.0",
68
+ "eslint-config-typescript": "^3.0.0",
69
+ "eslint-plugin-file-progress": "^1.3.0",
70
+ "eslint-plugin-prettier": "^4.2.1",
71
+ "jest": "^27.3.1",
72
+ "mongoose": "^5.13.14",
73
+ "prettier": "^2.7.1",
74
+ "rimraf": "^3.0.2",
75
+ "ts-jest": "^27.0.7",
76
+ "ts-loader": "^9.2.6",
77
+ "typescript": "^4.5.2"
78
+ },
79
+ "jest": {
80
+ "globals": {
81
+ "ts-jest": {
82
+ "tsconfig": "tsconfig.spec.json"
83
+ }
84
+ },
85
+ "moduleFileExtensions": [
86
+ "js",
87
+ "json",
88
+ "ts"
89
+ ],
90
+ "testPathIgnorePatterns": [
91
+ "/node_modules/",
92
+ "<rootDir>/node_modules/"
93
+ ],
94
+ "rootDir": "src",
95
+ "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|js)$",
96
+ "transform": {
97
+ ".ts": "ts-jest"
98
+ },
99
+ "collectCoverageFrom": [
100
+ "**/*.(t|j)s"
101
+ ],
102
+ "coverageDirectory": "./coverage",
103
+ "testEnvironment": "node"
104
+ }
105
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "module": "esnext"
5
+ },
6
+ "include": ["src/admin"],
7
+ "exclude": ["**/*.spec.js", "**/**plugin**/src/**"]
8
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es2019",
4
+ "allowJs": true,
5
+ "esModuleInterop": true,
6
+ "module": "commonjs",
7
+ "moduleResolution": "node",
8
+ "emitDecoratorMetadata": true,
9
+ "experimentalDecorators": true,
10
+ "skipLibCheck": true,
11
+ "skipDefaultLibCheck": true,
12
+ "declaration": true,
13
+ "sourceMap": true,
14
+ "outDir": "./dist",
15
+ "rootDir": "./src",
16
+ "baseUrl": ".",
17
+ "jsx": "react-jsx",
18
+ "forceConsistentCasingInFileNames": true,
19
+ "resolveJsonModule": true,
20
+ "checkJs": false
21
+ },
22
+ "include": [
23
+ "src/",
24
+ ],
25
+ "exclude": [
26
+ "**/__tests__",
27
+ "**/__fixtures__",
28
+ "node_modules",
29
+ "build",
30
+ ".cache",
31
+ "**/**plugin**/src/**"
32
+ ]
33
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ /* Emit a single file with source maps instead of having a separate file. */
5
+ "inlineSourceMap": false
6
+ },
7
+ "exclude": ["src/admin", "**/*.spec.js", "**/**plugin**/src/**"]
8
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "include": ["src"],
4
+ "exclude": ["dist", "node_modules", "**/**plugin**/src/**"]
5
+ }