chore(): Upgrade mikro orm (#13390)
* chore(): Upgrade mikro orm * handle 'null' value for big number props * 6.5.2 * remove only * fix pricing module rule value * switch select in strategy for balances * revert to select in strategy for order module * fix defining DML ManyToOne * fix define relationship * test fix * more fixes * change order strategy to balanced * change order strategy to balanced * prevent unnecessary manager fork * revert generated www changes * remove unnecessary changes * Create real-cobras-deny.md * address feedback --------- Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
fc4d5f0ac9
commit
a095245d71
23
.changeset/real-cobras-deny.md
Normal file
23
.changeset/real-cobras-deny.md
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
"@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
|
||||
@@ -84,7 +84,7 @@
|
||||
"resolutions": {
|
||||
"@redocly/cli/react": "^17.0.1",
|
||||
"@redocly/cli/react-dom": "^17.0.1",
|
||||
"pg": "8.11.3",
|
||||
"pg": "8.16.3",
|
||||
"@changesets/assemble-release-plan@^6.0.0": "patch:@changesets/assemble-release-plan@npm:^6.0.0#.yarn/patches/changesets.patch"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"node-fetch": "^3.3.1",
|
||||
"open": "^9.1.0",
|
||||
"ora": "^6.3.0",
|
||||
"pg": "^8.11.3",
|
||||
"pg": "^8.16.3",
|
||||
"slugify": "^1.6.6",
|
||||
"uuid": "^9.0.0",
|
||||
"validator": "^13.9.0",
|
||||
|
||||
@@ -32,16 +32,16 @@
|
||||
"author": "Sebastian Rindom",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"@types/yargs": "^15.0.15",
|
||||
"awilix": "^8.0.1",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"pg": "^8.16.3",
|
||||
"rimraf": "^5.0.1",
|
||||
"typescript": "^5.6.2"
|
||||
},
|
||||
@@ -62,7 +62,7 @@
|
||||
"is-valid-path": "^0.1.1",
|
||||
"meant": "^1.0.3",
|
||||
"ora": "^5.4.1",
|
||||
"pg": "^8.11.3",
|
||||
"pg": "^8.16.3",
|
||||
"pg-god": "^1.0.12",
|
||||
"prompts": "^2.4.2",
|
||||
"resolve-cwd": "^3.0.0",
|
||||
@@ -72,12 +72,12 @@
|
||||
"yargs": "^15.3.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1",
|
||||
"pg": "^8.13.0"
|
||||
"pg": "^8.16.3"
|
||||
},
|
||||
"gitHead": "81a7ff73d012fda722f6e9ef0bd9ba0232d37808"
|
||||
}
|
||||
|
||||
@@ -27,16 +27,16 @@
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"awilix": "^8.0.1",
|
||||
"expect-type": "^0.20.0",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"pg": "^8.16.3",
|
||||
"rimraf": "^5.0.1",
|
||||
"typescript": "^5.6.2"
|
||||
},
|
||||
|
||||
@@ -56,10 +56,10 @@
|
||||
"devDependencies": {
|
||||
"@aws-sdk/client-dynamodb": "^3.218.0",
|
||||
"@medusajs/cli": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"@types/cors": "^2.8.17",
|
||||
@@ -68,7 +68,7 @@
|
||||
"connect-dynamodb": "^3.0.5",
|
||||
"ioredis": "^5.4.1",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"pg": "^8.16.3",
|
||||
"rimraf": "^3.0.2",
|
||||
"supertest": "^4.0.2",
|
||||
"typescript": "^5.6.2",
|
||||
@@ -103,15 +103,15 @@
|
||||
"peerDependencies": {
|
||||
"@aws-sdk/client-dynamodb": "^3.218.0",
|
||||
"@medusajs/cli": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1",
|
||||
"connect-dynamodb": "^3.0.5",
|
||||
"ioredis": "^5.4.1",
|
||||
"pg": "^8.13.0",
|
||||
"pg": "^8.16.3",
|
||||
"vite": "^5.4.14"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
|
||||
@@ -31,16 +31,16 @@
|
||||
"watch": "tsc --build --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"awilix": "^8.0.1",
|
||||
"cross-env": "^5.2.1",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"pg": "^8.16.3",
|
||||
"rimraf": "^5.0.1",
|
||||
"typescript": "^5.6.2"
|
||||
},
|
||||
@@ -50,12 +50,12 @@
|
||||
"@medusajs/utils": "2.10.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1",
|
||||
"express": "^4.21.0",
|
||||
"pg": "^8.13.0"
|
||||
"pg": "^8.16.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ export function toRemoteQuery<const TEntity extends string>(
|
||||
pagination?: Partial<RemoteQueryInput<TEntity>["pagination"]>
|
||||
context?: Record<string, any>
|
||||
withDeleted?: boolean
|
||||
strategy?: "joined" | "select-in"
|
||||
strategy?: "joined" | "select-in" | "balanced"
|
||||
},
|
||||
entitiesMap: Map<string, any>
|
||||
): RemoteQueryGraph<TEntity> {
|
||||
|
||||
@@ -26,15 +26,15 @@
|
||||
"author": "Medusa",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"awilix": "^8.0.1",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"pg": "^8.16.3",
|
||||
"rimraf": "^5.0.1",
|
||||
"typescript": "^5.6.2"
|
||||
},
|
||||
@@ -44,13 +44,13 @@
|
||||
"ulid": "^2.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1",
|
||||
"express": "^4.21.0",
|
||||
"pg": "^8.13.0"
|
||||
"pg": "^8.16.3"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rimraf dist && tsc --build",
|
||||
|
||||
@@ -55,7 +55,7 @@ export interface OptionsQuery<T> {
|
||||
/**
|
||||
* Load strategy (e.g for mikro orm it accept select-in or joined)
|
||||
*/
|
||||
strategy?: "select-in" | "joined" | (string & {})
|
||||
strategy?: "select-in" | "joined" | "balanced" | (string & {})
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -74,7 +74,7 @@ export type RemoteQueryInput<TEntry extends string> =
|
||||
/**
|
||||
* Strategy will be send to the entry module called method
|
||||
*/
|
||||
strategy?: "joined" | "select-in"
|
||||
strategy?: "joined" | "select-in" | "balanced"
|
||||
}
|
||||
: {
|
||||
/**
|
||||
@@ -119,7 +119,7 @@ export type RemoteQueryInput<TEntry extends string> =
|
||||
/**
|
||||
* Strategy will be send to the entry module called method
|
||||
*/
|
||||
strategy?: "joined" | "select-in"
|
||||
strategy?: "joined" | "select-in" | "balanced"
|
||||
}
|
||||
|
||||
export type RemoteQueryGraph<TEntry extends string> = {
|
||||
|
||||
@@ -26,10 +26,10 @@
|
||||
"author": "Medusa",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"@types/express": "^4.17.21",
|
||||
@@ -37,7 +37,7 @@
|
||||
"expect-type": "^0.20.0",
|
||||
"express": "^4.21.0",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"pg": "^8.16.3",
|
||||
"pg-god": "^1.0.12",
|
||||
"rimraf": "^5.0.1",
|
||||
"typescript": "^5.6.2"
|
||||
@@ -60,13 +60,13 @@
|
||||
"zod": "3.25.76"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1",
|
||||
"express": "^4.21.0",
|
||||
"pg": "^8.13.0"
|
||||
"pg": "^8.16.3"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rimraf dist && tsc --build",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { BigNumberInput } from "@medusajs/types"
|
||||
import { Property } from "@mikro-orm/core"
|
||||
import { isDefined, isPresent, trimZeros } from "../../common"
|
||||
import { EntityProperty, Platform, Property, Type } from "@mikro-orm/core"
|
||||
import { isDefined, isObject, isPresent, trimZeros } from "../../common"
|
||||
import { BigNumber } from "../../totals/big-number"
|
||||
|
||||
export function MikroOrmBigNumberProperty(
|
||||
@@ -24,6 +24,11 @@ export function MikroOrmBigNumberProperty(
|
||||
return value
|
||||
},
|
||||
set(value: BigNumberInput) {
|
||||
// convert 'null' to null
|
||||
if (value === "null") {
|
||||
value = null as unknown as BigNumberInput
|
||||
}
|
||||
|
||||
if (options?.nullable && !isPresent(value)) {
|
||||
this.__helper.__data[columnName] = null
|
||||
this.__helper.__data[rawColumnName] = null
|
||||
@@ -89,7 +94,7 @@ export function MikroOrmBigNumberProperty(
|
||||
})
|
||||
|
||||
Property({
|
||||
type: "any",
|
||||
type: BigNumberNumeric,
|
||||
columnType: "numeric",
|
||||
trackChanges: false,
|
||||
runtimeType: "any",
|
||||
@@ -97,3 +102,43 @@ export function MikroOrmBigNumberProperty(
|
||||
})(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,11 +64,9 @@ export class MikroOrmBase {
|
||||
transaction?: TManager
|
||||
} = {}
|
||||
): Promise<any> {
|
||||
const freshManager = this.getFreshManager
|
||||
? this.getFreshManager()
|
||||
: this.manager_
|
||||
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
|
||||
|
||||
return await transactionWrapper(freshManager, task, options).catch(
|
||||
return await transactionWrapper(this.manager_, task, options).catch(
|
||||
dbErrorMapper
|
||||
)
|
||||
}
|
||||
@@ -467,11 +465,7 @@ export function mikroOrmBaseRepositoryFactory<const T extends object>(
|
||||
if (!("strategy" in findOptions_.options)) {
|
||||
if (findOptions_.options.limit != null || findOptions_.options.offset) {
|
||||
Object.assign(findOptions_.options, {
|
||||
strategy: LoadStrategy.SELECT_IN,
|
||||
})
|
||||
} else {
|
||||
Object.assign(findOptions_.options, {
|
||||
strategy: LoadStrategy.JOINED,
|
||||
strategy: LoadStrategy.BALANCED,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -162,7 +162,7 @@ describe("Entity builder", () => {
|
||||
kind: "scalar",
|
||||
setter: true,
|
||||
trackChanges: false,
|
||||
type: "any",
|
||||
type: expect.any(Function),
|
||||
runtimeType: "any",
|
||||
},
|
||||
raw_spend_limit: {
|
||||
@@ -306,7 +306,7 @@ describe("Entity builder", () => {
|
||||
kind: "scalar",
|
||||
setter: true,
|
||||
trackChanges: false,
|
||||
type: "any",
|
||||
type: expect.any(Function),
|
||||
runtimeType: "any",
|
||||
},
|
||||
raw_spend_limit: {
|
||||
@@ -441,7 +441,7 @@ describe("Entity builder", () => {
|
||||
kind: "scalar",
|
||||
setter: true,
|
||||
trackChanges: false,
|
||||
type: "any",
|
||||
type: expect.any(Function),
|
||||
runtimeType: "any",
|
||||
},
|
||||
raw_spend_limit: {
|
||||
@@ -555,7 +555,7 @@ describe("Entity builder", () => {
|
||||
kind: "scalar",
|
||||
setter: true,
|
||||
trackChanges: false,
|
||||
type: "any",
|
||||
type: expect.any(Function),
|
||||
runtimeType: "any",
|
||||
},
|
||||
raw_spend_limit: {
|
||||
@@ -701,7 +701,7 @@ describe("Entity builder", () => {
|
||||
kind: "scalar",
|
||||
setter: true,
|
||||
trackChanges: false,
|
||||
type: "any",
|
||||
type: expect.any(Function),
|
||||
runtimeType: "any",
|
||||
},
|
||||
raw_spend_limit: {
|
||||
@@ -858,7 +858,7 @@ describe("Entity builder", () => {
|
||||
kind: "scalar",
|
||||
setter: true,
|
||||
trackChanges: false,
|
||||
type: "any",
|
||||
type: expect.any(Function),
|
||||
runtimeType: "any",
|
||||
},
|
||||
created_at: {
|
||||
@@ -3916,6 +3916,7 @@ describe("Entity builder", () => {
|
||||
type: "string",
|
||||
},
|
||||
group: {
|
||||
defaultRaw: "",
|
||||
entity: "Group",
|
||||
fieldName: "group_id",
|
||||
name: "group",
|
||||
@@ -4536,6 +4537,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
user: {
|
||||
defaultRaw: "",
|
||||
entity: "User",
|
||||
fieldName: "user_id",
|
||||
name: "user",
|
||||
@@ -5147,6 +5149,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
user: {
|
||||
defaultRaw: "",
|
||||
name: "user",
|
||||
kind: "m:1",
|
||||
entity: "User",
|
||||
@@ -5336,6 +5339,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
user: {
|
||||
defaultRaw: "",
|
||||
name: "user",
|
||||
kind: "m:1",
|
||||
fieldName: "user_id",
|
||||
@@ -5884,6 +5888,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
parent: {
|
||||
defaultRaw: "",
|
||||
name: "parent",
|
||||
fieldName: "parent_id",
|
||||
kind: "m:1",
|
||||
@@ -6135,6 +6140,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
teams: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "teams",
|
||||
entity: "Team",
|
||||
@@ -6204,6 +6210,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
users: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "users",
|
||||
inversedBy: "teams",
|
||||
@@ -6316,6 +6323,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
teams: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "teams",
|
||||
entity: "Team",
|
||||
@@ -6385,6 +6393,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
users: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "users",
|
||||
entity: "User",
|
||||
@@ -6611,6 +6620,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
teams: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "teams",
|
||||
entity: "Team",
|
||||
@@ -6680,6 +6690,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
users: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "users",
|
||||
entity: "User",
|
||||
@@ -6792,6 +6803,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
teams: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "teams",
|
||||
entity: "Team",
|
||||
@@ -6861,6 +6873,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
users: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "users",
|
||||
entity: "User",
|
||||
@@ -6991,6 +7004,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
teams: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "teams",
|
||||
entity: "Team",
|
||||
@@ -6999,6 +7013,7 @@ describe("Entity builder", () => {
|
||||
mappedBy: "users",
|
||||
},
|
||||
activeTeams: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "activeTeams",
|
||||
entity: "Team",
|
||||
@@ -7068,6 +7083,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
users: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "users",
|
||||
entity: "User",
|
||||
@@ -7076,6 +7092,7 @@ describe("Entity builder", () => {
|
||||
inversedBy: "teams",
|
||||
},
|
||||
activeTeamsUsers: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "activeTeamsUsers",
|
||||
entity: "User",
|
||||
@@ -7191,6 +7208,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
teams: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "teams",
|
||||
entity: "Team",
|
||||
@@ -7261,6 +7279,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
users: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "users",
|
||||
entity: "User",
|
||||
@@ -7349,6 +7368,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
teams: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "teams",
|
||||
entity: "TeamSquad",
|
||||
@@ -7418,6 +7438,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
users: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "users",
|
||||
entity: "RandomUser",
|
||||
@@ -7533,6 +7554,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
teams: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "teams",
|
||||
entity: "Team",
|
||||
@@ -7602,6 +7624,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
users: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "users",
|
||||
owner: false,
|
||||
@@ -7811,6 +7834,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
users: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "users",
|
||||
entity: "User",
|
||||
@@ -7880,6 +7904,7 @@ describe("Entity builder", () => {
|
||||
setter: false,
|
||||
},
|
||||
teams: {
|
||||
defaultRaw: "",
|
||||
kind: "m:n",
|
||||
name: "teams",
|
||||
entity: "Team",
|
||||
|
||||
@@ -6,7 +6,7 @@ import type {
|
||||
Infer,
|
||||
PropertyType,
|
||||
} from "@medusajs/types"
|
||||
import { Entity, Filter } from "@mikro-orm/core"
|
||||
import { Entity, Filter, MetadataStorage } from "@mikro-orm/core"
|
||||
|
||||
import {
|
||||
mikroOrmFreeTextSearchFilterOptionsFactory,
|
||||
@@ -116,12 +116,16 @@ function createMikrORMEntity() {
|
||||
Filter(mikroOrmFreeTextSearchFilterOptionsFactory(modelName))(
|
||||
MikroORMEntity
|
||||
)
|
||||
const RegisteredEntity = Entity({ tableName })(
|
||||
Filter(mikroOrmSoftDeletableFilterOptions)(MikroORMEntity)
|
||||
) as Infer<T>
|
||||
|
||||
ENTITIES[modelName] = RegisteredEntity
|
||||
return RegisteredEntity
|
||||
Entity({ tableName })(
|
||||
Filter(mikroOrmSoftDeletableFilterOptions)(MikroORMEntity)
|
||||
) as any
|
||||
|
||||
const entityMetadata =
|
||||
MetadataStorage.getMetadataFromDecorator(MikroORMEntity)
|
||||
|
||||
ENTITIES[modelName] = entityMetadata.class as Constructor<any>
|
||||
return entityMetadata.class as Infer<T>
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -294,6 +294,7 @@ export function defineHasManyRelationship(
|
||||
}
|
||||
|
||||
OneToMany(options)(MikroORMEntity.prototype, relationship.name)
|
||||
// MikroORMEntity.prototype[relationship.name] = new Collection(MikroORMEntity)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -466,6 +467,7 @@ export function defineBelongsToRelationship(
|
||||
|
||||
ManyToOne({
|
||||
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,
|
||||
persist: false,
|
||||
nullable: relationship.nullable,
|
||||
@@ -741,6 +743,7 @@ export function defineManyToManyRelationship(
|
||||
const manytoManyOptions = {
|
||||
owner: isOwner,
|
||||
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
|
||||
? {
|
||||
pivotTable: pgSchema
|
||||
|
||||
@@ -16,6 +16,7 @@ describe("Internal Module Service Factory", () => {
|
||||
[modelRepositoryName]: {
|
||||
transaction: (task) => task(),
|
||||
getFreshManager: jest.fn().mockReturnThis(),
|
||||
getActiveManager: jest.fn().mockReturnThis(),
|
||||
find: jest.fn(),
|
||||
findAndCount: jest.fn(),
|
||||
create: jest.fn(),
|
||||
@@ -28,6 +29,7 @@ describe("Internal Module Service Factory", () => {
|
||||
[`composite${Model.name}Repository`]: {
|
||||
transaction: (task) => task(),
|
||||
getFreshManager: jest.fn().mockReturnThis(),
|
||||
getActiveManager: jest.fn().mockReturnThis(),
|
||||
find: jest.fn(),
|
||||
findAndCount: jest.fn(),
|
||||
create: jest.fn(),
|
||||
|
||||
@@ -7,6 +7,7 @@ const baseRepoMock = {
|
||||
serialize: jest.fn().mockImplementation((item) => item),
|
||||
transaction: (task) => task("transactionManager"),
|
||||
getFreshManager: jest.fn().mockReturnThis(),
|
||||
getActiveManager: jest.fn().mockReturnThis(),
|
||||
}
|
||||
|
||||
const defaultContext = {
|
||||
|
||||
@@ -52,7 +52,8 @@ export function InjectManager(managerProperty?: string): MethodDecorator {
|
||||
}
|
||||
|
||||
copiedContext.manager =
|
||||
originalContext.manager ?? resourceWithManager.getFreshManager()
|
||||
originalContext.manager ??
|
||||
resourceWithManager.getActiveManager(originalContext)
|
||||
|
||||
if (originalContext?.transactionManager) {
|
||||
copiedContext.transactionManager = originalContext?.transactionManager
|
||||
|
||||
@@ -27,16 +27,16 @@
|
||||
"author": "Medusa",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"awilix": "^8.0.1",
|
||||
"expect-type": "^0.20.0",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"pg": "^8.16.3",
|
||||
"rimraf": "^5.0.1",
|
||||
"typescript": "^5.6.2",
|
||||
"zod": "3.25.76"
|
||||
@@ -49,13 +49,13 @@
|
||||
"ulid": "^2.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1",
|
||||
"express": "^4.21.0",
|
||||
"pg": "^8.13.0"
|
||||
"pg": "^8.16.3"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rimraf dist && tsc --build",
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"pg": "^8.16.3",
|
||||
"pg-god": "^1.0.12",
|
||||
"rimraf": "^3.0.2",
|
||||
"typescript": "^5.6.2"
|
||||
@@ -47,7 +47,7 @@
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/medusa": "2.10.1",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
|
||||
@@ -136,10 +136,10 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@opentelemetry/instrumentation-pg": "^0.52.0",
|
||||
"@opentelemetry/resources": "^2.0.0",
|
||||
"@opentelemetry/sdk-node": "^0.200.0",
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -48,9 +48,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,10 +39,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -52,9 +52,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,11 +38,11 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -52,10 +52,10 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,10 +25,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -38,9 +38,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -35,9 +35,9 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"cross-env": "^5.2.1",
|
||||
@@ -48,9 +48,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,10 +34,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -47,9 +47,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
"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",
|
||||
"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: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",
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,11 +20,7 @@ export function setFindMethods<T>(klass: Constructor<T>, entity: any) {
|
||||
if (!("strategy" in findOptions_.options)) {
|
||||
if (findOptions_.options.limit != null || findOptions_.options.offset) {
|
||||
Object.assign(findOptions_.options, {
|
||||
strategy: LoadStrategy.SELECT_IN,
|
||||
})
|
||||
} else {
|
||||
Object.assign(findOptions_.options, {
|
||||
strategy: LoadStrategy.JOINED,
|
||||
strategy: LoadStrategy.BALANCED,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -103,7 +99,7 @@ export function setFindMethods<T>(klass: Constructor<T>, entity: any) {
|
||||
|
||||
if (!("strategy" in findOptions_.options)) {
|
||||
Object.assign(findOptions_.options, {
|
||||
strategy: LoadStrategy.SELECT_IN,
|
||||
strategy: LoadStrategy.BALANCED,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -267,7 +267,7 @@ export default class PaymentModuleService
|
||||
)
|
||||
}
|
||||
|
||||
@InjectManager()
|
||||
@InjectTransactionManager()
|
||||
async updatePaymentCollections_(
|
||||
data: UpdatePaymentCollectionDTO[],
|
||||
@MedusaContext() sharedContext?: Context
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -885,7 +885,8 @@ export default class PricingModuleService
|
||||
return {
|
||||
attribute,
|
||||
operator: customRule.operator,
|
||||
value: customRule.value,
|
||||
// TODO: we throw above if value is not a number, but the model expect the value to be a string
|
||||
value: customRule.value.toString(),
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -864,7 +864,12 @@ moduleIntegrationTestRunner<IProductModuleService>({
|
||||
await service.upsertProducts([updateData])
|
||||
|
||||
const product = await service.retrieveProduct(productTwo.id, {
|
||||
relations: ["*"],
|
||||
relations: [
|
||||
"options",
|
||||
"options.values",
|
||||
"variants",
|
||||
"variants.options",
|
||||
],
|
||||
})
|
||||
|
||||
expect(product.options).toHaveLength(1)
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"faker": "^5.5.3",
|
||||
@@ -52,9 +52,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ export class ProductCategoryRepository extends DALUtils.MikroOrmBaseTreeReposito
|
||||
}
|
||||
|
||||
Object.assign(findOptions_.options, {
|
||||
strategy: LoadStrategy.SELECT_IN,
|
||||
strategy: LoadStrategy.BALANCED,
|
||||
})
|
||||
|
||||
return findOptions_
|
||||
|
||||
@@ -1822,6 +1822,21 @@ export default class ProductModuleService
|
||||
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) {
|
||||
productData.images = productData.images.map((image, index) =>
|
||||
(image as { rank?: number }).rank != null
|
||||
|
||||
@@ -12,7 +12,7 @@ export async function createCampaigns(
|
||||
campaignsData?: CreateCampaignDTO[]
|
||||
): Promise<Campaign[]> {
|
||||
if (!campaignsData) {
|
||||
const cp = JSON.parse(JSON.stringify(defaultCampaignsData))
|
||||
const cp = structuredClone(defaultCampaignsData)
|
||||
|
||||
const starts_at = new Date(TODAY)
|
||||
starts_at.setDate(starts_at.getDate() - 1)
|
||||
|
||||
@@ -39,10 +39,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -52,9 +52,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import {
|
||||
CampaignBudgetType,
|
||||
ComputedActions,
|
||||
deduplicate,
|
||||
EmitEvents,
|
||||
InjectManager,
|
||||
InjectTransactionManager,
|
||||
isDefined,
|
||||
@@ -139,11 +140,26 @@ export default class PromotionModuleService
|
||||
}
|
||||
|
||||
@InjectManager()
|
||||
listActivePromotions(
|
||||
async listActivePromotions(
|
||||
filters?: FilterablePromotionProps,
|
||||
config?: FindConfig<PromotionDTO>,
|
||||
sharedContext?: Context
|
||||
): 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
|
||||
const now = new Date()
|
||||
const activeFilters = {
|
||||
@@ -170,7 +186,11 @@ export default class PromotionModuleService
|
||||
],
|
||||
}
|
||||
|
||||
return this.listPromotions(activeFilters, config, sharedContext)
|
||||
return await this.promotionService_.list(
|
||||
activeFilters,
|
||||
config,
|
||||
sharedContext
|
||||
)
|
||||
}
|
||||
|
||||
@InjectTransactionManager()
|
||||
@@ -185,7 +205,7 @@ export default class PromotionModuleService
|
||||
const campaignBudgetMap = new Map<string, UpdateCampaignBudgetDTO>()
|
||||
const promotionCodeUsageMap = new Map<string, boolean>()
|
||||
|
||||
const existingPromotions = await this.listActivePromotions(
|
||||
const existingPromotions = await this.listActivePromotions_(
|
||||
{ code: promotionCodes },
|
||||
{ relations: ["campaign", "campaign.budget"] },
|
||||
sharedContext
|
||||
@@ -200,9 +220,10 @@ export default class PromotionModuleService
|
||||
}
|
||||
}
|
||||
|
||||
const existingPromotionsMap = new Map<string, PromotionTypes.PromotionDTO>(
|
||||
existingPromotions.map((promotion) => [promotion.code!, promotion])
|
||||
)
|
||||
const existingPromotionsMap = new Map<
|
||||
string,
|
||||
InferEntityType<typeof Promotion>
|
||||
>(existingPromotions.map((promotion) => [promotion.code!, promotion]))
|
||||
|
||||
for (let computedAction of computedActions) {
|
||||
const promotion = existingPromotionsMap.get(computedAction.code)
|
||||
@@ -293,7 +314,7 @@ export default class PromotionModuleService
|
||||
const promotionCodeUsageMap = new Map<string, boolean>()
|
||||
const campaignBudgetMap = new Map<string, UpdateCampaignBudgetDTO>()
|
||||
|
||||
const existingPromotions = await this.listActivePromotions(
|
||||
const existingPromotions = await this.listActivePromotions_(
|
||||
{
|
||||
code: computedActions
|
||||
.map((computedAction) => computedAction.code)
|
||||
@@ -312,9 +333,10 @@ export default class PromotionModuleService
|
||||
}
|
||||
}
|
||||
|
||||
const existingPromotionsMap = new Map<string, PromotionTypes.PromotionDTO>(
|
||||
existingPromotions.map((promotion) => [promotion.code!, promotion])
|
||||
)
|
||||
const existingPromotionsMap = new Map<
|
||||
string,
|
||||
InferEntityType<typeof Promotion>
|
||||
>(existingPromotions.map((promotion) => [promotion.code!, promotion]))
|
||||
|
||||
for (let computedAction of computedActions) {
|
||||
const promotion = existingPromotionsMap.get(computedAction.code)
|
||||
@@ -433,25 +455,18 @@ export default class PromotionModuleService
|
||||
|
||||
const methodIdPromoValueMap = new Map<string, number>()
|
||||
|
||||
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 promotionCodesToApply = [...promotionCodes, ...appliedCodes]
|
||||
|
||||
const uniquePromotionCodes = Array.from(new Set(promotionCodesToApply))
|
||||
|
||||
const queryFilter = preventAutoPromotions
|
||||
? { code: uniquePromotionCodes }
|
||||
: {
|
||||
$or: [{ code: uniquePromotionCodes }, { is_automatic: true }],
|
||||
}
|
||||
|
||||
const promotions = await this.listActivePromotions(
|
||||
{ code: uniquePromotionCodes },
|
||||
queryFilter,
|
||||
{
|
||||
take: null,
|
||||
order: { application_method: { value: "DESC" } },
|
||||
@@ -474,6 +489,9 @@ export default class PromotionModuleService
|
||||
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 adjustment of adjustments.items) {
|
||||
computedActions.push({
|
||||
@@ -628,7 +646,9 @@ export default class PromotionModuleService
|
||||
sharedContext
|
||||
)
|
||||
|
||||
return Array.isArray(data) ? promotions : promotions[0]
|
||||
return await this.baseRepository_.serialize<
|
||||
PromotionTypes.PromotionDTO | PromotionTypes.PromotionDTO[]
|
||||
>(Array.isArray(data) ? promotions : promotions[0])
|
||||
}
|
||||
|
||||
@InjectTransactionManager()
|
||||
@@ -887,6 +907,7 @@ export default class PromotionModuleService
|
||||
): Promise<PromotionTypes.PromotionDTO[]>
|
||||
|
||||
@InjectManager()
|
||||
@EmitEvents()
|
||||
// @ts-expect-error
|
||||
async updatePromotions(
|
||||
data:
|
||||
@@ -1040,7 +1061,7 @@ export default class PromotionModuleService
|
||||
) {
|
||||
const promotionRuleIds = data.map((d) => d.id)
|
||||
|
||||
const promotionRules = await this.listPromotionRules(
|
||||
const promotionRules = await this.promotionRuleService_.list(
|
||||
{ id: promotionRuleIds },
|
||||
{ relations: ["values"] },
|
||||
sharedContext
|
||||
@@ -1097,6 +1118,7 @@ export default class PromotionModuleService
|
||||
}
|
||||
|
||||
@InjectManager()
|
||||
@EmitEvents()
|
||||
async addPromotionRules(
|
||||
promotionId: string,
|
||||
rulesData: PromotionTypes.CreatePromotionRuleDTO[],
|
||||
@@ -1218,6 +1240,8 @@ export default class PromotionModuleService
|
||||
|
||||
validatePromotionRuleAttributes(rulesData)
|
||||
|
||||
const promotionRuleValuesDataToCreate: CreatePromotionRuleValueDTO[] = []
|
||||
|
||||
for (const ruleData of rulesData) {
|
||||
const { values, ...rest } = ruleData
|
||||
const promotionRuleData: CreatePromotionRuleDTO = {
|
||||
@@ -1238,12 +1262,14 @@ export default class PromotionModuleService
|
||||
promotion_rule: createdPromotionRule,
|
||||
}))
|
||||
|
||||
await this.promotionRuleValueService_.create(
|
||||
promotionRuleValuesData,
|
||||
sharedContext
|
||||
)
|
||||
promotionRuleValuesDataToCreate.push(...promotionRuleValuesData)
|
||||
}
|
||||
|
||||
await this.promotionRuleValueService_.create(
|
||||
promotionRuleValuesDataToCreate,
|
||||
sharedContext
|
||||
)
|
||||
|
||||
return createdPromotionRules
|
||||
}
|
||||
|
||||
@@ -1489,15 +1515,16 @@ export default class PromotionModuleService
|
||||
const updateBudgetData: UpdateCampaignBudgetDTO[] = []
|
||||
const createBudgetData: CreateCampaignBudgetDTO[] = []
|
||||
|
||||
const existingCampaigns = await this.listCampaigns(
|
||||
const existingCampaigns = await this.campaignService_.list(
|
||||
{ id: campaignIds },
|
||||
{ relations: ["budget"] },
|
||||
sharedContext
|
||||
)
|
||||
|
||||
const existingCampaignsMap = new Map<string, PromotionTypes.CampaignDTO>(
|
||||
existingCampaigns.map((campaign) => [campaign.id, campaign])
|
||||
)
|
||||
const existingCampaignsMap = new Map<
|
||||
string,
|
||||
InferEntityType<typeof Campaign>
|
||||
>(existingCampaigns.map((campaign) => [campaign.id, campaign]))
|
||||
|
||||
for (const updateCampaignData of data) {
|
||||
const { budget: budgetData, ...campaignData } = updateCampaignData
|
||||
@@ -1554,7 +1581,7 @@ export default class PromotionModuleService
|
||||
@InjectManager()
|
||||
async addPromotionsToCampaign(
|
||||
data: PromotionTypes.AddPromotionsToCampaignDTO,
|
||||
sharedContext?: Context
|
||||
@MedusaContext() sharedContext: Context = {}
|
||||
): Promise<{ ids: string[] }> {
|
||||
const ids = await this.addPromotionsToCampaign_(data, sharedContext)
|
||||
|
||||
@@ -1621,7 +1648,7 @@ export default class PromotionModuleService
|
||||
@InjectManager()
|
||||
async removePromotionsFromCampaign(
|
||||
data: PromotionTypes.AddPromotionsToCampaignDTO,
|
||||
sharedContext?: Context
|
||||
@MedusaContext() sharedContext: Context = {}
|
||||
): Promise<{ ids: string[] }> {
|
||||
const ids = await this.removePromotionsFromCampaign_(data, sharedContext)
|
||||
|
||||
|
||||
@@ -21,10 +21,10 @@
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,10 +25,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -38,9 +38,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -51,9 +51,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -54,9 +54,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -55,9 +55,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
"devDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"jest": "^29.7.0",
|
||||
@@ -56,9 +56,9 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "2.10.1",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,11 +53,11 @@
|
||||
"@medusajs/types": "2.10.1",
|
||||
"@medusajs/ui": "4.0.21",
|
||||
"@medusajs/ui-preset": "2.10.1",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"@swc/core": "1.5.7",
|
||||
"@types/lodash": "^4.17.15",
|
||||
"@types/node": "^20.0.0",
|
||||
@@ -65,7 +65,7 @@
|
||||
"@types/react-dom": "^18.2.25",
|
||||
"awilix": "^8.0.1",
|
||||
"lodash": "^4.17.21",
|
||||
"pg": "^8.13.0",
|
||||
"pg": "^8.16.3",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-router-dom": "6.20.1",
|
||||
@@ -82,14 +82,14 @@
|
||||
"@medusajs/icons": "2.10.1",
|
||||
"@medusajs/test-utils": "2.10.1",
|
||||
"@medusajs/ui": "4.0.21",
|
||||
"@mikro-orm/cli": "6.4.3",
|
||||
"@mikro-orm/core": "6.4.3",
|
||||
"@mikro-orm/knex": "6.4.3",
|
||||
"@mikro-orm/migrations": "6.4.3",
|
||||
"@mikro-orm/postgresql": "6.4.3",
|
||||
"@mikro-orm/cli": "6.5.2",
|
||||
"@mikro-orm/core": "6.5.2",
|
||||
"@mikro-orm/knex": "6.5.2",
|
||||
"@mikro-orm/migrations": "6.5.2",
|
||||
"@mikro-orm/postgresql": "6.5.2",
|
||||
"awilix": "^8.0.1",
|
||||
"lodash": "^4.17.21",
|
||||
"pg": "^8.13.0",
|
||||
"pg": "^8.16.3",
|
||||
"react-router-dom": "6.20.1"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
Reference in New Issue
Block a user