/* Options: Date: 2025-12-16 01:37:31 Version: 10.04 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://blazor-vue.web-templates.io //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateCoupon.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export interface ICreateDb { } /** @description Discount Coupons */ export class Coupon { public id: string; public description: string; public discount: number; public expiryDate: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseError { // @DataMember(Order=1) public errorCode: string; // @DataMember(Order=2) public fieldName: string; // @DataMember(Order=3) public message: string; // @DataMember(Order=4) public meta?: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public errorCode: string; // @DataMember(Order=2) public message?: string; // @DataMember(Order=3) public stackTrace?: string; // @DataMember(Order=4) public errors?: ResponseError[]; // @DataMember(Order=5) public meta?: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class IdResponse { // @DataMember(Order=1) public id: string; // @DataMember(Order=2) public responseStatus?: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/coupons", "POST") // @ValidateRequest(Validator="HasRole(`Employee`)") export class CreateCoupon implements IReturn, ICreateDb { // @Validate(Validator="NotEmpty") public id: string; // @Validate(Validator="NotEmpty") public description: string; // @Validate(Validator="GreaterThan(0)") public discount: number; // @Validate(Validator="NotNull") public expiryDate: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'CreateCoupon'; } public getMethod() { return 'POST'; } public createResponse() { return new IdResponse(); } }