Your IP : 216.73.216.220


Current Path : /home/deltalab/PMS/logistic-backend/dist/models/orders/
Upload File :
Current File : //home/deltalab/PMS/logistic-backend/dist/models/orders/order.schema.js

"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.OrderSchema = exports.Order = void 0;
const openapi = require("@nestjs/swagger");
const mongoose_1 = require("@nestjs/mongoose");
const mongoose_2 = require("mongoose");
const coordinates_schema_1 = require("../shared/coordinates.schema");
const mongoose = require("mongoose");
const pickup_point_schema_1 = require("../pickup-points/pickup-point.schema");
var OrderStatus;
(function (OrderStatus) {
    OrderStatus["CONFIRMED"] = "confirmed";
    OrderStatus["SHIPPED"] = "shipped";
    OrderStatus["CLOSED"] = "closed";
    OrderStatus["CANCELED"] = "canceled";
})(OrderStatus || (OrderStatus = {}));
class Customer extends mongoose_2.Document {
    static _OPENAPI_METADATA_FACTORY() {
        return { firstName: { required: true, type: () => String }, lastName: { required: true, type: () => String }, phoneNumber: { required: true, type: () => String } };
    }
}
__decorate([
    (0, mongoose_1.Prop)(),
    __metadata("design:type", String)
], Customer.prototype, "firstName", void 0);
__decorate([
    (0, mongoose_1.Prop)(),
    __metadata("design:type", String)
], Customer.prototype, "lastName", void 0);
__decorate([
    (0, mongoose_1.Prop)(),
    __metadata("design:type", String)
], Customer.prototype, "phoneNumber", void 0);
class ParcelData extends mongoose_2.Document {
    static _OPENAPI_METADATA_FACTORY() {
        return { kilograms: { required: true, type: () => Number }, cubicMeters: { required: true, type: () => Number }, nPackages: { required: true, type: () => Number } };
    }
}
__decorate([
    (0, mongoose_1.Prop)(),
    __metadata("design:type", Number)
], ParcelData.prototype, "kilograms", void 0);
__decorate([
    (0, mongoose_1.Prop)(),
    __metadata("design:type", Number)
], ParcelData.prototype, "cubicMeters", void 0);
__decorate([
    (0, mongoose_1.Prop)(),
    __metadata("design:type", Number)
], ParcelData.prototype, "nPackages", void 0);
let Order = class Order {
    static _OPENAPI_METADATA_FACTORY() {
        return { _id: { required: true, type: () => Number }, customer: { required: true, type: () => Customer }, address: { required: true, type: () => String }, coordinates: { required: true, type: () => require("../shared/coordinates.schema").Coordinates }, parcelData: { required: true, type: () => ParcelData }, pickupPoint: { required: true, type: () => require("../pickup-points/pickup-point.schema").PickupPoint }, status: { required: true, enum: OrderStatus }, deliveryException: { required: true, type: () => String }, pickupException: { required: true, type: () => String } };
    }
};
__decorate([
    (0, mongoose_1.Prop)(),
    __metadata("design:type", Number)
], Order.prototype, "_id", void 0);
__decorate([
    (0, mongoose_1.Prop)({ type: Customer }),
    __metadata("design:type", Customer)
], Order.prototype, "customer", void 0);
__decorate([
    (0, mongoose_1.Prop)({ required: true }),
    __metadata("design:type", String)
], Order.prototype, "address", void 0);
__decorate([
    (0, mongoose_1.Prop)({ type: coordinates_schema_1.Coordinates }),
    __metadata("design:type", coordinates_schema_1.Coordinates)
], Order.prototype, "coordinates", void 0);
__decorate([
    (0, mongoose_1.Prop)({ type: ParcelData }),
    __metadata("design:type", ParcelData)
], Order.prototype, "parcelData", void 0);
__decorate([
    (0, mongoose_1.Prop)({ type: mongoose.Schema.Types.ObjectId, ref: 'PickupPoint' }),
    __metadata("design:type", pickup_point_schema_1.PickupPoint)
], Order.prototype, "pickupPoint", void 0);
__decorate([
    (0, mongoose_1.Prop)({
        type: String,
        enum: Object.values(OrderStatus),
        default: OrderStatus.CONFIRMED,
    }),
    __metadata("design:type", String)
], Order.prototype, "status", void 0);
__decorate([
    (0, mongoose_1.Prop)({ type: String }),
    __metadata("design:type", String)
], Order.prototype, "deliveryException", void 0);
__decorate([
    (0, mongoose_1.Prop)({ type: String }),
    __metadata("design:type", String)
], Order.prototype, "pickupException", void 0);
Order = __decorate([
    (0, mongoose_1.Schema)({ timestamps: true, versionKey: false })
], Order);
exports.Order = Order;
exports.OrderSchema = mongoose_1.SchemaFactory.createForClass(Order);
//# sourceMappingURL=order.schema.js.map