"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.overviewResultsSchema = exports.moduleResultsSchema = exports.tagSchema = exports.metadataSchema = exports.statusSchema = void 0;
const mongoose_1 = require("mongoose");
const Status_1 = require("../Report/Status");
exports.statusSchema = {
    ambiguous: 'ambiguous',
    failed: 'failed',
    passed: 'passed',
    pending: 'pending',
    skipped: 'skipped',
    undefined: 'undefined',
};
exports.metadataSchema = new mongoose_1.Schema({
    icon: { required: false, type: String },
    name: { required: true, type: String },
    value: { required: true, type: String }
}, {
    _id: false,
    id: false,
});
exports.tagSchema = new mongoose_1.Schema({
    line: { required: false, type: Number },
    name: { required: false, type: String }
}, {
    _id: false,
    id: false,
});
exports.moduleResultsSchema = new mongoose_1.Schema({
    ambiguous: { required: true, type: Number },
    ambiguousPercentage: { required: true, type: Number },
    failed: { required: true, type: Number },
    failedPercentage: { required: true, type: Number },
    notdefinedPercentage: { required: true, type: Number },
    passed: { required: true, type: Number },
    passedPercentage: { required: true, type: Number },
    pending: { required: true, type: Number },
    pendingPercentage: { required: true, type: Number },
    skipped: { required: true, type: Number },
    skippedPercentage: { required: true, type: Number },
    status: { enum: Object.values(Status_1.Status), required: true, type: String },
    statusIcon: { required: false, type: String },
    time: { required: false, type: String },
    timeInNanoSeconds: { required: false, type: Number },
    total: { required: true, type: Number },
    undefined: { required: true, type: Number }
}, {
    _id: false,
    id: false,
});
exports.overviewResultsSchema = new mongoose_1.Schema({
    ambiguous: { required: false, type: Number },
    ambiguousPercentage: { required: false, type: Number },
    duration: { required: false, type: Number },
    durationHHMMSS: { required: false, type: String },
    failed: { required: false, type: Number },
    failedPercentage: { required: false, type: Number },
    notdefinedPercentage: { required: false, type: Number },
    passed: { required: false, type: Number },
    passedPercentage: { required: false, type: Number },
    pending: { required: false, type: Number },
    pendingPercentage: { required: false, type: Number },
    skipped: { required: false, type: Number },
    skippedPercentage: { required: false, type: Number },
    status: { enum: Object.values(Status_1.Status), required: true, type: String },
    statusIcons: { required: false, type: String },
    time: { required: false, type: String },
    timeInNanoSeconds: { required: false, type: Number },
    total: { required: false, type: Number },
    undefined: { required: false, type: Number }
}, {
    _id: false,
    id: false,
});
//# sourceMappingURL=mongoose-common-schemas.js.map