chore: rename rule endpoints validators (#6955)

This commit is contained in:
Riqwan Thamir authored and GitHub committed 2024-04-05 10:41:31 +00:00
1 parent bde80a8371
commit eb93e8f386
9 files changed
+64 -72

No files matched your search

@@ -10,10 +10,10 @@ import {
defaultAdminPromotionFields, defaultAdminPromotionFields,
defaultAdminPromotionRelations, defaultAdminPromotionRelations,
} from "../../../../query-config" } from "../../../../query-config"
import { AdminPostPromotionsPromotionRulesBatchAddReq } from "../../../../validators" import { AdminPostBatchAddRules } from "../../../../validators"
export const POST = async ( export const POST = async (
req: AuthenticatedMedusaRequest<AdminPostPromotionsPromotionRulesBatchAddReq>, req: AuthenticatedMedusaRequest<AdminPostBatchAddRules>,
res: MedusaResponse res: MedusaResponse
) => { ) => {
const id = req.params.id const id = req.params.id
@@ -4,10 +4,10 @@ import {
AuthenticatedMedusaRequest, AuthenticatedMedusaRequest,
MedusaResponse, MedusaResponse,
} from "../../../../../../../types/routing" } from "../../../../../../../types/routing"
import { AdminPostPromotionsPromotionRulesBatchRemoveReq } from "../../../../validators" import { AdminPostBatchRemoveRules } from "../../../../validators"
export const POST = async ( export const POST = async (
req: AuthenticatedMedusaRequest<AdminPostPromotionsPromotionRulesBatchRemoveReq>, req: AuthenticatedMedusaRequest<AdminPostBatchRemoveRules>,
res: MedusaResponse res: MedusaResponse
) => { ) => {
const id = req.params.id const id = req.params.id
@@ -10,10 +10,10 @@ import {
defaultAdminPromotionFields, defaultAdminPromotionFields,
defaultAdminPromotionRelations, defaultAdminPromotionRelations,
} from "../../../../query-config" } from "../../../../query-config"
import { AdminPostPromotionsPromotionRulesBatchAddReq } from "../../../../validators" import { AdminPostBatchAddRules } from "../../../../validators"
export const POST = async ( export const POST = async (
req: AuthenticatedMedusaRequest<AdminPostPromotionsPromotionRulesBatchAddReq>, req: AuthenticatedMedusaRequest<AdminPostBatchAddRules>,
res: MedusaResponse res: MedusaResponse
) => { ) => {
const id = req.params.id const id = req.params.id
@@ -3,12 +3,12 @@ import {
MedusaResponse, MedusaResponse,
} from "../../../../../../../types/routing" } from "../../../../../../../types/routing"
import { AdminPostPromotionsPromotionRulesBatchRemoveReq } from "../../../../validators"
import { RuleType } from "@medusajs/utils"
import { removeRulesFromPromotionsWorkflow } from "@medusajs/core-flows" import { removeRulesFromPromotionsWorkflow } from "@medusajs/core-flows"
import { RuleType } from "@medusajs/utils"
import { AdminPostBatchRemoveRules } from "../../../../validators"
export const POST = async ( export const POST = async (
req: AuthenticatedMedusaRequest<AdminPostPromotionsPromotionRulesBatchRemoveReq>, req: AuthenticatedMedusaRequest<AdminPostBatchRemoveRules>,
res: MedusaResponse res: MedusaResponse
) => { ) => {
const id = req.params.id const id = req.params.id
@@ -9,10 +9,10 @@ import {
defaultAdminPromotionFields, defaultAdminPromotionFields,
defaultAdminPromotionRelations, defaultAdminPromotionRelations,
} from "../../../../query-config" } from "../../../../query-config"
import { AdminPostPromotionsPromotionRulesBatchUpdateReq } from "../../../../validators" import { AdminPostBatchUpdateRules } from "../../../../validators"
export const POST = async ( export const POST = async (
req: AuthenticatedMedusaRequest<AdminPostPromotionsPromotionRulesBatchUpdateReq>, req: AuthenticatedMedusaRequest<AdminPostBatchUpdateRules>,
res: MedusaResponse res: MedusaResponse
) => { ) => {
const id = req.params.id const id = req.params.id
@@ -10,10 +10,10 @@ import {
defaultAdminPromotionFields, defaultAdminPromotionFields,
defaultAdminPromotionRelations, defaultAdminPromotionRelations,
} from "../../../../query-config" } from "../../../../query-config"
import { AdminPostPromotionsPromotionRulesBatchAddReq } from "../../../../validators" import { AdminPostBatchAddRules } from "../../../../validators"
export const POST = async ( export const POST = async (
req: AuthenticatedMedusaRequest<AdminPostPromotionsPromotionRulesBatchAddReq>, req: AuthenticatedMedusaRequest<AdminPostBatchAddRules>,
res: MedusaResponse res: MedusaResponse
) => { ) => {
const id = req.params.id const id = req.params.id
@@ -4,10 +4,10 @@ import {
AuthenticatedMedusaRequest, AuthenticatedMedusaRequest,
MedusaResponse, MedusaResponse,
} from "../../../../../../../types/routing" } from "../../../../../../../types/routing"
import { AdminPostPromotionsPromotionRulesBatchRemoveReq } from "../../../../validators" import { AdminPostBatchRemoveRules } from "../../../../validators"
export const POST = async ( export const POST = async (
req: AuthenticatedMedusaRequest<AdminPostPromotionsPromotionRulesBatchRemoveReq>, req: AuthenticatedMedusaRequest<AdminPostBatchRemoveRules>,
res: MedusaResponse res: MedusaResponse
) => { ) => {
const id = req.params.id const id = req.params.id
@@ -5,10 +5,10 @@ import {
AdminGetPromotionsParams, AdminGetPromotionsParams,
AdminGetPromotionsPromotionParams, AdminGetPromotionsPromotionParams,
AdminGetPromotionsRuleValueParams, AdminGetPromotionsRuleValueParams,
AdminPostBatchAddRules,
AdminPostBatchRemoveRules,
AdminPostBatchUpdateRules,
AdminPostPromotionsPromotionReq, AdminPostPromotionsPromotionReq,
AdminPostPromotionsPromotionRulesBatchAddReq,
AdminPostPromotionsPromotionRulesBatchRemoveReq,
AdminPostPromotionsPromotionRulesBatchUpdateReq,
AdminPostPromotionsReq, AdminPostPromotionsReq,
} from "./validators" } from "./validators"
@@ -53,45 +53,37 @@ export const adminPromotionRoutesMiddlewares: MiddlewareRoute[] = [
{ {
method: ["POST"], method: ["POST"],
matcher: "/admin/promotions/:id/rules/batch/add", matcher: "/admin/promotions/:id/rules/batch/add",
middlewares: [transformBody(AdminPostPromotionsPromotionRulesBatchAddReq)], middlewares: [transformBody(AdminPostBatchAddRules)],
}, },
{ {
method: ["POST"], method: ["POST"],
matcher: "/admin/promotions/:id/target-rules/batch/add", matcher: "/admin/promotions/:id/target-rules/batch/add",
middlewares: [transformBody(AdminPostPromotionsPromotionRulesBatchAddReq)], middlewares: [transformBody(AdminPostBatchAddRules)],
}, },
{ {
method: ["POST"], method: ["POST"],
matcher: "/admin/promotions/:id/buy-rules/batch/add", matcher: "/admin/promotions/:id/buy-rules/batch/add",
middlewares: [transformBody(AdminPostPromotionsPromotionRulesBatchAddReq)], middlewares: [transformBody(AdminPostBatchAddRules)],
}, },
{ {
method: ["POST"], method: ["POST"],
matcher: "/admin/promotions/:id/rules/batch/update", matcher: "/admin/promotions/:id/rules/batch/update",
middlewares: [ middlewares: [transformBody(AdminPostBatchUpdateRules)],
transformBody(AdminPostPromotionsPromotionRulesBatchUpdateReq),
],
}, },
{ {
method: ["POST"], method: ["POST"],
matcher: "/admin/promotions/:id/rules/batch/remove", matcher: "/admin/promotions/:id/rules/batch/remove",
middlewares: [ middlewares: [transformBody(AdminPostBatchRemoveRules)],
transformBody(AdminPostPromotionsPromotionRulesBatchRemoveReq),
],
}, },
{ {
method: ["POST"], method: ["POST"],
matcher: "/admin/promotions/:id/target-rules/batch/remove", matcher: "/admin/promotions/:id/target-rules/batch/remove",
middlewares: [ middlewares: [transformBody(AdminPostBatchRemoveRules)],
transformBody(AdminPostPromotionsPromotionRulesBatchRemoveReq),
],
}, },
{ {
method: ["POST"], method: ["POST"],
matcher: "/admin/promotions/:id/buy-rules/batch/remove", matcher: "/admin/promotions/:id/buy-rules/batch/remove",
middlewares: [ middlewares: [transformBody(AdminPostBatchRemoveRules)],
transformBody(AdminPostPromotionsPromotionRulesBatchRemoveReq),
],
}, },
{ {
method: ["GET"], method: ["GET"],
@@ -74,6 +74,23 @@ export class AdminGetPromotionsParams extends extendedFindParamsMixin({
updated_at?: DateComparisonOperator updated_at?: DateComparisonOperator
} }
export class AdminPostCreatePromotionRule {
@IsEnum(PromotionRuleOperator)
operator: PromotionRuleOperator
@IsOptional()
@IsString()
description?: string | null
@IsNotEmpty()
@IsString()
attribute: string
@IsArray()
@Type(() => String)
values: string[]
}
export class AdminPostPromotionsReq { export class AdminPostPromotionsReq {
@IsNotEmpty() @IsNotEmpty()
@IsString() @IsString()
@@ -103,25 +120,8 @@ export class AdminPostPromotionsReq {
@IsOptional() @IsOptional()
@IsArray() @IsArray()
@ValidateNested({ each: true }) @ValidateNested({ each: true })
@Type(() => PromotionRule) @Type(() => AdminPostCreatePromotionRule)
rules?: PromotionRule[] rules?: AdminPostCreatePromotionRule[]
}
export class PromotionRule {
@IsEnum(PromotionRuleOperator)
operator: PromotionRuleOperator
@IsOptional()
@IsString()
description?: string | null
@IsNotEmpty()
@IsString()
attribute: string
@IsArray()
@Type(() => String)
values: string[]
} }
export class AdminPostApplicationMethodsReq { export class AdminPostApplicationMethodsReq {
@@ -151,14 +151,14 @@ export class AdminPostApplicationMethodsReq {
@IsOptional() @IsOptional()
@IsArray() @IsArray()
@ValidateNested({ each: true }) @ValidateNested({ each: true })
@Type(() => PromotionRule) @Type(() => AdminPostCreatePromotionRule)
target_rules?: PromotionRule[] target_rules?: AdminPostCreatePromotionRule[]
@ValidateIf((data) => data.type === PromotionType.BUYGET) @ValidateIf((data) => data.type === PromotionType.BUYGET)
@IsArray() @IsArray()
@ValidateNested({ each: true }) @ValidateNested({ each: true })
@Type(() => PromotionRule) @Type(() => AdminPostCreatePromotionRule)
buy_rules?: PromotionRule[] buy_rules?: AdminPostCreatePromotionRule[]
@ValidateIf((data) => data.type === PromotionType.BUYGET) @ValidateIf((data) => data.type === PromotionType.BUYGET)
@IsNotEmpty() @IsNotEmpty()
@@ -199,14 +199,14 @@ export class AdminPostApplicationMethodsMethodReq {
@IsOptional() @IsOptional()
@IsArray() @IsArray()
@ValidateNested({ each: true }) @ValidateNested({ each: true })
@Type(() => PromotionRule) @Type(() => AdminPostCreatePromotionRule)
target_rules?: PromotionRule[] target_rules?: AdminPostCreatePromotionRule[]
@IsOptional() @IsOptional()
@IsArray() @IsArray()
@ValidateNested({ each: true }) @ValidateNested({ each: true })
@Type(() => PromotionRule) @Type(() => AdminPostCreatePromotionRule)
buy_rules?: PromotionRule[] buy_rules?: AdminPostCreatePromotionRule[]
@IsOptional() @IsOptional()
@IsNumber() @IsNumber()
@@ -249,31 +249,31 @@ export class AdminPostPromotionsPromotionReq {
@IsOptional() @IsOptional()
@IsArray() @IsArray()
@ValidateNested({ each: true }) @ValidateNested({ each: true })
@Type(() => PromotionRule) @Type(() => AdminPostCreatePromotionRule)
rules?: PromotionRule[] rules?: AdminPostCreatePromotionRule[]
} }
export class AdminPostPromotionsPromotionRulesBatchAddReq { export class AdminPostBatchAddRules {
@IsArray() @IsArray()
@ValidateNested({ each: true }) @ValidateNested({ each: true })
@Type(() => PromotionRule) @Type(() => AdminPostCreatePromotionRule)
rules: PromotionRule[] rules: AdminPostCreatePromotionRule[]
} }
export class AdminPostPromotionsPromotionRulesBatchRemoveReq { export class AdminPostBatchRemoveRules {
@ArrayNotEmpty() @ArrayNotEmpty()
@IsString({ each: true }) @IsString({ each: true })
rule_ids: string[] rule_ids: string[]
} }
export class AdminPostPromotionsPromotionRulesBatchUpdateReq { export class AdminPostBatchUpdateRules {
@IsArray() @IsArray()
@ValidateNested({ each: true }) @ValidateNested({ each: true })
@Type(() => UpdatePromotionRule) @Type(() => AdminPostUpdatePromotionRule)
rules: UpdatePromotionRule[] rules: AdminPostUpdatePromotionRule[]
} }
export class UpdatePromotionRule { export class AdminPostUpdatePromotionRule {
@IsNotEmpty() @IsNotEmpty()
@IsString() @IsString()
id: string id: string
@@ -289,10 +289,10 @@ export class UpdatePromotionRule {
@IsOptional() @IsOptional()
@IsNotEmpty() @IsNotEmpty()
@IsString() @IsString()
attribute: string attribute?: string
@IsOptional() @IsOptional()
@IsArray() @IsArray()
@Type(() => String) @Type(() => String)
values: string[] values?: string[]
} }