| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- const CONFIG = require('./config.js');
- const Library = require('./library.js').Library;
- const Path = require('path');
- function LibraryManager() {
- this.libraries = [];
- this.updating = false;
- for (let i of CONFIG.photoLibraries)
- this.push(i);
- }
- LibraryManager.prototype.push = function(path) {
- this.libraries.push(new Library(path));
- }
- LibraryManager.prototype.updateLibraries = async function(dbHelper) {
- if (this.updating)
- return;
- this.updating = true;
- await Promise.allSettled(this.libraries.map(i => i.updateLibrary(dbHelper)));
- this.updating = false;
- }
- LibraryManager.prototype.isUpdating = function()
- { return this.updating; }
- LibraryManager.prototype.findMedia = async function(path) {
- path = Path.normalize(path);
- for (let i of this.libraries) {
- let media = await i.findMedia(path);
- if (media)
- return media;
- }
- return null;
- }
- module.exports.LibraryManager = new LibraryManager();
|