forked from jmug/stoatchat
chore(doc): finish up OpenAPI spec
This commit is contained in:
@@ -47,13 +47,77 @@ fn custom_openapi_spec() -> OpenApi {
|
|||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
extensions.insert(
|
||||||
|
"x-tagGroups".to_owned(),
|
||||||
|
json!([
|
||||||
|
{
|
||||||
|
"name": "Revolt",
|
||||||
|
"tags": [
|
||||||
|
"Core"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Users",
|
||||||
|
"tags": [
|
||||||
|
"User Information",
|
||||||
|
"Direct Messaging",
|
||||||
|
"Relationships"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Bots",
|
||||||
|
"tags": [
|
||||||
|
"Bots"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Channels",
|
||||||
|
"tags": [
|
||||||
|
"Channel Information",
|
||||||
|
"Channel Invites",
|
||||||
|
"Channel Permissions",
|
||||||
|
"Messaging",
|
||||||
|
"Groups",
|
||||||
|
"Voice"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Servers",
|
||||||
|
"tags": [
|
||||||
|
"Server Information",
|
||||||
|
"Server Members",
|
||||||
|
"Server Permissions"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Invites",
|
||||||
|
"tags": [
|
||||||
|
"Invites"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Authentication",
|
||||||
|
"tags": [
|
||||||
|
"Account",
|
||||||
|
"Session",
|
||||||
|
"Onboarding"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Miscellaneous",
|
||||||
|
"tags": [
|
||||||
|
"Sync",
|
||||||
|
"Web Push"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]),
|
||||||
|
);
|
||||||
|
|
||||||
OpenApi {
|
OpenApi {
|
||||||
openapi: OpenApi::default_version(),
|
openapi: OpenApi::default_version(),
|
||||||
info: Info {
|
info: Info {
|
||||||
title: "Revolt API".to_owned(),
|
title: "Revolt API".to_owned(),
|
||||||
description: Some(
|
description: Some("User-first privacy focused chat platform.".to_owned()),
|
||||||
"User-first privacy focused chat platform.\n\n<!-- ReDoc-Inject: <security-definitions> -->".to_owned(),
|
|
||||||
),
|
|
||||||
terms_of_service: Some("https://revolt.chat/terms".to_owned()),
|
terms_of_service: Some("https://revolt.chat/terms".to_owned()),
|
||||||
contact: Some(Contact {
|
contact: Some(Contact {
|
||||||
name: Some("Revolt Support".to_owned()),
|
name: Some("Revolt Support".to_owned()),
|
||||||
@@ -69,28 +133,135 @@ fn custom_openapi_spec() -> OpenApi {
|
|||||||
version: "0.5.3-rc.1".to_owned(),
|
version: "0.5.3-rc.1".to_owned(),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
servers: vec![Server {
|
servers: vec![
|
||||||
|
Server {
|
||||||
url: "https://api.revolt.chat".to_owned(),
|
url: "https://api.revolt.chat".to_owned(),
|
||||||
description: Some("Revolt API".to_owned()),
|
description: Some("Revolt API".to_owned()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}, Server {
|
},
|
||||||
|
Server {
|
||||||
url: "http://local.revolt.chat:8000".to_owned(),
|
url: "http://local.revolt.chat:8000".to_owned(),
|
||||||
description: Some("Local Revolt Environment".to_owned()),
|
description: Some("Local Revolt Environment".to_owned()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}],
|
},
|
||||||
|
],
|
||||||
external_docs: Some(ExternalDocs {
|
external_docs: Some(ExternalDocs {
|
||||||
url: "https://developers.revolt.chat".to_owned(),
|
url: "https://developers.revolt.chat".to_owned(),
|
||||||
description: Some("Revolt Developer Documentation".to_owned()),
|
description: Some("Revolt Developer Documentation".to_owned()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}),
|
}),
|
||||||
extensions,
|
extensions,
|
||||||
/*tags: vec![
|
tags: vec![
|
||||||
Tag {
|
Tag {
|
||||||
name: "aaa".to_owned(),
|
name: "Core".to_owned(),
|
||||||
description: Some("aaa".to_owned()),
|
description: Some(
|
||||||
|
"Use in your applications to determine information about the Revolt node"
|
||||||
|
.to_owned(),
|
||||||
|
),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}
|
},
|
||||||
],*/
|
Tag {
|
||||||
|
name: "User Information".to_owned(),
|
||||||
|
description: Some("Query and fetch users on Revolt".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Direct Messaging".to_owned(),
|
||||||
|
description: Some("Direct message other users on Revolt".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Relationships".to_owned(),
|
||||||
|
description: Some(
|
||||||
|
"Manage your friendships and block list on the platform".to_owned(),
|
||||||
|
),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Bots".to_owned(),
|
||||||
|
description: Some("Create and edit bots".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Channel Information".to_owned(),
|
||||||
|
description: Some("Query and fetch channels on Revolt".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Channel Invites".to_owned(),
|
||||||
|
description: Some("Create and manage invites for channels".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Channel Permissions".to_owned(),
|
||||||
|
description: Some("Manage permissions for channels".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Messaging".to_owned(),
|
||||||
|
description: Some("Send and manipulate messages".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Groups".to_owned(),
|
||||||
|
description: Some("Create, invite users and manipulate groups".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Voice".to_owned(),
|
||||||
|
description: Some("Join and talk with other users".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Server Information".to_owned(),
|
||||||
|
description: Some("Query and fetch servers on Revolt".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Server Members".to_owned(),
|
||||||
|
description: Some("Find and edit server members".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Server Permissions".to_owned(),
|
||||||
|
description: Some("Manage permissions for servers".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Invites".to_owned(),
|
||||||
|
description: Some("View, join and delete invites".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Account".to_owned(),
|
||||||
|
description: Some("Manage your account".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Session".to_owned(),
|
||||||
|
description: Some("Create and manage sessions".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Onboarding".to_owned(),
|
||||||
|
description: Some(
|
||||||
|
"After signing up to Revolt, users must pick a unique username".to_owned(),
|
||||||
|
),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Sync".to_owned(),
|
||||||
|
description: Some("Upload and retrieve any JSON data between clients".to_owned()),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
Tag {
|
||||||
|
name: "Web Push".to_owned(),
|
||||||
|
description: Some(
|
||||||
|
"Subscribe to and receive Revolt push notifications while offline".to_owned(),
|
||||||
|
),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
],
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user