X-Git-Url: https://git.cweiske.de/ouya-game-data.git/blobdiff_plain/ae04fdddb64629bcbfe1901e722d8916256f4747..0ff78a0e28922628de5e75cf2161d2c2a186fb8a:/schema.json diff --git a/schema.json b/schema.json index 8ce2e30..f071196 100644 --- a/schema.json +++ b/schema.json @@ -1,6 +1,6 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "http://example.com/ouya-game.schema.json", + "$id": "http://cweiske.de/ouya-game.schema.json", "title": "OUYA game metadata", "description": "Game data importable in OUYA API servers.", "type": "object", @@ -15,8 +15,11 @@ "additionalProperties": false, "properties": { "packageName": { - "description": "Java package name (\"com.vendor.gamename\")", - "type": "string" + "description": "Java package names", + "type": "string", + "examples": [ + "com.vendor.gamename" + ] }, "title": { @@ -90,13 +93,16 @@ "properties": { "name": { - "description": "Human readable version number ('1.6')", - "type": "string" + "description": "Human readable version number", + "type": "string", + "examples": [ + "1.6" + ] }, "versionCode": { "description": "APK-internal version code. Run \"aapt dump badging file.apk\", field \"versionCode\"", - "type": "string" + "type": ["string", "null"] }, "uuid": { @@ -107,7 +113,7 @@ "date": { "description": "When the version has been released", "type": "string", - "format": "date" + "format": "date|datetime" }, "latest": { @@ -245,7 +251,8 @@ "founder": { "description": "If the developer was an OUYA founder", - "type": "boolean" + "type": "boolean", + "default": false } } }, @@ -300,9 +307,10 @@ }, "average": { - "description": "Average rating for this game (0-5)", + "description": "Average rating for this game", "type": "number", - "minimum": 0 + "minimum": 0, + "maximum": 5 }, "count": { @@ -314,9 +322,63 @@ }, "products": { + "description": "Items that could be bought via the discover store", "type": "array", "items": { - "FIXME": "" + "type": "object", + "required": [ + "identifier", + "name", + "description", + "localPrice", + "originalPrice", + "currency" + ], + "additionalProperties": false, + "properties": { + + "promoted": { + "description": "If this product is the currently promoted/visible one", + "type": "boolean" + }, + + "identifier": { + "description": "Internal key", + "type": "string", + "examples": [ + "full_version" + ] + }, + + "name": { + "description": "Human readable name", + "type": "string", + "examples": [ + "Unlock full game" + ] + }, + + "description": { + "description": "Explanation of the features you will buy", + "type": "string" + }, + + "localPrice": { + "description": "Current price (maybe discounted)", + "type": "number" + }, + + "originalPrice": { + "description": "Previous price", + "type": "number" + }, + + "currency": { + "description": "Three-letter currency code, depending on the player that was logged in", + "type": "string", + "enum": ["EUR", "USD"] + } + } } } }