feat: medusa-react admin hooks (#978)
* add: medusa admin hooks + tests * fix: remove unneeded props * fix: deps * fix: deps * fix: deps * fix: failing tests * fix: failing tests * fix: query key * add: yarn workspaces * fix: linting medusa-react * fix: add prepare script * fix: buildOptions * fix: useAdminShippingOptions query * fix: use qs instead for query params (#1019) * fix: formatting * debug: ci pipeline * debug: log node_modules structure * debug: use lerna bootstrap * debug: update node version * debug: print pkgs in workspace * debug: print pkgs in workspace * debug: print pkgs in workspace * debug: print pkgs in workspace * debug: add explicit build step * fix: jsdoc * debug: run build step * debug: fix build errors * debug: add build step to integration tests * fix: failing test * cleanup Co-authored-by: Sebastian Rindom <seb@medusajs.com> Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
This commit is contained in:
209 files changed
+27917
-2727
No files matched your search
@@ -6,6 +6,7 @@ import {
|
||||
AdminCollectionsListRes,
|
||||
AdminGetCollectionsParams,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -67,11 +68,8 @@ class AdminCollectionsResource extends BaseResource {
|
||||
let path = `/admin/collections`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return `${key}=${value}`
|
||||
})
|
||||
|
||||
path = `/admin/collections?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/collections?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -5,6 +5,7 @@ import {
|
||||
AdminPostCustomersReq,
|
||||
AdminPostCustomersCustomerReq,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../.."
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -50,11 +51,8 @@ class AdminCustomersResource extends BaseResource {
|
||||
let path = `/admin/customers`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return `${key}=${value}`
|
||||
})
|
||||
|
||||
path = `/admin/customers?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/customers?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
AdminPostDiscountsDiscountReq,
|
||||
AdminPostDiscountsReq,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -104,11 +105,8 @@ class AdminDiscountsResource extends BaseResource {
|
||||
let path = `/admin/discounts`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return `${key}=${value}`
|
||||
})
|
||||
|
||||
path = `/admin/discounts?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/discounts?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -8,6 +8,7 @@ import {
|
||||
AdminPostDraftOrdersDraftOrderRegisterPaymentRes,
|
||||
AdminPostDraftOrdersDraftOrderReq,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -69,11 +70,8 @@ class AdminDraftOrdersResource extends BaseResource {
|
||||
let path = `/admin/draft-orders`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return `${key}=${value}`
|
||||
})
|
||||
|
||||
path = `/admin/draft-orders?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/draft-orders?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
AdminPostGiftCardsGiftCardReq,
|
||||
AdminPostGiftCardsReq,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -54,11 +55,8 @@ class AdminGiftCardsResource extends BaseResource {
|
||||
let path = `/admin/gift-cards/`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return `${key}=${value}`
|
||||
})
|
||||
|
||||
path = `/admin/gift-cards?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/gift-cards?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
AdminPostNotesNoteReq,
|
||||
AdminPostNotesReq,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -37,11 +38,8 @@ class AdminNotesResource extends BaseResource {
|
||||
let path = `/admin/notes/`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return `${key}=${value}`
|
||||
})
|
||||
|
||||
path = `/admin/notes?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/notes?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -4,6 +4,7 @@ import {
|
||||
AdminNotificationsRes,
|
||||
AdminPostNotificationsNotificationResendReq,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../.."
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -14,11 +15,8 @@ class AdminNotificationsResource extends BaseResource {
|
||||
let path = `/admin/notifications`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return `${key}=${value}`
|
||||
})
|
||||
|
||||
path = `/admin/notifications?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/notifications?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -18,6 +18,7 @@ import {
|
||||
AdminPostOrdersOrderClaimsClaimShipmentsReq,
|
||||
AdminPostOrdersOrderClaimsClaimReq,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -44,10 +45,8 @@ class AdminOrdersResource extends BaseResource {
|
||||
let path = `/admin/orders`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return typeof value !== "undefined" ? `${key}=${value}` : ""
|
||||
})
|
||||
path = `/admin/orders?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/orders?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -13,8 +13,9 @@ import {
|
||||
AdminProductsListRes,
|
||||
AdminProductsListTagsRes,
|
||||
AdminProductsListTypesRes,
|
||||
AdminProductsRes
|
||||
AdminProductsRes,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -46,10 +47,8 @@ class AdminProductsResource extends BaseResource {
|
||||
let path = `/admin/products`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return typeof value !== "undefined" ? `${key}=${value}` : ""
|
||||
})
|
||||
path = `/admin/products?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/products?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -11,6 +11,7 @@ import {
|
||||
AdminPostRegionsRegionMetadata,
|
||||
AdminGetRegionsRegionFulfillmentOptionsRes,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -68,10 +69,8 @@ class AdminRegionsResource extends BaseResource {
|
||||
let path = `/admin/regions`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return typeof value !== "undefined" ? `${key}=${value}` : ""
|
||||
})
|
||||
path = `/admin/regions?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/regions?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -4,6 +4,7 @@ import {
|
||||
AdminReturnsListRes,
|
||||
AdminReturnsRes,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -37,10 +38,8 @@ class AdminReturnsResource extends BaseResource {
|
||||
let path = `/admin/returns/`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return typeof value !== "undefined" ? `${key}=${value}` : ""
|
||||
})
|
||||
path = `/admin/returns?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/returns?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
AdminShippingOptionsListRes,
|
||||
AdminGetShippingOptionsParams,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -67,10 +68,8 @@ class AdminShippingOptionsResource extends BaseResource {
|
||||
let path = `/admin/shipping-options`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return typeof value !== "undefined" ? `${key}=${value}` : ""
|
||||
})
|
||||
path = `/admin/shipping-options?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/shipping-options?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -3,6 +3,7 @@ import {
|
||||
AdminSwapsListRes,
|
||||
AdminGetSwapsParams,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -16,11 +17,8 @@ class AdminSwapsResource extends BaseResource {
|
||||
let path = `/admin/swaps/`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return `${key}=${value}`
|
||||
})
|
||||
|
||||
path = `/admin/swaps?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/swaps?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { AdminVariantsListRes, AdminGetVariantsParams } from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../.."
|
||||
import BaseResource from "../base"
|
||||
|
||||
@@ -7,11 +8,8 @@ class AdminVariantsResource extends BaseResource {
|
||||
let path = `/admin/variants`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return `${key}=${value}`
|
||||
})
|
||||
|
||||
path = `/admin/variants?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/variants?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -3,6 +3,7 @@ import {
|
||||
StoreCollectionsListRes,
|
||||
StoreGetCollectionsParams,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../typings"
|
||||
import BaseResource from "./base"
|
||||
|
||||
@@ -28,11 +29,8 @@ class CollectionsResource extends BaseResource {
|
||||
let path = `/store/collections`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return `${key}=${value}`
|
||||
})
|
||||
|
||||
path = `/store/collections?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/store/collections?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
StorePostCustomersCustomerReq,
|
||||
StorePostCustomersReq,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../typings"
|
||||
import AddressesResource from "./addresses"
|
||||
import BaseResource from "./base"
|
||||
@@ -56,18 +57,9 @@ class CustomerResource extends BaseResource {
|
||||
): ResponsePromise<StoreCustomersListOrdersRes> {
|
||||
let path = `/store/customers/me/orders`
|
||||
if (params) {
|
||||
let query: string | undefined
|
||||
|
||||
for (const key of Object.keys(params)) {
|
||||
if (query) {
|
||||
query += `&${key}=${params[key]}`
|
||||
} else {
|
||||
query = `?${key}=${params[key]}`
|
||||
}
|
||||
}
|
||||
|
||||
const query = qs.stringify(params)
|
||||
if (query) {
|
||||
path += query
|
||||
path += `?${query}`
|
||||
}
|
||||
}
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { StoreGetOrdersParams, StoreOrdersRes } from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../typings"
|
||||
import BaseResource from "./base"
|
||||
|
||||
@@ -31,15 +32,8 @@ class OrdersResource extends BaseResource {
|
||||
lookupOrder(payload: StoreGetOrdersParams): ResponsePromise<StoreOrdersRes> {
|
||||
let path = `/store/orders?`
|
||||
|
||||
const queryString = Object.entries(payload).map(([key, value]) => {
|
||||
let val = value as string
|
||||
if (Array.isArray(value)) {
|
||||
val = value.join(",")
|
||||
}
|
||||
|
||||
return `${key}=${encodeURIComponent(val)}`
|
||||
})
|
||||
path = `/store/orders?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(payload)
|
||||
path = `/store/orders?${queryString}`
|
||||
|
||||
return this.client.request("GET", path, payload)
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import {
|
||||
StoreVariantsListRes,
|
||||
StoreVariantsRes,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../typings"
|
||||
import BaseResource from "./base"
|
||||
|
||||
@@ -23,20 +24,13 @@ class ProductVariantsResource extends BaseResource {
|
||||
* @return {ResponsePromise<StoreVariantsListRes>}
|
||||
*/
|
||||
list(query?: StoreGetVariantsParams): ResponsePromise<StoreVariantsListRes> {
|
||||
const path = `/store/variants`
|
||||
let path = `/store/variants`
|
||||
if (query) {
|
||||
const queryString = qs.stringify(query)
|
||||
path += `?${queryString}`
|
||||
}
|
||||
|
||||
const search = Object.entries(query || {}).map(([key, value]) => {
|
||||
if (Array.isArray(value)) {
|
||||
return `${key}=${value.join(",")}`
|
||||
}
|
||||
|
||||
return `${key}=${value}`
|
||||
})
|
||||
|
||||
return this.client.request(
|
||||
"GET",
|
||||
`${path}${search.length > 0 && `?${search.join("&")}`}`
|
||||
)
|
||||
return this.client.request("GET", path)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import {
|
||||
StoreProductsListRes,
|
||||
StoreProductsRes,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../typings"
|
||||
import BaseResource from "./base"
|
||||
import ProductVariantsResource from "./product-variants"
|
||||
@@ -43,11 +44,8 @@ class ProductsResource extends BaseResource {
|
||||
let path = `/store/products`
|
||||
|
||||
if (query) {
|
||||
const queryString = Object.entries(query).map(([key, value]) => {
|
||||
return `${key}=${value}`
|
||||
})
|
||||
|
||||
path = `/store/products?${queryString.join("&")}`
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/store/products?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
|
||||
@@ -2,6 +2,7 @@ import {
|
||||
StoreGetShippingOptionsParams,
|
||||
StoreShippingOptionsListRes,
|
||||
} from "@medusajs/medusa"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../typings"
|
||||
import BaseResource from "./base"
|
||||
|
||||
@@ -11,7 +12,9 @@ class ShippingOptionsResource extends BaseResource {
|
||||
* @param {string} cart_id
|
||||
* @return {ResponsePromise<StoreShippingOptionsListRes>}
|
||||
*/
|
||||
listCartOptions(cart_id: string): ResponsePromise<StoreShippingOptionsListRes> {
|
||||
listCartOptions(
|
||||
cart_id: string
|
||||
): ResponsePromise<StoreShippingOptionsListRes> {
|
||||
const path = `/store/shipping-options/${cart_id}`
|
||||
return this.client.request("GET", path)
|
||||
}
|
||||
@@ -26,16 +29,10 @@ class ShippingOptionsResource extends BaseResource {
|
||||
): ResponsePromise<StoreShippingOptionsListRes> {
|
||||
let path = `/store/shipping-options`
|
||||
|
||||
const queryString = Object.entries(query || {}).map(([key, value]) => {
|
||||
let val = value
|
||||
if (Array.isArray(value)) {
|
||||
val = value.join(",")
|
||||
}
|
||||
|
||||
return `${key}=${val}`
|
||||
})
|
||||
|
||||
path = `/store/shipping-options?${queryString.join("&")}`
|
||||
if (query) {
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/store/shipping-options?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user