problem-details
Version:
HTTP problem details model based on RFC7807
28 lines • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var problem_detail_1 = require("../models/problem-detail");
var uuid_1 = require("uuid");
var DetailFactory = /** @class */ (function () {
function DetailFactory(definitionFactory) {
this.definitionFactory = definitionFactory;
}
/**
* Creates a ProblemDetail error based on the passed code.
* @param code Code refering to a definition
*/
DetailFactory.prototype.createFromCode = function (code) {
var def = this.definitionFactory.getByCode(code);
return this.create(def);
};
/**
* Creates a ProblemDetail based on a definition.
* @param definition Defintion of the problem
*/
DetailFactory.prototype.create = function (definition) {
var identifier = uuid_1.v4();
return new problem_detail_1.ProblemDetail(definition.type, definition.title, definition.status, identifier, definition.code);
};
return DetailFactory;
}());
exports.DetailFactory = DetailFactory;
//# sourceMappingURL=detail.factory.js.map