infernod/core/model/software.ts

32 lines
667 B
TypeScript

import s from "@sharkitek/core";
/**
* A **Software** describes the required *services* and *application environment* to run an application.
*/
export class Software {
/**
* Unique software UUID.
*/
id!: string;
/**
* The name of the software must be unique.
* It is a human-understandable identifier.
*/
name!: string;
/**
* Software variants identifiers, with their associated metadata.
*/
variants!: Map<string, any>;
}
export const SoftwareModel = s.defineModel({
Class: Software,
identifier: "id",
properties: {
id: s.property.string(),
name: s.property.string(),
variants: s.property.stringMap(s.property.object({})),
},
});