fix(server): library folder missing on new install (#2597)
This commit is contained in:
parent
ffe397247e
commit
caba462703
3 changed files with 17 additions and 0 deletions
|
@ -6,6 +6,7 @@ import {
|
|||
MACHINE_LEARNING_ENABLED,
|
||||
SearchService,
|
||||
SERVER_VERSION,
|
||||
StorageService,
|
||||
} from '@app/domain';
|
||||
import { RedisIoAdapter } from '@app/infra';
|
||||
import { Logger } from '@nestjs/common';
|
||||
|
@ -72,6 +73,8 @@ async function bootstrap() {
|
|||
customSiteTitle: 'Immich API Documentation',
|
||||
});
|
||||
|
||||
app.get(StorageService).init();
|
||||
|
||||
await app.listen(serverPort, () => {
|
||||
if (process.env.NODE_ENV == 'development') {
|
||||
// Generate API Documentation only in development mode
|
||||
|
|
|
@ -15,6 +15,13 @@ describe(StorageService.name, () => {
|
|||
expect(sut).toBeDefined();
|
||||
});
|
||||
|
||||
describe('init', () => {
|
||||
it('should create the library folder on initialization', () => {
|
||||
sut.init();
|
||||
expect(storageMock.mkdirSync).toHaveBeenCalledWith('upload/library');
|
||||
});
|
||||
});
|
||||
|
||||
describe('handleDeleteFiles', () => {
|
||||
it('should handle null values', async () => {
|
||||
await sut.handleDeleteFiles({ files: [undefined, null] });
|
||||
|
|
|
@ -1,13 +1,20 @@
|
|||
import { Inject, Injectable, Logger } from '@nestjs/common';
|
||||
import { IDeleteFilesJob } from '../job';
|
||||
import { StorageCore, StorageFolder } from './storage.core';
|
||||
import { IStorageRepository } from './storage.repository';
|
||||
|
||||
@Injectable()
|
||||
export class StorageService {
|
||||
private logger = new Logger(StorageService.name);
|
||||
private storageCore = new StorageCore();
|
||||
|
||||
constructor(@Inject(IStorageRepository) private storageRepository: IStorageRepository) {}
|
||||
|
||||
init() {
|
||||
const libraryBase = this.storageCore.getBaseFolder(StorageFolder.LIBRARY);
|
||||
this.storageRepository.mkdirSync(libraryBase);
|
||||
}
|
||||
|
||||
async handleDeleteFiles(job: IDeleteFilesJob) {
|
||||
const { files } = job;
|
||||
|
||||
|
|
Loading…
Reference in a new issue