Revert "chore(): Upgrade mikro orm (#13390)" (#13449)

This reverts commit a095245d71.
This commit is contained in:
Adrien de Peretti authored and GitHub committed 2025-09-09 20:06:31 +02:00
1 parent ccff121691
commit 0b55295fc7
60 files changed
+711 -862

No files matched your search

-23
View File
@@ -1,23 +0,0 @@
---
"@medusajs/medusa": patch
"@medusajs/test-utils": patch
"@medusajs/api-key": patch
"@medusajs/auth": patch
"@medusajs/cart": patch
"@medusajs/currency": patch
"@medusajs/customer": patch
"@medusajs/file": patch
"@medusajs/fulfillment": patch
"@medusajs/index": patch
"@medusajs/core-flows": patch
"@medusajs/framework": patch
"@medusajs/modules-sdk": patch
"@medusajs/orchestration": patch
"@medusajs/types": patch
"@medusajs/utils": patch
"@medusajs/workflows-sdk": patch
"create-medusa-app": patch
"@medusajs/cli": patch
---
chore(): Upgrade mikro orm 6.5.2
+1 -1
View File
@@ -84,7 +84,7 @@
"resolutions": { "resolutions": {
"@redocly/cli/react": "^17.0.1", "@redocly/cli/react": "^17.0.1",
"@redocly/cli/react-dom": "^17.0.1", "@redocly/cli/react-dom": "^17.0.1",
"pg": "8.16.3", "pg": "8.11.3",
"@changesets/assemble-release-plan@^6.0.0": "patch:@changesets/assemble-release-plan@npm:^6.0.0#.yarn/patches/changesets.patch" "@changesets/assemble-release-plan@^6.0.0": "patch:@changesets/assemble-release-plan@npm:^6.0.0#.yarn/patches/changesets.patch"
} }
} }
+1 -1
View File
@@ -23,7 +23,7 @@
"node-fetch": "^3.3.1", "node-fetch": "^3.3.1",
"open": "^9.1.0", "open": "^9.1.0",
"ora": "^6.3.0", "ora": "^6.3.0",
"pg": "^8.16.3", "pg": "^8.11.3",
"slugify": "^1.6.6", "slugify": "^1.6.6",
"uuid": "^9.0.0", "uuid": "^9.0.0",
"validator": "^13.9.0", "validator": "^13.9.0",
+11 -11
View File
@@ -32,16 +32,16 @@
"author": "Sebastian Rindom", "author": "Sebastian Rindom",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"@types/yargs": "^15.0.15", "@types/yargs": "^15.0.15",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"jest": "^29.7.0", "jest": "^29.7.0",
"pg": "^8.16.3", "pg": "^8.13.0",
"rimraf": "^5.0.1", "rimraf": "^5.0.1",
"typescript": "^5.6.2" "typescript": "^5.6.2"
}, },
@@ -62,7 +62,7 @@
"is-valid-path": "^0.1.1", "is-valid-path": "^0.1.1",
"meant": "^1.0.3", "meant": "^1.0.3",
"ora": "^5.4.1", "ora": "^5.4.1",
"pg": "^8.16.3", "pg": "^8.11.3",
"pg-god": "^1.0.12", "pg-god": "^1.0.12",
"prompts": "^2.4.2", "prompts": "^2.4.2",
"resolve-cwd": "^3.0.0", "resolve-cwd": "^3.0.0",
@@ -72,12 +72,12 @@
"yargs": "^15.3.1" "yargs": "^15.3.1"
}, },
"peerDependencies": { "peerDependencies": {
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"pg": "^8.16.3" "pg": "^8.13.0"
}, },
"gitHead": "81a7ff73d012fda722f6e9ef0bd9ba0232d37808" "gitHead": "81a7ff73d012fda722f6e9ef0bd9ba0232d37808"
} }
+5 -5
View File
@@ -27,16 +27,16 @@
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"expect-type": "^0.20.0", "expect-type": "^0.20.0",
"jest": "^29.7.0", "jest": "^29.7.0",
"pg": "^8.16.3", "pg": "^8.13.0",
"rimraf": "^5.0.1", "rimraf": "^5.0.1",
"typescript": "^5.6.2" "typescript": "^5.6.2"
}, },
+11 -11
View File
@@ -56,10 +56,10 @@
"devDependencies": { "devDependencies": {
"@aws-sdk/client-dynamodb": "^3.218.0", "@aws-sdk/client-dynamodb": "^3.218.0",
"@medusajs/cli": "2.10.1", "@medusajs/cli": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"@types/cors": "^2.8.17", "@types/cors": "^2.8.17",
@@ -68,7 +68,7 @@
"connect-dynamodb": "^3.0.5", "connect-dynamodb": "^3.0.5",
"ioredis": "^5.4.1", "ioredis": "^5.4.1",
"jest": "^29.7.0", "jest": "^29.7.0",
"pg": "^8.16.3", "pg": "^8.13.0",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"supertest": "^4.0.2", "supertest": "^4.0.2",
"typescript": "^5.6.2", "typescript": "^5.6.2",
@@ -103,15 +103,15 @@
"peerDependencies": { "peerDependencies": {
"@aws-sdk/client-dynamodb": "^3.218.0", "@aws-sdk/client-dynamodb": "^3.218.0",
"@medusajs/cli": "2.10.1", "@medusajs/cli": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"connect-dynamodb": "^3.0.5", "connect-dynamodb": "^3.0.5",
"ioredis": "^5.4.1", "ioredis": "^5.4.1",
"pg": "^8.16.3", "pg": "^8.13.0",
"vite": "^5.4.14" "vite": "^5.4.14"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
+10 -10
View File
@@ -31,16 +31,16 @@
"watch": "tsc --build --watch" "watch": "tsc --build --watch"
}, },
"devDependencies": { "devDependencies": {
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"cross-env": "^5.2.1", "cross-env": "^5.2.1",
"jest": "^29.7.0", "jest": "^29.7.0",
"pg": "^8.16.3", "pg": "^8.13.0",
"rimraf": "^5.0.1", "rimraf": "^5.0.1",
"typescript": "^5.6.2" "typescript": "^5.6.2"
}, },
@@ -50,12 +50,12 @@
"@medusajs/utils": "2.10.1" "@medusajs/utils": "2.10.1"
}, },
"peerDependencies": { "peerDependencies": {
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"express": "^4.21.0", "express": "^4.21.0",
"pg": "^8.16.3" "pg": "^8.13.0"
} }
} }
@@ -36,7 +36,7 @@ export function toRemoteQuery<const TEntity extends string>(
pagination?: Partial<RemoteQueryInput<TEntity>["pagination"]> pagination?: Partial<RemoteQueryInput<TEntity>["pagination"]>
context?: Record<string, any> context?: Record<string, any>
withDeleted?: boolean withDeleted?: boolean
strategy?: "joined" | "select-in" | "balanced" strategy?: "joined" | "select-in"
}, },
entitiesMap: Map<string, any> entitiesMap: Map<string, any>
): RemoteQueryGraph<TEntity> { ): RemoteQueryGraph<TEntity> {
+10 -10
View File
@@ -26,15 +26,15 @@
"author": "Medusa", "author": "Medusa",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"jest": "^29.7.0", "jest": "^29.7.0",
"pg": "^8.16.3", "pg": "^8.13.0",
"rimraf": "^5.0.1", "rimraf": "^5.0.1",
"typescript": "^5.6.2" "typescript": "^5.6.2"
}, },
@@ -44,13 +44,13 @@
"ulid": "^2.3.0" "ulid": "^2.3.0"
}, },
"peerDependencies": { "peerDependencies": {
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"express": "^4.21.0", "express": "^4.21.0",
"pg": "^8.16.3" "pg": "^8.13.0"
}, },
"scripts": { "scripts": {
"build": "rimraf dist && tsc --build", "build": "rimraf dist && tsc --build",
+1 -1
View File
@@ -55,7 +55,7 @@ export interface OptionsQuery<T> {
/** /**
* Load strategy (e.g for mikro orm it accept select-in or joined) * Load strategy (e.g for mikro orm it accept select-in or joined)
*/ */
strategy?: "select-in" | "joined" | "balanced" | (string & {}) strategy?: "select-in" | "joined" | (string & {})
} }
/** /**
@@ -74,7 +74,7 @@ export type RemoteQueryInput<TEntry extends string> =
/** /**
* Strategy will be send to the entry module called method * Strategy will be send to the entry module called method
*/ */
strategy?: "joined" | "select-in" | "balanced" strategy?: "joined" | "select-in"
} }
: { : {
/** /**
@@ -119,7 +119,7 @@ export type RemoteQueryInput<TEntry extends string> =
/** /**
* Strategy will be send to the entry module called method * Strategy will be send to the entry module called method
*/ */
strategy?: "joined" | "select-in" | "balanced" strategy?: "joined" | "select-in"
} }
export type RemoteQueryGraph<TEntry extends string> = { export type RemoteQueryGraph<TEntry extends string> = {
+10 -10
View File
@@ -26,10 +26,10 @@
"author": "Medusa", "author": "Medusa",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"@types/express": "^4.17.21", "@types/express": "^4.17.21",
@@ -37,7 +37,7 @@
"expect-type": "^0.20.0", "expect-type": "^0.20.0",
"express": "^4.21.0", "express": "^4.21.0",
"jest": "^29.7.0", "jest": "^29.7.0",
"pg": "^8.16.3", "pg": "^8.13.0",
"pg-god": "^1.0.12", "pg-god": "^1.0.12",
"rimraf": "^5.0.1", "rimraf": "^5.0.1",
"typescript": "^5.6.2" "typescript": "^5.6.2"
@@ -60,13 +60,13 @@
"zod": "3.25.76" "zod": "3.25.76"
}, },
"peerDependencies": { "peerDependencies": {
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"express": "^4.21.0", "express": "^4.21.0",
"pg": "^8.16.3" "pg": "^8.13.0"
}, },
"scripts": { "scripts": {
"build": "rimraf dist && tsc --build", "build": "rimraf dist && tsc --build",
@@ -1,6 +1,6 @@
import { BigNumberInput } from "@medusajs/types" import { BigNumberInput } from "@medusajs/types"
import { EntityProperty, Platform, Property, Type } from "@mikro-orm/core" import { Property } from "@mikro-orm/core"
import { isDefined, isObject, isPresent, trimZeros } from "../../common" import { isDefined, isPresent, trimZeros } from "../../common"
import { BigNumber } from "../../totals/big-number" import { BigNumber } from "../../totals/big-number"
export function MikroOrmBigNumberProperty( export function MikroOrmBigNumberProperty(
@@ -24,11 +24,6 @@ export function MikroOrmBigNumberProperty(
return value return value
}, },
set(value: BigNumberInput) { set(value: BigNumberInput) {
// convert 'null' to null
if (value === "null") {
value = null as unknown as BigNumberInput
}
if (options?.nullable && !isPresent(value)) { if (options?.nullable && !isPresent(value)) {
this.__helper.__data[columnName] = null this.__helper.__data[columnName] = null
this.__helper.__data[rawColumnName] = null this.__helper.__data[rawColumnName] = null
@@ -94,7 +89,7 @@ export function MikroOrmBigNumberProperty(
}) })
Property({ Property({
type: BigNumberNumeric, type: "any",
columnType: "numeric", columnType: "numeric",
trackChanges: false, trackChanges: false,
runtimeType: "any", runtimeType: "any",
@@ -102,43 +97,3 @@ export function MikroOrmBigNumberProperty(
})(target, columnName) })(target, columnName)
} }
} }
class BigNumberNumeric extends Type<string | number, string> {
constructor(public mode?: "number" | "string") {
super()
}
override convertToJSValue(value: string): number | string {
if ((this.mode ?? this.prop?.runtimeType) === "number") {
return +value
}
if (isObject(value)) {
return value // Special case for BigNumberRawValue because the setter will manage the dispatch automatically at a later stage
}
return String(value)
}
override compareValues(a: string, b: string): boolean {
return this.format(a) === this.format(b)
}
private format(val: string | number) {
/* istanbul ignore next */
if (this.prop?.scale == null) {
return +val
}
const base = Math.pow(10, this.prop.scale)
return Math.round((+val + Number.EPSILON) * base) / base
}
override getColumnType(prop: EntityProperty, platform: Platform) {
return platform.getDecimalTypeDeclarationSQL(prop)
}
override compareAsType(): string {
return this.mode ?? this.prop?.runtimeType ?? "string"
}
}
@@ -64,9 +64,11 @@ export class MikroOrmBase {
transaction?: TManager transaction?: TManager
} = {} } = {}
): Promise<any> { ): Promise<any> {
this.manager_.global = true // this prevent mikro orm from synchronising the transaction manager entity map back to the manager. Also, it will save us from always forking the manager for each transaction while the transacation manager will fork it again for transaction purpose const freshManager = this.getFreshManager
? this.getFreshManager()
: this.manager_
return await transactionWrapper(this.manager_, task, options).catch( return await transactionWrapper(freshManager, task, options).catch(
dbErrorMapper dbErrorMapper
) )
} }
@@ -465,7 +467,11 @@ export function mikroOrmBaseRepositoryFactory<const T extends object>(
if (!("strategy" in findOptions_.options)) { if (!("strategy" in findOptions_.options)) {
if (findOptions_.options.limit != null || findOptions_.options.offset) { if (findOptions_.options.limit != null || findOptions_.options.offset) {
Object.assign(findOptions_.options, { Object.assign(findOptions_.options, {
strategy: LoadStrategy.BALANCED, strategy: LoadStrategy.SELECT_IN,
})
} else {
Object.assign(findOptions_.options, {
strategy: LoadStrategy.JOINED,
}) })
} }
} }
@@ -162,7 +162,7 @@ describe("Entity builder", () => {
kind: "scalar", kind: "scalar",
setter: true, setter: true,
trackChanges: false, trackChanges: false,
type: expect.any(Function), type: "any",
runtimeType: "any", runtimeType: "any",
}, },
raw_spend_limit: { raw_spend_limit: {
@@ -306,7 +306,7 @@ describe("Entity builder", () => {
kind: "scalar", kind: "scalar",
setter: true, setter: true,
trackChanges: false, trackChanges: false,
type: expect.any(Function), type: "any",
runtimeType: "any", runtimeType: "any",
}, },
raw_spend_limit: { raw_spend_limit: {
@@ -441,7 +441,7 @@ describe("Entity builder", () => {
kind: "scalar", kind: "scalar",
setter: true, setter: true,
trackChanges: false, trackChanges: false,
type: expect.any(Function), type: "any",
runtimeType: "any", runtimeType: "any",
}, },
raw_spend_limit: { raw_spend_limit: {
@@ -555,7 +555,7 @@ describe("Entity builder", () => {
kind: "scalar", kind: "scalar",
setter: true, setter: true,
trackChanges: false, trackChanges: false,
type: expect.any(Function), type: "any",
runtimeType: "any", runtimeType: "any",
}, },
raw_spend_limit: { raw_spend_limit: {
@@ -701,7 +701,7 @@ describe("Entity builder", () => {
kind: "scalar", kind: "scalar",
setter: true, setter: true,
trackChanges: false, trackChanges: false,
type: expect.any(Function), type: "any",
runtimeType: "any", runtimeType: "any",
}, },
raw_spend_limit: { raw_spend_limit: {
@@ -858,7 +858,7 @@ describe("Entity builder", () => {
kind: "scalar", kind: "scalar",
setter: true, setter: true,
trackChanges: false, trackChanges: false,
type: expect.any(Function), type: "any",
runtimeType: "any", runtimeType: "any",
}, },
created_at: { created_at: {
@@ -3916,7 +3916,6 @@ describe("Entity builder", () => {
type: "string", type: "string",
}, },
group: { group: {
defaultRaw: "",
entity: "Group", entity: "Group",
fieldName: "group_id", fieldName: "group_id",
name: "group", name: "group",
@@ -4537,7 +4536,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
user: { user: {
defaultRaw: "",
entity: "User", entity: "User",
fieldName: "user_id", fieldName: "user_id",
name: "user", name: "user",
@@ -5149,7 +5147,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
user: { user: {
defaultRaw: "",
name: "user", name: "user",
kind: "m:1", kind: "m:1",
entity: "User", entity: "User",
@@ -5339,7 +5336,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
user: { user: {
defaultRaw: "",
name: "user", name: "user",
kind: "m:1", kind: "m:1",
fieldName: "user_id", fieldName: "user_id",
@@ -5888,7 +5884,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
parent: { parent: {
defaultRaw: "",
name: "parent", name: "parent",
fieldName: "parent_id", fieldName: "parent_id",
kind: "m:1", kind: "m:1",
@@ -6140,7 +6135,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
teams: { teams: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "teams", name: "teams",
entity: "Team", entity: "Team",
@@ -6210,7 +6204,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
users: { users: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "users", name: "users",
inversedBy: "teams", inversedBy: "teams",
@@ -6323,7 +6316,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
teams: { teams: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "teams", name: "teams",
entity: "Team", entity: "Team",
@@ -6393,7 +6385,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
users: { users: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "users", name: "users",
entity: "User", entity: "User",
@@ -6620,7 +6611,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
teams: { teams: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "teams", name: "teams",
entity: "Team", entity: "Team",
@@ -6690,7 +6680,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
users: { users: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "users", name: "users",
entity: "User", entity: "User",
@@ -6803,7 +6792,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
teams: { teams: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "teams", name: "teams",
entity: "Team", entity: "Team",
@@ -6873,7 +6861,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
users: { users: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "users", name: "users",
entity: "User", entity: "User",
@@ -7004,7 +6991,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
teams: { teams: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "teams", name: "teams",
entity: "Team", entity: "Team",
@@ -7013,7 +6999,6 @@ describe("Entity builder", () => {
mappedBy: "users", mappedBy: "users",
}, },
activeTeams: { activeTeams: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "activeTeams", name: "activeTeams",
entity: "Team", entity: "Team",
@@ -7083,7 +7068,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
users: { users: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "users", name: "users",
entity: "User", entity: "User",
@@ -7092,7 +7076,6 @@ describe("Entity builder", () => {
inversedBy: "teams", inversedBy: "teams",
}, },
activeTeamsUsers: { activeTeamsUsers: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "activeTeamsUsers", name: "activeTeamsUsers",
entity: "User", entity: "User",
@@ -7208,7 +7191,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
teams: { teams: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "teams", name: "teams",
entity: "Team", entity: "Team",
@@ -7279,7 +7261,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
users: { users: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "users", name: "users",
entity: "User", entity: "User",
@@ -7368,7 +7349,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
teams: { teams: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "teams", name: "teams",
entity: "TeamSquad", entity: "TeamSquad",
@@ -7438,7 +7418,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
users: { users: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "users", name: "users",
entity: "RandomUser", entity: "RandomUser",
@@ -7554,7 +7533,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
teams: { teams: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "teams", name: "teams",
entity: "Team", entity: "Team",
@@ -7624,7 +7602,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
users: { users: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "users", name: "users",
owner: false, owner: false,
@@ -7834,7 +7811,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
users: { users: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "users", name: "users",
entity: "User", entity: "User",
@@ -7904,7 +7880,6 @@ describe("Entity builder", () => {
setter: false, setter: false,
}, },
teams: { teams: {
defaultRaw: "",
kind: "m:n", kind: "m:n",
name: "teams", name: "teams",
entity: "Team", entity: "Team",
@@ -6,7 +6,7 @@ import type {
Infer, Infer,
PropertyType, PropertyType,
} from "@medusajs/types" } from "@medusajs/types"
import { Entity, Filter, MetadataStorage } from "@mikro-orm/core" import { Entity, Filter } from "@mikro-orm/core"
import { import {
mikroOrmFreeTextSearchFilterOptionsFactory, mikroOrmFreeTextSearchFilterOptionsFactory,
@@ -116,16 +116,12 @@ function createMikrORMEntity() {
Filter(mikroOrmFreeTextSearchFilterOptionsFactory(modelName))( Filter(mikroOrmFreeTextSearchFilterOptionsFactory(modelName))(
MikroORMEntity MikroORMEntity
) )
const RegisteredEntity = Entity({ tableName })(
Entity({ tableName })(
Filter(mikroOrmSoftDeletableFilterOptions)(MikroORMEntity) Filter(mikroOrmSoftDeletableFilterOptions)(MikroORMEntity)
) as any ) as Infer<T>
const entityMetadata = ENTITIES[modelName] = RegisteredEntity
MetadataStorage.getMetadataFromDecorator(MikroORMEntity) return RegisteredEntity
ENTITIES[modelName] = entityMetadata.class as Constructor<any>
return entityMetadata.class as Infer<T>
} }
/** /**
@@ -294,7 +294,6 @@ export function defineHasManyRelationship(
} }
OneToMany(options)(MikroORMEntity.prototype, relationship.name) OneToMany(options)(MikroORMEntity.prototype, relationship.name)
// MikroORMEntity.prototype[relationship.name] = new Collection(MikroORMEntity)
} }
/** /**
@@ -467,7 +466,6 @@ export function defineBelongsToRelationship(
ManyToOne({ ManyToOne({
entity: relatedModelName, entity: relatedModelName,
defaultRaw: "", // This is a workaround since we are hacking mikro orm default behavior. The default value here is [Object object] which pass the check here and in turns is returned as a returning field -> @mikro-orm/knex/AbstractSqlDriver.js:462
fieldName: foreignKeyName, fieldName: foreignKeyName,
persist: false, persist: false,
nullable: relationship.nullable, nullable: relationship.nullable,
@@ -743,7 +741,6 @@ export function defineManyToManyRelationship(
const manytoManyOptions = { const manytoManyOptions = {
owner: isOwner, owner: isOwner,
entity: relatedModelName, entity: relatedModelName,
defaultRaw: "", // This is a workaround since we are hacking mikro orm default behavior. The default value here is [Object object] which pass the check here and in turns is returned as a returning field -> @mikro-orm/knex/AbstractSqlDriver.js:462
...(pivotTableName ...(pivotTableName
? { ? {
pivotTable: pgSchema pivotTable: pgSchema
@@ -16,7 +16,6 @@ describe("Internal Module Service Factory", () => {
[modelRepositoryName]: { [modelRepositoryName]: {
transaction: (task) => task(), transaction: (task) => task(),
getFreshManager: jest.fn().mockReturnThis(), getFreshManager: jest.fn().mockReturnThis(),
getActiveManager: jest.fn().mockReturnThis(),
find: jest.fn(), find: jest.fn(),
findAndCount: jest.fn(), findAndCount: jest.fn(),
create: jest.fn(), create: jest.fn(),
@@ -29,7 +28,6 @@ describe("Internal Module Service Factory", () => {
[`composite${Model.name}Repository`]: { [`composite${Model.name}Repository`]: {
transaction: (task) => task(), transaction: (task) => task(),
getFreshManager: jest.fn().mockReturnThis(), getFreshManager: jest.fn().mockReturnThis(),
getActiveManager: jest.fn().mockReturnThis(),
find: jest.fn(), find: jest.fn(),
findAndCount: jest.fn(), findAndCount: jest.fn(),
create: jest.fn(), create: jest.fn(),
@@ -7,7 +7,6 @@ const baseRepoMock = {
serialize: jest.fn().mockImplementation((item) => item), serialize: jest.fn().mockImplementation((item) => item),
transaction: (task) => task("transactionManager"), transaction: (task) => task("transactionManager"),
getFreshManager: jest.fn().mockReturnThis(), getFreshManager: jest.fn().mockReturnThis(),
getActiveManager: jest.fn().mockReturnThis(),
} }
const defaultContext = { const defaultContext = {
@@ -52,8 +52,7 @@ export function InjectManager(managerProperty?: string): MethodDecorator {
} }
copiedContext.manager = copiedContext.manager =
originalContext.manager ?? originalContext.manager ?? resourceWithManager.getFreshManager()
resourceWithManager.getActiveManager(originalContext)
if (originalContext?.transactionManager) { if (originalContext?.transactionManager) {
copiedContext.transactionManager = originalContext?.transactionManager copiedContext.transactionManager = originalContext?.transactionManager
+10 -10
View File
@@ -27,16 +27,16 @@
"author": "Medusa", "author": "Medusa",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"expect-type": "^0.20.0", "expect-type": "^0.20.0",
"jest": "^29.7.0", "jest": "^29.7.0",
"pg": "^8.16.3", "pg": "^8.13.0",
"rimraf": "^5.0.1", "rimraf": "^5.0.1",
"typescript": "^5.6.2", "typescript": "^5.6.2",
"zod": "3.25.76" "zod": "3.25.76"
@@ -49,13 +49,13 @@
"ulid": "^2.3.0" "ulid": "^2.3.0"
}, },
"peerDependencies": { "peerDependencies": {
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"express": "^4.21.0", "express": "^4.21.0",
"pg": "^8.16.3" "pg": "^8.13.0"
}, },
"scripts": { "scripts": {
"build": "rimraf dist && tsc --build", "build": "rimraf dist && tsc --build",
+6 -6
View File
@@ -26,13 +26,13 @@
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"jest": "^29.7.0", "jest": "^29.7.0",
"pg": "^8.16.3", "pg": "^8.13.0",
"pg-god": "^1.0.12", "pg-god": "^1.0.12",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"typescript": "^5.6.2" "typescript": "^5.6.2"
@@ -47,7 +47,7 @@
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/medusa": "2.10.1", "@medusajs/medusa": "2.10.1",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
+4 -4
View File
@@ -136,10 +136,10 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@opentelemetry/instrumentation-pg": "^0.52.0", "@opentelemetry/instrumentation-pg": "^0.52.0",
"@opentelemetry/resources": "^2.0.0", "@opentelemetry/resources": "^2.0.0",
"@opentelemetry/sdk-node": "^0.200.0", "@opentelemetry/sdk-node": "^0.200.0",
+4 -4
View File
@@ -38,7 +38,7 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -48,9 +48,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+7 -7
View File
@@ -39,10 +39,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -52,9 +52,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+4 -4
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+9 -9
View File
@@ -38,11 +38,11 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -52,10 +52,10 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+7 -7
View File
@@ -25,10 +25,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -38,9 +38,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
}, },
"scripts": { "scripts": {
+6 -6
View File
@@ -35,9 +35,9 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"cross-env": "^5.2.1", "cross-env": "^5.2.1",
@@ -48,9 +48,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+7 -7
View File
@@ -34,10 +34,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -47,9 +47,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+8 -8
View File
@@ -29,7 +29,7 @@
"resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json", "resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
"build": "rimraf dist && tsc --build && npm run resolve:aliases", "build": "rimraf dist && tsc --build && npm run resolve:aliases",
"test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts", "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts",
"test:integration": "jest --forceExit -- integration-tests/__tests__/**/*.spec.ts", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.spec.ts",
"migration:initial": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:initial": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial",
"migration:create": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:create": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create",
"migration:up": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", "migration:up": "MIKRO_ORM_CLI_CONFIG=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up",
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
@@ -20,7 +20,11 @@ export function setFindMethods<T>(klass: Constructor<T>, entity: any) {
if (!("strategy" in findOptions_.options)) { if (!("strategy" in findOptions_.options)) {
if (findOptions_.options.limit != null || findOptions_.options.offset) { if (findOptions_.options.limit != null || findOptions_.options.offset) {
Object.assign(findOptions_.options, { Object.assign(findOptions_.options, {
strategy: LoadStrategy.BALANCED, strategy: LoadStrategy.SELECT_IN,
})
} else {
Object.assign(findOptions_.options, {
strategy: LoadStrategy.JOINED,
}) })
} }
} }
@@ -99,7 +103,7 @@ export function setFindMethods<T>(klass: Constructor<T>, entity: any) {
if (!("strategy" in findOptions_.options)) { if (!("strategy" in findOptions_.options)) {
Object.assign(findOptions_.options, { Object.assign(findOptions_.options, {
strategy: LoadStrategy.BALANCED, strategy: LoadStrategy.SELECT_IN,
}) })
} }
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
@@ -267,7 +267,7 @@ export default class PaymentModuleService
) )
} }
@InjectTransactionManager() @InjectManager()
async updatePaymentCollections_( async updatePaymentCollections_(
data: UpdatePaymentCollectionDTO[], data: UpdatePaymentCollectionDTO[],
@MedusaContext() sharedContext?: Context @MedusaContext() sharedContext?: Context
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
@@ -885,8 +885,7 @@ export default class PricingModuleService
return { return {
attribute, attribute,
operator: customRule.operator, operator: customRule.operator,
// TODO: we throw above if value is not a number, but the model expect the value to be a string value: customRule.value,
value: customRule.value.toString(),
} }
}) })
} }
@@ -864,12 +864,7 @@ moduleIntegrationTestRunner<IProductModuleService>({
await service.upsertProducts([updateData]) await service.upsertProducts([updateData])
const product = await service.retrieveProduct(productTwo.id, { const product = await service.retrieveProduct(productTwo.id, {
relations: [ relations: ["*"],
"options",
"options.values",
"variants",
"variants.options",
],
}) })
expect(product.options).toHaveLength(1) expect(product.options).toHaveLength(1)
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"faker": "^5.5.3", "faker": "^5.5.3",
@@ -52,9 +52,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
@@ -62,7 +62,7 @@ export class ProductCategoryRepository extends DALUtils.MikroOrmBaseTreeReposito
} }
Object.assign(findOptions_.options, { Object.assign(findOptions_.options, {
strategy: LoadStrategy.BALANCED, strategy: LoadStrategy.SELECT_IN,
}) })
return findOptions_ return findOptions_
@@ -1822,21 +1822,6 @@ export default class ProductModuleService
productData.thumbnail = productData.images[0].url productData.thumbnail = productData.images[0].url
} }
// TODO: these props are typed as number, the model expect a string, the API expect number etc
// There is some inconsistency here, we should fix it
if ("weight" in productData) {
productData.weight = productData.weight?.toString() as any
}
if ("length" in productData) {
productData.length = productData.length?.toString() as any
}
if ("height" in productData) {
productData.height = productData.height?.toString() as any
}
if ("width" in productData) {
productData.width = productData.width?.toString() as any
}
if (productData.images?.length) { if (productData.images?.length) {
productData.images = productData.images.map((image, index) => productData.images = productData.images.map((image, index) =>
(image as { rank?: number }).rank != null (image as { rank?: number }).rank != null
@@ -12,7 +12,7 @@ export async function createCampaigns(
campaignsData?: CreateCampaignDTO[] campaignsData?: CreateCampaignDTO[]
): Promise<Campaign[]> { ): Promise<Campaign[]> {
if (!campaignsData) { if (!campaignsData) {
const cp = structuredClone(defaultCampaignsData) const cp = JSON.parse(JSON.stringify(defaultCampaignsData))
const starts_at = new Date(TODAY) const starts_at = new Date(TODAY)
starts_at.setDate(starts_at.getDate() - 1) starts_at.setDate(starts_at.getDate() - 1)
+7 -7
View File
@@ -39,10 +39,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -52,9 +52,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
@@ -18,7 +18,6 @@ import {
CampaignBudgetType, CampaignBudgetType,
ComputedActions, ComputedActions,
deduplicate, deduplicate,
EmitEvents,
InjectManager, InjectManager,
InjectTransactionManager, InjectTransactionManager,
isDefined, isDefined,
@@ -140,26 +139,11 @@ export default class PromotionModuleService
} }
@InjectManager() @InjectManager()
async listActivePromotions( listActivePromotions(
filters?: FilterablePromotionProps, filters?: FilterablePromotionProps,
config?: FindConfig<PromotionDTO>, config?: FindConfig<PromotionDTO>,
sharedContext?: Context sharedContext?: Context
): Promise<PromotionDTO[]> { ): Promise<PromotionDTO[]> {
const activePromotions = await this.listActivePromotions_(
filters,
config,
sharedContext
)
return this.baseRepository_.serialize<PromotionDTO[]>(activePromotions)
}
@InjectManager()
protected async listActivePromotions_(
filters?: FilterablePromotionProps,
config?: FindConfig<PromotionDTO>,
@MedusaContext() sharedContext?: Context
): Promise<InferEntityType<typeof Promotion>[]> {
// Ensure we share the same now date across all filters // Ensure we share the same now date across all filters
const now = new Date() const now = new Date()
const activeFilters = { const activeFilters = {
@@ -186,11 +170,7 @@ export default class PromotionModuleService
], ],
} }
return await this.promotionService_.list( return this.listPromotions(activeFilters, config, sharedContext)
activeFilters,
config,
sharedContext
)
} }
@InjectTransactionManager() @InjectTransactionManager()
@@ -205,7 +185,7 @@ export default class PromotionModuleService
const campaignBudgetMap = new Map<string, UpdateCampaignBudgetDTO>() const campaignBudgetMap = new Map<string, UpdateCampaignBudgetDTO>()
const promotionCodeUsageMap = new Map<string, boolean>() const promotionCodeUsageMap = new Map<string, boolean>()
const existingPromotions = await this.listActivePromotions_( const existingPromotions = await this.listActivePromotions(
{ code: promotionCodes }, { code: promotionCodes },
{ relations: ["campaign", "campaign.budget"] }, { relations: ["campaign", "campaign.budget"] },
sharedContext sharedContext
@@ -220,10 +200,9 @@ export default class PromotionModuleService
} }
} }
const existingPromotionsMap = new Map< const existingPromotionsMap = new Map<string, PromotionTypes.PromotionDTO>(
string, existingPromotions.map((promotion) => [promotion.code!, promotion])
InferEntityType<typeof Promotion> )
>(existingPromotions.map((promotion) => [promotion.code!, promotion]))
for (let computedAction of computedActions) { for (let computedAction of computedActions) {
const promotion = existingPromotionsMap.get(computedAction.code) const promotion = existingPromotionsMap.get(computedAction.code)
@@ -314,7 +293,7 @@ export default class PromotionModuleService
const promotionCodeUsageMap = new Map<string, boolean>() const promotionCodeUsageMap = new Map<string, boolean>()
const campaignBudgetMap = new Map<string, UpdateCampaignBudgetDTO>() const campaignBudgetMap = new Map<string, UpdateCampaignBudgetDTO>()
const existingPromotions = await this.listActivePromotions_( const existingPromotions = await this.listActivePromotions(
{ {
code: computedActions code: computedActions
.map((computedAction) => computedAction.code) .map((computedAction) => computedAction.code)
@@ -333,10 +312,9 @@ export default class PromotionModuleService
} }
} }
const existingPromotionsMap = new Map< const existingPromotionsMap = new Map<string, PromotionTypes.PromotionDTO>(
string, existingPromotions.map((promotion) => [promotion.code!, promotion])
InferEntityType<typeof Promotion> )
>(existingPromotions.map((promotion) => [promotion.code!, promotion]))
for (let computedAction of computedActions) { for (let computedAction of computedActions) {
const promotion = existingPromotionsMap.get(computedAction.code) const promotion = existingPromotionsMap.get(computedAction.code)
@@ -455,18 +433,25 @@ export default class PromotionModuleService
const methodIdPromoValueMap = new Map<string, number>() const methodIdPromoValueMap = new Map<string, number>()
const promotionCodesToApply = [...promotionCodes, ...appliedCodes] const automaticPromotions = preventAutoPromotions
? []
: await this.listActivePromotions(
{ is_automatic: true },
{ select: ["code"] },
sharedContext
)
const automaticPromotionCodes = automaticPromotions.map((p) => p.code!)
const promotionCodesToApply = [
...promotionCodes,
...automaticPromotionCodes,
...appliedCodes,
]
const uniquePromotionCodes = Array.from(new Set(promotionCodesToApply)) const uniquePromotionCodes = Array.from(new Set(promotionCodesToApply))
const queryFilter = preventAutoPromotions
? { code: uniquePromotionCodes }
: {
$or: [{ code: uniquePromotionCodes }, { is_automatic: true }],
}
const promotions = await this.listActivePromotions( const promotions = await this.listActivePromotions(
queryFilter, { code: uniquePromotionCodes },
{ {
take: null, take: null,
order: { application_method: { value: "DESC" } }, order: { application_method: { value: "DESC" } },
@@ -489,9 +474,6 @@ export default class PromotionModuleService
promotions.map((promotion) => [promotion.code!, promotion]) promotions.map((promotion) => [promotion.code!, promotion])
) )
const automaticPromotions = promotions.filter((p) => p.is_automatic)
const automaticPromotionCodes = automaticPromotions.map((p) => p.code!)
for (const [code, adjustments] of codeAdjustmentMap.entries()) { for (const [code, adjustments] of codeAdjustmentMap.entries()) {
for (const adjustment of adjustments.items) { for (const adjustment of adjustments.items) {
computedActions.push({ computedActions.push({
@@ -646,9 +628,7 @@ export default class PromotionModuleService
sharedContext sharedContext
) )
return await this.baseRepository_.serialize< return Array.isArray(data) ? promotions : promotions[0]
PromotionTypes.PromotionDTO | PromotionTypes.PromotionDTO[]
>(Array.isArray(data) ? promotions : promotions[0])
} }
@InjectTransactionManager() @InjectTransactionManager()
@@ -907,7 +887,6 @@ export default class PromotionModuleService
): Promise<PromotionTypes.PromotionDTO[]> ): Promise<PromotionTypes.PromotionDTO[]>
@InjectManager() @InjectManager()
@EmitEvents()
// @ts-expect-error // @ts-expect-error
async updatePromotions( async updatePromotions(
data: data:
@@ -1061,7 +1040,7 @@ export default class PromotionModuleService
) { ) {
const promotionRuleIds = data.map((d) => d.id) const promotionRuleIds = data.map((d) => d.id)
const promotionRules = await this.promotionRuleService_.list( const promotionRules = await this.listPromotionRules(
{ id: promotionRuleIds }, { id: promotionRuleIds },
{ relations: ["values"] }, { relations: ["values"] },
sharedContext sharedContext
@@ -1118,7 +1097,6 @@ export default class PromotionModuleService
} }
@InjectManager() @InjectManager()
@EmitEvents()
async addPromotionRules( async addPromotionRules(
promotionId: string, promotionId: string,
rulesData: PromotionTypes.CreatePromotionRuleDTO[], rulesData: PromotionTypes.CreatePromotionRuleDTO[],
@@ -1240,8 +1218,6 @@ export default class PromotionModuleService
validatePromotionRuleAttributes(rulesData) validatePromotionRuleAttributes(rulesData)
const promotionRuleValuesDataToCreate: CreatePromotionRuleValueDTO[] = []
for (const ruleData of rulesData) { for (const ruleData of rulesData) {
const { values, ...rest } = ruleData const { values, ...rest } = ruleData
const promotionRuleData: CreatePromotionRuleDTO = { const promotionRuleData: CreatePromotionRuleDTO = {
@@ -1262,14 +1238,12 @@ export default class PromotionModuleService
promotion_rule: createdPromotionRule, promotion_rule: createdPromotionRule,
})) }))
promotionRuleValuesDataToCreate.push(...promotionRuleValuesData) await this.promotionRuleValueService_.create(
promotionRuleValuesData,
sharedContext
)
} }
await this.promotionRuleValueService_.create(
promotionRuleValuesDataToCreate,
sharedContext
)
return createdPromotionRules return createdPromotionRules
} }
@@ -1515,16 +1489,15 @@ export default class PromotionModuleService
const updateBudgetData: UpdateCampaignBudgetDTO[] = [] const updateBudgetData: UpdateCampaignBudgetDTO[] = []
const createBudgetData: CreateCampaignBudgetDTO[] = [] const createBudgetData: CreateCampaignBudgetDTO[] = []
const existingCampaigns = await this.campaignService_.list( const existingCampaigns = await this.listCampaigns(
{ id: campaignIds }, { id: campaignIds },
{ relations: ["budget"] }, { relations: ["budget"] },
sharedContext sharedContext
) )
const existingCampaignsMap = new Map< const existingCampaignsMap = new Map<string, PromotionTypes.CampaignDTO>(
string, existingCampaigns.map((campaign) => [campaign.id, campaign])
InferEntityType<typeof Campaign> )
>(existingCampaigns.map((campaign) => [campaign.id, campaign]))
for (const updateCampaignData of data) { for (const updateCampaignData of data) {
const { budget: budgetData, ...campaignData } = updateCampaignData const { budget: budgetData, ...campaignData } = updateCampaignData
@@ -1581,7 +1554,7 @@ export default class PromotionModuleService
@InjectManager() @InjectManager()
async addPromotionsToCampaign( async addPromotionsToCampaign(
data: PromotionTypes.AddPromotionsToCampaignDTO, data: PromotionTypes.AddPromotionsToCampaignDTO,
@MedusaContext() sharedContext: Context = {} sharedContext?: Context
): Promise<{ ids: string[] }> { ): Promise<{ ids: string[] }> {
const ids = await this.addPromotionsToCampaign_(data, sharedContext) const ids = await this.addPromotionsToCampaign_(data, sharedContext)
@@ -1648,7 +1621,7 @@ export default class PromotionModuleService
@InjectManager() @InjectManager()
async removePromotionsFromCampaign( async removePromotionsFromCampaign(
data: PromotionTypes.AddPromotionsToCampaignDTO, data: PromotionTypes.AddPromotionsToCampaignDTO,
@MedusaContext() sharedContext: Context = {} sharedContext?: Context
): Promise<{ ids: string[] }> { ): Promise<{ ids: string[] }> {
const ids = await this.removePromotionsFromCampaign_(data, sharedContext) const ids = await this.removePromotionsFromCampaign_(data, sharedContext)
@@ -21,10 +21,10 @@
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+7 -7
View File
@@ -25,10 +25,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -38,9 +38,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
}, },
"scripts": { "scripts": {
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -51,9 +51,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+7 -7
View File
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -54,9 +54,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -55,9 +55,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
@@ -38,10 +38,10 @@
"devDependencies": { "devDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "^1.7.28", "@swc/core": "^1.7.28",
"@swc/jest": "^0.2.36", "@swc/jest": "^0.2.36",
"jest": "^29.7.0", "jest": "^29.7.0",
@@ -56,9 +56,9 @@
}, },
"peerDependencies": { "peerDependencies": {
"@medusajs/framework": "2.10.1", "@medusajs/framework": "2.10.1",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1" "awilix": "^8.0.1"
} }
} }
+12 -12
View File
@@ -53,11 +53,11 @@
"@medusajs/types": "2.10.1", "@medusajs/types": "2.10.1",
"@medusajs/ui": "4.0.21", "@medusajs/ui": "4.0.21",
"@medusajs/ui-preset": "2.10.1", "@medusajs/ui-preset": "2.10.1",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"@swc/core": "1.5.7", "@swc/core": "1.5.7",
"@types/lodash": "^4.17.15", "@types/lodash": "^4.17.15",
"@types/node": "^20.0.0", "@types/node": "^20.0.0",
@@ -65,7 +65,7 @@
"@types/react-dom": "^18.2.25", "@types/react-dom": "^18.2.25",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"pg": "^8.16.3", "pg": "^8.13.0",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-router-dom": "6.20.1", "react-router-dom": "6.20.1",
@@ -82,14 +82,14 @@
"@medusajs/icons": "2.10.1", "@medusajs/icons": "2.10.1",
"@medusajs/test-utils": "2.10.1", "@medusajs/test-utils": "2.10.1",
"@medusajs/ui": "4.0.21", "@medusajs/ui": "4.0.21",
"@mikro-orm/cli": "6.5.2", "@mikro-orm/cli": "6.4.3",
"@mikro-orm/core": "6.5.2", "@mikro-orm/core": "6.4.3",
"@mikro-orm/knex": "6.5.2", "@mikro-orm/knex": "6.4.3",
"@mikro-orm/migrations": "6.5.2", "@mikro-orm/migrations": "6.4.3",
"@mikro-orm/postgresql": "6.5.2", "@mikro-orm/postgresql": "6.4.3",
"awilix": "^8.0.1", "awilix": "^8.0.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"pg": "^8.16.3", "pg": "^8.13.0",
"react-router-dom": "6.20.1" "react-router-dom": "6.20.1"
}, },
"engines": { "engines": {
+362 -371
View File
File diff suppressed because it is too large. Load diff