"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectSubTypeRepository = 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 ObjectSubTypeRepository = class ObjectSubTypeRepository extends repository_1.DefaultCrudRepository {
    constructor(dataSource, objectTypeRepositoryGetter) {
        super(models_1.ObjectSubType, dataSource);
        this.objectTypeRepositoryGetter = objectTypeRepositoryGetter;
        this.subObjectType = this.createBelongsToAccessorFor('subObjectType', objectTypeRepositoryGetter);
        this.registerInclusionResolver('subObjectType', this.subObjectType.inclusionResolver);
        this.objectType = this.createBelongsToAccessorFor('objectType', objectTypeRepositoryGetter);
        this.registerInclusionResolver('objectType', this.objectType.inclusionResolver);
    }
};
ObjectSubTypeRepository = tslib_1.__decorate([
    tslib_1.__param(0, core_1.inject(constants_1.DATASTORE_DB)),
    tslib_1.__param(1, repository_1.repository.getter('ObjectTypeRepository')),
    tslib_1.__metadata("design:paramtypes", [datasources_1.DbDataSource, Function])
], ObjectSubTypeRepository);
exports.ObjectSubTypeRepository = ObjectSubTypeRepository;
//# sourceMappingURL=object-sub-type.repository.js.map