-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathmodule-selector.api.ts
More file actions
15 lines (10 loc) · 922 Bytes
/
module-selector.api.ts
File metadata and controls
15 lines (10 loc) · 922 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import {CatalogModel} from '../catalog-loader';
import {BillOfMaterialModel, BillOfMaterialModule} from '../../models/bill-of-material.model';
import {SingleModuleVersion} from '../../models/module.model';
export abstract class ModuleSelectorApi {
abstract buildBillOfMaterial(fullCatalog: CatalogModel, input?: BillOfMaterialModel, filter?: { platform?: string, provider?: string }): Promise<BillOfMaterialModel>;
abstract resolveBillOfMaterial(fullCatalog: CatalogModel, input: BillOfMaterialModel): Promise<SingleModuleVersion[]>;
abstract validateBillOfMaterialModuleConfigYaml(fullCatalog: CatalogModel, moduleRef: string, yaml: string): Promise<string>;
abstract validateBillOfMaterial(catalogModel: CatalogModel, bom: BillOfMaterialModel): Promise<Array<string | Error>>;
abstract validateBillOfMaterialModuleConfig(catalogModel: CatalogModel, moduleConfig: BillOfMaterialModule): Promise<string>;
}