fix(medusa, medusa-js): publishable api key bugs (#5926)

* fix: publishable api key bugs

* Create old-meals-run.md
This commit is contained in:
Oli Juhl
2023-12-20 12:57:13 +01:00
committed by GitHub
parent f81367f84a
commit f25ca30b3a
4 changed files with 46 additions and 45 deletions
+6
View File
@@ -0,0 +1,6 @@
---
"@medusajs/medusa": patch
"@medusajs/medusa-js": patch
---
fix(medusa, medusa-js): publishable api key bugs
@@ -1,20 +1,20 @@
import qs from "qs" import qs from "qs"
import { import {
AdminPublishableApiKeyDeleteRes,
AdminPublishableApiKeysRes,
GetPublishableApiKeysParams,
AdminPublishableApiKeysListRes,
AdminPostPublishableApiKeysReq,
AdminPostPublishableApiKeysPublishableApiKeyReq,
AdminPostPublishableApiKeySalesChannelsBatchReq,
AdminDeletePublishableApiKeySalesChannelsBatchReq, AdminDeletePublishableApiKeySalesChannelsBatchReq,
AdminPostPublishableApiKeySalesChannelsBatchReq,
AdminPostPublishableApiKeysPublishableApiKeyReq,
AdminPostPublishableApiKeysReq,
AdminPublishableApiKeyDeleteRes,
AdminPublishableApiKeysListRes,
AdminPublishableApiKeysRes,
GetPublishableApiKeySalesChannelsParams, GetPublishableApiKeySalesChannelsParams,
GetPublishableApiKeysParams,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { AdminPublishableApiKeysListSalesChannelsRes } from "@medusajs/medusa"
import { ResponsePromise } from "../../typings" import { ResponsePromise } from "../../typings"
import BaseResource from "../base" import BaseResource from "../base"
import { AdminPublishableApiKeysListSalesChannelsRes } from "@medusajs/medusa"
/** /**
* This class is used to send requests to [Admin Publishable API Key API Routes](https://docs.medusajs.com/api/admin#publishable-api-keys). All its method * This class is used to send requests to [Admin Publishable API Key API Routes](https://docs.medusajs.com/api/admin#publishable-api-keys). All its method
@@ -49,16 +49,10 @@ class AdminPublishableApiKeyResource extends BaseResource {
*/ */
retrieve( retrieve(
id: string, id: string,
query: Record<string, any> = {},
customHeaders: Record<string, any> = {} customHeaders: Record<string, any> = {}
): ResponsePromise<AdminPublishableApiKeysRes> { ): ResponsePromise<AdminPublishableApiKeysRes> {
let path = `/admin/publishable-api-keys/${id}` let path = `/admin/publishable-api-keys/${id}`
if (query) {
const queryString = qs.stringify(query)
path += `?${queryString}`
}
return this.client.request("GET", path, undefined, {}, customHeaders) return this.client.request("GET", path, undefined, {}, customHeaders)
} }
@@ -1,17 +1,16 @@
import { Router } from "express" import { Router } from "express"
import { PublishableApiKey, SalesChannel } from "../../../../models"
import { DeleteResponse, PaginatedResponse } from "../../../../types/common"
import middlewares, { import middlewares, {
transformBody, transformBody,
transformQuery, transformQuery,
} from "../../../middlewares" } from "../../../middlewares"
import { GetPublishableApiKeysParams } from "./list-publishable-api-keys"
import { PublishableApiKey, SalesChannel } from "../../../../models"
import { DeleteResponse, PaginatedResponse } from "../../../../types/common"
import { AdminPostPublishableApiKeysReq } from "./create-publishable-api-key"
import { AdminPostPublishableApiKeysPublishableApiKeyReq } from "./update-publishable-api-key"
import { AdminDeletePublishableApiKeySalesChannelsBatchReq } from "./delete-channels-batch"
import { AdminPostPublishableApiKeySalesChannelsBatchReq } from "./add-channels-batch" import { AdminPostPublishableApiKeySalesChannelsBatchReq } from "./add-channels-batch"
import { GetPublishableApiKeySalesChannelsParams } from "./list-publishable-api-key-sales-channels" import { AdminPostPublishableApiKeysReq } from "./create-publishable-api-key"
import { AdminDeletePublishableApiKeySalesChannelsBatchReq } from "./delete-channels-batch"
import { GetPublishableApiKeysParams } from "./list-publishable-api-keys"
import { AdminPostPublishableApiKeysPublishableApiKeyReq } from "./update-publishable-api-key"
const route = Router() const route = Router()
@@ -55,7 +54,6 @@ export default (app) => {
route.get( route.get(
"/:id/sales-channels", "/:id/sales-channels",
transformQuery(GetPublishableApiKeySalesChannelsParams, { isList: true }),
middlewares.wrap( middlewares.wrap(
require("./list-publishable-api-key-sales-channels").default require("./list-publishable-api-key-sales-channels").default
) )
@@ -158,8 +156,8 @@ export type AdminPublishableApiKeysListSalesChannelsRes = {
} }
export * from "./add-channels-batch" export * from "./add-channels-batch"
export * from "./delete-channels-batch"
export * from "./list-publishable-api-keys"
export * from "./list-publishable-api-key-sales-channels"
export * from "./create-publishable-api-key" export * from "./create-publishable-api-key"
export * from "./delete-channels-batch"
export * from "./list-publishable-api-key-sales-channels"
export * from "./list-publishable-api-keys"
export * from "./update-publishable-api-key" export * from "./update-publishable-api-key"
@@ -1,8 +1,8 @@
import { Request, Response } from "express"
import { IsOptional, IsString } from "class-validator" import { IsOptional, IsString } from "class-validator"
import { Request, Response } from "express"
import PublishableApiKeyService from "../../../../services/publishable-api-key" import PublishableApiKeyService from "../../../../services/publishable-api-key"
import { extendedFindParamsMixin } from "../../../../types/common" import { validator } from "../../../../utils/validator"
/** /**
* @oas [get] /admin/publishable-api-keys/{id}/sales-channels * @oas [get] /admin/publishable-api-keys/{id}/sales-channels
@@ -64,10 +64,13 @@ export default async (req: Request, res: Response) => {
"publishableApiKeyService" "publishableApiKeyService"
) )
const filterableFields = req.filterableFields const validated = await validator(
GetPublishableApiKeySalesChannelsParams,
req.query
)
const salesChannels = await publishableApiKeyService.listSalesChannels(id, { const salesChannels = await publishableApiKeyService.listSalesChannels(id, {
q: filterableFields.q as string | undefined, q: validated.q,
}) })
return res.json({ return res.json({
@@ -78,7 +81,7 @@ export default async (req: Request, res: Response) => {
/** /**
* Parameters used to filter the sales channels. * Parameters used to filter the sales channels.
*/ */
export class GetPublishableApiKeySalesChannelsParams extends extendedFindParamsMixin() { export class GetPublishableApiKeySalesChannelsParams {
/** /**
* Search term to search sales channels' names and descriptions. * Search term to search sales channels' names and descriptions.
*/ */