From 3da46723a0f99b92b18d85f3f8a2653f3a58d649 Mon Sep 17 00:00:00 2001 From: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com> Date: Thu, 16 Dec 2021 14:28:54 +0100 Subject: [PATCH] Feat: add variants to medusa client (#927) --- .../src/resources/admin/collections.ts | 3 ++- .../medusa-js/src/resources/admin/index.ts | 2 ++ .../medusa-js/src/resources/admin/invites.ts | 2 +- .../medusa-js/src/resources/admin/variants.ts | 21 +++++++++++++++++++ .../src/api/routes/admin/variants/index.ts | 2 ++ 5 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 packages/medusa-js/src/resources/admin/variants.ts diff --git a/packages/medusa-js/src/resources/admin/collections.ts b/packages/medusa-js/src/resources/admin/collections.ts index 10207f9023..d1103d7ca8 100644 --- a/packages/medusa-js/src/resources/admin/collections.ts +++ b/packages/medusa-js/src/resources/admin/collections.ts @@ -68,8 +68,9 @@ class AdminCollectionsResource extends BaseResource { if (query) { const queryString = Object.entries(query).map(([key, value]) => { - return typeof value !== "undefined" ? `${key}=${value}` : "" + return `${key}=${value}` }) + path = `/admin/collections?${queryString.join("&")}` } diff --git a/packages/medusa-js/src/resources/admin/index.ts b/packages/medusa-js/src/resources/admin/index.ts index a848ae3378..26245303c3 100644 --- a/packages/medusa-js/src/resources/admin/index.ts +++ b/packages/medusa-js/src/resources/admin/index.ts @@ -7,6 +7,7 @@ import AdminDraftOrdersResource from "./draft-orders" import AdminGiftCardsResource from "./gift-cards" import AdminInvitesResource from "./invites" import AdminNotesResource from "./notes" +import AdminVariantsResource from "./variants" import AdminSwapsResource from "./swaps" import AdminShippingProfilesResource from "./shipping-profiles" @@ -19,6 +20,7 @@ class Admin extends BaseResource { public giftCards = new AdminGiftCardsResource(this.client) public invites = new AdminInvitesResource(this.client) public notes = new AdminNotesResource(this.client) + public variants = new AdminVariantsResource(this.client) public swaps = new AdminSwapsResource(this.client) public shippingProfiles = new AdminShippingProfilesResource(this.client) } diff --git a/packages/medusa-js/src/resources/admin/invites.ts b/packages/medusa-js/src/resources/admin/invites.ts index 51b99bdf9d..6affbda680 100644 --- a/packages/medusa-js/src/resources/admin/invites.ts +++ b/packages/medusa-js/src/resources/admin/invites.ts @@ -33,5 +33,5 @@ class AdminInvitesResource extends BaseResource { return this.client.request("POST", path, {}) } } -1 + export default AdminInvitesResource diff --git a/packages/medusa-js/src/resources/admin/variants.ts b/packages/medusa-js/src/resources/admin/variants.ts new file mode 100644 index 0000000000..596d64c38c --- /dev/null +++ b/packages/medusa-js/src/resources/admin/variants.ts @@ -0,0 +1,21 @@ +import { AdminVariantsListRes, AdminGetVariantsParams } from "@medusajs/medusa" +import { ResponsePromise } from "../.." +import BaseResource from "../base" + +class AdminVariantsResource extends BaseResource { + list(query: AdminGetVariantsParams): ResponsePromise { + let path = `/admin/variants` + + if (query) { + const queryString = Object.entries(query).map(([key, value]) => { + return `${key}=${value}` + }) + + path = `/admin/variants?${queryString.join("&")}` + } + + return this.client.request("GET", path) + } +} + +export default AdminVariantsResource diff --git a/packages/medusa/src/api/routes/admin/variants/index.ts b/packages/medusa/src/api/routes/admin/variants/index.ts index d237722d5f..53df40b771 100644 --- a/packages/medusa/src/api/routes/admin/variants/index.ts +++ b/packages/medusa/src/api/routes/admin/variants/index.ts @@ -71,3 +71,5 @@ export const allowedAdminVariantRelations: (keyof ProductVariant)[] = [ export type AdminVariantsListRes = PaginatedResponse & { variants: ProductVariant[] } + +export * from "./list-variants"