"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeCalloutRepoFactory = makeCalloutRepoFactory;
const calloutFactory_1 = require("./calloutFactory");
const Entities_1 = require("../Entities");
const PM_1 = require("../PM");
const UC_1 = require("../UC");
function makeCalloutRepoFactory(appObjects) {
    return function calloutRepoFactory(id) {
        const appObject = appObjects.getOrCreate(id);
        const repo = Entities_1.CalloutRepo.addIfMissing(appObject);
        repo.calloutFactory = (0, calloutFactory_1.makeCalloutFactory)(appObjects);
        // UCs
        (0, UC_1.makeCreateCalloutUC)(appObject);
        (0, PM_1.makeCalloutListPM)(appObject);
        return repo;
    };
}
//# sourceMappingURL=calloutRepoFactory.js.map