chore(): Reorganize modules (#7210)

**What**
Move all modules to the modules directory
This commit is contained in:
Adrien de Peretti
2024-05-02 17:33:34 +02:00
committed by GitHub
parent 7a351eef09
commit 4eae25e1ef
870 changed files with 91 additions and 62 deletions

View File

@@ -0,0 +1,2 @@
export { MikroOrmBaseRepository as BaseRepository } from "@medusajs/utils"
export { getLinkRepository } from "./link"

View File

@@ -0,0 +1,49 @@
import { Context, ModuleJoinerConfig } from "@medusajs/types"
import { EntitySchema } from "@mikro-orm/core"
import {
generateEntityId,
mikroOrmBaseRepositoryFactory,
} from "@medusajs/utils"
import { SqlEntityManager } from "@mikro-orm/postgresql"
export function getLinkRepository(model: EntitySchema) {
return class LinkRepository extends mikroOrmBaseRepositoryFactory(model) {
readonly joinerConfig_: ModuleJoinerConfig
constructor({ joinerConfig }: { joinerConfig: ModuleJoinerConfig }) {
// @ts-ignore
super(...arguments)
this.joinerConfig_ = joinerConfig
}
async delete(data: any, context: Context = {}): Promise<void> {
const filter = {}
for (const key in data) {
filter[key] = {
$in: Array.isArray(data[key]) ? data[key] : [data[key]],
}
}
const manager = this.getActiveManager<SqlEntityManager>(context)
await manager.nativeDelete(model, data, {})
}
async create(data: object[], context: Context = {}): Promise<object[]> {
const manager = this.getActiveManager<SqlEntityManager>(context)
const links = data.map((link: any) => {
link.id = generateEntityId(
link.id,
this.joinerConfig_.databaseConfig?.idPrefix ?? "link"
)
link.deleted_at = null
return manager.create(model, link)
})
await manager.upsertMany(model, links)
return links
}
}
}