UNPKG

nes-lokijs-repository-plugin

Version:
35 lines (28 loc) 998 B
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(); } }