import * as plugins from './plugins.js';
import { SzPlatformService } from './classes.platformservice.js';



export class PlatformServiceDb {
  public smartdataDb: plugins.smartdata.SmartdataDb;
  public platformserviceRef: SzPlatformService;

  constructor(platformserviceRefArg: SzPlatformService) {
    this.platformserviceRef = platformserviceRefArg;
  }

  public async start() {
    this.smartdataDb = new plugins.smartdata.SmartdataDb({
      mongoDbUser: await this.platformserviceRef.serviceQenv.getEnvVarOnDemand('MONGO_DB_USER'),
      mongoDbName: await this.platformserviceRef.serviceQenv.getEnvVarOnDemand('MONGO_DB_NAME'),
      mongoDbPass: await this.platformserviceRef.serviceQenv.getEnvVarOnDemand('MONGO_DB_PASS'),
      mongoDbUrl: await this.platformserviceRef.serviceQenv.getEnvVarOnDemand('MONGO_DB_URL'),
    });
    await this.smartdataDb.init();
  }

  public async stop() {
    await this.smartdataDb.close();
  }
}