nes-lokijs-repository-plugin
Version:
Network Event Simulator LokiJS plugin
35 lines (28 loc) • 998 B
text/typescript
import { entities } from 'nes-core';
import { repositories } from 'nes-core';
import * as LokiJS from 'lokijs';
import * as uuidV4 from 'uuid/v4';
export default class SimulationRepository implements repositories.SimulationRepository {
constructor(private collection: LokiCollection<{}>) {}
create(name: string): Promise<entities.Simulation> {
return Promise.resolve(this.collection
.insert({
id: uuidV4(),
name: name,
map: null
}) as entities.Simulation);
}
get(simulationId: string): Promise<entities.Simulation> {
return Promise.resolve(this.collection
.by('id', simulationId) as entities.Simulation);
}
addMap(simulationId: string, map: entities.SimulationMap): Promise<void> {
const simulation: entities.Simulation = this.collection
.by('id', simulationId) as entities.Simulation;
if (simulation) {
simulation.map = map;
this.collection.update(simulation);
}
return Promise.resolve();
}
}