feat(medusa-js, medusa-react, medusa): Prepare API for admin implementations (#3110)

********What********
Add `joinSalesChannels util to stock locations

Add the following endpoints to medusa-react
- inventory items
    - mutations
        - update
        - delete
        - update location level
        - delete location level
        - create location level
    - queries
        - list inventory items
        - get inventory item
        - list location levels
- Stock locations
    - mutations
        - create stock location
        - update stock location
        - delete stock location
    - queries
        - list stock locations
        - get stock locatoin
- Variants
    - queries
        - get inventory
- Reservations
    - mutations
        - create reservation
        - update reservation
        - delete reservation
    - queries
        - list reservations
        - get reservation
- sales channels 
  - mutations
    - associate location with sc
    - remove location association

**Why**
- Update clients to reflect new api endpoints in the core with inventory modules

Co-authored-by: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com>
This commit is contained in:
Rares Stefan
2023-02-16 08:49:48 +00:00
committed by GitHub
co-authored by Philip Korsholm
parent 121b42acfe
commit 12d304307a
48 changed files with 1756 additions and 57 deletions
@@ -1,11 +1,9 @@
import { FulfillmentProvider, PaymentProvider, Store } from "../../../../models"
import {
FulfillmentProviderService,
PaymentProviderService,
StoreService,
} from "../../../../services"
import { FeatureFlagsResponse } from "../../../../types/feature-flags"
import { ModulesResponse } from "../../../../types/modules"
import { ExtendedStoreDTO } from "../../../../types/store"
import { FlagRouter } from "../../../../utils/flag-router"
import { ModulesHelper } from "../../../../utils/module-helper"
@@ -77,12 +75,7 @@ export default async (req, res) => {
const data = (await storeService.retrieve({
relations,
})) as Store & {
payment_providers: PaymentProvider[]
fulfillment_providers: FulfillmentProvider[]
feature_flags: FeatureFlagsResponse
modules: ModulesResponse
}
})) as ExtendedStoreDTO
data.feature_flags = featureFlagRouter.listFlags()
data.modules = modulesHelper.modules
@@ -1,6 +1,7 @@
import { Router } from "express"
import { PaymentProvider, Store, TaxProvider } from "./../../../../"
import { PaymentProvider, TaxProvider } from "./../../../../"
import middlewares from "../../../middlewares"
import { ExtendedStoreDTO } from "../../../../types/store"
const route = Router()
@@ -34,10 +35,10 @@ export default (app) => {
* type: object
* properties:
* store:
* $ref: "#/components/schemas/Store"
* $ref: "#/components/schemas/ExtendedStoreDTO"
*/
export type AdminStoresRes = {
store: Store
store: ExtendedStoreDTO
}
/**