import { MongoMemoryServer } from 'mongodb-memory-server'; import mongoose, { Mongoose } from 'mongoose'; import DealState from './model/DealState'; import DealTrackingState from './model/DealTrackingState'; import GenerationRequest from './model/GenerationRequest'; import ProviderMetric from './model/ProviderMetric'; import ReplicationRequest from './model/ReplicationRequest'; import ScanningRequest from './model/ScanningRequest'; import InputFileList from './model/InputFileList'; import OutputFileList from './model/OutputFileList'; import HealthCheck from './model/HealthCheck'; import ManifestUploadState from './model/ManifestUploadState'; import Misc from './model/Misc'; import DealSelfServicePolicy from './model/DealSelfServicePolicy'; export default class Datastore { private static logger; protected static mongoMemoryServer: MongoMemoryServer; static HealthCheckModel: mongoose.Model; static ScanningRequestModel: mongoose.Model; static GenerationRequestModel: mongoose.Model; static DealStateModel: mongoose.Model; static ReplicationRequestModel: mongoose.Model; static ProviderMetricModel: mongoose.Model; static DealTrackingStateModel: mongoose.Model; static InputFileListModel: mongoose.Model; static OutputFileListModel: mongoose.Model; static ManifestUploadStateModel: mongoose.Model; static MiscModel: mongoose.Model; static DealSelfServicePolicyModel: mongoose.Model; private static DB_NAME; private static setupLocalMongoDb; static connectMongoDb(connectionString: string): Promise; private static setupDataModels; private static setupDealSelfServicePolicySchema; private static setupMiscSchema; private static setupManifestUploadStateSchema; private static setupOutputFileListSchema; private static setupInputFileListSchema; private static setupDealTrackingStateSchema; private static setupProviderMetricSchema; private static setupReplicationRequestSchema; private static setupDealStateSchema; private static setupGenerationRequestSchema; private static setupScanningRequestSchema; private static setupHealthCheckSchema; static init(inMemory: boolean): Promise; static connect(): Promise; static findReplicationRequest(id: string): Promise<(mongoose.Document & ReplicationRequest & { _id: mongoose.Types.ObjectId; }) | null>; static findScanningRequest(idOrName: string): Promise<(mongoose.Document & ScanningRequest & { _id: mongoose.Types.ObjectId; }) | null>; static findGenerationRequest(id: string, dataset: string | undefined): Promise<(mongoose.Document & GenerationRequest & { _id: mongoose.Types.ObjectId; }) | undefined>; }