This commit consolidates scripts and categories under a unified 'Executable' concept. This simplifies the architecture and improves code readability. - Introduce subfolders within `src/domain` to segregate domain elements. - Update class and interface names by removing the 'I' prefix in alignment with new coding standards. - Replace 'Node' with 'Executable' to clarify usage; reserve 'Node' exclusively for the UI's tree component.
20 lines
838 B
TypeScript
20 lines
838 B
TypeScript
import type { IScriptingDefinition } from '@/domain/IScriptingDefinition';
|
|
import { OperatingSystem } from '@/domain/OperatingSystem';
|
|
import { RecommendationLevel } from '@/domain/Executables/Script/RecommendationLevel';
|
|
import type { Script } from '@/domain/Executables/Script/Script';
|
|
import type { Category } from '@/domain/Executables/Category/Category';
|
|
|
|
export interface ICategoryCollection {
|
|
readonly scripting: IScriptingDefinition;
|
|
readonly os: OperatingSystem;
|
|
readonly totalScripts: number;
|
|
readonly totalCategories: number;
|
|
readonly actions: ReadonlyArray<Category>;
|
|
|
|
getScriptsByLevel(level: RecommendationLevel): ReadonlyArray<Script>;
|
|
getCategory(categoryId: number): Category;
|
|
getScript(scriptId: string): Script;
|
|
getAllScripts(): ReadonlyArray<Script>;
|
|
getAllCategories(): ReadonlyArray<Category>;
|
|
}
|