Files
chimera-Public/schemas/trophy-psn-proof.schema.json

185 lines
3.8 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://chimera.local/schemas/trophy-psn-proof.schema.json",
"title": "Read-only PSN trophy evidence snapshot",
"type": "object",
"additionalProperties": false,
"required": [
"schemaVersion",
"snapshotId",
"provider",
"fetchedAt",
"account",
"titles"
],
"properties": {
"schemaVersion": {
"const": 1
},
"snapshotId": {
"type": "string",
"minLength": 1
},
"provider": {
"type": "object",
"required": [
"id",
"version",
"mode"
],
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"mode": {
"enum": [
"json-import",
"authorized-read-only"
]
}
}
},
"fetchedAt": {
"type": "string",
"format": "date-time"
},
"account": {
"type": "object",
"additionalProperties": false,
"required": [
"accountId"
],
"properties": {
"accountId": {
"type": "string",
"minLength": 1
},
"onlineId": {
"type": [
"string",
"null"
]
},
"region": {
"type": [
"string",
"null"
]
}
}
},
"titles": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"platform",
"npServiceName",
"npCommunicationId",
"trophies"
],
"properties": {
"platform": {
"enum": [
"PS3",
"PS4",
"PS5",
"PSVITA",
"PC",
"UNKNOWN"
]
},
"npServiceName": {
"enum": [
"trophy",
"trophy2"
]
},
"npCommunicationId": {
"type": "string",
"minLength": 1
},
"titleId": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"trophies": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"groupId",
"trophyId",
"earned"
],
"properties": {
"groupId": {
"type": "string"
},
"trophyId": {
"type": "integer",
"minimum": 0
},
"earned": {
"type": "boolean"
},
"earnedDateTime": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"type": {
"enum": [
"bronze",
"silver",
"gold",
"platinum",
"unknown"
]
},
"name": {
"type": [
"string",
"null"
]
},
"hidden": {
"type": "boolean"
}
}
}
}
}
}
},
"canonicalSha256": {
"type": [
"string",
"null"
],
"pattern": "^(?:[a-fA-F0-9]{64})?$"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
}
}
}