22 lines
1008 B
JavaScript
22 lines
1008 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.FindingStatus = void 0;
|
|
const ValueObject_1 = require("../../../../shared/domain/ValueObject");
|
|
class FindingStatus extends ValueObject_1.ValueObject {
|
|
static open() { return new FindingStatus({ value: 'open' }); }
|
|
static investigating() { return new FindingStatus({ value: 'investigating' }); }
|
|
static resolved() { return new FindingStatus({ value: 'resolved' }); }
|
|
static closed() { return new FindingStatus({ value: 'closed' }); }
|
|
static fromString(s) {
|
|
if (!FindingStatus.VALUES.includes(s)) {
|
|
throw new Error(`Invalid finding status: ${s}`);
|
|
}
|
|
return new FindingStatus({ value: s });
|
|
}
|
|
get value() { return this.props.value; }
|
|
isOpen() { return this.props.value === 'open'; }
|
|
isResolved() { return this.props.value === 'resolved'; }
|
|
}
|
|
exports.FindingStatus = FindingStatus;
|
|
FindingStatus.VALUES = ['open', 'investigating', 'resolved', 'closed'];
|