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
2024-02-28 14:40:35 +00:00
committed by GitHub
parent 0d46abf0ff
commit adad66e13f
15 changed files with 912 additions and 6 deletions
@@ -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 {}