mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-30 18:12:25 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| Object.defineProperty(exports, "__esModule", { value: true });
 | |
| exports.MongoDBStorage = void 0;
 | |
| function isMongoDBCollectionOptions(arg) {
 | |
|     return Boolean(arg.collection);
 | |
| }
 | |
| class MongoDBStorage {
 | |
|     constructor(options) {
 | |
|         var _a, _b;
 | |
|         if (!options || (!options.collection && !options.connection)) {
 | |
|             throw new Error('MongoDB Connection or Collection required');
 | |
|         }
 | |
|         this.collection = isMongoDBCollectionOptions(options)
 | |
|             ? options.collection
 | |
|             : options.connection.collection((_a = options.collectionName) !== null && _a !== void 0 ? _a : 'migrations');
 | |
|         this.connection = options.connection; // TODO remove this
 | |
|         this.collectionName = (_b = options.collectionName) !== null && _b !== void 0 ? _b : 'migrations'; // TODO remove this
 | |
|     }
 | |
|     async logMigration({ name: migrationName }) {
 | |
|         await this.collection.insertOne({ migrationName });
 | |
|     }
 | |
|     async unlogMigration({ name: migrationName }) {
 | |
|         await this.collection.deleteOne({ migrationName });
 | |
|     }
 | |
|     async executed() {
 | |
|         const records = await this.collection.find({}).sort({ migrationName: 1 }).toArray();
 | |
|         return records.map(r => r.migrationName);
 | |
|     }
 | |
| }
 | |
| exports.MongoDBStorage = MongoDBStorage;
 | |
| //# sourceMappingURL=mongodb.js.map
 |