"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.InitiativeSchema = void 0;
const MetricSchema_1 = require("../../core/schemas/internal/metrics/MetricSchema");
const HubItemEntitySchema_1 = require("../../core/schemas/shared/HubItemEntitySchema");
const hubEntityStatus_1 = require("../../enums/hubEntityStatus");
const definitions_1 = require("../../core/schemas/internal/metrics/definitions");
/**
 * defines the JSON schema for a Hub Initiative's editable fields
 */
exports.InitiativeSchema = Object.assign(Object.assign({}, HubItemEntitySchema_1.HubItemEntitySchema), { properties: Object.assign(Object.assign({}, HubItemEntitySchema_1.HubItemEntitySchema.properties), { _groups: {
            type: "array",
            items: { type: "string" },
        }, status: {
            type: "string",
            default: hubEntityStatus_1.HubEntityStatus.notStarted,
            enum: Object.keys(hubEntityStatus_1.HubEntityStatus),
        }, _metric: {
            type: "object",
            required: ["cardTitle"],
            properties: MetricSchema_1.MetricSchema.properties,
        } }), allOf: [
        definitions_1.IF_SOURCE_TITLE_THEN_SOURCE_LINK,
        definitions_1.IF_STATIC_THEN_REQUIRE_VALUE,
        definitions_1.IF_STATIC_THEN_URL_FORMAT,
        definitions_1.VALUE_TYPE_MAPPING,
    ] });
//# sourceMappingURL=InitiativeSchema.js.map