mirror of
https://github.com/immich-app/immich.git
synced 2025-11-16 06:02:35 +09:00
refactor(cli): organize files, simplify types, use @immich/sdk (#6747)
This commit is contained in:
21
cli/src/commands/base-command.ts
Normal file
21
cli/src/commands/base-command.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { ServerVersionResponseDto, UserResponseDto } from '@immich/sdk';
|
||||
import { ImmichApi } from '../services/api.service';
|
||||
import { SessionService } from '../services/session.service';
|
||||
|
||||
export abstract class BaseCommand {
|
||||
protected sessionService!: SessionService;
|
||||
protected immichApi!: ImmichApi;
|
||||
protected user!: UserResponseDto;
|
||||
protected serverVersion!: ServerVersionResponseDto;
|
||||
|
||||
constructor(options: { config?: string }) {
|
||||
if (!options.config) {
|
||||
throw new Error('Config directory is required');
|
||||
}
|
||||
this.sessionService = new SessionService(options.config);
|
||||
}
|
||||
|
||||
public async connect(): Promise<void> {
|
||||
this.immichApi = await this.sessionService.connect();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user