chore(medusa,types): [13] Add request types to API routes (#8575)

This commit is contained in:
Shahed Nasser
2024-08-13 12:56:54 +03:00
committed by GitHub
parent 369d7b54d2
commit 5ff5159cee
17 changed files with 48 additions and 40 deletions

View File

@@ -10,4 +10,4 @@ export type AdminSalesChannelListResponse = PaginatedResponse<{
}>
export interface AdminSalesChannelDeleteResponse
extends DeleteResponse<"sales_channel"> {}
extends DeleteResponse<"sales-channel"> {}

View File

@@ -1,3 +1,4 @@
import { BatchMethodResponse } from "../../../common"
import { DeleteResponse, PaginatedResponse } from "../../common"
import { AdminShippingOption, AdminShippingOptionRule } from "./entities"
@@ -12,12 +13,4 @@ export type AdminShippingOptionListResponse = PaginatedResponse<{
export interface AdminShippingOptionDeleteResponse
extends DeleteResponse<"shipping_option"> {}
export interface AdminUpdateShippingOptionRulesResponse {
created: AdminShippingOptionRule[]
updated: AdminShippingOptionRule[]
deleted: {
ids: string[]
object: "shipping_option_rule"
deleted: boolean
}
}
export type AdminUpdateShippingOptionRulesResponse = BatchMethodResponse<AdminShippingOptionRule>

View File

@@ -4,12 +4,12 @@ import {
} from "../../../../../types/routing"
import { linkProductsToSalesChannelWorkflow } from "@medusajs/core-flows"
import { LinkMethodRequest } from "@medusajs/types"
import { HttpTypes, LinkMethodRequest } from "@medusajs/types"
import { refetchSalesChannel } from "../../helpers"
export const POST = async (
req: AuthenticatedMedusaRequest<LinkMethodRequest>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminSalesChannelResponse>
) => {
const { id } = req.params
const { add, remove } = req.validatedBody

View File

@@ -12,10 +12,11 @@ import {
AdminGetSalesChannelParamsType,
AdminUpdateSalesChannelType,
} from "../validators"
import { HttpTypes } from "@medusajs/types"
export const GET = async (
req: AuthenticatedMedusaRequest<AdminGetSalesChannelParamsType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminSalesChannelResponse>
) => {
const salesChannel = await refetchSalesChannel(
req.params.id,
@@ -35,7 +36,7 @@ export const GET = async (
export const POST = async (
req: AuthenticatedMedusaRequest<AdminUpdateSalesChannelType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminSalesChannelResponse>
) => {
await updateSalesChannelsWorkflow(req.scope).run({
input: {
@@ -54,7 +55,7 @@ export const POST = async (
export const DELETE = async (
req: AuthenticatedMedusaRequest,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminSalesChannelDeleteResponse>
) => {
const id = req.params.id

View File

@@ -12,10 +12,11 @@ import {
AdminCreateSalesChannelType,
AdminGetSalesChannelsParamsType,
} from "./validators"
import { HttpTypes } from "@medusajs/types"
export const GET = async (
req: AuthenticatedMedusaRequest<AdminGetSalesChannelsParamsType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminSalesChannelListResponse>
) => {
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
@@ -40,7 +41,7 @@ export const GET = async (
export const POST = async (
req: AuthenticatedMedusaRequest<AdminCreateSalesChannelType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminSalesChannelResponse>
) => {
const salesChannelsData = [req.validatedBody]

View File

@@ -2,7 +2,7 @@ import {
AuthenticatedMedusaRequest,
MedusaResponse,
} from "../../../../../../types/routing"
import { BatchMethodRequest } from "@medusajs/types"
import { BatchMethodRequest, HttpTypes } from "@medusajs/types"
import {
AdminCreateShippingOptionRuleType,
AdminUpdateShippingOptionRuleType,
@@ -17,7 +17,7 @@ export const POST = async (
AdminUpdateShippingOptionRuleType
>
>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminUpdateShippingOptionRulesResponse>
) => {
const id = req.params.id
const { result } = await batchShippingOptionRulesWorkflow(req.scope).run({
@@ -37,5 +37,9 @@ export const POST = async (
req.remoteQueryConfig.fields
)
res.status(200).json(batchResults)
res
.status(200)
.json(
batchResults as unknown as HttpTypes.AdminUpdateShippingOptionRulesResponse
)
}

View File

@@ -1,5 +1,5 @@
import { batchLinksWorkflow } from "@medusajs/core-flows"
import { LinkMethodRequest } from "@medusajs/types"
import { HttpTypes, LinkMethodRequest } from "@medusajs/types"
import { Modules } from "@medusajs/utils"
import {
@@ -19,7 +19,7 @@ const buildLinks = (id, fulfillmentProviderIds: string[]) => {
export const POST = async (
req: AuthenticatedMedusaRequest<LinkMethodRequest>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminStockLocationResponse>
) => {
const { id } = req.params
const { add = [], remove = [] } = req.validatedBody

View File

@@ -5,10 +5,11 @@ import {
} from "../../../../../types/routing"
import { refetchStockLocation } from "../../helpers"
import { AdminCreateStockLocationFulfillmentSetType } from "../../validators"
import { HttpTypes } from "@medusajs/types"
export const POST = async (
req: AuthenticatedMedusaRequest<AdminCreateStockLocationFulfillmentSetType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminStockLocationResponse>
) => {
await createLocationFulfillmentSetWorkflow(req.scope).run({
input: {

View File

@@ -13,10 +13,11 @@ import {
AdminGetStockLocationParamsType,
AdminUpdateStockLocationType,
} from "../validators"
import { HttpTypes } from "@medusajs/types"
export const POST = async (
req: AuthenticatedMedusaRequest<AdminUpdateStockLocationType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminStockLocationResponse>
) => {
const { id } = req.params
await updateStockLocationsWorkflow(req.scope).run({
@@ -39,7 +40,7 @@ export const POST = async (
export const GET = async (
req: AuthenticatedMedusaRequest<AdminGetStockLocationParamsType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminStockLocationResponse>
) => {
const { id } = req.params
@@ -61,7 +62,7 @@ export const GET = async (
export const DELETE = async (
req: AuthenticatedMedusaRequest,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminStockLocationDeleteResponse>
) => {
const { id } = req.params

View File

@@ -4,12 +4,12 @@ import {
} from "../../../../../types/routing"
import { linkSalesChannelsToStockLocationWorkflow } from "@medusajs/core-flows"
import { LinkMethodRequest } from "@medusajs/types"
import { HttpTypes, LinkMethodRequest } from "@medusajs/types"
import { refetchStockLocation } from "../../helpers"
export const POST = async (
req: AuthenticatedMedusaRequest<LinkMethodRequest>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminStockLocationResponse>
) => {
const { id } = req.params
const { add, remove } = req.validatedBody

View File

@@ -13,11 +13,12 @@ import {
AdminCreateStockLocationType,
AdminGetStockLocationsParamsType,
} from "./validators"
import { HttpTypes } from "@medusajs/types"
// Create stock location
export const POST = async (
req: AuthenticatedMedusaRequest<AdminCreateStockLocationType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminStockLocationResponse>
) => {
const { result } = await createStockLocationsWorkflow(req.scope).run({
input: { locations: [req.validatedBody] },
@@ -34,7 +35,7 @@ export const POST = async (
export const GET = async (
req: AuthenticatedMedusaRequest<AdminGetStockLocationsParamsType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminStockLocationListResponse>
) => {
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)

View File

@@ -9,10 +9,11 @@ import {
} from "../../../../types/routing"
import { AdminGetStoreParamsType, AdminUpdateStoreType } from "../validators"
import { refetchStore } from "../helpers"
import { HttpTypes } from "@medusajs/types"
export const GET = async (
req: AuthenticatedMedusaRequest<AdminGetStoreParamsType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminStoreResponse>
) => {
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
const variables = { id: req.params.id }
@@ -29,7 +30,7 @@ export const GET = async (
export const POST = async (
req: AuthenticatedMedusaRequest<AdminUpdateStoreType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminStoreResponse>
) => {
const { result } = await updateStoresWorkflow(req.scope).run({
input: {

View File

@@ -7,10 +7,11 @@ import {
MedusaResponse,
} from "../../../types/routing"
import { AdminGetStoresParamsType } from "./validators"
import { HttpTypes } from "@medusajs/types"
export const GET = async (
req: AuthenticatedMedusaRequest<AdminGetStoresParamsType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminStoreListResponse>
) => {
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)

View File

@@ -15,10 +15,11 @@ import {
AdminGetTaxRateParamsType,
AdminUpdateTaxRateType,
} from "../validators"
import { HttpTypes } from "@medusajs/types"
export const POST = async (
req: AuthenticatedMedusaRequest<AdminUpdateTaxRateType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminTaxRateResponse>
) => {
await updateTaxRatesWorkflow(req.scope).run({
input: {
@@ -37,7 +38,7 @@ export const POST = async (
export const GET = async (
req: AuthenticatedMedusaRequest<AdminGetTaxRateParamsType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminTaxRateResponse>
) => {
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
const variables = { id: req.params.id }
@@ -54,7 +55,7 @@ export const GET = async (
export const DELETE = async (
req: AuthenticatedMedusaRequest,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminTaxRateDeleteResponse>
) => {
const id = req.params.id
await deleteTaxRatesWorkflow(req.scope).run({

View File

@@ -4,10 +4,11 @@ import {
MedusaResponse,
} from "../../../../../../types/routing"
import { refetchTaxRate } from "../../../helpers"
import { DeleteResponse } from "@medusajs/types"
export const DELETE = async (
req: AuthenticatedMedusaRequest,
res: MedusaResponse
res: MedusaResponse<DeleteResponse<"tax_rate_rule">>
) => {
await deleteTaxRateRulesWorkflow(req.scope).run({
input: { ids: [req.params.rule_id] },

View File

@@ -5,10 +5,11 @@ import {
} from "../../../../../types/routing"
import { AdminCreateTaxRateRuleType } from "../../validators"
import { refetchTaxRate } from "../../helpers"
import { HttpTypes } from "@medusajs/types"
export const POST = async (
req: AuthenticatedMedusaRequest<AdminCreateTaxRateRuleType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminTaxRateResponse>
) => {
await createTaxRateRulesWorkflow(req.scope).run({
input: {

View File

@@ -12,10 +12,11 @@ import {
AdminCreateTaxRateType,
AdminGetTaxRatesParamsType,
} from "./validators"
import { HttpTypes } from "@medusajs/types"
export const POST = async (
req: AuthenticatedMedusaRequest<AdminCreateTaxRateType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminTaxRateResponse>
) => {
const { result } = await createTaxRatesWorkflow(req.scope).run({
input: [
@@ -36,7 +37,7 @@ export const POST = async (
export const GET = async (
req: AuthenticatedMedusaRequest<AdminGetTaxRatesParamsType>,
res: MedusaResponse
res: MedusaResponse<HttpTypes.AdminTaxRateListResponse>
) => {
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
const { rows: tax_rates, metadata } = await remoteQuery(