diff --git a/integration-tests/api/__tests__/admin/product.js b/integration-tests/api/__tests__/admin/product.js index 6c177d7b1f..3b34b6ccae 100644 --- a/integration-tests/api/__tests__/admin/product.js +++ b/integration-tests/api/__tests__/admin/product.js @@ -8,7 +8,7 @@ const { ModuleRegistrationName, Modules } = require("@medusajs/modules-sdk") const { createVariantPriceSet, } = require("../../../modules/helpers/create-variant-price-set") -const { PriceListStatus, PriceListType } = require("@medusajs/types") +const { PriceListStatus, PriceListType } = require("@medusajs/utils") let { ProductOptionValue, diff --git a/integration-tests/modules/__tests__/cart/store/carts.spec.ts b/integration-tests/modules/__tests__/cart/store/carts.spec.ts index de65902c50..f0c4e62d2d 100644 --- a/integration-tests/modules/__tests__/cart/store/carts.spec.ts +++ b/integration-tests/modules/__tests__/cart/store/carts.spec.ts @@ -18,11 +18,11 @@ import { ISalesChannelModuleService, IStoreModuleService, ITaxModuleService, - ProductStatus, } from "@medusajs/types" import { ContainerRegistrationKeys, MedusaError, + ProductStatus, PromotionRuleOperator, PromotionType, RuleOperator, diff --git a/integration-tests/modules/__tests__/price-lists/admin/add-price-list-price-batch.spec.ts b/integration-tests/modules/__tests__/price-lists/admin/add-price-list-price-batch.spec.ts index 58eed4ffa7..94e20ad5c9 100644 --- a/integration-tests/modules/__tests__/price-lists/admin/add-price-list-price-batch.spec.ts +++ b/integration-tests/modules/__tests__/price-lists/admin/add-price-list-price-batch.spec.ts @@ -1,17 +1,13 @@ +import { IPricingModuleService } from "@medusajs/types" +import { PriceListStatus, PriceListType } from "@medusajs/utils" +import { medusaIntegrationTestRunner } from "medusa-test-utils" import { simpleProductFactory, simpleRegionFactory, } from "../../../../factories" - -import { - IPricingModuleService, - PriceListStatus, - PriceListType, -} from "@medusajs/types" +import { createAdminUser } from "../../../../helpers/create-admin-user" import { createDefaultRuleTypes } from "../../../helpers/create-default-rule-types" import { createVariantPriceSet } from "../../../helpers/create-variant-price-set" -import { medusaIntegrationTestRunner } from "medusa-test-utils" -import { createAdminUser } from "../../../../helpers/create-admin-user" jest.setTimeout(50000) diff --git a/integration-tests/modules/__tests__/price-lists/admin/price-lists.spec.ts b/integration-tests/modules/__tests__/price-lists/admin/price-lists.spec.ts index b6eef241e2..ebb920084e 100644 --- a/integration-tests/modules/__tests__/price-lists/admin/price-lists.spec.ts +++ b/integration-tests/modules/__tests__/price-lists/admin/price-lists.spec.ts @@ -4,9 +4,8 @@ import { IPricingModuleService, IProductModuleService, IRegionModuleService, - PriceListStatus, - PriceListType, } from "@medusajs/types" +import { PriceListStatus, PriceListType } from "@medusajs/utils" import { medusaIntegrationTestRunner } from "medusa-test-utils" import { createAdminUser } from "../../../../helpers/create-admin-user" import { createVariantPriceSet } from "../../../helpers/create-variant-price-set" diff --git a/integration-tests/modules/__tests__/price-lists/store/get-product.ts b/integration-tests/modules/__tests__/price-lists/store/get-product.ts index 5deccc4620..b0112570bf 100644 --- a/integration-tests/modules/__tests__/price-lists/store/get-product.ts +++ b/integration-tests/modules/__tests__/price-lists/store/get-product.ts @@ -1,19 +1,15 @@ +import { IPricingModuleService } from "@medusajs/types" +import { PriceListStatus, PriceListType } from "@medusajs/utils" +import { medusaIntegrationTestRunner } from "medusa-test-utils" import { simpleCustomerFactory, simpleCustomerGroupFactory, simpleProductFactory, simpleRegionFactory, } from "../../../../factories" - -import { - IPricingModuleService, - PriceListStatus, - PriceListType, -} from "@medusajs/types" +import { createAdminUser } from "../../../../helpers/create-admin-user" import { createDefaultRuleTypes } from "../../../helpers/create-default-rule-types" import { createVariantPriceSet } from "../../../helpers/create-variant-price-set" -import { medusaIntegrationTestRunner } from "medusa-test-utils" -import { createAdminUser } from "../../../../helpers/create-admin-user" jest.setTimeout(50000) diff --git a/integration-tests/modules/__tests__/product/admin/products.spec.ts b/integration-tests/modules/__tests__/product/admin/products.spec.ts index a88df75422..5ac231244b 100644 --- a/integration-tests/modules/__tests__/product/admin/products.spec.ts +++ b/integration-tests/modules/__tests__/product/admin/products.spec.ts @@ -3,11 +3,10 @@ import { CreateProductDTO, IPricingModuleService, IProductModuleService, - PriceListStatus, - PriceListType, ProductDTO, ProductVariantDTO, } from "@medusajs/types" +import { PriceListStatus, PriceListType } from "@medusajs/utils" import { medusaIntegrationTestRunner } from "medusa-test-utils" import { createAdminUser } from "../../../../helpers/create-admin-user" import { createVariantPriceSet } from "../../../helpers/create-variant-price-set" diff --git a/packages/cli/oas/medusa-oas-cli/package.json b/packages/cli/oas/medusa-oas-cli/package.json index d5047ae5c5..bcc1f45607 100644 --- a/packages/cli/oas/medusa-oas-cli/package.json +++ b/packages/cli/oas/medusa-oas-cli/package.json @@ -21,6 +21,7 @@ "author": "Medusa", "license": "MIT", "devDependencies": { + "@medusajs/types": "^1.11.15", "@types/js-yaml": "^4.0.9", "jest": "^29.1.0", "js-yaml": "^4.1.0", @@ -37,7 +38,6 @@ "dependencies": { "@medusajs/medusa": "^1.20.4", "@medusajs/openapi-typescript-codegen": "^0.2.1", - "@medusajs/types": "^1.11.15", "@medusajs/utils": "^1.11.8", "@readme/json-schema-ref-parser": "^1.2.0", "@readme/openapi-parser": "^2.4.0", diff --git a/packages/core/core-flows/src/definition/cart/steps/validate-cart-payments.ts b/packages/core/core-flows/src/definition/cart/steps/validate-cart-payments.ts index e05342e154..5e985366e7 100644 --- a/packages/core/core-flows/src/definition/cart/steps/validate-cart-payments.ts +++ b/packages/core/core-flows/src/definition/cart/steps/validate-cart-payments.ts @@ -29,7 +29,7 @@ export const validateCartPaymentsStep = createStep( ] const paymentsToProcess = paymentCollection.payment_sessions?.filter((ps) => - processablePaymentStatuses.includes(ps.status) + processablePaymentStatuses.includes(ps.status as PaymentSessionStatus) ) if (!paymentsToProcess?.length) { diff --git a/packages/core/js-sdk/package.json b/packages/core/js-sdk/package.json index 5e7a0469e9..f154890be7 100644 --- a/packages/core/js-sdk/package.json +++ b/packages/core/js-sdk/package.json @@ -20,6 +20,7 @@ "author": "Medusa", "license": "MIT", "devDependencies": { + "@medusajs/types": "^1.11.16", "cross-env": "^5.2.1", "jest": "^29.6.3", "msw": "^2.3.0", @@ -28,7 +29,6 @@ "typescript": "^5.1.6" }, "dependencies": { - "@medusajs/types": "^1.11.16", "qs": "^6.12.1" }, "scripts": { diff --git a/packages/core/modules-sdk/package.json b/packages/core/modules-sdk/package.json index e6b056adcf..5f581de394 100644 --- a/packages/core/modules-sdk/package.json +++ b/packages/core/modules-sdk/package.json @@ -20,6 +20,7 @@ "author": "Medusa", "license": "MIT", "devDependencies": { + "@medusajs/types": "^1.11.16", "cross-env": "^5.2.1", "jest": "^29.6.3", "rimraf": "^5.0.1", @@ -30,7 +31,6 @@ "@graphql-tools/merge": "^9.0.0", "@graphql-tools/schema": "^10.0.0", "@medusajs/orchestration": "^0.5.7", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "^1.11.9", "awilix": "^8.0.0", "graphql": "^16.6.0", diff --git a/packages/core/modules-sdk/src/definitions.ts b/packages/core/modules-sdk/src/definitions.ts index 294f574a03..4aaf9eeaa8 100644 --- a/packages/core/modules-sdk/src/definitions.ts +++ b/packages/core/modules-sdk/src/definitions.ts @@ -1,10 +1,6 @@ -import { - MODULE_RESOURCE_TYPE, - MODULE_SCOPE, - ModuleDefinition, -} from "@medusajs/types" - +import { ModuleDefinition } from "@medusajs/types" import { upperCaseFirst } from "@medusajs/utils" +import { MODULE_RESOURCE_TYPE, MODULE_SCOPE } from "./types" export enum LinkModuleUtils { REMOTE_QUERY = "remoteQuery", diff --git a/packages/core/modules-sdk/src/index.ts b/packages/core/modules-sdk/src/index.ts index 62b018aa42..5df4a1e178 100644 --- a/packages/core/modules-sdk/src/index.ts +++ b/packages/core/modules-sdk/src/index.ts @@ -5,3 +5,4 @@ export * from "./medusa-app" export * from "./medusa-module" export * from "./remote-link" export * from "./remote-query" +export * from "./types" diff --git a/packages/core/modules-sdk/src/loaders/__tests__/medusa-module.ts b/packages/core/modules-sdk/src/loaders/__tests__/medusa-module.ts index 7d08834932..e05c4e2fad 100644 --- a/packages/core/modules-sdk/src/loaders/__tests__/medusa-module.ts +++ b/packages/core/modules-sdk/src/loaders/__tests__/medusa-module.ts @@ -1,11 +1,8 @@ -import { - InternalModuleDeclaration, - MODULE_RESOURCE_TYPE, - MODULE_SCOPE, -} from "@medusajs/types" +import { InternalModuleDeclaration } from "@medusajs/types" +import { MODULE_RESOURCE_TYPE, MODULE_SCOPE } from "../../types" -import { MedusaModule } from "../../medusa-module" import { asValue } from "awilix" +import { MedusaModule } from "../../medusa-module" const mockRegisterMedusaModule = jest.fn().mockImplementation(() => { return { diff --git a/packages/core/modules-sdk/src/loaders/__tests__/module-loader.ts b/packages/core/modules-sdk/src/loaders/__tests__/module-loader.ts index 198a3ca4ae..bee4a65af8 100644 --- a/packages/core/modules-sdk/src/loaders/__tests__/module-loader.ts +++ b/packages/core/modules-sdk/src/loaders/__tests__/module-loader.ts @@ -1,9 +1,6 @@ -import { - MODULE_RESOURCE_TYPE, - MODULE_SCOPE, - ModuleResolution, -} from "@medusajs/types" +import { ModuleResolution } from "@medusajs/types" import { createMedusaContainer } from "@medusajs/utils" +import { MODULE_RESOURCE_TYPE, MODULE_SCOPE } from "../../types" import { moduleLoader } from "../module-loader" const logger = { diff --git a/packages/core/modules-sdk/src/loaders/__tests__/register-modules.ts b/packages/core/modules-sdk/src/loaders/__tests__/register-modules.ts index d0215a59b4..aee7a7fa5a 100644 --- a/packages/core/modules-sdk/src/loaders/__tests__/register-modules.ts +++ b/packages/core/modules-sdk/src/loaders/__tests__/register-modules.ts @@ -1,10 +1,6 @@ -import { - InternalModuleDeclaration, - MODULE_RESOURCE_TYPE, - MODULE_SCOPE, - ModuleDefinition, -} from "@medusajs/types" +import { InternalModuleDeclaration, ModuleDefinition } from "@medusajs/types" import { ModulesDefinition } from "../../definitions" +import { MODULE_RESOURCE_TYPE, MODULE_SCOPE } from "../../types" import { registerMedusaModule } from "../register-modules" const RESOLVED_PACKAGE = "@medusajs/test-service-resolved" diff --git a/packages/core/modules-sdk/src/loaders/module-loader.ts b/packages/core/modules-sdk/src/loaders/module-loader.ts index e1a18c078c..74f415758d 100644 --- a/packages/core/modules-sdk/src/loaders/module-loader.ts +++ b/packages/core/modules-sdk/src/loaders/module-loader.ts @@ -1,12 +1,7 @@ -import { - Logger, - MedusaContainer, - MODULE_SCOPE, - ModuleResolution, -} from "@medusajs/types" - +import { Logger, MedusaContainer, ModuleResolution } from "@medusajs/types" import { asValue } from "awilix" import { EOL } from "os" +import { MODULE_SCOPE } from "../types" import { loadInternalModule } from "./utils" export const moduleLoader = async ({ diff --git a/packages/core/modules-sdk/src/loaders/register-modules.ts b/packages/core/modules-sdk/src/loaders/register-modules.ts index d18c5920df..d22bde9cca 100644 --- a/packages/core/modules-sdk/src/loaders/register-modules.ts +++ b/packages/core/modules-sdk/src/loaders/register-modules.ts @@ -1,16 +1,14 @@ import { ExternalModuleDeclaration, InternalModuleDeclaration, - MODULE_RESOURCE_TYPE, - MODULE_SCOPE, ModuleDefinition, ModuleExports, ModuleResolution, } from "@medusajs/types" - import { isObject, isString } from "@medusajs/utils" import resolveCwd from "resolve-cwd" import { ModulesDefinition } from "../definitions" +import { MODULE_RESOURCE_TYPE, MODULE_SCOPE } from "../types" export const registerMedusaModule = ( moduleKey: string, diff --git a/packages/core/modules-sdk/src/loaders/utils/load-internal.ts b/packages/core/modules-sdk/src/loaders/utils/load-internal.ts index dc86118ada..e17215e693 100644 --- a/packages/core/modules-sdk/src/loaders/utils/load-internal.ts +++ b/packages/core/modules-sdk/src/loaders/utils/load-internal.ts @@ -3,21 +3,21 @@ import { InternalModuleDeclaration, Logger, MedusaContainer, - MODULE_RESOURCE_TYPE, ModuleExports, ModuleLoaderFunction, ModuleResolution, } from "@medusajs/types" import { ContainerRegistrationKeys, - createMedusaContainer, MedusaModuleType, ModulesSdkUtils, + createMedusaContainer, } from "@medusajs/utils" import { asFunction, asValue } from "awilix" import { statSync } from "fs" import { readdir } from "fs/promises" import { join, resolve } from "path" +import { MODULE_RESOURCE_TYPE } from "../../types" type ModuleResource = { services: Function[] diff --git a/packages/core/modules-sdk/src/medusa-app.ts b/packages/core/modules-sdk/src/medusa-app.ts index 0f9a392005..5f13862083 100644 --- a/packages/core/modules-sdk/src/medusa-app.ts +++ b/packages/core/modules-sdk/src/medusa-app.ts @@ -6,8 +6,6 @@ import { InternalModuleDeclaration, LoadedModule, MedusaContainer, - MODULE_RESOURCE_TYPE, - MODULE_SCOPE, ModuleDefinition, ModuleExports, ModuleJoinerConfig, @@ -18,10 +16,10 @@ import { } from "@medusajs/types" import { ContainerRegistrationKeys, + ModulesSdkUtils, createMedusaContainer, isObject, isString, - ModulesSdkUtils, promiseAll, } from "@medusajs/utils" import { asValue } from "awilix" @@ -33,6 +31,7 @@ import { import { MedusaModule } from "./medusa-module" import { RemoteLink } from "./remote-link" import { RemoteQuery } from "./remote-query" +import { MODULE_RESOURCE_TYPE, MODULE_SCOPE } from "./types" import { cleanGraphQLSchema } from "./utils" const LinkModulePackage = MODULE_PACKAGE_NAMES[Modules.LINK] diff --git a/packages/core/modules-sdk/src/medusa-module.ts b/packages/core/modules-sdk/src/medusa-module.ts index f3b4275449..96e2d83fbc 100644 --- a/packages/core/modules-sdk/src/medusa-module.ts +++ b/packages/core/modules-sdk/src/medusa-module.ts @@ -5,8 +5,6 @@ import { LinkModuleDefinition, LoadedModule, MedusaContainer, - MODULE_RESOURCE_TYPE, - MODULE_SCOPE, ModuleBootstrapDeclaration, ModuleDefinition, ModuleExports, @@ -19,15 +17,15 @@ import { simpleHash, stringifyCircular, } from "@medusajs/utils" +import { asValue } from "awilix" import { EOL } from "os" import { moduleLoader, registerMedusaLinkModule, registerMedusaModule, } from "./loaders" - -import { asValue } from "awilix" import { loadModuleMigrations } from "./loaders/utils" +import { MODULE_RESOURCE_TYPE, MODULE_SCOPE } from "./types" const logger: any = { log: (a) => console.log(a), diff --git a/packages/core/modules-sdk/src/types/index.ts b/packages/core/modules-sdk/src/types/index.ts new file mode 100644 index 0000000000..8f816756e5 --- /dev/null +++ b/packages/core/modules-sdk/src/types/index.ts @@ -0,0 +1,9 @@ +export enum MODULE_SCOPE { + INTERNAL = "internal", + EXTERNAL = "external", +} + +export enum MODULE_RESOURCE_TYPE { + SHARED = "shared", + ISOLATED = "isolated", +} diff --git a/packages/core/types/src/dal/utils.ts b/packages/core/types/src/dal/utils.ts index 5794d3ae04..76d218985d 100644 --- a/packages/core/types/src/dal/utils.ts +++ b/packages/core/types/src/dal/utils.ts @@ -104,14 +104,9 @@ export type FilterQuery = Prev extends never : never } -declare enum QueryOrder { - ASC = "ASC", - DESC = "DESC", - asc = "asc", - desc = "desc", -} +declare type QueryOrder = "ASC" | "DESC" | "asc" | "desc" -type QueryOrderKeysFlat = QueryOrder | 1 | -1 | keyof typeof QueryOrder +type QueryOrderKeysFlat = QueryOrder | 1 | -1 type QueryOrderKeys = QueryOrderKeysFlat | QueryOrderMap type QueryOrderMap = { [K in keyof T as ExcludeFunctions]?: QueryOrderKeys< diff --git a/packages/core/types/src/modules-sdk/index.ts b/packages/core/types/src/modules-sdk/index.ts index 5cd7971e18..5c7eb274b9 100644 --- a/packages/core/types/src/modules-sdk/index.ts +++ b/packages/core/types/src/modules-sdk/index.ts @@ -24,16 +24,6 @@ export type LogLevel = | "migration" export type LoggerOptions = boolean | "all" | LogLevel[] -export enum MODULE_SCOPE { - INTERNAL = "internal", - EXTERNAL = "external", -} - -export enum MODULE_RESOURCE_TYPE { - SHARED = "shared", - ISOLATED = "isolated", -} - export type CustomModuleDefinition = { key?: string registrationName?: string @@ -43,8 +33,8 @@ export type CustomModuleDefinition = { } export type InternalModuleDeclaration = { - scope: MODULE_SCOPE.INTERNAL - resources: MODULE_RESOURCE_TYPE + scope: "internal" + resources: "shared" | "isolated" dependencies?: string[] definition?: CustomModuleDefinition // That represent the definition of the module, such as the one we have for the medusa supported modules. This property is used for custom made modules. resolve?: string | ModuleExports @@ -61,7 +51,7 @@ export type InternalModuleDeclaration = { } export type ExternalModuleDeclaration = { - scope: MODULE_SCOPE.EXTERNAL + scope: "external" definition?: CustomModuleDefinition // That represent the definition of the module, such as the one we have for the medusa supported modules. This property is used for custom made modules. server?: { type: "http" diff --git a/packages/core/types/src/payment/common.ts b/packages/core/types/src/payment/common.ts index 86df2ee170..1679686450 100644 --- a/packages/core/types/src/payment/common.ts +++ b/packages/core/types/src/payment/common.ts @@ -2,69 +2,21 @@ import { BaseFilterable } from "../dal" import { OperatorMap } from "../dal/utils" import { BigNumberValue } from "../totals" /* ********** PAYMENT COLLECTION ********** */ -/** - * @enum - * - * The payment collection's status. - */ -export enum PaymentCollectionStatus { - /** - * The payment collection isn't paid. - */ - NOT_PAID = "not_paid", - /** - * The payment sessions in the payment collection are await authorization. - */ - AWAITING = "awaiting", +export type PaymentCollectionStatus = + | "not_paid" + | "awaiting" + | "authorized" + | "partially_authorized" + | "canceled" - /** - * The payment sessions in the payment collection are authorized. - */ - AUTHORIZED = "authorized", - - /** - * Some of the payments in the payment collection are authorized. - */ - PARTIALLY_AUTHORIZED = "partially_authorized", - - /** - * The payments in the payment collection are canceled. - */ - CANCELED = "canceled", -} - -/** - * @enum - * - * The status of a payment session. - */ -export enum PaymentSessionStatus { - /** - * The payment is authorized. - */ - AUTHORIZED = "authorized", - - /** - * The payment is pending. - */ - PENDING = "pending", - - /** - * The payment requires an action. - */ - REQUIRES_MORE = "requires_more", - - /** - * An error occurred while processing the payment. - */ - ERROR = "error", - - /** - * The payment is canceled. - */ - CANCELED = "canceled", -} +export type PaymentSessionStatus = + | "authorized" + | "captured" + | "pending" + | "requires_more" + | "error" + | "canceled" /** * The payment collection details. diff --git a/packages/core/types/src/payment/provider.ts b/packages/core/types/src/payment/provider.ts index 2628e32536..3237b91b6b 100644 --- a/packages/core/types/src/payment/provider.ts +++ b/packages/core/types/src/payment/provider.ts @@ -17,27 +17,11 @@ export type PaymentCustomerDTO = Partial /** * Normalized events from payment provider to internal payment module events. */ -export enum PaymentActions { - /** - * Payment session has been authorized and there are available funds for capture. - */ - AUTHORIZED = "authorized", - - /** - * Payment was successful and the mount is captured. - */ - SUCCESSFUL = "captured", - - /** - * Payment failed. - */ - FAILED = "failed", - - /** - * Received an event that is not processable. - */ - NOT_SUPPORTED = "not_supported", -} +export type PaymentActions = + | "authorized" + | "captured" + | "failed" + | "not_supported" /** * @interface @@ -217,7 +201,7 @@ export type WebhookActionResult = /** * Received an event that is not processable. */ - action: PaymentActions.NOT_SUPPORTED + action: "not_supported" } | { /** diff --git a/packages/core/types/src/pricing/common/price-list.ts b/packages/core/types/src/pricing/common/price-list.ts index 7320e8851c..3d31cd02ca 100644 --- a/packages/core/types/src/pricing/common/price-list.ts +++ b/packages/core/types/src/pricing/common/price-list.ts @@ -12,32 +12,17 @@ import { RuleTypeDTO } from "./rule-type" * * The price list's status. */ -export enum PriceListStatus { - /** - * The price list is enabled and its prices can be used. - */ - ACTIVE = "active", - /** - * The price list is disabled, meaning its prices can't be used yet. - */ - DRAFT = "draft", -} +export type PriceListStatus = "active" | "draft" /** * @enum * * The price list's type. + * "sale" - The price list's prices are used for a sale. + * "override" - The price list's prices override original prices. This affects the calculated price of associated price sets. */ -export enum PriceListType { - /** - * The price list's prices are used for a sale. - */ - SALE = "sale", - /** - * The price list's prices override original prices. This affects the calculated price of associated price sets. - */ - OVERRIDE = "override", -} + +export type PriceListType = "sale" | "override" /** * @interface diff --git a/packages/core/types/src/product/common.ts b/packages/core/types/src/product/common.ts index f527700176..b62c78efaa 100644 --- a/packages/core/types/src/product/common.ts +++ b/packages/core/types/src/product/common.ts @@ -4,12 +4,7 @@ import { OperatorMap } from "../dal/utils" /** * @enum */ -export enum ProductStatus { - DRAFT = "draft", - PROPOSED = "proposed", - PUBLISHED = "published", - REJECTED = "rejected", -} +export type ProductStatus = "draft" | "proposed" | "published" | "rejected" /** * @interface diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index f7ee4ec6fb..c06e22deb0 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -21,6 +21,7 @@ "author": "Medusa", "license": "MIT", "devDependencies": { + "@medusajs/types": "^1.11.16", "@types/express": "^4.17.17", "cross-env": "^5.2.1", "express": "^4.18.2", @@ -30,7 +31,6 @@ "typescript": "^5.1.6" }, "dependencies": { - "@medusajs/types": "^1.11.16", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", "@mikro-orm/postgresql": "5.9.7", diff --git a/packages/core/utils/src/common/transaction/should-force-transaction.ts b/packages/core/utils/src/common/transaction/should-force-transaction.ts index f8a0b35882..b9963157ff 100644 --- a/packages/core/utils/src/common/transaction/should-force-transaction.ts +++ b/packages/core/utils/src/common/transaction/should-force-transaction.ts @@ -1,5 +1,3 @@ -import { MODULE_RESOURCE_TYPE } from "@medusajs/types" - export function shouldForceTransaction(target: any): boolean { - return target.moduleDeclaration?.resources === MODULE_RESOURCE_TYPE.ISOLATED + return target.moduleDeclaration?.resources === "isolated" } diff --git a/packages/core/utils/src/modules-sdk/loaders/mikro-orm-connection-loader.ts b/packages/core/utils/src/modules-sdk/loaders/mikro-orm-connection-loader.ts index a0c3d6c8f5..6ba462801d 100644 --- a/packages/core/utils/src/modules-sdk/loaders/mikro-orm-connection-loader.ts +++ b/packages/core/utils/src/modules-sdk/loaders/mikro-orm-connection-loader.ts @@ -1,10 +1,4 @@ -import { - Logger, - MedusaContainer, - MODULE_RESOURCE_TYPE, - MODULE_SCOPE, - ModulesSdkTypes, -} from "@medusajs/types" +import { Logger, MedusaContainer, ModulesSdkTypes } from "@medusajs/types" import { PostgreSqlDriver, SqlEntityManager } from "@mikro-orm/postgresql" import { asValue } from "awilix" import { ContainerRegistrationKeys, MedusaError } from "../../common" @@ -60,8 +54,8 @@ export async function mikroOrmConnectionLoader({ } if ( - moduleDeclaration?.scope === MODULE_SCOPE.INTERNAL && - moduleDeclaration.resources === MODULE_RESOURCE_TYPE.SHARED + moduleDeclaration?.scope === "internal" && + moduleDeclaration.resources === "shared" ) { const shouldSwallowError = true const dbConfig = loadDatabaseConfig( diff --git a/packages/core/utils/src/payment/payment-session.ts b/packages/core/utils/src/payment/payment-session.ts index d65005fc92..65e127daa0 100644 --- a/packages/core/utils/src/payment/payment-session.ts +++ b/packages/core/utils/src/payment/payment-session.ts @@ -8,6 +8,10 @@ export enum PaymentSessionStatus { * The payment is authorized. */ AUTHORIZED = "authorized", + /** + * The payment is captured. + */ + CAPTURED = "captured", /** * The payment is pending. */ diff --git a/packages/medusa/src/api/admin/price-lists/validators.ts b/packages/medusa/src/api/admin/price-lists/validators.ts index 05971a0a86..1171103817 100644 --- a/packages/medusa/src/api/admin/price-lists/validators.ts +++ b/packages/medusa/src/api/admin/price-lists/validators.ts @@ -1,4 +1,4 @@ -import { PriceListStatus, PriceListType } from "@medusajs/types" +import { PriceListStatus, PriceListType } from "@medusajs/utils" import { z } from "zod" import { createFindParams, diff --git a/packages/modules/api-key/package.json b/packages/modules/api-key/package.json index ace047fe8a..9724b48be9 100644 --- a/packages/modules/api-key/package.json +++ b/packages/modules/api-key/package.json @@ -37,6 +37,7 @@ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear" }, "devDependencies": { + "@medusajs/types": "^1.11.16", "@mikro-orm/cli": "5.9.7", "cross-env": "^5.2.1", "jest": "^29.6.3", @@ -49,7 +50,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.11", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "^1.11.9", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", diff --git a/packages/modules/currency/package.json b/packages/modules/currency/package.json index 5ecaca4a2d..4100d20123 100644 --- a/packages/modules/currency/package.json +++ b/packages/modules/currency/package.json @@ -37,6 +37,7 @@ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear" }, "devDependencies": { + "@medusajs/types": "^1.11.16", "@mikro-orm/cli": "5.9.7", "cross-env": "^5.2.1", "jest": "^29.6.3", @@ -49,7 +50,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.11", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "^1.11.9", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", diff --git a/packages/modules/file/package.json b/packages/modules/file/package.json index 2895039ecf..b1a273f37f 100644 --- a/packages/modules/file/package.json +++ b/packages/modules/file/package.json @@ -34,6 +34,7 @@ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear" }, "devDependencies": { + "@medusajs/types": "^1.11.15", "@mikro-orm/cli": "5.9.7", "cross-env": "^5.2.1", "faker": "^5.5.3", @@ -48,7 +49,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.10", - "@medusajs/types": "^1.11.15", "@medusajs/utils": "^1.11.8", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", diff --git a/packages/modules/inventory-next/package.json b/packages/modules/inventory-next/package.json index 7af356201d..d1ede4399b 100644 --- a/packages/modules/inventory-next/package.json +++ b/packages/modules/inventory-next/package.json @@ -33,7 +33,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.10", - "@medusajs/types": "^1.11.15", "@medusajs/utils": "^1.11.8", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", diff --git a/packages/modules/link-modules/package.json b/packages/modules/link-modules/package.json index 15bca1108e..fb90032459 100644 --- a/packages/modules/link-modules/package.json +++ b/packages/modules/link-modules/package.json @@ -29,6 +29,7 @@ "test:integration": "jest --passWithNoTests" }, "devDependencies": { + "@medusajs/types": "^1.11.16", "cross-env": "^5.2.1", "jest": "^29.6.3", "pg-god": "^1.0.12", @@ -40,7 +41,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.11", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "^1.11.9", "@mikro-orm/core": "5.9.7", "@mikro-orm/postgresql": "5.9.7", diff --git a/packages/modules/link-modules/src/initialize/index.ts b/packages/modules/link-modules/src/initialize/index.ts index 122a7f45b6..07f185d546 100644 --- a/packages/modules/link-modules/src/initialize/index.ts +++ b/packages/modules/link-modules/src/initialize/index.ts @@ -1,5 +1,7 @@ import { InternalModuleDeclaration, + MODULE_RESOURCE_TYPE, + MODULE_SCOPE, MedusaModule, ModuleRegistrationName, } from "@medusajs/modules-sdk" @@ -8,8 +10,6 @@ import { ILinkModule, LinkModuleDefinition, LoaderOptions, - MODULE_RESOURCE_TYPE, - MODULE_SCOPE, ModuleExports, ModuleJoinerConfig, ModuleServiceInitializeCustomDataLayerOptions, diff --git a/packages/modules/link-modules/src/utils/index.ts b/packages/modules/link-modules/src/utils/index.ts index e395713b48..dc95a6c05c 100644 --- a/packages/modules/link-modules/src/utils/index.ts +++ b/packages/modules/link-modules/src/utils/index.ts @@ -1,4 +1,4 @@ -import { MODULE_RESOURCE_TYPE } from "@medusajs/types" +import { MODULE_RESOURCE_TYPE } from "@medusajs/modules-sdk" export * from "./compose-link-name" export * from "./generate-entity" diff --git a/packages/modules/order/package.json b/packages/modules/order/package.json index 4027334309..5bc1cb7eb7 100644 --- a/packages/modules/order/package.json +++ b/packages/modules/order/package.json @@ -37,6 +37,7 @@ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear" }, "devDependencies": { + "@medusajs/types": "^1.11.16", "@mikro-orm/cli": "5.9.7", "cross-env": "^5.2.1", "jest": "^29.6.3", @@ -49,7 +50,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.11", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "^1.11.9", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", diff --git a/packages/modules/payment/package.json b/packages/modules/payment/package.json index 4fd27efd05..3e15c8b923 100644 --- a/packages/modules/payment/package.json +++ b/packages/modules/payment/package.json @@ -37,6 +37,7 @@ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear" }, "devDependencies": { + "@medusajs/types": "^1.11.16", "@mikro-orm/cli": "5.9.7", "cross-env": "^5.2.1", "jest": "^29.6.3", @@ -49,7 +50,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.11", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "^1.11.9", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", diff --git a/packages/modules/payment/src/providers/system.ts b/packages/modules/payment/src/providers/system.ts index c7d4febdb8..88c61e5675 100644 --- a/packages/modules/payment/src/providers/system.ts +++ b/packages/modules/payment/src/providers/system.ts @@ -2,11 +2,14 @@ import { CreatePaymentProviderSession, PaymentProviderError, PaymentProviderSessionResponse, - PaymentSessionStatus, ProviderWebhookPayload, WebhookActionResult, } from "@medusajs/types" -import { AbstractPaymentProvider, PaymentActions } from "@medusajs/utils" +import { + AbstractPaymentProvider, + PaymentActions, + PaymentSessionStatus, +} from "@medusajs/utils" export class SystemProviderService extends AbstractPaymentProvider { static identifier = "system" diff --git a/packages/modules/payment/src/services/payment-module.ts b/packages/modules/payment/src/services/payment-module.ts index 49f65e0310..9db4904ed9 100644 --- a/packages/modules/payment/src/services/payment-module.ts +++ b/packages/modules/payment/src/services/payment-module.ts @@ -1,4 +1,5 @@ import { + BigNumberInput, CaptureDTO, Context, CreateCaptureDTO, @@ -18,7 +19,6 @@ import { PaymentDTO, PaymentProviderDTO, PaymentSessionDTO, - PaymentSessionStatus, ProviderWebhookPayload, RefundDTO, UpdatePaymentCollectionDTO, @@ -37,6 +37,7 @@ import { ModulesSdkUtils, PaymentActions, PaymentCollectionStatus, + PaymentSessionStatus, promiseAll, } from "@medusajs/utils" import { IsolationLevel } from "@mikro-orm/core" @@ -417,6 +418,7 @@ export default class PaymentModuleService< "data", "provider_id", "amount", + "raw_amount", "currency_code", "payment_collection_id", ], @@ -434,14 +436,19 @@ export default class PaymentModuleService< return await this.baseRepository_.serialize(payment, { populate: true }) } - const { data, status } = - await this.paymentProviderService_.authorizePayment( - { - provider_id: session.provider_id, - data: session.data, - }, - context - ) + let { data, status } = await this.paymentProviderService_.authorizePayment( + { + provider_id: session.provider_id, + data: session.data, + }, + context + ) + + let autoCapture = false + if (status === PaymentSessionStatus.CAPTURED) { + status = PaymentSessionStatus.AUTHORIZED + autoCapture = true + } await this.paymentSessionService_.update( { @@ -479,6 +486,13 @@ export default class PaymentModuleService< sharedContext ) + if (autoCapture) { + await this.capturePayment_( + { payment_id: payment.id, amount: session.amount as BigNumberInput }, + sharedContext + ) + } + return await this.retrievePayment( payment.id, { relations: ["payment_collection"] }, diff --git a/packages/modules/pricing/src/types/services/price-list.ts b/packages/modules/pricing/src/types/services/price-list.ts index 169fc8c1d2..46507b2567 100644 --- a/packages/modules/pricing/src/types/services/price-list.ts +++ b/packages/modules/pricing/src/types/services/price-list.ts @@ -1,4 +1,4 @@ -import { PriceListStatus, PriceListType } from "@medusajs/utils" +import { PriceListStatus, PriceListType } from "@medusajs/types" export interface CreatePriceListDTO { title: string diff --git a/packages/modules/product/integration-tests/__fixtures__/product/data/create-product.ts b/packages/modules/product/integration-tests/__fixtures__/product/data/create-product.ts index 7194d4ae70..bf44c16b15 100644 --- a/packages/modules/product/integration-tests/__fixtures__/product/data/create-product.ts +++ b/packages/modules/product/integration-tests/__fixtures__/product/data/create-product.ts @@ -1,4 +1,5 @@ import { ProductTypes } from "@medusajs/types" +import { ProductStatus } from "@medusajs/utils" import { Image } from "@models" import faker from "faker" @@ -19,7 +20,7 @@ export const buildProductOnlyData = ({ discountable?: boolean thumbnail?: string images?: { id?: string; url: string }[] - status?: ProductTypes.ProductStatus + status?: ProductStatus } = {}) => { return { title: title ?? faker.commerce.productName(), @@ -28,7 +29,7 @@ export const buildProductOnlyData = ({ is_giftcard: is_giftcard ?? false, discountable: discountable ?? true, thumbnail: thumbnail as string, - status: status ?? ProductTypes.ProductStatus.PUBLISHED, + status: status ?? ProductStatus.PUBLISHED, images: (images ?? []) as Image[], } } @@ -58,7 +59,7 @@ export const buildProductAndRelationsData = ({ is_giftcard: is_giftcard ?? false, discountable: discountable ?? true, thumbnail: thumbnail as string, - status: status ?? ProductTypes.ProductStatus.PUBLISHED, + status: status ?? ProductStatus.PUBLISHED, images: (images ?? []) as Image[], type_id, tags: tags ?? [{ value: "tag-1" }], diff --git a/packages/modules/product/integration-tests/__fixtures__/product/data/products.ts b/packages/modules/product/integration-tests/__fixtures__/product/data/products.ts index 0fb849ff9c..f4c5bdcec0 100644 --- a/packages/modules/product/integration-tests/__fixtures__/product/data/products.ts +++ b/packages/modules/product/integration-tests/__fixtures__/product/data/products.ts @@ -1,10 +1,10 @@ -import { ProductTypes } from "@medusajs/types" +import { ProductStatus } from "@medusajs/utils" export const productsData = [ { id: "test-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, tags: [ { id: "tag-1", @@ -15,7 +15,7 @@ export const productsData = [ { id: "test-2", title: "product", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, tags: [ { id: "tag-2", @@ -26,7 +26,7 @@ export const productsData = [ { id: "test-3", title: "product 3", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, tags: [ { id: "tag-3", diff --git a/packages/modules/product/integration-tests/__fixtures__/product/index.ts b/packages/modules/product/integration-tests/__fixtures__/product/index.ts index 6445714042..701d7769fe 100644 --- a/packages/modules/product/integration-tests/__fixtures__/product/index.ts +++ b/packages/modules/product/integration-tests/__fixtures__/product/index.ts @@ -1,4 +1,4 @@ -import { ProductTypes } from "@medusajs/types" +import { ProductStatus } from "@medusajs/utils" import { SqlEntityManager } from "@mikro-orm/postgresql" import { Image, @@ -18,7 +18,7 @@ export async function createProductAndTags( data: { id?: string title: string - status: ProductTypes.ProductStatus + status: ProductStatus tags?: { id: string; value: string }[] collection_id?: string }[] @@ -37,7 +37,7 @@ export async function createProductAndTypes( data: { id?: string title: string - status: ProductTypes.ProductStatus + status: ProductStatus type?: { id: string; value: string } }[] ) { diff --git a/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-categories.spec.ts b/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-categories.spec.ts index b7b889ffac..a3f1bfb7ce 100644 --- a/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-categories.spec.ts +++ b/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-categories.spec.ts @@ -1,5 +1,6 @@ import { Modules } from "@medusajs/modules-sdk" -import { IProductModuleService, ProductTypes } from "@medusajs/types" +import { IProductModuleService } from "@medusajs/types" +import { ProductStatus } from "@medusajs/utils" import { Product, ProductCategory } from "@models" import { MockEventBusService, @@ -33,13 +34,13 @@ moduleIntegrationTestRunner({ productOne = testManager.create(Product, { id: "product-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) productTwo = testManager.create(Product, { id: "product-2", title: "product 2", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) const productCategoriesData = [ diff --git a/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-collections.spec.ts b/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-collections.spec.ts index 557ace762c..d575350e5e 100644 --- a/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-collections.spec.ts +++ b/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-collections.spec.ts @@ -1,9 +1,13 @@ -import { IProductModuleService, ProductTypes } from "@medusajs/types" -import { Product, ProductCollection } from "@models" -import { MockEventBusService } from "medusa-test-utils" -import { createCollections } from "../../../__fixtures__/product" import { Modules } from "@medusajs/modules-sdk" -import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils" +import { IProductModuleService } from "@medusajs/types" +import { ProductStatus } from "@medusajs/utils" +import { Product, ProductCollection } from "@models" +import { + MockEventBusService, + SuiteOptions, + moduleIntegrationTestRunner, +} from "medusa-test-utils" +import { createCollections } from "../../../__fixtures__/product" jest.setTimeout(30000) @@ -29,13 +33,13 @@ moduleIntegrationTestRunner({ productOne = testManager.create(Product, { id: "product-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) productTwo = testManager.create(Product, { id: "product-2", title: "product 2", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) const productCollectionsData = [ diff --git a/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-options.spec.ts b/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-options.spec.ts index 6722d580e7..dcc848e063 100644 --- a/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-options.spec.ts +++ b/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-options.spec.ts @@ -1,7 +1,8 @@ -import { IProductModuleService, ProductTypes } from "@medusajs/types" -import { Product, ProductOption } from "@models" import { Modules } from "@medusajs/modules-sdk" -import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils" +import { IProductModuleService } from "@medusajs/types" +import { ProductStatus } from "@medusajs/utils" +import { Product, ProductOption } from "@models" +import { SuiteOptions, moduleIntegrationTestRunner } from "medusa-test-utils" jest.setTimeout(30000) @@ -22,13 +23,13 @@ moduleIntegrationTestRunner({ productOne = testManager.create(Product, { id: "product-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) productTwo = testManager.create(Product, { id: "product-2", title: "product 2", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) optionOne = testManager.create(ProductOption, { diff --git a/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-tags.spec.ts b/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-tags.spec.ts index f5e0e4cca2..4ba5f98a03 100644 --- a/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-tags.spec.ts +++ b/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-tags.spec.ts @@ -1,7 +1,8 @@ import { Modules } from "@medusajs/modules-sdk" -import { IProductModuleService, ProductTypes } from "@medusajs/types" +import { IProductModuleService } from "@medusajs/types" +import { ProductStatus } from "@medusajs/utils" import { Product, ProductTag } from "@models" -import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils" +import { SuiteOptions, moduleIntegrationTestRunner } from "medusa-test-utils" jest.setTimeout(30000) @@ -22,13 +23,13 @@ moduleIntegrationTestRunner({ productOne = testManager.create(Product, { id: "product-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) productTwo = testManager.create(Product, { id: "product-2", title: "product 2", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) tagOne = testManager.create(ProductTag, { diff --git a/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-variants.spec.ts b/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-variants.spec.ts index 8e873b3fbd..2540a5f79c 100644 --- a/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-variants.spec.ts +++ b/packages/modules/product/integration-tests/__tests__/services/product-module-service/product-variants.spec.ts @@ -1,5 +1,6 @@ import { Modules } from "@medusajs/modules-sdk" -import { IProductModuleService, ProductTypes } from "@medusajs/types" +import { IProductModuleService } from "@medusajs/types" +import { ProductStatus } from "@medusajs/utils" import { Product, ProductVariant } from "@models" import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils" @@ -22,7 +23,7 @@ moduleIntegrationTestRunner({ productOne = await service.create({ id: "product-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, options: [ { title: "size", @@ -38,7 +39,7 @@ moduleIntegrationTestRunner({ productTwo = await service.create({ id: "product-2", title: "product 2", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) variantOne = await service.createVariants({ diff --git a/packages/modules/product/integration-tests/__tests__/services/product-module-service/products.spec.ts b/packages/modules/product/integration-tests/__tests__/services/product-module-service/products.spec.ts index 1b8ce12d12..fd8789c835 100644 --- a/packages/modules/product/integration-tests/__tests__/services/product-module-service/products.spec.ts +++ b/packages/modules/product/integration-tests/__tests__/services/product-module-service/products.spec.ts @@ -1,14 +1,14 @@ import { Modules } from "@medusajs/modules-sdk" -import { IProductModuleService, ProductTypes } from "@medusajs/types" -import { kebabCase } from "@medusajs/utils" +import { IProductModuleService } from "@medusajs/types" +import { kebabCase, ProductStatus } from "@medusajs/utils" import { Product, ProductCategory, ProductCollection, ProductType, - ProductVariant, } from "@models" +import { UpdateProductInput } from "@types" import { MockEventBusService, moduleIntegrationTestRunner, @@ -17,7 +17,6 @@ import { import { createCollections, createTypes } from "../../../__fixtures__/product" import { createProductCategories } from "../../../__fixtures__/product-category" import { buildProductAndRelationsData } from "../../../__fixtures__/product/data/create-product" -import { UpdateProductInput } from "@types" jest.setTimeout(300000) @@ -114,7 +113,7 @@ moduleIntegrationTestRunner({ productOne = service.create({ id: "product-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, variants: [ { id: "variant-1", @@ -126,7 +125,7 @@ moduleIntegrationTestRunner({ productTwo = service.create({ id: "product-2", title: "product 2", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, categories: [{ id: productCategoryOne.id }], collection_id: productCollectionOne.id, tags: tagsData, diff --git a/packages/modules/product/integration-tests/__tests__/services/product-option/index.ts b/packages/modules/product/integration-tests/__tests__/services/product-option/index.ts index 079937a53a..28ef7ab286 100644 --- a/packages/modules/product/integration-tests/__tests__/services/product-option/index.ts +++ b/packages/modules/product/integration-tests/__tests__/services/product-option/index.ts @@ -1,12 +1,10 @@ -import { ProductOptionService } from "@services" -import { Product } from "@models" - -import { createOptions } from "../../../__fixtures__/product" -import { ProductTypes } from "@medusajs/types" - import { Modules } from "@medusajs/modules-sdk" -import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils" import { IProductModuleService } from "@medusajs/types" +import { ProductStatus } from "@medusajs/utils" +import { Product } from "@models" +import { ProductOptionService } from "@services" +import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils" +import { createOptions } from "../../../__fixtures__/product" jest.setTimeout(30000) @@ -29,13 +27,13 @@ moduleIntegrationTestRunner({ const productOneData = { id: "product-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, } const productTwoData = { id: "product-2", title: "product 2", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, } beforeEach(async () => { diff --git a/packages/modules/product/integration-tests/__tests__/services/product-tag/index.ts b/packages/modules/product/integration-tests/__tests__/services/product-tag/index.ts index d0491e41ff..3844f0f7cb 100644 --- a/packages/modules/product/integration-tests/__tests__/services/product-tag/index.ts +++ b/packages/modules/product/integration-tests/__tests__/services/product-tag/index.ts @@ -1,11 +1,10 @@ +import { Modules } from "@medusajs/modules-sdk" +import { IProductModuleService } from "@medusajs/types" +import { ProductStatus } from "@medusajs/utils" import { Product } from "@models" import { ProductTagService } from "@services" - -import { ProductTypes } from "@medusajs/types" -import { createProductAndTags } from "../../../__fixtures__/product" -import { Modules } from "@medusajs/modules-sdk" import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils" -import { IProductModuleService } from "@medusajs/types" +import { createProductAndTags } from "../../../__fixtures__/product" jest.setTimeout(30000) @@ -27,7 +26,7 @@ moduleIntegrationTestRunner({ { id: "test-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, tags: [ { id: "tag-1", @@ -38,7 +37,7 @@ moduleIntegrationTestRunner({ { id: "test-2", title: "product", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, tags: [ { id: "tag-2", diff --git a/packages/modules/product/integration-tests/__tests__/services/product-type/index.ts b/packages/modules/product/integration-tests/__tests__/services/product-type/index.ts index 190311f50b..6a1c9d9f6f 100644 --- a/packages/modules/product/integration-tests/__tests__/services/product-type/index.ts +++ b/packages/modules/product/integration-tests/__tests__/services/product-type/index.ts @@ -1,11 +1,10 @@ -import { ProductTypeService } from "@services" -import { Product } from "@models" - -import { createProductAndTypes } from "../../../__fixtures__/product" -import { ProductTypes } from "@medusajs/types" import { Modules } from "@medusajs/modules-sdk" -import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils" import { IProductModuleService } from "@medusajs/types" +import { ProductStatus } from "@medusajs/utils" +import { Product } from "@models" +import { ProductTypeService } from "@services" +import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils" +import { createProductAndTypes } from "../../../__fixtures__/product" jest.setTimeout(30000) @@ -27,7 +26,7 @@ moduleIntegrationTestRunner({ { id: "product-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, type: { id: "type-1", value: "Type 1", @@ -36,7 +35,7 @@ moduleIntegrationTestRunner({ { id: "product-2", title: "product", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, type: { id: "type-2", value: "Type 2", diff --git a/packages/modules/product/integration-tests/__tests__/services/product-variant/index.ts b/packages/modules/product/integration-tests/__tests__/services/product-variant/index.ts index 3e0650ae62..5f48a944df 100644 --- a/packages/modules/product/integration-tests/__tests__/services/product-variant/index.ts +++ b/packages/modules/product/integration-tests/__tests__/services/product-variant/index.ts @@ -1,8 +1,5 @@ -import { - InternalModuleService, - IProductModuleService, - ProductTypes, -} from "@medusajs/types" +import { InternalModuleService, IProductModuleService } from "@medusajs/types" +import { ProductStatus } from "@medusajs/utils" import { Collection } from "@mikro-orm/core" import { Product, ProductOption, ProductTag, ProductVariant } from "@models" import { @@ -42,7 +39,7 @@ moduleIntegrationTestRunner({ productOne = testManager.create(Product, { id: "product-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) variantOne = testManager.create(ProductVariant, { @@ -251,7 +248,7 @@ moduleIntegrationTestRunner({ productOne = testManager.create(Product, { id: "product-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) variantOne = testManager.create(ProductVariant, { diff --git a/packages/modules/product/integration-tests/__tests__/services/product/index.ts b/packages/modules/product/integration-tests/__tests__/services/product/index.ts index a203fa9119..88d1a38965 100644 --- a/packages/modules/product/integration-tests/__tests__/services/product/index.ts +++ b/packages/modules/product/integration-tests/__tests__/services/product/index.ts @@ -8,23 +8,18 @@ import { createProductVariants, } from "../../../__fixtures__/product" +import { Modules } from "@medusajs/modules-sdk" +import { IProductModuleService, ProductDTO } from "@medusajs/types" +import { ProductStatus, kebabCase } from "@medusajs/utils" +import { SqlEntityManager } from "@mikro-orm/postgresql" +import { ProductService } from "@services" +import { SuiteOptions, moduleIntegrationTestRunner } from "medusa-test-utils" +import { createProductCategories } from "../../../__fixtures__/product-category" import { categoriesData, productsData, variantsData, } from "../../../__fixtures__/product/data" -import { ProductService } from "@services" -import { - IProductModuleService, - ProductDTO, - ProductTypes, -} from "@medusajs/types" -import { kebabCase } from "@medusajs/utils" -import { SqlEntityManager } from "@mikro-orm/postgresql" -import { createProductCategories } from "../../../__fixtures__/product-category" -import { Modules } from "@medusajs/modules-sdk" -import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils" -import { ProductTag } from "../../../../src/models" jest.setTimeout(30000) @@ -52,7 +47,7 @@ moduleIntegrationTestRunner({ productOne = testManager.create(Product, { id: "product-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) await testManager.persistAndFlush([productOne]) @@ -145,7 +140,7 @@ moduleIntegrationTestRunner({ productOne = testManager.create(Product, { id: "product-1", title: "product 1", - status: ProductTypes.ProductStatus.PUBLISHED, + status: ProductStatus.PUBLISHED, }) await testManager.persistAndFlush([productOne]) diff --git a/packages/modules/product/package.json b/packages/modules/product/package.json index f0115aef1f..bf55fa2216 100644 --- a/packages/modules/product/package.json +++ b/packages/modules/product/package.json @@ -37,6 +37,7 @@ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear" }, "devDependencies": { + "@medusajs/types": "^1.11.16", "@mikro-orm/cli": "5.9.7", "cross-env": "^5.2.1", "faker": "^5.5.3", @@ -51,7 +52,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.11", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "^1.11.9", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", diff --git a/packages/modules/product/src/utils/index.ts b/packages/modules/product/src/utils/index.ts deleted file mode 100644 index 9e37c3cbf0..0000000000 --- a/packages/modules/product/src/utils/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export function shouldForceTransaction(): boolean { - return true -} - -export function doNotForceTransaction(): boolean { - return false -} diff --git a/packages/modules/promotion/package.json b/packages/modules/promotion/package.json index 79cfed7624..29e8e92801 100644 --- a/packages/modules/promotion/package.json +++ b/packages/modules/promotion/package.json @@ -37,6 +37,7 @@ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear" }, "devDependencies": { + "@medusajs/types": "^1.11.16", "@mikro-orm/cli": "5.9.7", "cross-env": "^5.2.1", "jest": "^29.6.3", @@ -49,7 +50,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.11", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "1.11.9", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", diff --git a/packages/modules/providers/payment-stripe/src/core/stripe-base.ts b/packages/modules/providers/payment-stripe/src/core/stripe-base.ts index 21548d6679..6944184ce9 100644 --- a/packages/modules/providers/payment-stripe/src/core/stripe-base.ts +++ b/packages/modules/providers/payment-stripe/src/core/stripe-base.ts @@ -6,7 +6,6 @@ import { MedusaContainer, PaymentProviderError, PaymentProviderSessionResponse, - PaymentSessionStatus, ProviderWebhookPayload, UpdatePaymentProviderSession, WebhookActionResult, @@ -16,8 +15,9 @@ import { BigNumber, MedusaError, PaymentActions, + PaymentSessionStatus, + isDefined, isPaymentProviderError, - isDefined } from "@medusajs/utils" import { CreatePaymentProviderSession } from "@medusajs/types" diff --git a/packages/modules/region/package.json b/packages/modules/region/package.json index f1fb58d92d..c70fcb7f3e 100644 --- a/packages/modules/region/package.json +++ b/packages/modules/region/package.json @@ -37,6 +37,7 @@ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear" }, "devDependencies": { + "@medusajs/types": "^1.11.16", "@mikro-orm/cli": "5.9.7", "cross-env": "^5.2.1", "jest": "^29.6.3", @@ -49,7 +50,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.11", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "^1.11.9", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", diff --git a/packages/modules/stock-location-next/package.json b/packages/modules/stock-location-next/package.json index 0a4f419df0..b317b63f00 100644 --- a/packages/modules/stock-location-next/package.json +++ b/packages/modules/stock-location-next/package.json @@ -33,7 +33,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.11", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "^1.11.9", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", diff --git a/packages/modules/store/package.json b/packages/modules/store/package.json index a27bda9e77..8f404610dd 100644 --- a/packages/modules/store/package.json +++ b/packages/modules/store/package.json @@ -37,6 +37,7 @@ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear" }, "devDependencies": { + "@medusajs/types": "^1.11.16", "@mikro-orm/cli": "5.9.7", "cross-env": "^5.2.1", "jest": "^29.6.3", @@ -49,7 +50,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.11", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "^1.11.9", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", diff --git a/packages/modules/user/package.json b/packages/modules/user/package.json index 932948be3e..dd416da7e7 100644 --- a/packages/modules/user/package.json +++ b/packages/modules/user/package.json @@ -37,6 +37,7 @@ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear" }, "devDependencies": { + "@medusajs/types": "^1.11.15", "@mikro-orm/cli": "5.9.7", "cross-env": "^5.2.1", "jest": "^29.6.3", @@ -49,7 +50,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.10", - "@medusajs/types": "^1.11.15", "@medusajs/utils": "^1.11.8", "@mikro-orm/core": "5.9.7", "@mikro-orm/migrations": "5.9.7", diff --git a/packages/modules/workflow-engine-inmemory/package.json b/packages/modules/workflow-engine-inmemory/package.json index f3f508cba8..41743248c7 100644 --- a/packages/modules/workflow-engine-inmemory/package.json +++ b/packages/modules/workflow-engine-inmemory/package.json @@ -34,6 +34,7 @@ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear" }, "devDependencies": { + "@medusajs/types": "^1.11.16", "@mikro-orm/cli": "5.9.7", "cross-env": "^5.2.1", "jest": "^29.6.3", @@ -46,7 +47,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.11", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "^1.11.9", "@medusajs/workflows-sdk": "^0.1.6", "@mikro-orm/core": "5.9.7", diff --git a/packages/modules/workflow-engine-redis/package.json b/packages/modules/workflow-engine-redis/package.json index 5690676947..0d85458999 100644 --- a/packages/modules/workflow-engine-redis/package.json +++ b/packages/modules/workflow-engine-redis/package.json @@ -34,6 +34,7 @@ "orm:cache:clear": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm cache:clear" }, "devDependencies": { + "@medusajs/types": "^1.11.16", "@mikro-orm/cli": "5.9.7", "cross-env": "^5.2.1", "jest": "^29.6.3", @@ -46,7 +47,6 @@ }, "dependencies": { "@medusajs/modules-sdk": "^1.12.11", - "@medusajs/types": "^1.11.16", "@medusajs/utils": "^1.11.9", "@medusajs/workflows-sdk": "^0.1.6", "@mikro-orm/core": "5.9.7",