Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/diaspora/diaspora.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJonne Haß <me@jhass.eu>2020-02-02 04:57:07 +0300
committerJonne Haß <me@jhass.eu>2020-02-02 20:03:51 +0300
commit9e762fcc317c79a144e0c308abf253a87dbfba2f (patch)
treef05662fa6c1cdeaad97957fcfb8aea7faae0fa6c /lib
parent2da33408f9f02fbcd7fccfdc9a344c5a9cbeb78b (diff)
Use full references in API JSON schema
We load another schema, https://diaspora.github.io/diaspora_federation/schemas/federation_entities.json, that has overlapping definitions, namely #/definitions/post. When the definition from that schema is accessed first, the json-schema gem caches it and is not smart enough to give precedence to the definition within the schema document that contains the reference. So for now we have to disambiguate the references likes this
Diffstat (limited to 'lib')
-rw-r--r--lib/schemas/api_v1.json136
1 files changed, 68 insertions, 68 deletions
diff --git a/lib/schemas/api_v1.json b/lib/schemas/api_v1.json
index 6faa4c04f..8271e879e 100644
--- a/lib/schemas/api_v1.json
+++ b/lib/schemas/api_v1.json
@@ -2,23 +2,23 @@
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "https://diaspora.software/api/v1/schema.json",
"oneOf": [
- {"$ref": "#/definitions/aspects"},
- {"$ref": "#/definitions/aspect"},
- {"$ref": "#/definitions/comments_or_messages"},
- {"$ref": "#/definitions/users"},
- {"$ref": "#/definitions/conversations"},
- {"$ref": "#/definitions/conversation"},
- {"$ref": "#/definitions/authored_content_references"},
- {"$ref": "#/definitions/likes"},
- {"$ref": "#/definitions/notifications"},
- {"$ref": "#/definitions/notification"},
- {"$ref": "#/definitions/photos"},
- {"$ref": "#/definitions/photo"},
- {"$ref": "#/definitions/post"},
- {"$ref": "#/definitions/posts"},
- {"$ref": "#/definitions/tags"},
- {"$ref": "#/definitions/own_user"},
- {"$ref": "#/definitions/user"}
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/aspects"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/aspect"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/comments_or_messages"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/users"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/conversations"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/conversation"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/authored_content_references"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/likes"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/notifications"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/notification"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/photos"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/photo"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/post"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/posts"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/tags"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/own_user"},
+ {"$ref": "https://diaspora.software/api/v1/schema.json#/definitions/user"}
],
"definitions": {
@@ -41,10 +41,10 @@
"short_profile": {
"type": "object",
"properties": {
- "guid": { "$ref": "#/definitions/guid" },
+ "guid": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
"diaspora_id": { "type": "string" },
"name": { "type": "string" },
- "avatar": { "$ref": "#/definitions/url" }
+ "avatar": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/url" }
},
"required": ["guid", "diaspora_id", "name"],
"additionalProperties": false
@@ -92,9 +92,9 @@
"items": {
"type": "object",
"properties": {
- "guid": { "$ref": "#/definitions/guid" },
- "created_at": { "$ref": "#/definitions/timestamp" },
- "author": { "$ref": "#/definitions/short_profile" },
+ "guid": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
+ "created_at": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/timestamp" },
+ "author": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/short_profile" },
"body": { "type": "string" }
},
"required": ["guid", "created_at", "author", "body"],
@@ -104,24 +104,24 @@
"users": {
"type": "array",
- "items": { "$ref": "#/definitions/short_profile" }
+ "items": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/short_profile" }
},
"conversations": {
"type": "array",
- "items": { "$ref": "#/definitions/conversation" }
+ "items": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/conversation" }
},
"conversation": {
"type": "object",
"properties": {
- "guid": { "$ref": "#/definitions/guid" },
+ "guid": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
"subject": { "type": "string" },
- "created_at": { "$ref": "#/definitions/timestamp" },
+ "created_at": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/timestamp" },
"read": { "type": "boolean" },
"participants": {
"type": "array",
- "items": { "$ref": "#/definitions/short_profile" }
+ "items": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/short_profile" }
}
},
"required": ["subject", "created_at", "read", "participants"],
@@ -130,10 +130,10 @@
"authored_content_reference": {
"type": "object",
- "created_at": { "$ref": "#/definitions/timestamp" },
+ "created_at": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/timestamp" },
"properties": {
- "guid": { "$ref": "#/definitions/guid" },
- "author": { "$ref": "#/definitions/short_profile" }
+ "guid": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
+ "author": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/short_profile" }
},
"required": ["guid", "created_at", "author"],
"additionalProperties": false
@@ -141,7 +141,7 @@
"authored_content_references": {
"type": "array",
- "items": { "$ref": "#/definitions/authored_content_reference" }
+ "items": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/authored_content_reference" }
},
"likes": {
@@ -149,8 +149,8 @@
"items": {
"type": "object",
"properties": {
- "guid": { "$ref": "#/definitions/guid" },
- "author": { "$ref": "#/definitions/short_profile" }
+ "guid": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
+ "author": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/short_profile" }
},
"required": ["guid", "author"],
"additionalProperties": false
@@ -159,13 +159,13 @@
"notifications": {
"type": "array",
- "items": { "$ref": "#/definitions/notification" }
+ "items": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/notification" }
},
"notification": {
"type": "object",
"properties": {
- "guid": { "$ref": "#/definitions/guid" },
+ "guid": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
"type": {
"enum": [
"also_commented",
@@ -179,18 +179,18 @@
]
},
"read": { "type": "boolean" },
- "created_at": { "$ref": "#/definitions/timestamp" },
+ "created_at": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/timestamp" },
"target": {
"type": "object",
"properties": {
- "guid": { "$ref": "#/definitions/guid" },
- "author": { "$ref": "#/definitions/short_profile" }
+ "guid": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
+ "author": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/short_profile" }
},
"required": ["guid"]
},
"event_creators": {
"type": "array",
- "items": { "$ref": "#/definitions/short_profile" }
+ "items": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/short_profile" }
}
},
"required": ["guid", "type", "read", "created_at", "target"],
@@ -199,15 +199,15 @@
"photos": {
"type": "array",
- "items": { "$ref": "#/definitions/photo"}
+ "items": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/photo"}
},
"photo_sizes": {
"type": "object",
"properties": {
- "large": { "$ref": "#/definitions/url" },
- "medium": { "$ref": "#/definitions/url" },
- "small": { "$ref": "#/definitions/url" }
+ "large": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/url" },
+ "medium": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/url" },
+ "small": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/url" }
},
"required": ["large", "medium", "small"],
"additionalProperties": true
@@ -225,11 +225,11 @@
"photo": {
"type": "object",
"properties": {
- "guid": { "$ref": "#/definitions/guid" },
- "post": { "$ref": "#/definitions/guid" },
- "created_at": { "$ref": "#/definitions/timestamp" },
- "dimensions": { "$ref": "#/definitions/photo_dimensions" },
- "sizes": { "$ref": "#/definitions/photo_sizes" }
+ "guid": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
+ "post": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
+ "created_at": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/timestamp" },
+ "dimensions": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/photo_dimensions" },
+ "sizes": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/photo_sizes" }
},
"required": ["guid", "created_at", "dimensions", "sizes"],
"additionalProperties": false
@@ -238,14 +238,14 @@
"post_common": {
"type": "object",
"properties": {
- "guid": { "$ref": "#/definitions/guid" },
- "created_at": { "$ref": "#/definitions/timestamp" },
+ "guid": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
+ "created_at": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/timestamp" },
"title": { "type": "string" },
"body": { "type": "string" },
"provider_display_name": { "type": "string" },
"public": { "type": "boolean" },
"nsfw": { "type": "boolean" },
- "author": { "$ref": "#/definitions/short_profile" },
+ "author": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/short_profile" },
"interaction_counters": {
"type": "object",
"properties": {
@@ -258,15 +258,15 @@
},
"mentioned_people": {
"type": "array",
- "items": { "$ref": "#/definitions/short_profile" }
+ "items": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/short_profile" }
},
"photos": {
"type": "array",
"items": {
"type": "object",
"properties": {
- "dimensions": { "$ref": "#/definitions/photo_dimensions" },
- "sizes": { "$ref": "#/definitions/photo_sizes" }
+ "dimensions": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/photo_dimensions" },
+ "sizes": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/photo_sizes" }
},
"required": ["dimensions", "sizes"]
}
@@ -274,7 +274,7 @@
"poll": {
"type": "object",
"properties": {
- "guid": { "$ref": "#/definitions/guid" },
+ "guid": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
"participation_count": { "type": "integer" },
"already_participated": { "type": "boolean" },
"question": { "type": "string" },
@@ -313,7 +313,7 @@
"anyOf": [
{
"allOf": [
- { "$ref": "#/definitions/post_common" },
+ { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/post_common" },
{
"properties": {
"post_type": { "type": "string", "format": "^StatusMessage$" }
@@ -324,11 +324,11 @@
},
{
"allOf": [
- { "$ref": "#/definitions/post_common" },
+ { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/post_common" },
{
"properties": {
"post_type": { "type": "string", "format": "^Reshare$" },
- "root": { "$ref": "#/definitions/authored_content_reference" }
+ "root": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/authored_content_reference" }
},
"required": ["post_type", "root"]
}
@@ -342,9 +342,9 @@
"items": {
"type": "object",
"properties": {
- "guid": { "$ref": "#/definitions/guid" },
- "created_at": { "$ref": "#/definitions/timestamp" },
- "author": { "$ref": "#/definitions/short_profile" }
+ "guid": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
+ "created_at": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/timestamp" },
+ "author": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/short_profile" }
},
"required": ["guid", "created_at", "author"],
"additionalProperties": false
@@ -353,7 +353,7 @@
"posts": {
"type": "array",
- "items": { "$ref": "#/definitions/post" }
+ "items": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/post" }
},
"tags": {
@@ -366,22 +366,22 @@
"user_data": {
"type": "object",
"properties": {
- "guid": { "$ref": "#/definitions/guid" },
+ "guid": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/guid" },
"diaspora_id": { "type": "string" },
"name": { "type": "string" },
- "birthday": { "$ref": "#/definitions/birthday" },
+ "birthday": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/birthday" },
"gender": { "type": "string" },
"location": { "type": "string" },
"bio": { "type": "string" },
- "avatar": { "$ref": "#/definitions/photo_sizes" },
- "tags": { "$ref": "#/definitions/tags" }
+ "avatar": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/photo_sizes" },
+ "tags": { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/tags" }
},
"required": ["guid", "diaspora_id", "tags"]
},
"own_user": {
"allOf": [
- { "$ref": "#/definitions/user_data" },
+ { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/user_data" },
{
"type": "object",
"properties": {
@@ -395,7 +395,7 @@
"user": {
"allOf": [
- { "$ref": "#/definitions/user_data" },
+ { "$ref": "https://diaspora.software/api/v1/schema.json#/definitions/user_data" },
{
"type": "object",
"properties": {