diff --git a/src/modules/finished/finished.schema.yaml b/src/modules/finished/finished.schema.yaml index 56a844f50..53189c7fa 100644 --- a/src/modules/finished/finished.schema.yaml +++ b/src/modules/finished/finished.schema.yaml @@ -1,6 +1,7 @@ --- $schema: https://json-schema.org/schema# $id: https://calamares.io/schemas/finished +additionalProperties: false type: object properties: restartNowEnabled: { type: boolean, default: true } # TODO:3.3: remove @@ -8,4 +9,3 @@ properties: restartNowCommand: { type: string } restartNowMode: { type: string, enum: [ never, user-unchecked, user-checked, always ] } notifyOnFinished: { type: boolean } -additionalProperties: false diff --git a/src/modules/welcome/welcome.schema.yaml b/src/modules/welcome/welcome.schema.yaml new file mode 100644 index 000000000..56a79be06 --- /dev/null +++ b/src/modules/welcome/welcome.schema.yaml @@ -0,0 +1,36 @@ +--- +$schema: https://json-schema.org/schema# +$id: https://calamares.io/schemas/welcome +additionalProperties: false +type: object +properties: + # TODO:3.3: drop the string alternatives and put the URL part in Branding + showSupportUrl: { anyOf: [ { type: boolean, default: true }, { type: string } ] } + showKnownIssuesUrl: { anyOf: [ { type: boolean, default: true }, { type: string } ] } + showReleaseNotesUrl: { anyOf: [ { type: boolean, default: true }, { type: string } ] } + showDonateUrl: { anyOf: [ { type: boolean, default: true }, { type: string } ] } + + requirements: + additionalProperties: false + type: object + properties: + requiredStorage: { type: number } + requiredRam: { type: number } + internetCheckUrl: { type: string } + check: + type: array + items: { type: string, enum: [storage, ram, power, internet, root, screen], unique: true } + required: # Key-name in the config-file + type: array + items: { type: string, enum: [storage, ram, power, internet, root, screen], unique: true } + required: [ requiredStorage, requiredRam, check ] # Schema keyword + + # TODO: refactor, this is reused in locale + geoip: + additionalProperties: false + type: object + properties: + style: { type: string, enum: [ none, fixed, xml, json ] } + url: { type: string } + selector: { type: string } + required: [ style, url, selector ]