"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectTypeRepository = void 0;
const tslib_1 = require("tslib");
const core_1 = require("@loopback/core");
const repository_1 = require("@loopback/repository");
const datasources_1 = require("../datasources");
const models_1 = require("../models");
const constants_1 = require("./../constants");
let ObjectTypeRepository = class ObjectTypeRepository extends repository_1.DefaultCrudRepository {
    constructor(dataSource, objectSubTypeRepositoryGetter) {
        super(models_1.ObjectType, dataSource);
        this.objectSubTypeRepositoryGetter = objectSubTypeRepositoryGetter;
        this.objectSubTypes = this.createHasManyRepositoryFactoryFor('objectSubTypes', objectSubTypeRepositoryGetter);
        this.registerInclusionResolver('objectSubTypes', this.objectSubTypes.inclusionResolver);
    }
};
ObjectTypeRepository = tslib_1.__decorate([
    tslib_1.__param(0, core_1.inject(constants_1.DATASTORE_DB)),
    tslib_1.__param(1, repository_1.repository.getter('ObjectSubTypeRepository')),
    tslib_1.__metadata("design:paramtypes", [datasources_1.DbDataSource, Function])
], ObjectTypeRepository);
exports.ObjectTypeRepository = ObjectTypeRepository;
//# sourceMappingURL=object-type.repository.js.map