mirror of
https://github.com/immich-app/immich.git
synced 2025-12-20 17:25:35 +03:00
chore: lint fixes
This commit is contained in:
@@ -35,7 +35,7 @@ class Workers {
|
|||||||
if (isMaintenanceMode) {
|
if (isMaintenanceMode) {
|
||||||
this.startWorker(ImmichWorker.Maintenance);
|
this.startWorker(ImmichWorker.Maintenance);
|
||||||
} else {
|
} else {
|
||||||
this.waitForFreeLock();
|
await this.waitForFreeLock();
|
||||||
|
|
||||||
for (const worker of workers) {
|
for (const worker of workers) {
|
||||||
this.startWorker(worker);
|
this.startWorker(worker);
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ export class MaintenanceWorkerController {
|
|||||||
constructor(private service: MaintenanceWorkerService) {}
|
constructor(private service: MaintenanceWorkerService) {}
|
||||||
|
|
||||||
@Get('server/config')
|
@Get('server/config')
|
||||||
getServerConfig(): Promise<ServerConfigDto> {
|
getServerConfig(): ServerConfigDto {
|
||||||
return this.service.getSystemConfig();
|
return this.service.getSystemConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ import { MaintenanceWebsocketRepository } from 'src/maintenance/maintenance-webs
|
|||||||
import { MaintenanceWorkerService } from 'src/maintenance/maintenance-worker.service';
|
import { MaintenanceWorkerService } from 'src/maintenance/maintenance-worker.service';
|
||||||
import { automock, AutoMocked, getMocks, mockDuplex, mockSpawn, ServiceMocks } from 'test/utils';
|
import { automock, AutoMocked, getMocks, mockDuplex, mockSpawn, ServiceMocks } from 'test/utils';
|
||||||
|
|
||||||
|
function* mockData() {
|
||||||
|
yield '';
|
||||||
|
}
|
||||||
|
|
||||||
describe(MaintenanceWorkerService.name, () => {
|
describe(MaintenanceWorkerService.name, () => {
|
||||||
let sut: MaintenanceWorkerService;
|
let sut: MaintenanceWorkerService;
|
||||||
let mocks: ServiceMocks;
|
let mocks: ServiceMocks;
|
||||||
@@ -45,7 +49,7 @@ describe(MaintenanceWorkerService.name, () => {
|
|||||||
|
|
||||||
describe('getSystemConfig', () => {
|
describe('getSystemConfig', () => {
|
||||||
it('should respond the server is in maintenance mode', async () => {
|
it('should respond the server is in maintenance mode', async () => {
|
||||||
await expect(sut.getSystemConfig()).resolves.toMatchObject(
|
expect(sut.getSystemConfig()).toMatchObject(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
maintenanceMode: true,
|
maintenanceMode: true,
|
||||||
}),
|
}),
|
||||||
@@ -188,10 +192,6 @@ describe(MaintenanceWorkerService.name, () => {
|
|||||||
|
|
||||||
describe('action: restore database', () => {
|
describe('action: restore database', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
function* mockData() {
|
|
||||||
yield '';
|
|
||||||
}
|
|
||||||
|
|
||||||
mocks.database.tryLock.mockResolvedValueOnce(true);
|
mocks.database.tryLock.mockResolvedValueOnce(true);
|
||||||
|
|
||||||
mocks.storage.readdir.mockResolvedValue([]);
|
mocks.storage.readdir.mockResolvedValue([]);
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ export class MaintenanceWorkerService {
|
|||||||
/**
|
/**
|
||||||
* {@link _ServerService.getSystemConfig}
|
* {@link _ServerService.getSystemConfig}
|
||||||
*/
|
*/
|
||||||
async getSystemConfig() {
|
getSystemConfig() {
|
||||||
return {
|
return {
|
||||||
maintenanceMode: true,
|
maintenanceMode: true,
|
||||||
} as ServerConfigDto;
|
} as ServerConfigDto;
|
||||||
@@ -195,12 +195,19 @@ export class MaintenanceWorkerService {
|
|||||||
|
|
||||||
async runAction(action: SetMaintenanceModeDto) {
|
async runAction(action: SetMaintenanceModeDto) {
|
||||||
switch (action.action) {
|
switch (action.action) {
|
||||||
case MaintenanceAction.Start:
|
case MaintenanceAction.Start: {
|
||||||
return;
|
return;
|
||||||
case MaintenanceAction.End:
|
}
|
||||||
|
case MaintenanceAction.End: {
|
||||||
return this.endMaintenance();
|
return this.endMaintenance();
|
||||||
case MaintenanceAction.RestoreDatabase:
|
}
|
||||||
if (!action.restoreBackupFilename) return;
|
case MaintenanceAction.RestoreDatabase: {
|
||||||
|
if (!action.restoreBackupFilename) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const lock = await this.databaseRepository.tryLock(DatabaseLock.MaintenanceOperation);
|
const lock = await this.databaseRepository.tryLock(DatabaseLock.MaintenanceOperation);
|
||||||
@@ -220,9 +227,10 @@ export class MaintenanceWorkerService {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
switch (action.action) {
|
switch (action.action) {
|
||||||
case MaintenanceAction.RestoreDatabase:
|
case MaintenanceAction.RestoreDatabase: {
|
||||||
await this.restoreBackup(action.restoreBackupFilename);
|
await this.restoreBackup(action.restoreBackupFilename);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.logger.error(`Encountered error running action: ${error}`);
|
this.logger.error(`Encountered error running action: ${error}`);
|
||||||
|
|||||||
@@ -94,10 +94,10 @@ export class ProcessRepository {
|
|||||||
process.on('exit', (code) => {
|
process.on('exit', (code) => {
|
||||||
console.info(`${command} exited (${code})`);
|
console.info(`${command} exited (${code})`);
|
||||||
|
|
||||||
if (code !== 0) {
|
if (code === 0) {
|
||||||
close(new Error(`${command} non-zero exit code (${code})\n${stderr}`));
|
|
||||||
} else {
|
|
||||||
close();
|
close();
|
||||||
|
} else {
|
||||||
|
close(new Error(`${command} non-zero exit code (${code})\n${stderr}`));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -230,7 +230,10 @@ export async function restoreBackup(
|
|||||||
});
|
});
|
||||||
|
|
||||||
const [progressSource, progressSink] = createSqlProgressStreams((progress) => {
|
const [progressSource, progressSink] = createSqlProgressStreams((progress) => {
|
||||||
if (complete) return;
|
if (complete) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
logger.log(`Restore progress ~ ${(progress * 100).toFixed(2)}%`);
|
logger.log(`Restore progress ~ ${(progress * 100).toFixed(2)}%`);
|
||||||
progressCb?.('restore', progress);
|
progressCb?.('restore', progress);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -509,11 +509,13 @@ export const mockDuplex = vitest.fn(
|
|||||||
setImmediate(() => {
|
setImmediate(() => {
|
||||||
if (error) {
|
if (error) {
|
||||||
duplex.destroy(error as Error);
|
duplex.destroy(error as Error);
|
||||||
} else if (exitCode !== 0) {
|
} else if (exitCode === 0) {
|
||||||
duplex.destroy(new Error(`${command} non-zero exit code (${exitCode})\n${stderr}`));
|
/* eslint-disable unicorn/prefer-single-call */
|
||||||
} else {
|
|
||||||
duplex.push(stdout);
|
duplex.push(stdout);
|
||||||
duplex.push(null);
|
duplex.push(null);
|
||||||
|
/* eslint-enable unicorn/prefer-single-call */
|
||||||
|
} else {
|
||||||
|
duplex.destroy(new Error(`${command} non-zero exit code (${exitCode})\n${stderr}`));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user