fix: Delete service zone (#7017)

This commit is contained in:
Oli Juhl
2024-04-08 20:24:59 +02:00
committed by GitHub
parent 0f05790ae4
commit c03216efbf
8 changed files with 89 additions and 14 deletions
@@ -6,6 +6,7 @@ import { ModuleRegistrationName } from "@medusajs/modules-sdk"
import {
AdminFulfillmentSetResponse,
AdminServiceZoneDeleteResponse,
AdminServiceZoneResponse,
IFulfillmentModuleService,
} from "@medusajs/types"
import {
@@ -20,6 +21,32 @@ import {
} from "../../../../../../types/routing"
import { AdminUpdateFulfillmentSetServiceZonesType } from "../../../validators"
export const GET = async (
req: AuthenticatedMedusaRequest,
res: MedusaResponse<AdminServiceZoneResponse>
) => {
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
const [service_zone] = await remoteQuery(
remoteQueryObjectFromString({
entryPoint: "service_zones",
variables: {
id: req.params.zone_id,
},
fields: req.remoteQueryConfig.fields,
})
)
if (!service_zone) {
throw new MedusaError(
MedusaError.Types.NOT_FOUND,
`Service zone with id ${req.params.zone_id} not found`
)
}
res.status(200).json({ service_zone })
}
export const POST = async (
req: MedusaRequest<AdminUpdateFulfillmentSetServiceZonesType>,
res: MedusaResponse<AdminFulfillmentSetResponse>
@@ -6,6 +6,7 @@ import * as QueryConfig from "./query-config"
import {
AdminCreateFulfillmentSetServiceZonesSchema,
AdminFulfillmentSetParams,
AdminServiceZonesParams,
AdminUpdateFulfillmentSetServiceZonesSchema,
} from "./validators"
@@ -42,4 +43,14 @@ export const adminFulfillmentSetsRoutesMiddlewares: MiddlewareRoute[] = [
),
],
},
{
method: ["GET"],
matcher: "/admin/fulfillment-sets/:id/service-zones/:zone_id",
middlewares: [
validateAndTransformQuery(
AdminServiceZonesParams,
QueryConfig.retrieveServiceZoneTransformQueryConfig
),
],
},
]
@@ -18,3 +18,16 @@ export const listTransformQueryConfig = {
...retrieveTransformQueryConfig,
isList: true,
}
export const retrieveServiceZoneTransformQueryConfig = {
defaults: [
"id",
"name",
"type",
"created_at",
"updated_at",
"deleted_at",
"*geo_zones",
],
isList: false,
}
@@ -7,6 +7,11 @@ import {
geoZoneZipSchema,
} from "./validators/geo-zone"
export const AdminServiceZonesParams = createFindParams()
export type AdminServiceZonesParamsType = z.infer<
typeof AdminServiceZonesParams
>
export const AdminCreateFulfillmentSetServiceZonesSchema = z
.object({
name: z.string(),