feat(tax): migration file (#6523)

**What**
- Tax Module Migration file.
- Skeleton for API routes and integrations tests for tax API in v2
This commit is contained in:
Sebastian Rindom authored and GitHub committed 2024-02-28 14:40:35 +00:00
1 parent 0d46abf0ff
commit adad66e13f
15 files changed
+912 -6

No files matched your search

@@ -0,0 +1,26 @@
import {
AuthenticatedMedusaRequest,
MedusaResponse,
} from "../../../../types/routing"
import { defaultAdminTaxRateFields } from "../query-config"
import { remoteQueryObjectFromString } from "@medusajs/utils"
export const GET = async (
req: AuthenticatedMedusaRequest,
res: MedusaResponse
) => {
const remoteQuery = req.scope.resolve("remoteQuery")
const variables = { id: req.params.id }
const queryObject = remoteQueryObjectFromString({
entryPoint: "tax_rate",
variables,
fields: defaultAdminTaxRateFields,
})
const [taxRate] = await remoteQuery(queryObject)
res.status(200).json({ tax_rate: taxRate })
}
@@ -0,0 +1,25 @@
import * as QueryConfig from "./query-config"
import { AdminGetTaxRatesTaxRateParams } from "./validators"
import { transformQuery } from "../../../api/middlewares"
import { MiddlewareRoute } from "../../../loaders/helpers/routing/types"
import { authenticate } from "../../../utils/authenticate-middleware"
export const adminTaxRateRoutesMiddlewares: MiddlewareRoute[] = [
{
method: ["ALL"],
matcher: "/admin/tax-rates*",
middlewares: [authenticate("admin", ["bearer", "session", "api-key"])],
},
{
method: ["GET"],
matcher: "/admin/tax-rates/:id",
middlewares: [
transformQuery(
AdminGetTaxRatesTaxRateParams,
QueryConfig.retrieveTransformQueryConfig
),
],
},
]
@@ -0,0 +1,26 @@
export const defaultAdminTaxRateRelations = []
export const allowedAdminTaxRateRelations = []
export const defaultAdminTaxRateFields = [
"id",
"name",
"code",
"rate",
"tax_region_id",
"created_by",
"created_at",
"updated_at",
"deleted_at",
"metadata",
]
export const retrieveTransformQueryConfig = {
defaultFields: defaultAdminTaxRateFields,
defaultRelations: defaultAdminTaxRateRelations,
allowedRelations: allowedAdminTaxRateRelations,
isList: false,
}
export const listTransformQueryConfig = {
defaultLimit: 20,
isList: true,
}
@@ -0,0 +1,3 @@
import { FindParams } from "../../../types/common"
export class AdminGetTaxRatesTaxRateParams extends FindParams {}
@@ -7,6 +7,7 @@ import { adminInviteRoutesMiddlewares } from "./admin/invites/middlewares"
import { adminPromotionRoutesMiddlewares } from "./admin/promotions/middlewares"
import { adminRegionRoutesMiddlewares } from "./admin/regions/middlewares"
import { adminStoreRoutesMiddlewares } from "./admin/stores/middlewares"
import { adminTaxRateRoutesMiddlewares } from "./admin/tax-rates/middlewares"
import { adminUserRoutesMiddlewares } from "./admin/users/middlewares"
import { adminWorkflowsExecutionsMiddlewares } from "./admin/workflows-executions/middlewares"
import { authRoutesMiddlewares } from "./auth/middlewares"
@@ -30,6 +31,7 @@ export const config: MiddlewaresConfig = {
...adminRegionRoutesMiddlewares,
...adminUserRoutesMiddlewares,
...adminInviteRoutesMiddlewares,
...adminTaxRateRoutesMiddlewares,
...adminApiKeyRoutesMiddlewares,
...hooksRoutesMiddlewares,
...adminStoreRoutesMiddlewares,