A app/javascript/mastodon/api_types/accounts.ts => app/javascript/mastodon/api_types/accounts.ts +45 -0
@@ 0,0 1,45 @@
+import type { ApiCustomEmojiJSON } from './custom_emoji';
+
+export interface ApiAccountFieldJSON {
+ name: string;
+ value: string;
+ verified_at: string | null;
+}
+
+export interface ApiAccountRoleJSON {
+ color: string;
+ id: string;
+ name: string;
+}
+
+// See app/serializers/rest/account_serializer.rb
+export interface ApiAccountJSON {
+ acct: string;
+ avatar: string;
+ avatar_static: string;
+ bot: boolean;
+ created_at: string;
+ discoverable: boolean;
+ display_name: string;
+ emojis: ApiCustomEmojiJSON[];
+ fields: ApiAccountFieldJSON[];
+ followers_count: number;
+ following_count: number;
+ group: boolean;
+ header: string;
+ header_static: string;
+ id: string;
+ last_status_at: string;
+ locked: boolean;
+ noindex: boolean;
+ note: string;
+ roles: ApiAccountJSON[];
+ statuses_count: number;
+ uri: string;
+ url: string;
+ username: string;
+ moved?: ApiAccountJSON;
+ suspended?: boolean;
+ limited?: boolean;
+ memorial?: boolean;
+}
A app/javascript/mastodon/api_types/custom_emoji.ts => app/javascript/mastodon/api_types/custom_emoji.ts +8 -0
@@ 0,0 1,8 @@
+// See app/serializers/rest/account_serializer.rb
+export interface ApiCustomEmojiJSON {
+ shortcode: string;
+ static_url: string;
+ url: string;
+ category?: string;
+ visible_in_picker: boolean;
+}
A app/javascript/mastodon/api_types/relationships.ts => app/javascript/mastodon/api_types/relationships.ts +18 -0
@@ 0,0 1,18 @@
+// See app/serializers/rest/relationship_serializer.rb
+export interface ApiRelationshipJSON {
+ blocked_by: boolean;
+ blocking: boolean;
+ domain_blocking: boolean;
+ endorsed: boolean;
+ followed_by: boolean;
+ following: boolean;
+ id: string;
+ languages: string[] | null;
+ muting_notifications: boolean;
+ muting: boolean;
+ note: string;
+ notifying: boolean;
+ requested_by: boolean;
+ requested: boolean;
+ showing_reblogs: boolean;
+}
M app/serializers/rest/account_serializer.rb => app/serializers/rest/account_serializer.rb +2 -0
@@ 4,6 4,8 @@ class REST::AccountSerializer < ActiveModel::Serializer
include RoutingHelper
include FormattingHelper
+ # Please update `app/javascript/mastodon/api_types/accounts.ts` when making changes to the attributes
+
attributes :id, :username, :acct, :display_name, :locked, :bot, :discoverable, :group, :created_at,
:note, :url, :uri, :avatar, :avatar_static, :header, :header_static,
:followers_count, :following_count, :statuses_count, :last_status_at
M app/serializers/rest/custom_emoji_serializer.rb => app/serializers/rest/custom_emoji_serializer.rb +2 -0
@@ 3,6 3,8 @@
class REST::CustomEmojiSerializer < ActiveModel::Serializer
include RoutingHelper
+ # Please update `app/javascript/mastodon/api_types/custom_emoji.ts` when making changes to the attributes
+
attributes :shortcode, :url, :static_url, :visible_in_picker
attribute :category, if: :category_loaded?
M app/serializers/rest/relationship_serializer.rb => app/serializers/rest/relationship_serializer.rb +2 -0
@@ 1,6 1,8 @@
# frozen_string_literal: true
class REST::RelationshipSerializer < ActiveModel::Serializer
+ # Please update `app/javascript/mastodon/api_types/relationships.ts` when making changes to the attributes
+
attributes :id, :following, :showing_reblogs, :notifying, :languages, :followed_by,
:blocking, :blocked_by, :muting, :muting_notifications,
:requested, :requested_by, :domain_blocking, :endorsed, :note