import { Descriptor } from "pip-services3-commons-nodex" import { Factory } from "pip-services3-components-nodex" import { FireMapMongoDbPersistence } from "../persistence/FireMapMongoDbPersistence"; import { FireMapFilePersistence } from "../persistence/FireMapFilePersistence"; import { FireMapMemoryPersistence } from "../persistence/FireMapMemoryPersistence"; import { FireMapController } from "../logic/FireMapController"; import { FireMapsCommandableHttpServiceV1 } from "../services/version1/FireMapsCommandableHttpServiceV1"; export class FireMapServiceFactory extends Factory { private static MemoryPersistenceDescriptor = new Descriptor( 'eic-stopfires-services-firemap', 'persistence', 'memory', '*', '1.0'); private static FilePersistenceDescriptor = new Descriptor( 'eic-stopfires-services-firemap', 'persistence', 'file', '*', '1.0'); private static MongoDbPersistenceDescriptor = new Descriptor( 'eic-stopfires-services-firemap', 'persistence', 'mongodb', '*', '1.0'); private static ControllerDescriptor = new Descriptor( 'eic-stopfires-services-firemap', 'controller', 'default', '*', '1.0'); private static CommandableHttpServiceV1Descriptor = new Descriptor( 'eic-stopfires-services-firemap', 'service', 'commandable-http', '*', '1.0'); public constructor() { super(); this.registerAsType(FireMapServiceFactory.MemoryPersistenceDescriptor, FireMapMemoryPersistence); this.registerAsType(FireMapServiceFactory.FilePersistenceDescriptor, FireMapFilePersistence); this.registerAsType(FireMapServiceFactory.MongoDbPersistenceDescriptor, FireMapMongoDbPersistence); this.registerAsType(FireMapServiceFactory.ControllerDescriptor, FireMapController); this.registerAsType(FireMapServiceFactory.CommandableHttpServiceV1Descriptor, FireMapsCommandableHttpServiceV1); } }