feat(pricing, types, utils, medusa-sdk): Pricing Module Setup + Currency (#4860)
What: - Setups the skeleton for pricing module - Creates service/model/repository for currency model - Setups types - Setups DB - Moved some utils to a common place RESOLVES CORE-1477 RESOLVES CORE-1476
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
export * from "./mikro-orm/mikro-orm-create-connection"
|
||||
export * from "./mikro-orm/mikro-orm-repository"
|
||||
export * from "./mikro-orm/mikro-orm-soft-deletable-filter"
|
||||
export * from "./mikro-orm/utils"
|
||||
export * from "./repositories"
|
||||
export * from "./repository"
|
||||
export * from "./utils"
|
||||
export * from "./mikro-orm/utils"
|
||||
export * from "./mikro-orm/mikro-orm-create-connection"
|
||||
export * from "./mikro-orm/mikro-orm-soft-deletable-filter"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export * from "./load-custom-repositories"
|
||||
@@ -0,0 +1,35 @@
|
||||
import { Constructor, DAL } from "@medusajs/types"
|
||||
import { asClass } from "awilix"
|
||||
import { lowerCaseFirst } from "../../common"
|
||||
|
||||
/**
|
||||
* Load the repositories from the custom repositories object. If a repository is not
|
||||
* present in the custom repositories object, the default repository will be used.
|
||||
*
|
||||
* @param customRepositories
|
||||
* @param container
|
||||
*/
|
||||
export function loadCustomRepositories({
|
||||
defaultRepositories,
|
||||
customRepositories,
|
||||
container,
|
||||
}) {
|
||||
const customRepositoriesMap = new Map(Object.entries(customRepositories))
|
||||
|
||||
Object.entries(defaultRepositories).forEach(([key, defaultRepository]) => {
|
||||
let finalRepository = customRepositoriesMap.get(key)
|
||||
|
||||
if (
|
||||
!finalRepository ||
|
||||
!(finalRepository as Constructor<DAL.RepositoryService>).prototype.find
|
||||
) {
|
||||
finalRepository = defaultRepository
|
||||
}
|
||||
|
||||
container.register({
|
||||
[lowerCaseFirst(key)]: asClass(
|
||||
finalRepository as Constructor<DAL.RepositoryService>
|
||||
).singleton(),
|
||||
})
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user