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:
authored and GitHub committed 2022-02-02 17:10:56 +01:00
1 parent 24175025d1
commit 2e384842d5
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)
+3 -11
View File
@@ -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)
+3 -9
View File
@@ -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)
}
}
+3 -5
View File
@@ -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)
}