feat(core-flows,modules-sdk,types,medusa,link-modules): adds variant <> inventory item link endpoints (#7576)
what: - adds variant inventory link management endpoints: ``` Link inventory item to variant POST /products/:id/variants/:vid/inventory-items Update variant's inventory item link POST /products/:id/variants/:vid/inventory-items/:iid Unlink variant's inventory item DELETE /products/:id/variants/:vid/inventory-items/:iid ``` - a batch endpoint that does the above 3 across variants ``` POST /products/:id/variants/inventory-items ```
This commit is contained in:
@@ -1,11 +1,23 @@
|
||||
import { Constructor, ILinkModule, ModuleJoinerConfig } from "@medusajs/types"
|
||||
import { isDefined } from "@medusajs/utils"
|
||||
import { LinkModuleService } from "@services"
|
||||
|
||||
export function getModuleService(
|
||||
joinerConfig: ModuleJoinerConfig
|
||||
): Constructor<ILinkModule> {
|
||||
const joinerConfig_ = JSON.parse(JSON.stringify(joinerConfig))
|
||||
const databaseConfig = joinerConfig_.databaseConfig
|
||||
|
||||
delete joinerConfig_.databaseConfig
|
||||
|
||||
// If extraDataFields is not defined, pick the fields to populate and validate from the
|
||||
// database config if any fields are provided.
|
||||
if (!isDefined(joinerConfig_.extraDataFields)) {
|
||||
joinerConfig_.extraDataFields = Object.keys(
|
||||
databaseConfig.extraFields || {}
|
||||
)
|
||||
}
|
||||
|
||||
return class LinkService extends LinkModuleService<unknown> {
|
||||
override __joinerConfig(): ModuleJoinerConfig {
|
||||
return joinerConfig_ as ModuleJoinerConfig
|
||||
|
||||
Reference in New Issue
Block a user