forked from AkkomaGang/akkoma
Merge branch 'openapi/nullable-request-fields' into 'develop'
[OpenAPI] Mark all not required request fields as nullable Closes #1761 See merge request pleroma/pleroma!2536
This commit is contained in:
commit
081d1d3f48
8 changed files with 134 additions and 23 deletions
|
@ -367,15 +367,18 @@ defp create_request do
|
||||||
title: "AccountCreateRequest",
|
title: "AccountCreateRequest",
|
||||||
description: "POST body for creating an account",
|
description: "POST body for creating an account",
|
||||||
type: :object,
|
type: :object,
|
||||||
|
required: [:username, :password, :agreement],
|
||||||
properties: %{
|
properties: %{
|
||||||
reason: %Schema{
|
reason: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description:
|
description:
|
||||||
"Text that will be reviewed by moderators if registrations require manual approval"
|
"Text that will be reviewed by moderators if registrations require manual approval"
|
||||||
},
|
},
|
||||||
username: %Schema{type: :string, description: "The desired username for the account"},
|
username: %Schema{type: :string, description: "The desired username for the account"},
|
||||||
email: %Schema{
|
email: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description:
|
description:
|
||||||
"The email address to be used for login. Required when `account_activation_required` is enabled.",
|
"The email address to be used for login. Required when `account_activation_required` is enabled.",
|
||||||
format: :email
|
format: :email
|
||||||
|
@ -392,23 +395,33 @@ defp create_request do
|
||||||
},
|
},
|
||||||
locale: %Schema{
|
locale: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description: "The language of the confirmation email that will be sent"
|
description: "The language of the confirmation email that will be sent"
|
||||||
},
|
},
|
||||||
# Pleroma-specific properties:
|
# Pleroma-specific properties:
|
||||||
fullname: %Schema{type: :string, description: "Full name"},
|
fullname: %Schema{type: :string, nullable: true, description: "Full name"},
|
||||||
bio: %Schema{type: :string, description: "Bio", default: ""},
|
bio: %Schema{type: :string, description: "Bio", nullable: true, default: ""},
|
||||||
captcha_solution: %Schema{
|
captcha_solution: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description: "Provider-specific captcha solution"
|
description: "Provider-specific captcha solution"
|
||||||
},
|
},
|
||||||
captcha_token: %Schema{type: :string, description: "Provider-specific captcha token"},
|
captcha_token: %Schema{
|
||||||
captcha_answer_data: %Schema{type: :string, description: "Provider-specific captcha data"},
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
|
description: "Provider-specific captcha token"
|
||||||
|
},
|
||||||
|
captcha_answer_data: %Schema{
|
||||||
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
|
description: "Provider-specific captcha data"
|
||||||
|
},
|
||||||
token: %Schema{
|
token: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description: "Invite token required when the registrations aren't public"
|
description: "Invite token required when the registrations aren't public"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
required: [:username, :password, :agreement],
|
|
||||||
example: %{
|
example: %{
|
||||||
"username" => "cofe",
|
"username" => "cofe",
|
||||||
"email" => "cofe@example.com",
|
"email" => "cofe@example.com",
|
||||||
|
@ -447,28 +460,34 @@ defp update_creadentials_request do
|
||||||
properties: %{
|
properties: %{
|
||||||
bot: %Schema{
|
bot: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "Whether the account has a bot flag."
|
description: "Whether the account has a bot flag."
|
||||||
},
|
},
|
||||||
display_name: %Schema{
|
display_name: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description: "The display name to use for the profile."
|
description: "The display name to use for the profile."
|
||||||
},
|
},
|
||||||
note: %Schema{type: :string, description: "The account bio."},
|
note: %Schema{type: :string, description: "The account bio."},
|
||||||
avatar: %Schema{
|
avatar: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description: "Avatar image encoded using multipart/form-data",
|
description: "Avatar image encoded using multipart/form-data",
|
||||||
format: :binary
|
format: :binary
|
||||||
},
|
},
|
||||||
header: %Schema{
|
header: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description: "Header image encoded using multipart/form-data",
|
description: "Header image encoded using multipart/form-data",
|
||||||
format: :binary
|
format: :binary
|
||||||
},
|
},
|
||||||
locked: %Schema{
|
locked: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "Whether manual approval of follow requests is required."
|
description: "Whether manual approval of follow requests is required."
|
||||||
},
|
},
|
||||||
fields_attributes: %Schema{
|
fields_attributes: %Schema{
|
||||||
|
nullable: true,
|
||||||
oneOf: [
|
oneOf: [
|
||||||
%Schema{type: :array, items: attribute_field()},
|
%Schema{type: :array, items: attribute_field()},
|
||||||
%Schema{type: :object, additionalProperties: %Schema{type: attribute_field()}}
|
%Schema{type: :object, additionalProperties: %Schema{type: attribute_field()}}
|
||||||
|
@ -488,47 +507,65 @@ defp update_creadentials_request do
|
||||||
# Pleroma-specific fields
|
# Pleroma-specific fields
|
||||||
no_rich_text: %Schema{
|
no_rich_text: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "html tags are stripped from all statuses requested from the API"
|
description: "html tags are stripped from all statuses requested from the API"
|
||||||
},
|
},
|
||||||
hide_followers: %Schema{type: :boolean, description: "user's followers will be hidden"},
|
hide_followers: %Schema{
|
||||||
hide_follows: %Schema{type: :boolean, description: "user's follows will be hidden"},
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
|
description: "user's followers will be hidden"
|
||||||
|
},
|
||||||
|
hide_follows: %Schema{
|
||||||
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
|
description: "user's follows will be hidden"
|
||||||
|
},
|
||||||
hide_followers_count: %Schema{
|
hide_followers_count: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "user's follower count will be hidden"
|
description: "user's follower count will be hidden"
|
||||||
},
|
},
|
||||||
hide_follows_count: %Schema{
|
hide_follows_count: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "user's follow count will be hidden"
|
description: "user's follow count will be hidden"
|
||||||
},
|
},
|
||||||
hide_favorites: %Schema{
|
hide_favorites: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "user's favorites timeline will be hidden"
|
description: "user's favorites timeline will be hidden"
|
||||||
},
|
},
|
||||||
show_role: %Schema{
|
show_role: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "user's role (e.g admin, moderator) will be exposed to anyone in the
|
description: "user's role (e.g admin, moderator) will be exposed to anyone in the
|
||||||
API"
|
API"
|
||||||
},
|
},
|
||||||
default_scope: VisibilityScope,
|
default_scope: VisibilityScope,
|
||||||
pleroma_settings_store: %Schema{
|
pleroma_settings_store: %Schema{
|
||||||
type: :object,
|
type: :object,
|
||||||
|
nullable: true,
|
||||||
description: "Opaque user settings to be saved on the backend."
|
description: "Opaque user settings to be saved on the backend."
|
||||||
},
|
},
|
||||||
skip_thread_containment: %Schema{
|
skip_thread_containment: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "Skip filtering out broken threads"
|
description: "Skip filtering out broken threads"
|
||||||
},
|
},
|
||||||
allow_following_move: %Schema{
|
allow_following_move: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "Allows automatically follow moved following accounts"
|
description: "Allows automatically follow moved following accounts"
|
||||||
},
|
},
|
||||||
pleroma_background_image: %Schema{
|
pleroma_background_image: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description: "Sets the background image of the user.",
|
description: "Sets the background image of the user.",
|
||||||
format: :binary
|
format: :binary
|
||||||
},
|
},
|
||||||
discoverable: %Schema{
|
discoverable: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description:
|
description:
|
||||||
"Discovery of this account in search results and other services is allowed."
|
"Discovery of this account in search results and other services is allowed."
|
||||||
},
|
},
|
||||||
|
@ -624,7 +661,7 @@ defp follow_by_uri_request do
|
||||||
description: "POST body for muting an account",
|
description: "POST body for muting an account",
|
||||||
type: :object,
|
type: :object,
|
||||||
properties: %{
|
properties: %{
|
||||||
uri: %Schema{type: :string, format: :uri}
|
uri: %Schema{type: :string, nullable: true, format: :uri}
|
||||||
},
|
},
|
||||||
required: [:uri]
|
required: [:uri]
|
||||||
}
|
}
|
||||||
|
@ -638,6 +675,7 @@ defp mute_request do
|
||||||
properties: %{
|
properties: %{
|
||||||
notifications: %Schema{
|
notifications: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "Mute notifications in addition to statuses? Defaults to true.",
|
description: "Mute notifications in addition to statuses? Defaults to true.",
|
||||||
default: true
|
default: true
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,7 +105,11 @@ defp create_request do
|
||||||
description: "Space separated list of scopes",
|
description: "Space separated list of scopes",
|
||||||
default: "read"
|
default: "read"
|
||||||
},
|
},
|
||||||
website: %Schema{type: :string, description: "A URL to the homepage of your app"}
|
website: %Schema{
|
||||||
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
|
description: "A URL to the homepage of your app"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
required: [:client_name, :redirect_uris],
|
required: [:client_name, :redirect_uris],
|
||||||
example: %{
|
example: %{
|
||||||
|
|
|
@ -199,12 +199,14 @@ defp update_request do
|
||||||
"Array of enumerable strings `home`, `notifications`, `public`, `thread`. At least one context must be specified."
|
"Array of enumerable strings `home`, `notifications`, `public`, `thread`. At least one context must be specified."
|
||||||
},
|
},
|
||||||
irreversible: %Schema{
|
irreversible: %Schema{
|
||||||
type: :bolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description:
|
description:
|
||||||
"Should the server irreversibly drop matching entities from home and notifications?"
|
"Should the server irreversibly drop matching entities from home and notifications?"
|
||||||
},
|
},
|
||||||
whole_word: %Schema{
|
whole_word: %Schema{
|
||||||
type: :bolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "Consider word boundaries?",
|
description: "Consider word boundaries?",
|
||||||
default: true
|
default: true
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,14 +110,16 @@ defp upsert_request do
|
||||||
properties: %{
|
properties: %{
|
||||||
notifications: %Schema{
|
notifications: %Schema{
|
||||||
type: :object,
|
type: :object,
|
||||||
|
nullable: true,
|
||||||
properties: %{
|
properties: %{
|
||||||
last_read_id: %Schema{type: :string}
|
last_read_id: %Schema{nullable: true, type: :string}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
home: %Schema{
|
home: %Schema{
|
||||||
type: :object,
|
type: :object,
|
||||||
|
nullable: true,
|
||||||
properties: %{
|
properties: %{
|
||||||
last_read_id: %Schema{type: :string}
|
last_read_id: %Schema{nullable: true, type: :string}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -143,6 +143,7 @@ defp update_avatar_or_background_request do
|
||||||
type: :object,
|
type: :object,
|
||||||
properties: %{
|
properties: %{
|
||||||
img: %Schema{
|
img: %Schema{
|
||||||
|
nullable: true,
|
||||||
type: :string,
|
type: :string,
|
||||||
format: :binary,
|
format: :binary,
|
||||||
description: "Image encoded using `multipart/form-data` or an empty string to clear"
|
description: "Image encoded using `multipart/form-data` or an empty string to clear"
|
||||||
|
@ -158,6 +159,7 @@ defp update_banner_request do
|
||||||
properties: %{
|
properties: %{
|
||||||
banner: %Schema{
|
banner: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
format: :binary,
|
format: :binary,
|
||||||
description: "Image encoded using `multipart/form-data` or an empty string to clear"
|
description: "Image encoded using `multipart/form-data` or an empty string to clear"
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,15 +37,18 @@ defp create_request do
|
||||||
account_id: %Schema{type: :string, description: "ID of the account to report"},
|
account_id: %Schema{type: :string, description: "ID of the account to report"},
|
||||||
status_ids: %Schema{
|
status_ids: %Schema{
|
||||||
type: :array,
|
type: :array,
|
||||||
|
nullable: true,
|
||||||
items: %Schema{type: :string},
|
items: %Schema{type: :string},
|
||||||
description: "Array of Statuses to attach to the report, for context"
|
description: "Array of Statuses to attach to the report, for context"
|
||||||
},
|
},
|
||||||
comment: %Schema{
|
comment: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description: "Reason for the report"
|
description: "Reason for the report"
|
||||||
},
|
},
|
||||||
forward: %Schema{
|
forward: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
default: false,
|
default: false,
|
||||||
description:
|
description:
|
||||||
"If the account is remote, should the report be forwarded to the remote admin?"
|
"If the account is remote, should the report be forwarded to the remote admin?"
|
||||||
|
|
|
@ -371,15 +371,18 @@ defp create_request do
|
||||||
properties: %{
|
properties: %{
|
||||||
status: %Schema{
|
status: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description:
|
description:
|
||||||
"Text content of the status. If `media_ids` is provided, this becomes optional. Attaching a `poll` is optional while `status` is provided."
|
"Text content of the status. If `media_ids` is provided, this becomes optional. Attaching a `poll` is optional while `status` is provided."
|
||||||
},
|
},
|
||||||
media_ids: %Schema{
|
media_ids: %Schema{
|
||||||
|
nullable: true,
|
||||||
type: :array,
|
type: :array,
|
||||||
items: %Schema{type: :string},
|
items: %Schema{type: :string},
|
||||||
description: "Array of Attachment ids to be attached as media."
|
description: "Array of Attachment ids to be attached as media."
|
||||||
},
|
},
|
||||||
poll: %Schema{
|
poll: %Schema{
|
||||||
|
nullable: true,
|
||||||
type: :object,
|
type: :object,
|
||||||
required: [:options],
|
required: [:options],
|
||||||
properties: %{
|
properties: %{
|
||||||
|
@ -390,26 +393,35 @@ defp create_request do
|
||||||
},
|
},
|
||||||
expires_in: %Schema{
|
expires_in: %Schema{
|
||||||
type: :integer,
|
type: :integer,
|
||||||
|
nullable: true,
|
||||||
description:
|
description:
|
||||||
"Duration the poll should be open, in seconds. Must be provided with `poll[options]`"
|
"Duration the poll should be open, in seconds. Must be provided with `poll[options]`"
|
||||||
},
|
},
|
||||||
multiple: %Schema{type: :boolean, description: "Allow multiple choices?"},
|
multiple: %Schema{
|
||||||
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
|
description: "Allow multiple choices?"
|
||||||
|
},
|
||||||
hide_totals: %Schema{
|
hide_totals: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "Hide vote counts until the poll ends?"
|
description: "Hide vote counts until the poll ends?"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
in_reply_to_id: %Schema{
|
in_reply_to_id: %Schema{
|
||||||
|
nullable: true,
|
||||||
allOf: [FlakeID],
|
allOf: [FlakeID],
|
||||||
description: "ID of the status being replied to, if status is a reply"
|
description: "ID of the status being replied to, if status is a reply"
|
||||||
},
|
},
|
||||||
sensitive: %Schema{
|
sensitive: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "Mark status and attached media as sensitive?"
|
description: "Mark status and attached media as sensitive?"
|
||||||
},
|
},
|
||||||
spoiler_text: %Schema{
|
spoiler_text: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description:
|
description:
|
||||||
"Text to be shown as a warning or subject before the actual content. Statuses are generally collapsed behind this field."
|
"Text to be shown as a warning or subject before the actual content. Statuses are generally collapsed behind this field."
|
||||||
},
|
},
|
||||||
|
@ -420,25 +432,33 @@ defp create_request do
|
||||||
description:
|
description:
|
||||||
"ISO 8601 Datetime at which to schedule a status. Providing this paramter will cause ScheduledStatus to be returned instead of Status. Must be at least 5 minutes in the future."
|
"ISO 8601 Datetime at which to schedule a status. Providing this paramter will cause ScheduledStatus to be returned instead of Status. Must be at least 5 minutes in the future."
|
||||||
},
|
},
|
||||||
language: %Schema{type: :string, description: "ISO 639 language code for this status."},
|
language: %Schema{
|
||||||
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
|
description: "ISO 639 language code for this status."
|
||||||
|
},
|
||||||
# Pleroma-specific properties:
|
# Pleroma-specific properties:
|
||||||
preview: %Schema{
|
preview: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description:
|
description:
|
||||||
"If set to `true` the post won't be actually posted, but the status entitiy would still be rendered back. This could be useful for previewing rich text/custom emoji, for example"
|
"If set to `true` the post won't be actually posted, but the status entitiy would still be rendered back. This could be useful for previewing rich text/custom emoji, for example"
|
||||||
},
|
},
|
||||||
content_type: %Schema{
|
content_type: %Schema{
|
||||||
type: :string,
|
type: :string,
|
||||||
|
nullable: true,
|
||||||
description:
|
description:
|
||||||
"The MIME type of the status, it is transformed into HTML by the backend. You can get the list of the supported MIME types with the nodeinfo endpoint."
|
"The MIME type of the status, it is transformed into HTML by the backend. You can get the list of the supported MIME types with the nodeinfo endpoint."
|
||||||
},
|
},
|
||||||
to: %Schema{
|
to: %Schema{
|
||||||
type: :array,
|
type: :array,
|
||||||
|
nullable: true,
|
||||||
items: %Schema{type: :string},
|
items: %Schema{type: :string},
|
||||||
description:
|
description:
|
||||||
"A list of nicknames (like `lain@soykaf.club` or `lain` on the local server) that will be used to determine who is going to be addressed by this post. Using this will disable the implicit addressing by mentioned names in the `status` body, only the people in the `to` list will be addressed. The normal rules for for post visibility are not affected by this and will still apply"
|
"A list of nicknames (like `lain@soykaf.club` or `lain` on the local server) that will be used to determine who is going to be addressed by this post. Using this will disable the implicit addressing by mentioned names in the `status` body, only the people in the `to` list will be addressed. The normal rules for for post visibility are not affected by this and will still apply"
|
||||||
},
|
},
|
||||||
visibility: %Schema{
|
visibility: %Schema{
|
||||||
|
nullable: true,
|
||||||
anyOf: [
|
anyOf: [
|
||||||
VisibilityScope,
|
VisibilityScope,
|
||||||
%Schema{type: :string, description: "`list:LIST_ID`", example: "LIST:123"}
|
%Schema{type: :string, description: "`list:LIST_ID`", example: "LIST:123"}
|
||||||
|
@ -447,11 +467,13 @@ defp create_request do
|
||||||
"Visibility of the posted status. Besides standard MastoAPI values (`direct`, `private`, `unlisted` or `public`) it can be used to address a List by setting it to `list:LIST_ID`"
|
"Visibility of the posted status. Besides standard MastoAPI values (`direct`, `private`, `unlisted` or `public`) it can be used to address a List by setting it to `list:LIST_ID`"
|
||||||
},
|
},
|
||||||
expires_in: %Schema{
|
expires_in: %Schema{
|
||||||
|
nullable: true,
|
||||||
type: :integer,
|
type: :integer,
|
||||||
description:
|
description:
|
||||||
"The number of seconds the posted activity should expire in. When a posted activity expires it will be deleted from the server, and a delete request for it will be federated. This needs to be longer than an hour."
|
"The number of seconds the posted activity should expire in. When a posted activity expires it will be deleted from the server, and a delete request for it will be federated. This needs to be longer than an hour."
|
||||||
},
|
},
|
||||||
in_reply_to_conversation_id: %Schema{
|
in_reply_to_conversation_id: %Schema{
|
||||||
|
nullable: true,
|
||||||
type: :string,
|
type: :string,
|
||||||
description:
|
description:
|
||||||
"Will reply to a given conversation, addressing only the people who are part of the recipient set of that conversation. Sets the visibility to `direct`."
|
"Will reply to a given conversation, addressing only the people who are part of the recipient set of that conversation. Sets the visibility to `direct`."
|
||||||
|
|
|
@ -109,19 +109,38 @@ defp create_request do
|
||||||
required: [:endpoint, :keys]
|
required: [:endpoint, :keys]
|
||||||
},
|
},
|
||||||
data: %Schema{
|
data: %Schema{
|
||||||
|
nullable: true,
|
||||||
type: :object,
|
type: :object,
|
||||||
properties: %{
|
properties: %{
|
||||||
alerts: %Schema{
|
alerts: %Schema{
|
||||||
|
nullable: true,
|
||||||
type: :object,
|
type: :object,
|
||||||
properties: %{
|
properties: %{
|
||||||
follow: %Schema{type: :boolean, description: "Receive follow notifications?"},
|
follow: %Schema{
|
||||||
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
|
description: "Receive follow notifications?"
|
||||||
|
},
|
||||||
favourite: %Schema{
|
favourite: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "Receive favourite notifications?"
|
description: "Receive favourite notifications?"
|
||||||
},
|
},
|
||||||
reblog: %Schema{type: :boolean, description: "Receive reblog notifications?"},
|
reblog: %Schema{
|
||||||
mention: %Schema{type: :boolean, description: "Receive mention notifications?"},
|
type: :boolean,
|
||||||
poll: %Schema{type: :boolean, description: "Receive poll notifications?"}
|
nullable: true,
|
||||||
|
description: "Receive reblog notifications?"
|
||||||
|
},
|
||||||
|
mention: %Schema{
|
||||||
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
|
description: "Receive mention notifications?"
|
||||||
|
},
|
||||||
|
poll: %Schema{
|
||||||
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
|
description: "Receive poll notifications?"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -154,19 +173,38 @@ defp update_request do
|
||||||
type: :object,
|
type: :object,
|
||||||
properties: %{
|
properties: %{
|
||||||
data: %Schema{
|
data: %Schema{
|
||||||
|
nullable: true,
|
||||||
type: :object,
|
type: :object,
|
||||||
properties: %{
|
properties: %{
|
||||||
alerts: %Schema{
|
alerts: %Schema{
|
||||||
|
nullable: true,
|
||||||
type: :object,
|
type: :object,
|
||||||
properties: %{
|
properties: %{
|
||||||
follow: %Schema{type: :boolean, description: "Receive follow notifications?"},
|
follow: %Schema{
|
||||||
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
|
description: "Receive follow notifications?"
|
||||||
|
},
|
||||||
favourite: %Schema{
|
favourite: %Schema{
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
description: "Receive favourite notifications?"
|
description: "Receive favourite notifications?"
|
||||||
},
|
},
|
||||||
reblog: %Schema{type: :boolean, description: "Receive reblog notifications?"},
|
reblog: %Schema{
|
||||||
mention: %Schema{type: :boolean, description: "Receive mention notifications?"},
|
type: :boolean,
|
||||||
poll: %Schema{type: :boolean, description: "Receive poll notifications?"}
|
nullable: true,
|
||||||
|
description: "Receive reblog notifications?"
|
||||||
|
},
|
||||||
|
mention: %Schema{
|
||||||
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
|
description: "Receive mention notifications?"
|
||||||
|
},
|
||||||
|
poll: %Schema{
|
||||||
|
type: :boolean,
|
||||||
|
nullable: true,
|
||||||
|
description: "Receive poll notifications?"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue