event-local
Version:
Event client
65 lines • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const TestCommand_1 = require("./TestCommand");
const TestCreated_1 = require("./TestCreated");
class Test {
constructor() {
this.status = 0;
}
getID() {
return this.id;
}
getName() {
return this.name;
}
apply(event) {
console.log(event);
switch (event.event_type) {
case "TestCreated":
this.id = event.entity_id;
this.name = event.event_data.name;
return;
case "TestRenamed":
this.name = event.event_data;
break;
case "TestStatusChanged":
this.status = event.event_data;
break;
}
}
process(command) {
if (command instanceof TestCommand_1.CreateTest) {
command.entity.id = command.entity_id;
return [
new TestCreated_1.TestCreated({
event_data: command.entity,
entity_type: this.constructor.name,
entity_id: command.entity_id,
triggering_event: null
})
];
}
if (command instanceof TestCommand_1.RenameTest) {
return [
new TestCreated_1.TestRenamed({
event_data: command.entity,
entity_type: this.constructor.name,
entity_id: command.entity_id,
triggering_event: null
})
];
}
if (command instanceof TestCommand_1.ChangeStatusTest) {
return [
new TestCreated_1.TestStatusChanged({
event_data: command.entity,
entity_type: this.constructor.name,
entity_id: command.entity_id,
triggering_event: null
})
];
}
}
}
exports.Test = Test;
//# sourceMappingURL=Test.js.map