From fc439a32f1450903e272b5e048a58cfa76f3e166 Mon Sep 17 00:00:00 2001 From: Shahed Nasser Date: Tue, 13 Aug 2024 10:10:10 +0300 Subject: [PATCH] chore(medusa,types): [8] Add request types to API routes (#8565) --- packages/core/types/src/http/invite/admin.ts | 20 ------------------- .../types/src/http/invite/admin/entities.ts | 10 ++++++++++ .../core/types/src/http/invite/admin/index.ts | 3 +++ .../types/src/http/invite/admin/payloads.ts | 9 +++++++++ .../types/src/http/invite/admin/responses.ts | 17 ++++++++++++++++ .../api/admin/fulfillment-providers/route.ts | 3 ++- .../[id]/service-zones/[zone_id]/route.ts | 3 ++- .../[id]/service-zones/route.ts | 3 ++- .../admin/fulfillments/[id]/cancel/route.ts | 3 ++- .../admin/fulfillments/[id]/shipment/route.ts | 3 ++- .../src/api/admin/fulfillments/route.ts | 3 ++- .../location-levels/[location_id]/route.ts | 8 ++++++-- .../[id]/location-levels/batch/route.ts | 2 +- .../[id]/location-levels/route.ts | 5 +++-- .../api/admin/inventory-items/[id]/route.ts | 10 +++++++--- .../src/api/admin/inventory-items/route.ts | 5 +++-- .../api/admin/invites/[id]/resend/route.ts | 6 +++++- .../src/api/admin/invites/[id]/route.ts | 5 +++-- .../src/api/admin/invites/accept/route.ts | 4 ++-- .../medusa/src/api/admin/invites/route.ts | 5 +++-- 20 files changed, 84 insertions(+), 43 deletions(-) delete mode 100644 packages/core/types/src/http/invite/admin.ts create mode 100644 packages/core/types/src/http/invite/admin/entities.ts create mode 100644 packages/core/types/src/http/invite/admin/index.ts create mode 100644 packages/core/types/src/http/invite/admin/payloads.ts create mode 100644 packages/core/types/src/http/invite/admin/responses.ts diff --git a/packages/core/types/src/http/invite/admin.ts b/packages/core/types/src/http/invite/admin.ts deleted file mode 100644 index cd7da54c7d..0000000000 --- a/packages/core/types/src/http/invite/admin.ts +++ /dev/null @@ -1,20 +0,0 @@ -export type AdminAcceptInvite = { - first_name: string - last_name: string -} - -export type AdminCreateInvite = { - email: string - metadata?: Record -} - -export type AdminInviteResponse = { - id: string - email: string - accepted: boolean - token: string - expires_at?: Date - metadata?: Record - created_at?: Date - updated_at?: Date -} diff --git a/packages/core/types/src/http/invite/admin/entities.ts b/packages/core/types/src/http/invite/admin/entities.ts new file mode 100644 index 0000000000..73ef6a82cf --- /dev/null +++ b/packages/core/types/src/http/invite/admin/entities.ts @@ -0,0 +1,10 @@ +export interface AdminInvite { + id: string + email: string + accepted: boolean + token: string + expires_at?: Date + metadata?: Record + created_at?: Date + updated_at?: Date +} \ No newline at end of file diff --git a/packages/core/types/src/http/invite/admin/index.ts b/packages/core/types/src/http/invite/admin/index.ts new file mode 100644 index 0000000000..ba78c783ea --- /dev/null +++ b/packages/core/types/src/http/invite/admin/index.ts @@ -0,0 +1,3 @@ +export * from "./entities" +export * from "./payloads" +export * from "./responses" \ No newline at end of file diff --git a/packages/core/types/src/http/invite/admin/payloads.ts b/packages/core/types/src/http/invite/admin/payloads.ts new file mode 100644 index 0000000000..0c4ecda627 --- /dev/null +++ b/packages/core/types/src/http/invite/admin/payloads.ts @@ -0,0 +1,9 @@ +export type AdminAcceptInvite = { + first_name: string + last_name: string +} + +export type AdminCreateInvite = { + email: string + metadata?: Record +} \ No newline at end of file diff --git a/packages/core/types/src/http/invite/admin/responses.ts b/packages/core/types/src/http/invite/admin/responses.ts new file mode 100644 index 0000000000..d326abdaf9 --- /dev/null +++ b/packages/core/types/src/http/invite/admin/responses.ts @@ -0,0 +1,17 @@ +import { PaginatedResponse } from "../../common"; +import { AdminUser } from "../../user"; +import { AdminInvite } from "./entities"; + +export interface AdminInviteResponse { + invite: AdminInvite +} + +export type AdminInviteListResponse = PaginatedResponse<{ + invites: AdminInvite[] +}> + +export type AdminAcceptInviteResponse = { + user: AdminUser +} | { + message: string +} \ No newline at end of file diff --git a/packages/medusa/src/api/admin/fulfillment-providers/route.ts b/packages/medusa/src/api/admin/fulfillment-providers/route.ts index fab51a8739..d65467311f 100644 --- a/packages/medusa/src/api/admin/fulfillment-providers/route.ts +++ b/packages/medusa/src/api/admin/fulfillment-providers/route.ts @@ -7,10 +7,11 @@ import { MedusaResponse, } from "../../../types/routing" import { AdminFulfillmentProvidersParamsType } from "./validators" +import { HttpTypes } from "@medusajs/types" export const GET = async ( req: AuthenticatedMedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY) const queryObject = remoteQueryObjectFromString({ diff --git a/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/[zone_id]/route.ts b/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/[zone_id]/route.ts index d5ed9b4fdc..4b8a21ba1a 100644 --- a/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/[zone_id]/route.ts +++ b/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/[zone_id]/route.ts @@ -5,6 +5,7 @@ import { import { AdminFulfillmentSetResponse, AdminServiceZoneResponse, + DeleteResponse, IFulfillmentModuleService, } from "@medusajs/types" import { @@ -93,7 +94,7 @@ export const POST = async ( export const DELETE = async ( req: AuthenticatedMedusaRequest, - res: MedusaResponse + res: MedusaResponse> ) => { const { id, zone_id } = req.params diff --git a/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/route.ts b/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/route.ts index b40735b9e2..a7bc9facab 100644 --- a/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/route.ts +++ b/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/route.ts @@ -2,10 +2,11 @@ import { createServiceZonesWorkflow } from "@medusajs/core-flows" import { MedusaRequest, MedusaResponse } from "../../../../../types/routing" import { AdminCreateFulfillmentSetServiceZonesType } from "../../validators" import { refetchFulfillmentSet } from "../../helpers" +import { HttpTypes } from "@medusajs/types" export const POST = async ( req: MedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const workflowInput = { data: [ diff --git a/packages/medusa/src/api/admin/fulfillments/[id]/cancel/route.ts b/packages/medusa/src/api/admin/fulfillments/[id]/cancel/route.ts index 686519c856..7ac4370d71 100644 --- a/packages/medusa/src/api/admin/fulfillments/[id]/cancel/route.ts +++ b/packages/medusa/src/api/admin/fulfillments/[id]/cancel/route.ts @@ -5,10 +5,11 @@ import { } from "../../../../../types/routing" import { refetchFulfillment } from "../../helpers" import { AdminCancelFulfillmentType } from "../../validators" +import { HttpTypes } from "@medusajs/types" export const POST = async ( req: AuthenticatedMedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const { id } = req.params await cancelFulfillmentWorkflow(req.scope).run({ diff --git a/packages/medusa/src/api/admin/fulfillments/[id]/shipment/route.ts b/packages/medusa/src/api/admin/fulfillments/[id]/shipment/route.ts index 7d98ad8758..3b070006a2 100644 --- a/packages/medusa/src/api/admin/fulfillments/[id]/shipment/route.ts +++ b/packages/medusa/src/api/admin/fulfillments/[id]/shipment/route.ts @@ -5,10 +5,11 @@ import { } from "../../../../../types/routing" import { refetchFulfillment } from "../../helpers" import { AdminCreateShipmentType } from "../../validators" +import { HttpTypes } from "@medusajs/types" export const POST = async ( req: AuthenticatedMedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const { id } = req.params diff --git a/packages/medusa/src/api/admin/fulfillments/route.ts b/packages/medusa/src/api/admin/fulfillments/route.ts index be3e8dbe64..e05babc12a 100644 --- a/packages/medusa/src/api/admin/fulfillments/route.ts +++ b/packages/medusa/src/api/admin/fulfillments/route.ts @@ -5,10 +5,11 @@ import { } from "../../../types/routing" import { refetchFulfillment } from "./helpers" import { AdminCreateFulfillmentType } from "./validators" +import { HttpTypes } from "@medusajs/types" export const POST = async ( req: AuthenticatedMedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const { result: fullfillment } = await createFulfillmentWorkflow( req.scope diff --git a/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/[location_id]/route.ts b/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/[location_id]/route.ts index 4ac69c99be..ca8c482eb8 100644 --- a/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/[location_id]/route.ts +++ b/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/[location_id]/route.ts @@ -11,8 +11,12 @@ import { } from "@medusajs/core-flows" import { refetchInventoryItem } from "../../../helpers" import { AdminUpdateInventoryLocationLevelType } from "../../../validators" +import { DeleteResponse, HttpTypes } from "@medusajs/types" -export const DELETE = async (req: MedusaRequest, res: MedusaResponse) => { +export const DELETE = async ( + req: MedusaRequest, + res: MedusaResponse> +) => { const { id, location_id } = req.params const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY) @@ -61,7 +65,7 @@ export const DELETE = async (req: MedusaRequest, res: MedusaResponse) => { export const POST = async ( req: MedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const { id, location_id } = req.params await updateInventoryLevelsWorkflow(req.scope).run({ diff --git a/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/batch/route.ts b/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/batch/route.ts index 8a16087b9b..12f2d2283d 100644 --- a/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/batch/route.ts +++ b/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/batch/route.ts @@ -14,7 +14,7 @@ export const POST = async ( AdminUpdateInventoryLocationLevelType > >, - res: MedusaResponse + res: MedusaResponse<{ inventory_item: {} }> ) => { const { id } = req.params diff --git a/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/route.ts b/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/route.ts index 8ff76ca7d3..67e031ccdb 100644 --- a/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/route.ts +++ b/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/route.ts @@ -10,10 +10,11 @@ import { AdminGetInventoryLocationLevelsParamsType, } from "../../validators" import { refetchInventoryItem } from "../../helpers" +import { HttpTypes } from "@medusajs/types" export const POST = async ( req: MedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const { id } = req.params @@ -39,7 +40,7 @@ export const POST = async ( export const GET = async ( req: MedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const { id } = req.params diff --git a/packages/medusa/src/api/admin/inventory-items/[id]/route.ts b/packages/medusa/src/api/admin/inventory-items/[id]/route.ts index b2d216a30a..dbec0b9850 100644 --- a/packages/medusa/src/api/admin/inventory-items/[id]/route.ts +++ b/packages/medusa/src/api/admin/inventory-items/[id]/route.ts @@ -9,10 +9,11 @@ import { AdminUpdateInventoryItemType, } from "../validators" import { refetchInventoryItem } from "../helpers" +import { DeleteResponse, HttpTypes } from "@medusajs/types" export const GET = async ( req: MedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const { id } = req.params const inventoryItem = await refetchInventoryItem( @@ -35,7 +36,7 @@ export const GET = async ( // Update inventory item export const POST = async ( req: MedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const { id } = req.params @@ -56,7 +57,10 @@ export const POST = async ( }) } -export const DELETE = async (req: MedusaRequest, res: MedusaResponse) => { +export const DELETE = async ( + req: MedusaRequest, + res: MedusaResponse> +) => { const id = req.params.id const deleteInventoryItems = deleteInventoryItemWorkflow(req.scope) diff --git a/packages/medusa/src/api/admin/inventory-items/route.ts b/packages/medusa/src/api/admin/inventory-items/route.ts index 05a55eee33..c88e9ae2bb 100644 --- a/packages/medusa/src/api/admin/inventory-items/route.ts +++ b/packages/medusa/src/api/admin/inventory-items/route.ts @@ -13,10 +13,11 @@ import { AdminGetInventoryItemsParamsType, } from "./validators" import { refetchInventoryItem } from "./helpers" +import { HttpTypes } from "@medusajs/types" export const POST = async ( req: AuthenticatedMedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const { result } = await createInventoryItemsWorkflow(req.scope).run({ input: { items: [req.validatedBody] }, @@ -33,7 +34,7 @@ export const POST = async ( export const GET = async ( req: AuthenticatedMedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY) diff --git a/packages/medusa/src/api/admin/invites/[id]/resend/route.ts b/packages/medusa/src/api/admin/invites/[id]/resend/route.ts index 0854447c3f..6a3072e45e 100644 --- a/packages/medusa/src/api/admin/invites/[id]/resend/route.ts +++ b/packages/medusa/src/api/admin/invites/[id]/resend/route.ts @@ -2,8 +2,12 @@ import { MedusaRequest, MedusaResponse } from "../../../../../types/routing" import { refreshInviteTokensWorkflow } from "@medusajs/core-flows" import { refetchInvite } from "../../helpers" +import { HttpTypes } from "@medusajs/types" -export const POST = async (req: MedusaRequest, res: MedusaResponse) => { +export const POST = async ( + req: MedusaRequest, + res: MedusaResponse +) => { const workflow = refreshInviteTokensWorkflow(req.scope) const input = { diff --git a/packages/medusa/src/api/admin/invites/[id]/route.ts b/packages/medusa/src/api/admin/invites/[id]/route.ts index 89b16533a8..0216bc9498 100644 --- a/packages/medusa/src/api/admin/invites/[id]/route.ts +++ b/packages/medusa/src/api/admin/invites/[id]/route.ts @@ -6,10 +6,11 @@ import { MedusaError } from "@medusajs/utils" import { deleteInvitesWorkflow } from "@medusajs/core-flows" import { refetchInvite } from "../helpers" +import { DeleteResponse, HttpTypes } from "@medusajs/types" export const GET = async ( req: AuthenticatedMedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const { id } = req.params const invite = await refetchInvite( @@ -30,7 +31,7 @@ export const GET = async ( export const DELETE = async ( req: AuthenticatedMedusaRequest, - res: MedusaResponse + res: MedusaResponse> ) => { const { id } = req.params const workflow = deleteInvitesWorkflow(req.scope) diff --git a/packages/medusa/src/api/admin/invites/accept/route.ts b/packages/medusa/src/api/admin/invites/accept/route.ts index 0681477197..bd7b2ba823 100644 --- a/packages/medusa/src/api/admin/invites/accept/route.ts +++ b/packages/medusa/src/api/admin/invites/accept/route.ts @@ -1,5 +1,5 @@ import { acceptInviteWorkflow } from "@medusajs/core-flows" -import { InviteWorkflow } from "@medusajs/types" +import { HttpTypes, InviteWorkflow } from "@medusajs/types" import { MedusaError } from "@medusajs/utils" import { AuthenticatedMedusaRequest, @@ -9,7 +9,7 @@ import { AdminInviteAcceptType } from "../validators" export const POST = async ( req: AuthenticatedMedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { if (req.auth_context.actor_id) { throw new MedusaError( diff --git a/packages/medusa/src/api/admin/invites/route.ts b/packages/medusa/src/api/admin/invites/route.ts index 1833ca07f0..5c8c3cf073 100644 --- a/packages/medusa/src/api/admin/invites/route.ts +++ b/packages/medusa/src/api/admin/invites/route.ts @@ -10,10 +10,11 @@ import { import { createInvitesWorkflow } from "@medusajs/core-flows" import { AdminCreateInviteType, AdminGetInvitesParamsType } from "./validators" import { refetchInvite } from "./helpers" +import { HttpTypes } from "@medusajs/types" export const GET = async ( req: AuthenticatedMedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY) const queryObject = remoteQueryObjectFromString({ @@ -37,7 +38,7 @@ export const GET = async ( export const POST = async ( req: AuthenticatedMedusaRequest, - res: MedusaResponse + res: MedusaResponse ) => { const workflow = createInvitesWorkflow(req.scope)