@@ -59,8 +59,28 @@ export interface AppRequirementsCheck {
5959 } ;
6060}
6161
62- export interface AppListing extends AvailableApp {
63- hexos : boolean ;
62+ export interface AppMaintainer {
63+ name : string ;
64+ email : string ;
65+ }
66+
67+ export interface AppListing {
68+ appId : string ;
69+ name : string ;
70+ train : "stable" | "community" ;
71+ version : string ;
72+ appVersion : string ;
73+ description : string ;
74+ icon : string ;
75+ categories : string [ ] ;
76+ keywords : string [ ] ;
77+ maintainers : AppMaintainer [ ] ;
78+ screenshots : string [ ] ;
79+ sources : string [ ] ;
80+ homepage : string ;
81+ recommended : boolean ;
82+ supported : boolean ;
83+ fresh : boolean ;
6484 installScript ?: string ;
6585 requirements ?: AppRequirements ;
6686}
@@ -69,7 +89,9 @@ export interface AppInfo extends AppBasics {
6989 status : AppState ;
7090 url_webui : string ;
7191 upgradeAvailable : boolean ;
92+ updatedScriptAvailable : boolean ;
7293 latestVersion : string ;
94+ recommended : boolean ;
7395}
7496export interface AppInfoDetailed extends AppInfo {
7597 data : number [ ] [ ] ;
@@ -120,6 +142,7 @@ export interface InstallationQuestion {
120142
121143interface AppsInstallScriptV1 {
122144 version : 1 ;
145+ requirements ?: AppRequirements ;
123146 ensure_directories_exists ?: Array < string | { path : string ; network_share ?: boolean ; posix ?: boolean } > ;
124147 ensure_permissions_exists ?: Array < {
125148 path : string ;
@@ -132,6 +155,7 @@ interface AppsInstallScriptV1 {
132155
133156interface AppsInstallScriptV2 {
134157 version : 2 ;
158+ requirements ?: AppRequirements ;
135159 installation_questions ?: InstallationQuestion [ ] ;
136160 ensure_directories_exists ?: Array < string | { path : string ; network_share ?: boolean ; posix ?: boolean } > ;
137161 ensure_permissions_exists ?: Array < {
@@ -143,7 +167,22 @@ interface AppsInstallScriptV2 {
143167 app_values : Record < string , ChartFormValue > ;
144168}
145169
146- export type AppsInstallScript = AppsInstallScriptV1 | AppsInstallScriptV2 ;
170+ interface AppsInstallScriptV3 extends Omit < AppsInstallScriptV2 , 'version' | 'requirements' > {
171+ version : 3 ;
172+ script : {
173+ version : string ;
174+ updateCompatibility ?: string ;
175+ changeLog ?: string ;
176+ } ;
177+ requirements : AppRequirements ; // Required in V3
178+ }
179+
180+ export type AppsInstallScript = AppsInstallScriptV1 | AppsInstallScriptV2 | AppsInstallScriptV3 ;
181+
182+ export interface AppConfiguration {
183+ installScript ?: AppsInstallScript | null ;
184+ questionResponses ?: Record < string , string | number | boolean > ;
185+ }
147186
148187export interface InstallScriptCuration {
149188 name : string ;
0 commit comments