@medusajs/sales-channel 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +3 -0
  2. package/dist/index.d.ts +9 -0
  3. package/dist/index.js +46 -0
  4. package/dist/initialize/index.d.ts +4 -0
  5. package/dist/initialize/index.js +17 -0
  6. package/dist/joiner-config.d.ts +7 -0
  7. package/dist/joiner-config.js +28 -0
  8. package/dist/loaders/connection.d.ts +4 -0
  9. package/dist/loaders/connection.js +41 -0
  10. package/dist/loaders/container.d.ts +2 -0
  11. package/dist/loaders/container.js +34 -0
  12. package/dist/loaders/index.d.ts +2 -0
  13. package/dist/loaders/index.js +18 -0
  14. package/dist/migrations/Migration20240115152146.d.ts +4 -0
  15. package/dist/migrations/Migration20240115152146.js +11 -0
  16. package/dist/models/index.d.ts +1 -0
  17. package/dist/models/index.js +8 -0
  18. package/dist/models/sales-channel.d.ts +16 -0
  19. package/dist/models/sales-channel.js +81 -0
  20. package/dist/module-definition.d.ts +2 -0
  21. package/dist/module-definition.js +15 -0
  22. package/dist/repositories/index.d.ts +1 -0
  23. package/dist/repositories/index.js +5 -0
  24. package/dist/scripts/bin/run-seed.d.ts +3 -0
  25. package/dist/scripts/bin/run-seed.js +50 -0
  26. package/dist/scripts/seed-utils.d.ts +4 -0
  27. package/dist/scripts/seed-utils.js +12 -0
  28. package/dist/services/index.d.ts +2 -0
  29. package/dist/services/index.js +10 -0
  30. package/dist/services/sales-channel-module.d.ts +30 -0
  31. package/dist/services/sales-channel-module.js +160 -0
  32. package/dist/services/sales-channel.d.ts +18 -0
  33. package/dist/services/sales-channel.js +11 -0
  34. package/dist/types/index.d.ts +4 -0
  35. package/dist/types/index.js +2 -0
  36. package/dist/types/repositories.d.ts +8 -0
  37. package/dist/types/repositories.js +2 -0
  38. package/package.json +61 -0
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # Sales Channel Module
2
+
3
+ Sales Channel module enables management of sales channels that are used for grouping Products/Carts/Orders etc.
@@ -0,0 +1,9 @@
1
+ import { moduleDefinition } from "./module-definition";
2
+ export default moduleDefinition;
3
+ export declare const runMigrations: ({ options, logger, }?: Pick<import("@medusajs/modules-sdk").LoaderOptions<import("@medusajs/modules-sdk").ModuleServiceInitializeOptions>, "options" | "logger"> | undefined) => Promise<void>;
4
+ export declare const revertMigration: ({ options, logger, }?: Pick<import("@medusajs/modules-sdk").LoaderOptions<import("@medusajs/modules-sdk").ModuleServiceInitializeOptions>, "options" | "logger"> | undefined) => Promise<void>;
5
+ export * from "./initialize";
6
+ export * from "./types";
7
+ export * from "./loaders";
8
+ export * from "./models";
9
+ export * from "./services";
package/dist/index.js ADDED
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.revertMigration = exports.runMigrations = void 0;
30
+ const modules_sdk_1 = require("@medusajs/modules-sdk");
31
+ const utils_1 = require("@medusajs/utils");
32
+ const SalesChannelModels = __importStar(require("./models"));
33
+ const module_definition_1 = require("./module-definition");
34
+ exports.default = module_definition_1.moduleDefinition;
35
+ const migrationScriptOptions = {
36
+ moduleName: modules_sdk_1.Modules.SALES_CHANNEL,
37
+ models: SalesChannelModels,
38
+ pathToMigrations: __dirname + "/migrations",
39
+ };
40
+ exports.runMigrations = utils_1.ModulesSdkUtils.buildMigrationScript(migrationScriptOptions);
41
+ exports.revertMigration = utils_1.ModulesSdkUtils.buildRevertMigrationScript(migrationScriptOptions);
42
+ __exportStar(require("./initialize"), exports);
43
+ __exportStar(require("./types"), exports);
44
+ __exportStar(require("./loaders"), exports);
45
+ __exportStar(require("./models"), exports);
46
+ __exportStar(require("./services"), exports);
@@ -0,0 +1,4 @@
1
+ import { ExternalModuleDeclaration, InternalModuleDeclaration } from "@medusajs/modules-sdk";
2
+ import { ModulesSdkTypes, ISalesChannelModuleService } from "@medusajs/types";
3
+ import { InitializeModuleInjectableDependencies } from "../types";
4
+ export declare const initialize: (options?: ModulesSdkTypes.ModuleServiceInitializeOptions | ModulesSdkTypes.ModuleServiceInitializeCustomDataLayerOptions | ExternalModuleDeclaration | InternalModuleDeclaration, injectedDependencies?: InitializeModuleInjectableDependencies) => Promise<ISalesChannelModuleService>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initialize = void 0;
4
+ const modules_sdk_1 = require("@medusajs/modules-sdk");
5
+ const module_definition_1 = require("../module-definition");
6
+ const initialize = async (options, injectedDependencies) => {
7
+ const serviceKey = modules_sdk_1.Modules.SALES_CHANNEL;
8
+ const loaded = await modules_sdk_1.MedusaModule.bootstrap({
9
+ moduleKey: serviceKey,
10
+ defaultPath: modules_sdk_1.MODULE_PACKAGE_NAMES[modules_sdk_1.Modules.SALES_CHANNEL],
11
+ declaration: options,
12
+ injectedDependencies,
13
+ moduleExports: module_definition_1.moduleDefinition,
14
+ });
15
+ return loaded[serviceKey];
16
+ };
17
+ exports.initialize = initialize;
@@ -0,0 +1,7 @@
1
+ import { ModuleJoinerConfig } from "@medusajs/types";
2
+ import { MapToConfig } from "@medusajs/utils";
3
+ export declare const LinkableKeys: {
4
+ sales_channel_id: string;
5
+ };
6
+ export declare const entityNameToLinkableKeysMap: MapToConfig;
7
+ export declare const joinerConfig: ModuleJoinerConfig;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.joinerConfig = exports.entityNameToLinkableKeysMap = exports.LinkableKeys = void 0;
4
+ const modules_sdk_1 = require("@medusajs/modules-sdk");
5
+ const _models_1 = require("./models");
6
+ exports.LinkableKeys = {
7
+ sales_channel_id: _models_1.SalesChannel.name,
8
+ };
9
+ const entityLinkableKeysMap = {};
10
+ Object.entries(exports.LinkableKeys).forEach(([key, value]) => {
11
+ entityLinkableKeysMap[value] ?? (entityLinkableKeysMap[value] = []);
12
+ entityLinkableKeysMap[value].push({
13
+ mapTo: key,
14
+ valueFrom: key.split("_").pop(),
15
+ });
16
+ });
17
+ exports.entityNameToLinkableKeysMap = entityLinkableKeysMap;
18
+ exports.joinerConfig = {
19
+ serviceName: modules_sdk_1.Modules.SALES_CHANNEL,
20
+ primaryKeys: ["id"],
21
+ linkableKeys: exports.LinkableKeys,
22
+ alias: [
23
+ {
24
+ name: ["sales_channel", "sales_channels"],
25
+ args: { entity: "SalesChannel" },
26
+ },
27
+ ],
28
+ };
@@ -0,0 +1,4 @@
1
+ import { InternalModuleDeclaration, LoaderOptions } from "@medusajs/modules-sdk";
2
+ import { ModulesSdkTypes } from "@medusajs/types";
3
+ declare const _default: ({ options, container, logger, }: LoaderOptions<ModulesSdkTypes.ModuleServiceInitializeOptions | ModulesSdkTypes.ModuleServiceInitializeCustomDataLayerOptions>, moduleDeclaration?: InternalModuleDeclaration) => Promise<void>;
4
+ export default _default;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const modules_sdk_1 = require("@medusajs/modules-sdk");
27
+ const utils_1 = require("@medusajs/utils");
28
+ const SalesChannelModels = __importStar(require("../models"));
29
+ exports.default = async ({ options, container, logger, }, moduleDeclaration) => {
30
+ const entities = Object.values(SalesChannelModels);
31
+ const pathToMigrations = __dirname + "/../migrations";
32
+ await utils_1.ModulesSdkUtils.mikroOrmConnectionLoader({
33
+ moduleName: modules_sdk_1.Modules.SALES_CHANNEL,
34
+ entities,
35
+ container,
36
+ options,
37
+ moduleDeclaration,
38
+ logger,
39
+ pathToMigrations,
40
+ });
41
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: ({ container, options }: import("@medusajs/types").LoaderOptions) => Promise<void>;
2
+ export default _default;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const utils_1 = require("@medusajs/utils");
27
+ const ModuleModels = __importStar(require("../models"));
28
+ const ModuleRepositories = __importStar(require("../repositories"));
29
+ const ModuleServices = __importStar(require("../services"));
30
+ exports.default = utils_1.ModulesSdkUtils.moduleContainerLoaderFactory({
31
+ moduleModels: ModuleModels,
32
+ moduleRepositories: ModuleRepositories,
33
+ moduleServices: ModuleServices,
34
+ });
@@ -0,0 +1,2 @@
1
+ export * from "./connection";
2
+ export * from "./container";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./connection"), exports);
18
+ __exportStar(require("./container"), exports);
@@ -0,0 +1,4 @@
1
+ import { Migration } from "@mikro-orm/migrations";
2
+ export declare class Migration20240115152146 extends Migration {
3
+ up(): Promise<void>;
4
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migration20240115152146 = void 0;
4
+ const migrations_1 = require("@mikro-orm/migrations");
5
+ class Migration20240115152146 extends migrations_1.Migration {
6
+ async up() {
7
+ this.addSql('create table if not exists "sales_channel" ("id" text not null, "name" text not null, "description" text null, "is_disabled" boolean not null default false, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "sales_channel_pkey" primary key ("id"));');
8
+ this.addSql('create index "IDX_sales_channel_deleted_at" on "sales_channel" ("deleted_at");');
9
+ }
10
+ }
11
+ exports.Migration20240115152146 = Migration20240115152146;
@@ -0,0 +1 @@
1
+ export { default as SalesChannel } from "./sales-channel";
@@ -0,0 +1,8 @@
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
+ exports.SalesChannel = void 0;
7
+ var sales_channel_1 = require("./sales-channel");
8
+ Object.defineProperty(exports, "SalesChannel", { enumerable: true, get: function () { return __importDefault(sales_channel_1).default; } });
@@ -0,0 +1,16 @@
1
+ import { OptionalProps } from "@mikro-orm/core";
2
+ import { DAL } from "@medusajs/types";
3
+ type SalesChannelOptionalProps = "is_disabled" | DAL.EntityDateColumns;
4
+ export default class SalesChannel {
5
+ [OptionalProps]?: SalesChannelOptionalProps;
6
+ id: string;
7
+ name: string;
8
+ description: string | null;
9
+ is_disabled: boolean;
10
+ created_at: Date;
11
+ updated_at: Date;
12
+ deleted_at: Date | null;
13
+ onCreate(): void;
14
+ onInit(): void;
15
+ }
16
+ export {};
@@ -0,0 +1,81 @@
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 utils_1 = require("@medusajs/utils");
13
+ const core_1 = require("@mikro-orm/core");
14
+ let SalesChannel = class SalesChannel {
15
+ constructor() {
16
+ this.description = null;
17
+ this.is_disabled = false;
18
+ this.deleted_at = null;
19
+ }
20
+ onCreate() {
21
+ this.id = (0, utils_1.generateEntityId)(this.id, "sc");
22
+ }
23
+ onInit() {
24
+ this.id = (0, utils_1.generateEntityId)(this.id, "sc");
25
+ }
26
+ };
27
+ __decorate([
28
+ (0, core_1.PrimaryKey)({ columnType: "text" }),
29
+ __metadata("design:type", String)
30
+ ], SalesChannel.prototype, "id", void 0);
31
+ __decorate([
32
+ (0, core_1.Property)({ columnType: "text" }),
33
+ __metadata("design:type", String)
34
+ ], SalesChannel.prototype, "name", void 0);
35
+ __decorate([
36
+ (0, core_1.Property)({ columnType: "text", nullable: true }),
37
+ __metadata("design:type", Object)
38
+ ], SalesChannel.prototype, "description", void 0);
39
+ __decorate([
40
+ (0, core_1.Property)({ columnType: "boolean", default: false }),
41
+ __metadata("design:type", Object)
42
+ ], SalesChannel.prototype, "is_disabled", void 0);
43
+ __decorate([
44
+ (0, core_1.Property)({
45
+ onCreate: () => new Date(),
46
+ columnType: "timestamptz",
47
+ defaultRaw: "now()",
48
+ }),
49
+ __metadata("design:type", Date)
50
+ ], SalesChannel.prototype, "created_at", void 0);
51
+ __decorate([
52
+ (0, core_1.Property)({
53
+ onCreate: () => new Date(),
54
+ onUpdate: () => new Date(),
55
+ columnType: "timestamptz",
56
+ defaultRaw: "now()",
57
+ }),
58
+ __metadata("design:type", Date)
59
+ ], SalesChannel.prototype, "updated_at", void 0);
60
+ __decorate([
61
+ (0, core_1.Index)({ name: "IDX_sales_channel_deleted_at" }),
62
+ (0, core_1.Property)({ columnType: "timestamptz", nullable: true }),
63
+ __metadata("design:type", Object)
64
+ ], SalesChannel.prototype, "deleted_at", void 0);
65
+ __decorate([
66
+ (0, core_1.BeforeCreate)(),
67
+ __metadata("design:type", Function),
68
+ __metadata("design:paramtypes", []),
69
+ __metadata("design:returntype", void 0)
70
+ ], SalesChannel.prototype, "onCreate", null);
71
+ __decorate([
72
+ (0, core_1.BeforeCreate)(),
73
+ __metadata("design:type", Function),
74
+ __metadata("design:paramtypes", []),
75
+ __metadata("design:returntype", void 0)
76
+ ], SalesChannel.prototype, "onInit", null);
77
+ SalesChannel = __decorate([
78
+ (0, core_1.Entity)(),
79
+ (0, core_1.Filter)(utils_1.DALUtils.mikroOrmSoftDeletableFilterOptions)
80
+ ], SalesChannel);
81
+ exports.default = SalesChannel;
@@ -0,0 +1,2 @@
1
+ import { ModuleExports } from "@medusajs/types";
2
+ export declare const moduleDefinition: ModuleExports;
@@ -0,0 +1,15 @@
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
+ exports.moduleDefinition = void 0;
7
+ const _services_1 = require("./services");
8
+ const connection_1 = __importDefault(require("./loaders/connection"));
9
+ const container_1 = __importDefault(require("./loaders/container"));
10
+ const service = _services_1.SalesChannelModuleService;
11
+ const loaders = [container_1.default, connection_1.default];
12
+ exports.moduleDefinition = {
13
+ service,
14
+ loaders,
15
+ };
@@ -0,0 +1 @@
1
+ export { MikroOrmBaseRepository as BaseRepository } from "@medusajs/utils";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseRepository = void 0;
4
+ var utils_1 = require("@medusajs/utils");
5
+ Object.defineProperty(exports, "BaseRepository", { enumerable: true, get: function () { return utils_1.MikroOrmBaseRepository; } });
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ declare const _default: Promise<void>;
3
+ export default _default;
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ const utils_1 = require("@medusajs/utils");
28
+ const modules_sdk_1 = require("@medusajs/modules-sdk");
29
+ const ProductModels = __importStar(require("../../models"));
30
+ const seed_utils_1 = require("../seed-utils");
31
+ const os_1 = require("os");
32
+ const args = process.argv;
33
+ const path = args.pop();
34
+ exports.default = (async () => {
35
+ const { config } = await Promise.resolve().then(() => __importStar(require("dotenv")));
36
+ config();
37
+ if (!path) {
38
+ throw new Error(`filePath is required.${os_1.EOL}Example: medusa-product-seed <filePath>`);
39
+ }
40
+ const run = utils_1.ModulesSdkUtils.buildSeedScript({
41
+ moduleName: modules_sdk_1.Modules.PRODUCT,
42
+ models: ProductModels,
43
+ pathToMigrations: __dirname + "/../../migrations",
44
+ seedHandler: async ({ manager, data }) => {
45
+ const { salesChannelData } = data;
46
+ await (0, seed_utils_1.createSalesChannels)(manager, salesChannelData);
47
+ },
48
+ });
49
+ await run({ path });
50
+ })();
@@ -0,0 +1,4 @@
1
+ import { SalesChannel } from "../models";
2
+ import { RequiredEntityData } from "@mikro-orm/core";
3
+ import { SqlEntityManager } from "@mikro-orm/postgresql";
4
+ export declare function createSalesChannels(manager: SqlEntityManager, data: RequiredEntityData<SalesChannel>[]): Promise<SalesChannel[]>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSalesChannels = void 0;
4
+ const _models_1 = require("../models");
5
+ async function createSalesChannels(manager, data) {
6
+ const channels = data.map((channel) => {
7
+ return manager.create(_models_1.SalesChannel, channel);
8
+ });
9
+ await manager.persistAndFlush(channels);
10
+ return channels;
11
+ }
12
+ exports.createSalesChannels = createSalesChannels;
@@ -0,0 +1,2 @@
1
+ export { default as SalesChannelService } from "./sales-channel";
2
+ export { default as SalesChannelModuleService } from "./sales-channel-module";
@@ -0,0 +1,10 @@
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
+ exports.SalesChannelModuleService = exports.SalesChannelService = void 0;
7
+ var sales_channel_1 = require("./sales-channel");
8
+ Object.defineProperty(exports, "SalesChannelService", { enumerable: true, get: function () { return __importDefault(sales_channel_1).default; } });
9
+ var sales_channel_module_1 = require("./sales-channel-module");
10
+ Object.defineProperty(exports, "SalesChannelModuleService", { enumerable: true, get: function () { return __importDefault(sales_channel_module_1).default; } });
@@ -0,0 +1,30 @@
1
+ import { Context, DAL, FilterableSalesChannelProps, FindConfig, InternalModuleDeclaration, ISalesChannelModuleService, ModuleJoinerConfig, RestoreReturn, SalesChannelDTO, SoftDeleteReturn } from "@medusajs/types";
2
+ import { CreateSalesChannelDTO, UpdateSalesChannelDTO } from "@medusajs/types";
3
+ import { SalesChannel } from "../models";
4
+ import SalesChannelService from "./sales-channel";
5
+ import { LinkableKeys } from "../joiner-config";
6
+ type InjectedDependencies = {
7
+ baseRepository: DAL.RepositoryService;
8
+ salesChannelService: SalesChannelService<any>;
9
+ };
10
+ export default class SalesChannelModuleService<TEntity extends SalesChannel = SalesChannel> implements ISalesChannelModuleService {
11
+ protected readonly moduleDeclaration: InternalModuleDeclaration;
12
+ protected baseRepository_: DAL.RepositoryService;
13
+ protected readonly salesChannelService_: SalesChannelService<TEntity>;
14
+ constructor({ baseRepository, salesChannelService }: InjectedDependencies, moduleDeclaration: InternalModuleDeclaration);
15
+ __joinerConfig(): ModuleJoinerConfig;
16
+ create(data: CreateSalesChannelDTO[], sharedContext?: Context): Promise<SalesChannelDTO[]>;
17
+ create(data: CreateSalesChannelDTO, sharedContext?: Context): Promise<SalesChannelDTO>;
18
+ delete(ids: string[], sharedContext?: Context): Promise<void>;
19
+ delete(id: string, sharedContext?: Context): Promise<void>;
20
+ protected softDelete_(salesChannelIds: string[], sharedContext?: Context): Promise<[TEntity[], Record<string, unknown[]>]>;
21
+ softDelete<TReturnableLinkableKeys extends string = Lowercase<keyof typeof LinkableKeys>>(salesChannelIds: string[], { returnLinkableKeys }?: SoftDeleteReturn<TReturnableLinkableKeys>, sharedContext?: Context): Promise<Record<Lowercase<keyof typeof LinkableKeys>, string[]> | void>;
22
+ restore_(salesChannelIds: string[], sharedContext?: Context): Promise<[TEntity[], Record<string, unknown[]>]>;
23
+ restore<TReturnableLinkableKeys extends string = Lowercase<keyof typeof LinkableKeys>>(salesChannelIds: string[], { returnLinkableKeys }?: RestoreReturn<TReturnableLinkableKeys>, sharedContext?: Context): Promise<Record<Lowercase<keyof typeof LinkableKeys>, string[]> | void>;
24
+ update(data: UpdateSalesChannelDTO[], sharedContext?: Context): Promise<SalesChannelDTO[]>;
25
+ update(data: UpdateSalesChannelDTO, sharedContext?: Context): Promise<SalesChannelDTO>;
26
+ retrieve(salesChannelId: string, config?: FindConfig<SalesChannelDTO>, sharedContext?: Context): Promise<SalesChannelDTO>;
27
+ list(filters?: {}, config?: FindConfig<SalesChannelDTO>, sharedContext?: Context): Promise<SalesChannelDTO[]>;
28
+ listAndCount(filters?: FilterableSalesChannelProps, config?: FindConfig<SalesChannelDTO>, sharedContext?: Context): Promise<[SalesChannelDTO[], number]>;
29
+ }
30
+ export {};
@@ -0,0 +1,160 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const utils_1 = require("@medusajs/utils");
16
+ const joiner_config_1 = require("../joiner-config");
17
+ class SalesChannelModuleService {
18
+ constructor({ baseRepository, salesChannelService }, moduleDeclaration) {
19
+ this.moduleDeclaration = moduleDeclaration;
20
+ this.baseRepository_ = baseRepository;
21
+ this.salesChannelService_ = salesChannelService;
22
+ }
23
+ __joinerConfig() {
24
+ return joiner_config_1.joinerConfig;
25
+ }
26
+ async create(data, sharedContext = {}) {
27
+ const input = Array.isArray(data) ? data : [data];
28
+ const result = await this.salesChannelService_.create(input, sharedContext);
29
+ return await this.baseRepository_.serialize(Array.isArray(data) ? result : result[0], {
30
+ populate: true,
31
+ });
32
+ }
33
+ async delete(ids, sharedContext = {}) {
34
+ const salesChannelIds = Array.isArray(ids) ? ids : [ids];
35
+ await this.salesChannelService_.delete(salesChannelIds, sharedContext);
36
+ }
37
+ async softDelete_(salesChannelIds, sharedContext = {}) {
38
+ return await this.salesChannelService_.softDelete(salesChannelIds, sharedContext);
39
+ }
40
+ async softDelete(salesChannelIds, { returnLinkableKeys } = {}, sharedContext = {}) {
41
+ const [_, cascadedEntitiesMap] = await this.softDelete_(salesChannelIds, sharedContext);
42
+ let mappedCascadedEntitiesMap;
43
+ if (returnLinkableKeys) {
44
+ mappedCascadedEntitiesMap = (0, utils_1.mapObjectTo)(cascadedEntitiesMap, joiner_config_1.entityNameToLinkableKeysMap, {
45
+ pick: returnLinkableKeys,
46
+ });
47
+ }
48
+ return mappedCascadedEntitiesMap ? mappedCascadedEntitiesMap : void 0;
49
+ }
50
+ async restore_(salesChannelIds, sharedContext = {}) {
51
+ return await this.salesChannelService_.restore(salesChannelIds, sharedContext);
52
+ }
53
+ async restore(salesChannelIds, { returnLinkableKeys } = {}, sharedContext = {}) {
54
+ const [_, cascadedEntitiesMap] = await this.restore_(salesChannelIds, sharedContext);
55
+ let mappedCascadedEntitiesMap;
56
+ if (returnLinkableKeys) {
57
+ mappedCascadedEntitiesMap = (0, utils_1.mapObjectTo)(cascadedEntitiesMap, joiner_config_1.entityNameToLinkableKeysMap, {
58
+ pick: returnLinkableKeys,
59
+ });
60
+ }
61
+ return mappedCascadedEntitiesMap ? mappedCascadedEntitiesMap : void 0;
62
+ }
63
+ async update(data, sharedContext = {}) {
64
+ const input = Array.isArray(data) ? data : [data];
65
+ const result = await this.salesChannelService_.update(input, sharedContext);
66
+ return await this.baseRepository_.serialize(Array.isArray(data) ? result : result[0], {
67
+ populate: true,
68
+ });
69
+ }
70
+ async retrieve(salesChannelId, config = {}, sharedContext = {}) {
71
+ const salesChannel = await this.salesChannelService_.retrieve(salesChannelId, config);
72
+ return await this.baseRepository_.serialize(salesChannel, {
73
+ populate: true,
74
+ });
75
+ }
76
+ async list(filters = {}, config = {}, sharedContext = {}) {
77
+ const salesChannels = await this.salesChannelService_.list(filters, config);
78
+ return await this.baseRepository_.serialize(salesChannels, {
79
+ populate: true,
80
+ });
81
+ }
82
+ async listAndCount(filters = {}, config = {}, sharedContext = {}) {
83
+ const [salesChannels, count] = await this.salesChannelService_.listAndCount(filters, config);
84
+ return [
85
+ await this.baseRepository_.serialize(salesChannels, {
86
+ populate: true,
87
+ }),
88
+ count,
89
+ ];
90
+ }
91
+ }
92
+ exports.default = SalesChannelModuleService;
93
+ __decorate([
94
+ (0, utils_1.InjectTransactionManager)("baseRepository_"),
95
+ __param(1, (0, utils_1.MedusaContext)()),
96
+ __metadata("design:type", Function),
97
+ __metadata("design:paramtypes", [Object, Object]),
98
+ __metadata("design:returntype", Promise)
99
+ ], SalesChannelModuleService.prototype, "create", null);
100
+ __decorate([
101
+ (0, utils_1.InjectTransactionManager)("baseRepository_"),
102
+ __param(1, (0, utils_1.MedusaContext)()),
103
+ __metadata("design:type", Function),
104
+ __metadata("design:paramtypes", [Object, Object]),
105
+ __metadata("design:returntype", Promise)
106
+ ], SalesChannelModuleService.prototype, "delete", null);
107
+ __decorate([
108
+ (0, utils_1.InjectTransactionManager)("baseRepository_"),
109
+ __param(1, (0, utils_1.MedusaContext)()),
110
+ __metadata("design:type", Function),
111
+ __metadata("design:paramtypes", [Array, Object]),
112
+ __metadata("design:returntype", Promise)
113
+ ], SalesChannelModuleService.prototype, "softDelete_", null);
114
+ __decorate([
115
+ (0, utils_1.InjectManager)("baseRepository_"),
116
+ __metadata("design:type", Function),
117
+ __metadata("design:paramtypes", [Array, Object, Object]),
118
+ __metadata("design:returntype", Promise)
119
+ ], SalesChannelModuleService.prototype, "softDelete", null);
120
+ __decorate([
121
+ (0, utils_1.InjectTransactionManager)("baseRepository_"),
122
+ __param(1, (0, utils_1.MedusaContext)()),
123
+ __metadata("design:type", Function),
124
+ __metadata("design:paramtypes", [Array, Object]),
125
+ __metadata("design:returntype", Promise)
126
+ ], SalesChannelModuleService.prototype, "restore_", null);
127
+ __decorate([
128
+ (0, utils_1.InjectManager)("baseRepository_"),
129
+ __metadata("design:type", Function),
130
+ __metadata("design:paramtypes", [Array, Object, Object]),
131
+ __metadata("design:returntype", Promise)
132
+ ], SalesChannelModuleService.prototype, "restore", null);
133
+ __decorate([
134
+ (0, utils_1.InjectTransactionManager)("baseRepository_"),
135
+ __param(1, (0, utils_1.MedusaContext)()),
136
+ __metadata("design:type", Function),
137
+ __metadata("design:paramtypes", [Object, Object]),
138
+ __metadata("design:returntype", Promise)
139
+ ], SalesChannelModuleService.prototype, "update", null);
140
+ __decorate([
141
+ (0, utils_1.InjectManager)("baseRepository_"),
142
+ __param(2, (0, utils_1.MedusaContext)()),
143
+ __metadata("design:type", Function),
144
+ __metadata("design:paramtypes", [String, Object, Object]),
145
+ __metadata("design:returntype", Promise)
146
+ ], SalesChannelModuleService.prototype, "retrieve", null);
147
+ __decorate([
148
+ (0, utils_1.InjectManager)("baseRepository_"),
149
+ __param(2, (0, utils_1.MedusaContext)()),
150
+ __metadata("design:type", Function),
151
+ __metadata("design:paramtypes", [Object, Object, Object]),
152
+ __metadata("design:returntype", Promise)
153
+ ], SalesChannelModuleService.prototype, "list", null);
154
+ __decorate([
155
+ (0, utils_1.InjectManager)("baseRepository_"),
156
+ __param(2, (0, utils_1.MedusaContext)()),
157
+ __metadata("design:type", Function),
158
+ __metadata("design:paramtypes", [Object, Object, Object]),
159
+ __metadata("design:returntype", Promise)
160
+ ], SalesChannelModuleService.prototype, "listAndCount", null);
@@ -0,0 +1,18 @@
1
+ import { DAL } from "@medusajs/types";
2
+ import { ModulesSdkUtils } from "@medusajs/utils";
3
+ import { CreateSalesChannelDTO, UpdateSalesChannelDTO } from "@medusajs/types";
4
+ import { SalesChannel } from "../models";
5
+ type InjectedDependencies = {
6
+ salesChannelRepository: DAL.RepositoryService;
7
+ };
8
+ declare const SalesChannelService_base: new <TEntity_1 extends object = any>(container: InjectedDependencies) => ModulesSdkUtils.AbstractService<TEntity_1, InjectedDependencies, {
9
+ create: CreateSalesChannelDTO;
10
+ update: UpdateSalesChannelDTO;
11
+ }, {
12
+ list?: any;
13
+ listAndCount?: any;
14
+ }>;
15
+ export default class SalesChannelService<TEntity extends SalesChannel = SalesChannel> extends SalesChannelService_base<TEntity> {
16
+ constructor(container: InjectedDependencies);
17
+ }
18
+ export {};
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/utils");
4
+ const _models_1 = require("../models");
5
+ class SalesChannelService extends utils_1.ModulesSdkUtils.abstractServiceFactory(_models_1.SalesChannel) {
6
+ constructor(container) {
7
+ // @ts-ignore
8
+ super(...arguments);
9
+ }
10
+ }
11
+ exports.default = SalesChannelService;
@@ -0,0 +1,4 @@
1
+ import { Logger } from "@medusajs/types";
2
+ export type InitializeModuleInjectableDependencies = {
3
+ logger?: Logger;
4
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { DAL } from "@medusajs/types";
2
+ import { SalesChannel } from "../models";
3
+ import { CreateSalesChannelDTO, UpdateSalesChannelDTO } from "@medusajs/types";
4
+ export interface ISalesChannelRepository<TEntity extends SalesChannel = SalesChannel> extends DAL.RepositoryService<TEntity, {
5
+ create: CreateSalesChannelDTO;
6
+ update: UpdateSalesChannelDTO;
7
+ }> {
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@medusajs/sales-channel",
3
+ "version": "0.1.0",
4
+ "description": "Medusa Sales Channel module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "engines": {
11
+ "node": ">=16"
12
+ },
13
+ "bin": {
14
+ "medusa-sales-channel-seed": "dist/scripts/bin/run-seed.js"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/medusajs/medusa",
19
+ "directory": "packages/sales-channel"
20
+ },
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "author": "Medusa",
25
+ "license": "MIT",
26
+ "scripts": {
27
+ "watch": "tsc --build --watch",
28
+ "watch:test": "tsc --build tsconfig.spec.json --watch",
29
+ "prepublishOnly": "cross-env NODE_ENV=production tsc --build && tsc-alias -p tsconfig.json",
30
+ "build": "rimraf dist && tsc --build && tsc-alias -p tsconfig.json",
31
+ "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts",
32
+ "test:integration": "jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts",
33
+ "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate",
34
+ "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create --initial",
35
+ "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:create",
36
+ "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:up",
37
+ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear"
38
+ },
39
+ "devDependencies": {
40
+ "@mikro-orm/cli": "5.9.7",
41
+ "cross-env": "^5.2.1",
42
+ "jest": "^29.6.3",
43
+ "medusa-test-utils": "^1.1.40",
44
+ "rimraf": "^3.0.2",
45
+ "ts-jest": "^29.1.1",
46
+ "ts-node": "^10.9.1",
47
+ "tsc-alias": "^1.8.6",
48
+ "typescript": "^5.1.6"
49
+ },
50
+ "dependencies": {
51
+ "@medusajs/modules-sdk": "^1.12.4",
52
+ "@medusajs/types": "^1.11.8",
53
+ "@medusajs/utils": "^1.11.1",
54
+ "@mikro-orm/core": "5.9.7",
55
+ "@mikro-orm/migrations": "5.9.7",
56
+ "@mikro-orm/postgresql": "5.9.7",
57
+ "awilix": "^8.0.0",
58
+ "dotenv": "^16.1.4",
59
+ "knex": "2.4.2"
60
+ }
61
+ }