You've already forked pigallery2
mirror of
https://github.com/bpatrik/pigallery2.git
synced 2025-12-05 23:18:43 +02:00
restucturing project
This commit is contained in:
30
src/backend/model/tasks/TaskRepository.ts
Normal file
30
src/backend/model/tasks/TaskRepository.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import {ITask} from './tasks/ITask';
|
||||
import {IndexingTask} from './tasks/IndexingTask';
|
||||
import {DBRestTask} from './tasks/DBResetTask';
|
||||
import {VideoConvertingTask} from './tasks/VideoConvertingTask';
|
||||
|
||||
export class TaskRepository {
|
||||
|
||||
private static instance: TaskRepository = null;
|
||||
availableTasks: { [key: string]: ITask<any> } = {};
|
||||
|
||||
public static get Instance(): TaskRepository {
|
||||
if (TaskRepository.instance == null) {
|
||||
TaskRepository.instance = new TaskRepository();
|
||||
}
|
||||
return TaskRepository.instance;
|
||||
}
|
||||
|
||||
getAvailableTasks(): ITask<any>[] {
|
||||
return Object.values(this.availableTasks).filter(t => t.Supported);
|
||||
}
|
||||
|
||||
register(task: ITask<any>) {
|
||||
this.availableTasks[task.Name] = task;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
TaskRepository.Instance.register(new IndexingTask());
|
||||
TaskRepository.Instance.register(new DBRestTask());
|
||||
TaskRepository.Instance.register(new VideoConvertingTask());
|
||||
Reference in New Issue
Block a user