From 3d54c8d9a77d434bbda0ad0aa00633e2fbb0452e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=B5=E3=81=81?= Date: Wed, 12 Apr 2023 02:16:34 +0900 Subject: [PATCH] update file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ふぁ --- openapi-3.0.yaml | 605 ------------------ openapi/openapi-3.0.yaml | 22 + .../src/components/parameters/Features.yaml | 9 + .../src/components/parameters/Variables.yaml | 9 + openapi/src/components/schemas/Content.yaml | 49 ++ .../src/components/schemas/Instruction.yaml | 45 ++ .../src/components/schemas/ItemContent.yaml | 27 + openapi/src/components/schemas/Tweet.yaml | 123 ++++ openapi/src/components/schemas/TypeName.yaml | 11 + openapi/src/components/schemas/User.yaml | 185 ++++++ openapi/src/paths/follow/Followers.yaml | 26 + openapi/src/paths/follow/Following.yaml | 26 + openapi/src/paths/timeline/HomeTimeline.yaml | 68 ++ 13 files changed, 600 insertions(+), 605 deletions(-) delete mode 100644 openapi-3.0.yaml create mode 100644 openapi/openapi-3.0.yaml create mode 100644 openapi/src/components/parameters/Features.yaml create mode 100644 openapi/src/components/parameters/Variables.yaml create mode 100644 openapi/src/components/schemas/Content.yaml create mode 100644 openapi/src/components/schemas/Instruction.yaml create mode 100644 openapi/src/components/schemas/ItemContent.yaml create mode 100644 openapi/src/components/schemas/Tweet.yaml create mode 100644 openapi/src/components/schemas/TypeName.yaml create mode 100644 openapi/src/components/schemas/User.yaml create mode 100644 openapi/src/paths/follow/Followers.yaml create mode 100644 openapi/src/paths/follow/Following.yaml create mode 100644 openapi/src/paths/timeline/HomeTimeline.yaml diff --git a/openapi-3.0.yaml b/openapi-3.0.yaml deleted file mode 100644 index ba832ba..0000000 --- a/openapi-3.0.yaml +++ /dev/null @@ -1,605 +0,0 @@ -openapi: 3.0.3 -info: - title: Twitter OpenAPI - description: |- - Twitter OpenAPI - termsOfService: https://github.com/fa0311 - contact: - email: yuki@yuki0311.com - license: - name: other - url: https://github.com/fa0311/twitter-openapi/LICENSE - version: 0.0.1 -servers: - - url: https://twitter.com/i/api/graphql - -paths: - /BntFPEOxs3GYdPaS6CjUcg/HomeTimeline: - get: - operationId: getHomeTimeline - description: get tweet list of timeline - parameters: - - $ref: "#/components/parameters/Variables" - - $ref: "#/components/parameters/Features" - - in: query - name: queryId - required: true - schema: - type: string - default: "BntFPEOxs3GYdPaS6CjUcg" - - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/HomeTimelineResponse" - - /FaBzCqZXuQCb4PhB0RHqHw/Following: - get: - operationId: getFollowing - description: get user list of following - - parameters: - - $ref: "#/components/parameters/Variables" - - $ref: "#/components/parameters/Features" - - in: query - name: queryId - required: true - schema: - type: string - default: "FaBzCqZXuQCb4PhB0RHqHw" - - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/HomeTimelineData" - - /VptSi88PiaQhBevFbGVlGg/Followers: - get: - operationId: getFollowers - description: get user list of followers - - parameters: - - $ref: "#/components/parameters/Variables" - - $ref: "#/components/parameters/Features" - - in: query - name: queryId - required: true - schema: - type: string - default: "VptSi88PiaQhBevFbGVlGg" - - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/HomeTimelineData" - -components: - schemas: - TypeName: - type: string - enum: - [ - TimelineTweet, - TimelineTimelineItem, - TimelineTimelineCursor, - TweetWithVisibilityResults, - Tweet, - User, - ] - - InstructionType: - type: string - enum: - [ - TimelineAddEntries, - TimelineAddToModule, - TimelineTerminateTimeline, - TimelineShowAlert, - ] - - ContentEntryType: - type: string - enum: [TimelineTimelineItem, TimelineTimelineCursor] - - ContentItemType: - type: string - enum: [TimelineTweet] - - TestObject: - type: object - - HomeTimelineResponse: - required: - - "data" - properties: - data: - $ref: "#/components/schemas/HomeTimelineData" - - HomeTimelineData: - required: - - "home" - properties: - home: - $ref: "#/components/schemas/HomeTimelineHome" - - HomeTimelineHome: - required: - - "home_timeline_urt" - properties: - home_timeline_urt: - $ref: "#/components/schemas/HomeTimelineUrt" - - HomeTimelineUrt: - required: - - "instructions" - - "metadata" - - "responseObjects" - properties: - instructions: - type: array - items: - $ref: "#/components/schemas/InstructionUnion" - metadata: - type: object # todo - responseObjects: - type: object # todo - - InstructionUnion: - oneOf: - - $ref: "#/components/schemas/TimelineAddEntries" - discriminator: - propertyName: type - mapping": # deprecated - TimelineAddEntries: "#components/schemas/TimelineAddEntries" - - TimelineAddEntries: - required: - - type - - entries - properties: - type: - type: string - $ref: "#/components/schemas/InstructionType" # TimelineAddEntries - entries: - type: array - items: - $ref: "#/components/schemas/TimelineAddEntry" - - TimelineAddEntry: - required: - - "content" - - "entryId" - - "sortIndex" - properties: - content: - $ref: "#/components/schemas/ContentUnion" - entryId: - type: string - pattern: '^[a-z\-]+[0-9]+$' - sortIndex: - type: string - pattern: "[0-9]+$" - - ContentUnion: - oneOf: - - $ref: "#/components/schemas/TimelineTimelineItem" - - $ref: "#/components/schemas/TimelineTimelineCursor" - discriminator: - propertyName: entryType - mapping": # deprecated - TimelineTimelineItem: "#components/schemas/TimelineTimelineItem" - TimelineTimelineCursor: "#/components/schemas/TimelineTimelineCursor" - - TimelineTimelineItem: - required: - - "__typename" - - "entryType" - - "itemContent" - properties: - __typename: - $ref: "#/components/schemas/TypeName" # TimelineTimelineItem - entryType: - type: string # enum - $ref: "#/components/schemas/ContentEntryType" # TimelineTimelineItem - itemContent: - $ref: "#/components/schemas/ItemContent" - clientEventInfo: - type: object # todo - feedbackInfo: - type: object # todo - - TimelineTimelineCursor: - required: - - "__typename" - - "entryType" - - "cursorType" - - "value" - properties: - __typename: - $ref: "#/components/schemas/TypeName" # TimelineTimelineCursor - entryType: - type: string # enum - $ref: "#/components/schemas/ContentEntryType" # TimelineTimelineCursor - cursorType: - type: string - enum: [Top, Bottom] - value: - type: string - - ItemContent: - required: - - "__typename" - - "itemType" - - "tweetDisplayType" - - "tweet_results" - properties: - __typename: - $ref: "#/components/schemas/TypeName" # TimelineTweet - itemType: - $ref: "#/components/schemas/ContentItemType" # TimelineTweet - tweetDisplayType: - type: string # enum - tweet_results: - $ref: "#/components/schemas/ItemResult" - - ItemResult: - required: - - "result" - properties: - result: - $ref: "#/components/schemas/TweetResult" - - TweetResult: - required: - - "__typename" - - "rest_id" - - "core" - - "edit_control" - - "edit_prespective" - - "is_translatable" - - "legacy" - - "views" - - properties: - __typename: - $ref: "#/components/schemas/TypeName" # Tweet TweetWithVisibilityResults - rest_id: - type: string - pattern: "^[0-9]+$" - core: - $ref: "#/components/schemas/UserResultCore" - unmention_data: - type: object # todo - edit_control: - type: object - properties: - edit_tweet_ids: - type: array - items: - type: string - pattern: "^[0-9]+$" - editable_until_msecs: - type: string - pattern: "^[0-9]+$" - is_edit_eligible: - type: boolean - edits_remaining: - type: string - pattern: "^[0-9]+$" - edit_prespective: - type: object - properties: - favorited: - type: boolean - retweeted: - type: boolean - is_translatable: - type: boolean - default: false - UserLegacy: - $ref: "#/components/schemas/UserLegacy" - views: - type: object - properties: - count: - type: string - pattern: "^[0-9]+$" - state: - type: string # enum - - UserResultCore: - required: - - "user_results" - properties: - user_results: - $ref: "#/components/schemas/UserResults" - - UserResults: - required: - - "result" - properties: - result: - $ref: "#/components/schemas/UserResult" - - UserResult: - required: - - "__typename" - - "affiliates_highlighted_label" - - "has_graduated_access" - - "id" - - "is_blue_verified" - - "legacy" - - "rest_id" - - "super_follow_eligible" - - "super_followed_by" - - "super_following" - - properties: - __typename: - $ref: "#/components/schemas/TypeName" # User - affiliates_highlighted_label: - type: object # todo - has_graduated_access: - type: boolean - has_nft_avatar: - type: boolean - default: false - id: - type: string - pattern: '^[a-z\-]+[0-9]+$' - is_blue_verified: - type: boolean - default: false - legacy: - $ref: "#/components/schemas/UserLegacy" - rest_id: - type: string - pattern: "^[0-9]+$" - business_account: - type: object # todo - super_follow_eligible: - type: boolean - default: false - super_followed_by: - type: boolean - default: false - super_following: - type: boolean - default: false - - UserLegacy: - required: - - "blocked_by" - - "blocking" - - "can_dm" - - "can_media_tag" - - "created_at" - - "default_profile" - - "default_profile_image" - - "description" - - "fast_followers_count" - - "favourites_count" - - "follow_request_sent" - - "followed_by" - - "followers_count" - - "following" - - "friends_count" - - "has_custom_timelines" - - "is_translator" - - "listed_count" - - "location" - - "media_count" - - "muting" - - "name" - - "normal_followers_count" - - "notifications" - - "pinned_tweet_ids_str" - - "possibly_sensitive" - - "profile_image_url_https" - - "profile_interstitial_type" - - "protected" - - "screen_name" - - "statuses_count" - - "translator_type" - - "verified" - - "want_retweets" - properties: - blocked_by: - type: boolean - default: false - blocking: - type: boolean - default: false - can_dm: - type: boolean - can_media_tag: - type: boolean - created_at: - type: string # Wed Jul 08 14:05:58 +0000 2009 - default_profile: - type: boolean - default_profile_image: - type: boolean - description: - type: string - entities: - type: object # todo - fast_followers_count: - type: integer - favourites_count: - type: integer - follow_request_sent: - type: boolean - default: false - followed_by: - type: boolean - default: false - followers_count: - type: integer - following: - type: boolean - default: false - friends_count: - type: integer - has_custom_timelines: - type: boolean - is_translator: - type: boolean - listed_count: - type: integer - location: - type: string - media_count: - type: integer - muting: - type: boolean - default: false - name: - type: string - normal_followers_count: - type: integer - notifications: - type: boolean - default: false - pinned_tweet_ids_str: - type: array - items: - type: string - possibly_sensitive: - type: boolean - profile_banner_extensions: - type: object - profile_banner_url: - type: string - profile_image_extensions: - type: object - profile_image_url_https: - type: string - profile_interstitial_type: - type: string - protected: - type: boolean - default: false - screen_name: - type: string - statuses_count: - type: integer - translator_type: - type: string - url: - type: string - verified: - type: boolean - want_retweets: - type: boolean - - TweetLegacy: - required: - - "bookmark_count" - - "bookmarked" - - "created_at" - - "conversation_id_str" - - "display_text_range" - - "entities" - - "favorite_count" - - "favorited" - - "full_text" - - "is_quote_status" - - "lang" - - "quote_count" - - "reply_count" - - "retweet_count" - - "retweeted" - - "user_id_str" - - "id_str" - properties: - bookmark_count: - type: integer - bookmarked: - type: boolean - created_at: - type: string # Thu Apr 06 13:23:34 +0000 2023 - conversation_id_str: - type: string - pattern: "^[0-9]+$" - display_text_range: - type: array - items: - type: integer - entities: - type: object - favorite_count: - type: integer - favorited: - type: boolean - full_text: - type: string - is_quote_status: - type: boolean - lang: - type: string # enum - possibly_sensitive: - type: boolean - default: false - possibly_sensitive_editable: - type: boolean - default: false - quote_count: - type: integer - reply_count: - type: integer - retweet_count: - type: integer - retweeted: - type: boolean - user_id_str: - type: string - pattern: "^[0-9]+$" - id_str: - type: string - pattern: "^[0-9]+$" - # === parameters === - - parameters: - Variables: - name: variables - in: query - required: true - schema: - type: string - - Features: - name: features - in: query - required: true - schema: - type: string - - # https://github.com/OpenAPITools/openapi-generator/issues/13584 - # It doesn't seem to work with dart lang. - - VariablesV3: - name: variables - in: query - required: true - content: - application/json: - schema: - type: object - FeaturesV3: - name: features - in: query - required: true - content: - application/json: - schema: - type: object diff --git a/openapi/openapi-3.0.yaml b/openapi/openapi-3.0.yaml new file mode 100644 index 0000000..22df567 --- /dev/null +++ b/openapi/openapi-3.0.yaml @@ -0,0 +1,22 @@ +openapi: 3.0.3 +info: + title: Twitter OpenAPI + description: |- + Twitter OpenAPI + termsOfService: https://github.com/fa0311 + contact: + email: yuki@yuki0311.com + license: + name: other + url: https://github.com/fa0311/twitter-openapi/LICENSE + version: 0.0.1 +servers: + - url: https://twitter.com/i/api/graphql + +paths: + /BntFPEOxs3GYdPaS6CjUcg/HomeTimeline: + $ref: ./src/paths/timeline/HomeTimeline.yaml + /FaBzCqZXuQCb4PhB0RHqHw/Following: + $ref: ./src/paths/follow/Following.yaml + /VptSi88PiaQhBevFbGVlGg/Followers: + $ref: ./src/paths/follow/Followers.yaml diff --git a/openapi/src/components/parameters/Features.yaml b/openapi/src/components/parameters/Features.yaml new file mode 100644 index 0000000..4072893 --- /dev/null +++ b/openapi/src/components/parameters/Features.yaml @@ -0,0 +1,9 @@ +# https://github.com/OpenAPITools/openapi-generator/issues/13584 + +Features: + in: query + required: true + content: + application/json: + schema: + type: object diff --git a/openapi/src/components/parameters/Variables.yaml b/openapi/src/components/parameters/Variables.yaml new file mode 100644 index 0000000..5767139 --- /dev/null +++ b/openapi/src/components/parameters/Variables.yaml @@ -0,0 +1,9 @@ +# https://github.com/OpenAPITools/openapi-generator/issues/13584 + +Variables: + in: query + required: true + content: + application/json: + schema: + type: object diff --git a/openapi/src/components/schemas/Content.yaml b/openapi/src/components/schemas/Content.yaml new file mode 100644 index 0000000..fb7a0a2 --- /dev/null +++ b/openapi/src/components/schemas/Content.yaml @@ -0,0 +1,49 @@ +ContentUnion: + oneOf: + - $ref: "#/TimelineTimelineItem" + - $ref: "#/TimelineTimelineCursor" + discriminator: + propertyName: entryType + mapping": # deprecated + TimelineTimelineItem: "#/TimelineTimelineItem" + TimelineTimelineCursor: "#/TimelineTimelineCursor" + +ContentEntryType: + type: string + enum: [TimelineTimelineItem, TimelineTimelineCursor] + +TimelineTimelineItem: + required: + - "__typename" + - "entryType" + - "itemContent" + properties: + __typename: + $ref: "./TypeName.yaml#/TypeName" # TimelineTimelineItem + entryType: + type: string # enum + $ref: "#/ContentEntryType" # TimelineTimelineItem + itemContent: + $ref: "./ItemContent.yaml#/ItemContent" + clientEventInfo: + type: object # todo + feedbackInfo: + type: object # todo + +TimelineTimelineCursor: + required: + - "__typename" + - "entryType" + - "cursorType" + - "value" + properties: + __typename: + $ref: "./TypeName.yaml#/TypeName" # TimelineTimelineCursor + entryType: + type: string # enum + $ref: "#/ContentEntryType" # TimelineTimelineCursor + cursorType: + type: string + enum: [Top, Bottom] + value: + type: string diff --git a/openapi/src/components/schemas/Instruction.yaml b/openapi/src/components/schemas/Instruction.yaml new file mode 100644 index 0000000..693a024 --- /dev/null +++ b/openapi/src/components/schemas/Instruction.yaml @@ -0,0 +1,45 @@ +InstructionUnion: + oneOf: + - $ref: "#/TimelineAddEntries" + discriminator: + propertyName: type + mapping": # deprecated + TimelineAddEntries: "#/TimelineAddEntries" + +InstructionType: + type: string + enum: + [ + TimelineAddEntries, + TimelineAddToModule, + TimelineTerminateTimeline, + TimelineShowAlert, + ] + +TimelineAddEntries: + required: + - type + - entries + properties: + type: + type: string + $ref: "#/InstructionType" # TimelineAddEntries + entries: + type: array + items: + $ref: "#/TimelineAddEntry" + +TimelineAddEntry: + required: + - "content" + - "entryId" + - "sortIndex" + properties: + content: + $ref: "./Content.yaml#/ContentUnion" + entryId: + type: string + pattern: '^[a-z\-]+[0-9]+$' + sortIndex: + type: string + pattern: "[0-9]+$" diff --git a/openapi/src/components/schemas/ItemContent.yaml b/openapi/src/components/schemas/ItemContent.yaml new file mode 100644 index 0000000..58f6e99 --- /dev/null +++ b/openapi/src/components/schemas/ItemContent.yaml @@ -0,0 +1,27 @@ +ContentItemType: + type: string + enum: [TimelineTweet] + +ItemContent: + required: + - "__typename" + - "itemType" + - "tweetDisplayType" + - "tweet_results" + properties: + __typename: + $ref: "TypeName.yaml#/TypeName" # TimelineTweet + itemType: + type: string # enum + $ref: "#/ContentItemType" # TimelineTweet + tweetDisplayType: + type: string + tweet_results: + $ref: "#/ItemResult" + +ItemResult: + required: + - "result" + properties: + result: + $ref: "./Tweet.yaml#/TweetResult" diff --git a/openapi/src/components/schemas/Tweet.yaml b/openapi/src/components/schemas/Tweet.yaml new file mode 100644 index 0000000..3b8efa5 --- /dev/null +++ b/openapi/src/components/schemas/Tweet.yaml @@ -0,0 +1,123 @@ +TweetResult: + required: + - "__typename" + - "rest_id" + - "core" + - "edit_control" + - "edit_prespective" + - "is_translatable" + - "legacy" + - "views" + + properties: + __typename: + $ref: "TypeName.yaml#/TypeName" # Tweet TweetWithVisibilityResults + rest_id: + type: string + pattern: "^[0-9]+$" + core: + $ref: "./User.yaml#/UserResultCore" + unmention_data: + type: object # todo + edit_control: + type: object + properties: + edit_tweet_ids: + type: array + items: + type: string + pattern: "^[0-9]+$" + editable_until_msecs: + type: string + pattern: "^[0-9]+$" + is_edit_eligible: + type: boolean + edits_remaining: + type: string + pattern: "^[0-9]+$" + edit_prespective: + type: object + properties: + favorited: + type: boolean + retweeted: + type: boolean + is_translatable: + type: boolean + default: false + legacy: + $ref: "#/TweetLegacy" + views: + type: object + properties: + count: + type: string + pattern: "^[0-9]+$" + state: + type: string # enum + +TweetLegacy: + required: + - "bookmark_count" + - "bookmarked" + - "created_at" + - "conversation_id_str" + - "display_text_range" + - "entities" + - "favorite_count" + - "favorited" + - "full_text" + - "is_quote_status" + - "lang" + - "quote_count" + - "reply_count" + - "retweet_count" + - "retweeted" + - "user_id_str" + - "id_str" + properties: + bookmark_count: + type: integer + bookmarked: + type: boolean + created_at: + type: string # Thu Apr 06 13:23:34 +0000 2023 + conversation_id_str: + type: string + pattern: "^[0-9]+$" + display_text_range: + type: array + items: + type: integer + entities: + type: object + favorite_count: + type: integer + favorited: + type: boolean + full_text: + type: string + is_quote_status: + type: boolean + lang: + type: string # enum + possibly_sensitive: + type: boolean + default: false + possibly_sensitive_editable: + type: boolean + default: false + quote_count: + type: integer + reply_count: + type: integer + retweet_count: + type: integer + retweeted: + type: boolean + user_id_str: + type: string + pattern: "^[0-9]+$" + id_str: + type: string + pattern: "^[0-9]+$" diff --git a/openapi/src/components/schemas/TypeName.yaml b/openapi/src/components/schemas/TypeName.yaml new file mode 100644 index 0000000..1777e70 --- /dev/null +++ b/openapi/src/components/schemas/TypeName.yaml @@ -0,0 +1,11 @@ +TypeName: + type: string + enum: + [ + TimelineTweet, + TimelineTimelineItem, + TimelineTimelineCursor, + TweetWithVisibilityResults, + Tweet, + User, + ] diff --git a/openapi/src/components/schemas/User.yaml b/openapi/src/components/schemas/User.yaml new file mode 100644 index 0000000..e34bb6b --- /dev/null +++ b/openapi/src/components/schemas/User.yaml @@ -0,0 +1,185 @@ +UserResultCore: + required: + - "user_results" + properties: + user_results: + $ref: "#/UserResults" + +UserResults: + required: + - "result" + properties: + result: + $ref: "#/UserResult" + +UserResult: + required: + - "__typename" + - "affiliates_highlighted_label" + - "has_graduated_access" + - "id" + - "is_blue_verified" + - "legacy" + - "rest_id" + - "super_follow_eligible" + - "super_followed_by" + - "super_following" + + properties: + __typename: + $ref: "TypeName.yaml#/TypeName" # User + affiliates_highlighted_label: + type: object # todo + has_graduated_access: + type: boolean + has_nft_avatar: + type: boolean + default: false + id: + type: string + pattern: '^[a-z\-]+[0-9]+$' + is_blue_verified: + type: boolean + default: false + legacy: + $ref: "#/UserLegacy" + rest_id: + type: string + pattern: "^[0-9]+$" + business_account: + type: object # todo + super_follow_eligible: + type: boolean + default: false + super_followed_by: + type: boolean + default: false + super_following: + type: boolean + default: false + +UserLegacy: + required: + - "blocked_by" + - "blocking" + - "can_dm" + - "can_media_tag" + - "created_at" + - "default_profile" + - "default_profile_image" + - "description" + - "fast_followers_count" + - "favourites_count" + - "follow_request_sent" + - "followed_by" + - "followers_count" + - "following" + - "friends_count" + - "has_custom_timelines" + - "is_translator" + - "listed_count" + - "location" + - "media_count" + - "muting" + - "name" + - "normal_followers_count" + - "notifications" + - "pinned_tweet_ids_str" + - "possibly_sensitive" + - "profile_image_url_https" + - "profile_interstitial_type" + - "protected" + - "screen_name" + - "statuses_count" + - "translator_type" + - "verified" + - "want_retweets" + properties: + blocked_by: + type: boolean + default: false + blocking: + type: boolean + default: false + can_dm: + type: boolean + can_media_tag: + type: boolean + created_at: + type: string # Wed Jul 08 14:05:58 +0000 2009 + default_profile: + type: boolean + default_profile_image: + type: boolean + description: + type: string + entities: + type: object # todo + fast_followers_count: + type: integer + favourites_count: + type: integer + follow_request_sent: + type: boolean + default: false + followed_by: + type: boolean + default: false + followers_count: + type: integer + following: + type: boolean + default: false + friends_count: + type: integer + has_custom_timelines: + type: boolean + is_translator: + type: boolean + listed_count: + type: integer + location: + type: string + media_count: + type: integer + muting: + type: boolean + default: false + name: + type: string + normal_followers_count: + type: integer + notifications: + type: boolean + default: false + pinned_tweet_ids_str: + type: array + items: + type: string + possibly_sensitive: + type: boolean + profile_banner_extensions: + type: object + profile_banner_url: + type: string + profile_image_extensions: + type: object + profile_image_url_https: + type: string + profile_interstitial_type: + type: string + protected: + type: boolean + default: false + screen_name: + type: string + statuses_count: + type: integer + translator_type: + type: string + url: + type: string + verified: + type: boolean + want_retweets: + type: boolean diff --git a/openapi/src/paths/follow/Followers.yaml b/openapi/src/paths/follow/Followers.yaml new file mode 100644 index 0000000..2e60c0f --- /dev/null +++ b/openapi/src/paths/follow/Followers.yaml @@ -0,0 +1,26 @@ +get: + operationId: getFollowers + description: get user list of followers + + parameters: + - name: variables + in: query + required: true + schema: + type: string + + - name: features + in: query + required: true + schema: + type: string + + - name: queryId + in: query + schema: + type: string + default: "VptSi88PiaQhBevFbGVlGg" + + responses: + "200": + description: Successful operation diff --git a/openapi/src/paths/follow/Following.yaml b/openapi/src/paths/follow/Following.yaml new file mode 100644 index 0000000..6a13aba --- /dev/null +++ b/openapi/src/paths/follow/Following.yaml @@ -0,0 +1,26 @@ +get: + operationId: getFollowing + description: get user list of following + + parameters: + - name: variables + in: query + required: true + schema: + type: string + + - name: features + in: query + required: true + schema: + type: string + + - name: queryId + in: query + schema: + type: string + default: "FaBzCqZXuQCb4PhB0RHqHw" + + responses: + "200": + description: Successful operation diff --git a/openapi/src/paths/timeline/HomeTimeline.yaml b/openapi/src/paths/timeline/HomeTimeline.yaml new file mode 100644 index 0000000..472d5e5 --- /dev/null +++ b/openapi/src/paths/timeline/HomeTimeline.yaml @@ -0,0 +1,68 @@ +get: + operationId: getHomeTimeline + description: get tweet list of timeline + parameters: + - name: variables + in: query + required: true + schema: + type: string + + - name: features + in: query + required: true + schema: + type: string + + - name: queryId + in: query + required: true + schema: + type: string + default: "BntFPEOxs3GYdPaS6CjUcg" + + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/HomeTimelineResponse" + +components: + schemas: + HomeTimelineResponse: + required: + - "data" + properties: + data: + $ref: "#/components/schemas/HomeTimelineData" + + HomeTimelineData: + required: + - "home" + properties: + home: + $ref: "#/components/schemas/HomeTimelineHome" + + HomeTimelineHome: + required: + - "home_timeline_urt" + properties: + home_timeline_urt: + $ref: "#/components/schemas/HomeTimelineUrt" + + HomeTimelineUrt: + required: + - "instructions" + - "metadata" + - "responseObjects" + properties: + instructions: + type: array + items: + $ref: "./../../components/schemas/Instruction.yaml#/InstructionUnion" + metadata: + type: object # todo + responseObjects: + type: object # todo