"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.UpdateOrderChecksDto = exports.UpdateOrderStatusDto = exports.UpdateOrderPricingDto = exports.OrderItemPricingDto = exports.AdminCreateOrderDto = exports.SubmitOrderDto = exports.SubmitOrderCheckDto = exports.SubmitOrderItemDto = void 0; const class_validator_1 = require("class-validator"); const class_transformer_1 = require("class-transformer"); const client_1 = require("@prisma/client"); class SubmitOrderItemDto { productId; meterage; requestedMeterage; notes; } exports.SubmitOrderItemDto = SubmitOrderItemDto; __decorate([ (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderItemDto.prototype, "productId", void 0); __decorate([ (0, class_transformer_1.Type)(() => Number), (0, class_validator_1.IsNumber)(), (0, class_validator_1.Min)(0.001), __metadata("design:type", Number) ], SubmitOrderItemDto.prototype, "meterage", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_transformer_1.Type)(() => Number), (0, class_validator_1.IsNumber)(), __metadata("design:type", Number) ], SubmitOrderItemDto.prototype, "requestedMeterage", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderItemDto.prototype, "notes", void 0); class SubmitOrderCheckDto { amount; dueDate; sayadId; checkNumber; ownerNationalId; ownerFirstName; ownerLastName; bankName; branchName; frontImage; backImage; notes; mode; } exports.SubmitOrderCheckDto = SubmitOrderCheckDto; __decorate([ (0, class_transformer_1.Type)(() => Number), (0, class_validator_1.IsNumber)(), (0, class_validator_1.Min)(1), __metadata("design:type", Number) ], SubmitOrderCheckDto.prototype, "amount", void 0); __decorate([ (0, class_validator_1.IsDateString)(), __metadata("design:type", String) ], SubmitOrderCheckDto.prototype, "dueDate", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderCheckDto.prototype, "sayadId", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderCheckDto.prototype, "checkNumber", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderCheckDto.prototype, "ownerNationalId", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderCheckDto.prototype, "ownerFirstName", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderCheckDto.prototype, "ownerLastName", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderCheckDto.prototype, "bankName", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderCheckDto.prototype, "branchName", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderCheckDto.prototype, "frontImage", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderCheckDto.prototype, "backImage", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderCheckDto.prototype, "notes", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsEnum)(client_1.CheckRegistrationMode), __metadata("design:type", String) ], SubmitOrderCheckDto.prototype, "mode", void 0); class SubmitOrderDto { companyId; settlementType; settlementMethod; checkMode; notes; items; checks; } exports.SubmitOrderDto = SubmitOrderDto; __decorate([ (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderDto.prototype, "companyId", void 0); __decorate([ (0, class_validator_1.IsEnum)(client_1.SettlementType), __metadata("design:type", String) ], SubmitOrderDto.prototype, "settlementType", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsEnum)(client_1.SettlementType), __metadata("design:type", String) ], SubmitOrderDto.prototype, "settlementMethod", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsEnum)(client_1.CheckRegistrationMode), __metadata("design:type", String) ], SubmitOrderDto.prototype, "checkMode", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], SubmitOrderDto.prototype, "notes", void 0); __decorate([ (0, class_validator_1.IsArray)(), (0, class_validator_1.ArrayMinSize)(1), (0, class_validator_1.ValidateNested)({ each: true }), (0, class_transformer_1.Type)(() => SubmitOrderItemDto), __metadata("design:type", Array) ], SubmitOrderDto.prototype, "items", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsArray)(), (0, class_validator_1.ValidateNested)({ each: true }), (0, class_transformer_1.Type)(() => SubmitOrderCheckDto), __metadata("design:type", Array) ], SubmitOrderDto.prototype, "checks", void 0); class AdminCreateOrderDto { userId; customerPhone; customerName; companyId; settlementType; settlementMethod; meterage; notes; items; } exports.AdminCreateOrderDto = AdminCreateOrderDto; __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], AdminCreateOrderDto.prototype, "userId", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], AdminCreateOrderDto.prototype, "customerPhone", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], AdminCreateOrderDto.prototype, "customerName", void 0); __decorate([ (0, class_validator_1.IsString)(), __metadata("design:type", String) ], AdminCreateOrderDto.prototype, "companyId", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsEnum)(client_1.SettlementType), __metadata("design:type", String) ], AdminCreateOrderDto.prototype, "settlementType", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsEnum)(client_1.SettlementType), __metadata("design:type", String) ], AdminCreateOrderDto.prototype, "settlementMethod", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_transformer_1.Type)(() => Number), (0, class_validator_1.IsNumber)(), (0, class_validator_1.Min)(0), __metadata("design:type", Number) ], AdminCreateOrderDto.prototype, "meterage", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], AdminCreateOrderDto.prototype, "notes", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsArray)(), (0, class_validator_1.ValidateNested)({ each: true }), (0, class_transformer_1.Type)(() => SubmitOrderItemDto), __metadata("design:type", Array) ], AdminCreateOrderDto.prototype, "items", void 0); class OrderItemPricingDto { id; confirmedMeterage; unitPrice; supplyPrice; unitDiscount; } exports.OrderItemPricingDto = OrderItemPricingDto; __decorate([ (0, class_validator_1.IsString)(), __metadata("design:type", String) ], OrderItemPricingDto.prototype, "id", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_transformer_1.Type)(() => Number), (0, class_validator_1.IsNumber)(), (0, class_validator_1.Min)(0), __metadata("design:type", Number) ], OrderItemPricingDto.prototype, "confirmedMeterage", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_transformer_1.Type)(() => Number), (0, class_validator_1.IsNumber)(), (0, class_validator_1.Min)(0), __metadata("design:type", Number) ], OrderItemPricingDto.prototype, "unitPrice", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_transformer_1.Type)(() => Number), (0, class_validator_1.IsNumber)(), (0, class_validator_1.Min)(0), __metadata("design:type", Number) ], OrderItemPricingDto.prototype, "supplyPrice", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_transformer_1.Type)(() => Number), (0, class_validator_1.IsNumber)(), (0, class_validator_1.Min)(0), __metadata("design:type", Number) ], OrderItemPricingDto.prototype, "unitDiscount", void 0); class UpdateOrderPricingDto { items; shippingCost; totalDiscount; note; } exports.UpdateOrderPricingDto = UpdateOrderPricingDto; __decorate([ (0, class_validator_1.IsArray)(), (0, class_validator_1.ValidateNested)({ each: true }), (0, class_transformer_1.Type)(() => OrderItemPricingDto), __metadata("design:type", Array) ], UpdateOrderPricingDto.prototype, "items", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_transformer_1.Type)(() => Number), (0, class_validator_1.IsNumber)(), (0, class_validator_1.Min)(0), __metadata("design:type", Number) ], UpdateOrderPricingDto.prototype, "shippingCost", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_transformer_1.Type)(() => Number), (0, class_validator_1.IsNumber)(), (0, class_validator_1.Min)(0), __metadata("design:type", Number) ], UpdateOrderPricingDto.prototype, "totalDiscount", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], UpdateOrderPricingDto.prototype, "note", void 0); class UpdateOrderStatusDto { status; note; reason; } exports.UpdateOrderStatusDto = UpdateOrderStatusDto; __decorate([ (0, class_validator_1.IsEnum)(client_1.OrderStatus), __metadata("design:type", String) ], UpdateOrderStatusDto.prototype, "status", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], UpdateOrderStatusDto.prototype, "note", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsString)(), __metadata("design:type", String) ], UpdateOrderStatusDto.prototype, "reason", void 0); class UpdateOrderChecksDto { checks; checkMode; } exports.UpdateOrderChecksDto = UpdateOrderChecksDto; __decorate([ (0, class_validator_1.IsArray)(), (0, class_validator_1.ValidateNested)({ each: true }), (0, class_transformer_1.Type)(() => SubmitOrderCheckDto), __metadata("design:type", Array) ], UpdateOrderChecksDto.prototype, "checks", void 0); __decorate([ (0, class_validator_1.IsOptional)(), (0, class_validator_1.IsEnum)(client_1.CheckRegistrationMode), __metadata("design:type", String) ], UpdateOrderChecksDto.prototype, "checkMode", void 0); //# sourceMappingURL=order.dto.js.map