diff --git a/backend/src/managers/image/image-manager.module.ts b/backend/src/managers/image/image-manager.module.ts index 589ba7c..bb8e830 100644 --- a/backend/src/managers/image/image-manager.module.ts +++ b/backend/src/managers/image/image-manager.module.ts @@ -8,12 +8,15 @@ import { ImageDBService } from '../../collections/image-db/image-db.service'; import { ImageFileDBService } from '../../collections/image-db/image-file-db.service'; import { PreferenceDbModule } from '../../collections/preference-db/preference-db.module'; import { SysPreferenceDbService } from '../../collections/preference-db/sys-preference-db.service'; +import { FileStorageMode } from '../../config/early/early-fs.config.service'; +import { FSConfigService } from '../../config/late/fs.config.service'; +import { LateConfigModule } from '../../config/late/late-config.module'; import { ImageConverterService } from './image-converter.service'; import { ImageProcessorService } from './image-processor.service'; import { ImageManagerService } from './image.service'; @Module({ - imports: [ImageDBModule, PreferenceDbModule], + imports: [ImageDBModule, PreferenceDbModule, LateConfigModule], providers: [ ImageManagerService, ImageProcessorService, @@ -26,6 +29,7 @@ export class ImageManagerModule implements OnModuleInit { constructor( private readonly prefManager: SysPreferenceDbService, + private readonly fsConfig: FSConfigService, private readonly imageFileDB: ImageFileDBService, private readonly imageDB: ImageDBService, ) {} @@ -100,6 +104,9 @@ export class ImageManagerModule implements OnModuleInit { } private async migrateFilesToFilekey() { + if ((await this.fsConfig.getFileStorageMode()) === FileStorageMode.None) + return; + const filesMigrated = await this.imageFileDB.migrateFilesToFilekey(); if (HasFailed(filesMigrated)) { filesMigrated.print(this.logger); diff --git a/yarn.lock b/yarn.lock index 8a5c5da..0963e36 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3403,111 +3403,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.17.8": - version: 0.17.8 - resolution: "@esbuild/linux-loong64@npm:0.17.8" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - -"@esbuild/linux-mips64el@npm:0.17.8": - version: 0.17.8 - resolution: "@esbuild/linux-mips64el@npm:0.17.8" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - -"@esbuild/linux-ppc64@npm:0.17.8": - version: 0.17.8 - resolution: "@esbuild/linux-ppc64@npm:0.17.8" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - -"@esbuild/linux-riscv64@npm:0.17.8": - version: 0.17.8 - resolution: "@esbuild/linux-riscv64@npm:0.17.8" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - -"@esbuild/linux-s390x@npm:0.17.8": - version: 0.17.8 - resolution: "@esbuild/linux-s390x@npm:0.17.8" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - -"@esbuild/linux-x64@npm:0.17.8": - version: 0.17.8 - resolution: "@esbuild/linux-x64@npm:0.17.8" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/netbsd-x64@npm:0.17.8": - version: 0.17.8 - resolution: "@esbuild/netbsd-x64@npm:0.17.8" - conditions: os=netbsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/openbsd-x64@npm:0.17.8": - version: 0.17.8 - resolution: "@esbuild/openbsd-x64@npm:0.17.8" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/sunos-x64@npm:0.17.8": - version: 0.17.8 - resolution: "@esbuild/sunos-x64@npm:0.17.8" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/win32-arm64@npm:0.17.8": - version: 0.17.8 - resolution: "@esbuild/win32-arm64@npm:0.17.8" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/win32-ia32@npm:0.17.8": - version: 0.17.8 - resolution: "@esbuild/win32-ia32@npm:0.17.8" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/win32-x64@npm:0.17.8": - version: 0.17.8 - resolution: "@esbuild/win32-x64@npm:0.17.8" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@eslint-community/eslint-utils@npm:^4.2.0": - version: 4.2.0 - resolution: "@eslint-community/eslint-utils@npm:4.2.0" - dependencies: - eslint-visitor-keys: ^3.3.0 - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 82fdd1cc2a5d169def0e665ec790580ef708e7df9c91f20006595dc90e3bd42ec31c8976a2eeccd336286301a72e937c0ddf3ab4b7377d7014997c36333a7d22 - languageName: node - linkType: hard - -"@eslint-community/regexpp@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/regexpp@npm:4.4.0" - checksum: 2d127af0c752b80e8a782eacfe996a86925d21de92da3ffc6f9e615e701145e44a62e26bdd88bfac2cd76779c39ba8d9875a91046ec5e7e5f23cb647c247ea6a - languageName: node - linkType: hard - -"@eslint/eslintrc@npm:^2.0.1": - version: 2.0.1 - resolution: "@eslint/eslintrc@npm:2.0.1" +"@eslint/eslintrc@npm:^1.4.1": + version: 1.4.1 + resolution: "@eslint/eslintrc@npm:1.4.1" dependencies: ajv: ^6.12.4 debug: ^4.3.2 @@ -3518,14 +3416,7 @@ __metadata: js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: 56b9192a687a450db53a7b883daf9f0f447c43b3510189cf88808a7a2467c2a302a42a50f184cc6d5a9faf3d1df890a2ef0fd0d60b751f32a3e9dfea717c6b48 - languageName: node - linkType: hard - -"@eslint/js@npm:8.36.0": - version: 8.36.0 - resolution: "@eslint/js@npm:8.36.0" - checksum: b7d6b84b823c8c7784be390741196617565527b1f7c0977fde9455bfb57fd88f81c074a03dd878757d2c33fa29f24291e9ecbc1425710f067917324b55e1bf3a + checksum: cd3e5a8683db604739938b1c1c8b77927dc04fce3e28e0c88e7f2cd4900b89466baf83dfbad76b2b9e4d2746abdd00dd3f9da544d3e311633d8693f327d04cd7 languageName: node linkType: hard @@ -6064,6 +5955,18 @@ __metadata: languageName: node linkType: hard +"ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0, ajv@npm:^8.8.0": + version: 8.12.0 + resolution: "ajv@npm:8.12.0" + dependencies: + fast-deep-equal: ^3.1.1 + json-schema-traverse: ^1.0.0 + require-from-string: ^2.0.2 + uri-js: ^4.2.2 + checksum: 4dc13714e316e67537c8b31bc063f99a1d9d9a497eb4bbd55191ac0dcd5e4985bbb71570352ad6f1e76684fb6d790928f96ba3b2d4fd6e10024be9612fe3f001 + languageName: node + linkType: hard + "ansi-colors@npm:4.1.3": version: 4.1.3 resolution: "ansi-colors@npm:4.1.3" @@ -6259,14 +6162,14 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.3.4": - version: 1.3.4 - resolution: "axios@npm:1.3.4" +"axios@npm:^1.2.1": + version: 1.2.2 + resolution: "axios@npm:1.2.2" dependencies: follow-redirects: ^1.15.0 form-data: ^4.0.0 proxy-from-env: ^1.1.0 - checksum: 7440edefcf8498bc3cdf39de00443e8101f249972c83b739c6e880d9d669fea9486372dbe8739e88b3bf8bb1ad15f6106693f206f078f4516fe8fd47b1c3093c + checksum: 6e357491b38426c5720f7328ecbafca3c643b03952c052d787570672ce7a9365717c2d64db4ce97cfbee3f830fa405101e360e14d0857ef7f96a9f4d814c4e03 languageName: node linkType: hard @@ -7107,11 +7010,11 @@ __metadata: linkType: hard "core-js-compat@npm:^3.25.1": - version: 3.29.1 - resolution: "core-js-compat@npm:3.29.1" + version: 3.27.1 + resolution: "core-js-compat@npm:3.27.1" dependencies: - browserslist: ^4.21.5 - checksum: 7260f6bbaa98836cda09a3b61aa721149d3ae95040302fb3b27eb153ae9bbddc8dee5249e72004cdc9552532029de4d50a5b2b066c37414421d2929d6091b18f + browserslist: ^4.21.4 + checksum: e857068f470d67c681564eb87aebf068341db32aa0b9941a5126e588945d909fcd51b1959bb589c855c11056e2ccabe49e96d07007d7d91d56b0d9936fe00d50 languageName: node linkType: hard @@ -7962,14 +7865,14 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^8.7.0": - version: 8.7.0 - resolution: "eslint-config-prettier@npm:8.7.0" +"eslint-config-prettier@npm:^8.5.0": + version: 8.6.0 + resolution: "eslint-config-prettier@npm:8.6.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: b05bc7f2296ce3e0925c14147849706544870e0382d38af2352d709a6cf8521bdaff2bd8e5021f1780e570775a8ffa1d2bac28b8065d90d43a3f1f98fd26ce52 + checksum: ff0d0dfc839a556355422293428637e8d35693de58dabf8638bf0b6529131a109d0b2ade77521aa6e54573bb842d7d9d322e465dd73dd61c7590fa3834c3fa81 languageName: node linkType: hard @@ -8015,14 +7918,11 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.36.0": - version: 8.36.0 - resolution: "eslint@npm:8.36.0" +"eslint@npm:^8.30.0": + version: 8.31.0 + resolution: "eslint@npm:8.31.0" dependencies: - "@eslint-community/eslint-utils": ^4.2.0 - "@eslint-community/regexpp": ^4.4.0 - "@eslint/eslintrc": ^2.0.1 - "@eslint/js": 8.36.0 + "@eslint/eslintrc": ^1.4.1 "@humanwhocodes/config-array": ^0.11.8 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 @@ -8061,7 +7961,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: e9a961fc3b3de5cff5a1cb2c92eeffaa7e155a715489e30b3e1e76f186bd1255e0481e09564f2094733c0b1dbd3453499fb72ae7c043c83156e11e6d965b2304 + checksum: 5e5688bb864edc6b12d165849994812eefa67fb3fc44bb26f53659b63edcd8bcc68389d27cc6cc9e5b79ee22f24b6f311fa3ed047bddcafdec7d84c1b5561e4f languageName: node linkType: hard @@ -8391,8 +8291,8 @@ __metadata: linkType: hard "fastify@npm:>=4.8.1": - version: 4.14.1 - resolution: "fastify@npm:4.14.1" + version: 4.11.0 + resolution: "fastify@npm:4.11.0" dependencies: "@fastify/ajv-compiler": ^3.5.0 "@fastify/error": ^3.0.0 @@ -8409,16 +8309,19 @@ __metadata: secure-json-parse: ^2.5.0 semver: ^7.3.7 tiny-lru: ^10.0.0 - checksum: 243c376fea832a80627fdfdc191043c648430ff4f6c44831b6cad9328cbd02f5ef589de6e4bbe4d075d248e686a0b20832d9b2a6a6f13a92a75a1cbd30ce2cd5 + checksum: 814803b1015ae47cce4d7877a16788abee3ba6bba23e7e1b08a6cc62b43828aa6c38624de835c5b422da902fa93b316d1222d191b8373bebd8acbd68c8843584 languageName: node linkType: hard "fastq@npm:^1.6.0, fastq@npm:^1.6.1": + version: 1.15.0 + resolution: "fastq@npm:1.15.0" version: 1.15.0 resolution: "fastq@npm:1.15.0" dependencies: reusify: ^1.0.4 checksum: 0170e6bfcd5d57a70412440b8ef600da6de3b2a6c5966aeaf0a852d542daff506a0ee92d6de7679d1de82e644bce69d7a574a6c93f0b03964b5337eed75ada1a + checksum: 0170e6bfcd5d57a70412440b8ef600da6de3b2a6c5966aeaf0a852d542daff506a0ee92d6de7679d1de82e644bce69d7a574a6c93f0b03964b5337eed75ada1a languageName: node linkType: hard @@ -8513,13 +8416,13 @@ __metadata: linkType: hard "find-my-way@npm:^7.3.0": - version: 7.6.0 - resolution: "find-my-way@npm:7.6.0" + version: 7.4.0 + resolution: "find-my-way@npm:7.4.0" dependencies: fast-deep-equal: ^3.1.3 fast-querystring: ^1.0.0 safe-regex2: ^2.0.0 - checksum: b5bf14dadf52c61208351519a4681ee389ebec2547cf6ab82ae3ede1eb622657bc6ae45520d40eef09456345e80e145199aa801730cf998c481a602547cca763 + checksum: 8f01b63c28d2a95f5bea674ca4c2ea6f444af5a5d87b54e124fe8a656d26617f4be1443f13e5e7cc155ddf40c2c9604dcd2fe9cfd5d06343aa9e32e06af42a16 languageName: node linkType: hard @@ -9724,12 +9627,16 @@ __metadata: languageName: node linkType: hard +"json5@npm:^2.1.2, json5@npm:^2.2.1, json5@npm:^2.2.2": + version: 2.2.3 + resolution: "json5@npm:2.2.3" "json5@npm:^2.1.2, json5@npm:^2.2.1, json5@npm:^2.2.2": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: json5: lib/cli.js checksum: 2a7436a93393830bce797d4626275152e37e877b265e94ca69c99e3d20c2b9dab021279146a39cdb700e71b2dd32a4cebd1514cd57cee102b1af906ce5040349 + checksum: 2a7436a93393830bce797d4626275152e37e877b265e94ca69c99e3d20c2b9dab021279146a39cdb700e71b2dd32a4cebd1514cd57cee102b1af906ce5040349 languageName: node linkType: hard @@ -12199,6 +12106,8 @@ __metadata: linkType: hard "readable-stream@npm:^4.0.0": + version: 4.3.0 + resolution: "readable-stream@npm:4.3.0" version: 4.3.0 resolution: "readable-stream@npm:4.3.0" dependencies: @@ -12207,6 +12116,7 @@ __metadata: events: ^3.3.0 process: ^0.11.10 checksum: 5f8d5fc1eb0c6eb47771ad4537881126d6280666e1f10ba1e2262a670a0352c36f59e6a04d17c9a6f7c888218984836dc67f55e95a77de8bfdf06fb75f00f670 + checksum: 5f8d5fc1eb0c6eb47771ad4537881126d6280666e1f10ba1e2262a670a0352c36f59e6a04d17c9a6f7c888218984836dc67f55e95a77de8bfdf06fb75f00f670 languageName: node linkType: hard @@ -13645,7 +13555,18 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.4.1": +"tsconfig-paths@npm:^4.0.0, tsconfig-paths@npm:^4.1.0, tsconfig-paths@npm:^4.1.1": + version: 4.1.2 + resolution: "tsconfig-paths@npm:4.1.2" + dependencies: + json5: ^2.2.2 + minimist: ^1.2.6 + strip-bom: ^3.0.0 + checksum: 3d9151ecea139594e25618717de15769ab9f38f8e6d510ac16e592b23e7f7105ea13cec5694c3de7e132c98277b775e18edd1651964164ee6d75737c408494cc + languageName: node + linkType: hard + +"tslib@npm:2.4.1, tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.4.1": version: 2.4.1 resolution: "tslib@npm:2.4.1" checksum: 19480d6e0313292bd6505d4efe096a6b31c70e21cf08b5febf4da62e95c265c8f571f7b36fcc3d1a17e068032f59c269fab3459d6cd3ed6949eafecf64315fca