@happy-coders/fun-cli
Version:
Be your project management more fun!
70 lines (69 loc) • 2.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProjectRepository = void 0;
var tslib_1 = require("tslib");
var messages_1 = require("../../ui/messages");
var ProjectRepository = /** @class */ (function () {
function ProjectRepository(manager) {
this.manager = manager;
}
ProjectRepository.prototype.create = function (project) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
return tslib_1.__generator(this, function (_a) {
return [2 /*return*/, this.manager.create(project)];
});
});
};
ProjectRepository.prototype.listAll = function () {
return tslib_1.__awaiter(this, void 0, void 0, function () {
return tslib_1.__generator(this, function (_a) {
return [2 /*return*/, this.manager.listAll()];
});
});
};
ProjectRepository.prototype.findOne = function (alias) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
return tslib_1.__generator(this, function (_a) {
return [2 /*return*/, this.manager.findOne(alias)];
});
});
};
ProjectRepository.prototype.findOneOrFail = function (alias) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var project, errorMessage;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.findOne(alias)];
case 1:
project = _a.sent();
if (!project) {
errorMessage = messages_1.PROJECT_NOT_FOUND(alias);
console.error(errorMessage);
console.info(messages_1.LIST_PROJECTS_HELP);
throw new Error(errorMessage);
}
return [2 /*return*/, project];
}
});
});
};
ProjectRepository.prototype.update = function (alias, project) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
return tslib_1.__generator(this, function (_a) {
return [2 /*return*/, this.manager.update(alias, project)];
});
});
};
ProjectRepository.prototype.delete = function (alias) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
return tslib_1.__generator(this, function (_a) {
return [2 /*return*/, this.manager.delete(alias)];
});
});
};
ProjectRepository.prototype.getManager = function () {
return this.manager;
};
return ProjectRepository;
}());
exports.ProjectRepository = ProjectRepository;