"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectType = void 0;
const tslib_1 = require("tslib");
const repository_1 = require("@loopback/repository");
const entity_name_1 = require("./entity-name");
const object_sub_type_model_1 = require("./object-sub-type.model");
const rest_entity_model_1 = require("./rest-entity.model");
let ObjectType = class ObjectType extends rest_entity_model_1.RestEntity {
    constructor(data) {
        super(data);
        this.entityName = entity_name_1.EntityName.objectType;
    }
};
tslib_1.__decorate([
    repository_1.property({
        type: 'string',
        required: true,
    }),
    tslib_1.__metadata("design:type", String)
], ObjectType.prototype, "name", void 0);
tslib_1.__decorate([
    repository_1.property({
        type: 'string',
    }),
    tslib_1.__metadata("design:type", String)
], ObjectType.prototype, "title", void 0);
tslib_1.__decorate([
    repository_1.property({
        type: 'boolean',
        default: false,
    }),
    tslib_1.__metadata("design:type", Boolean)
], ObjectType.prototype, "applicationType", void 0);
tslib_1.__decorate([
    repository_1.property({ type: 'array', default: [], itemType: 'string' }),
    tslib_1.__metadata("design:type", Array)
], ObjectType.prototype, "inheritedTypesIds", void 0);
tslib_1.__decorate([
    repository_1.property({ type: 'array', default: [], itemType: 'string' }),
    tslib_1.__metadata("design:type", Array)
], ObjectType.prototype, "fieldsOrder", void 0);
tslib_1.__decorate([
    repository_1.property({
        type: 'string',
        required: false,
    }),
    tslib_1.__metadata("design:type", String)
], ObjectType.prototype, "contentType", void 0);
tslib_1.__decorate([
    repository_1.property({
        required: false,
    }),
    tslib_1.__metadata("design:type", Object)
], ObjectType.prototype, "definition", void 0);
tslib_1.__decorate([
    repository_1.property({
        type: 'string',
        required: false,
    }),
    tslib_1.__metadata("design:type", String)
], ObjectType.prototype, "templateView", void 0);
tslib_1.__decorate([
    repository_1.property({
        type: 'string',
        required: false,
    }),
    tslib_1.__metadata("design:type", String)
], ObjectType.prototype, "iconView", void 0);
tslib_1.__decorate([
    repository_1.hasMany(() => object_sub_type_model_1.ObjectSubType),
    tslib_1.__metadata("design:type", Array)
], ObjectType.prototype, "objectSubTypes", void 0);
ObjectType = tslib_1.__decorate([
    repository_1.model({ settings: { strict: false } }),
    tslib_1.__metadata("design:paramtypes", [Object])
], ObjectType);
exports.ObjectType = ObjectType;
//# sourceMappingURL=object-type.model.js.map