diff --git a/dist/openapi-3.0.yaml b/dist/openapi-3.0.yaml index 6d3508e..dd55485 100644 --- a/dist/openapi-3.0.yaml +++ b/dist/openapi-3.0.yaml @@ -52,10 +52,14 @@ paths: $ref: ./path/timeline.yaml#/paths/~1HCosKfLNW1AcOo3la3mMgg~1HomeTimeline /HuTx74BxAnezK1gWvYY7zg/UserTweets: $ref: ./path/usertweets.yaml#/paths/~1HuTx74BxAnezK1gWvYY7zg~1UserTweets + /JpFFCTBPxYVlDqMUr9twzQ/Followers: + $ref: ./path/follow.yaml#/paths/~1JpFFCTBPxYVlDqMUr9twzQ~1Followers /RIWc55YCNyUJ-U3HHGYkdg/UserTweetsAndReplies: $ref: ./path/usertweets.yaml#/paths/~1RIWc55YCNyUJ-U3HHGYkdg~1UserTweetsAndReplies /YqiE3JL1KNgf9nSljYdxaA/UserMedia: $ref: ./path/usertweets.yaml#/paths/~1YqiE3JL1KNgf9nSljYdxaA~1UserMedia + /b22I8WSfQ8H4Ev8486xAlQ/Following: + $ref: ./path/follow.yaml#/paths/~1b22I8WSfQ8H4Ev8486xAlQ~1Following /sLVLhk0bGj3MVFEKTdax1w/UserByScreenName: $ref: ./path/user.yaml#/paths/~1sLVLhk0bGj3MVFEKTdax1w~1UserByScreenName /tmd4ifV8RHltzn8ymGg1aw/Bookmarks: @@ -64,10 +68,6 @@ paths: $ref: ./path/tweet.yaml#/paths/~1wNNG8DBB8EaXw1lq4vFWGA~1TweetDetail /zhX91JE87mWvfprhYE97xA/HomeLatestTimeline: $ref: ./path/timeline.yaml#/paths/~1zhX91JE87mWvfprhYE97xA~1HomeLatestTimeline - /{{FollowersQuery}}/Followers: - $ref: ./path/follow.yaml#/paths/~1{{FollowersQuery}}~1Followers - /{{FollowingQuery}}/Following: - $ref: ./path/follow.yaml#/paths/~1{{FollowingQuery}}~1Following security: - bearerAuth: [] - CsrfToken: [] diff --git a/dist/path/bookmarks.yaml b/dist/path/bookmarks.yaml index 67cf6a8..7998b91 100644 --- a/dist/path/bookmarks.yaml +++ b/dist/path/bookmarks.yaml @@ -1,17 +1,23 @@ components: schemas: + BookmarksData: + properties: + bookmark_timeline_v2: + $ref: '#/components/schemas/BookmarksTimeline' + required: + - bookmark_timeline_v2 BookmarksResponse: properties: data: - $ref: '#/components/schemas/BookmarksResponseData' + $ref: '#/components/schemas/BookmarksData' required: - data - BookmarksResponseData: + BookmarksTimeline: properties: - bookmark_timeline_v2: + timeline: $ref: ./../schemas/timeline.yaml#/components/schemas/Timeline required: - - bookmark_timeline_v2 + - timeline info: title: Twitter OpenAPI version: 0.0.1 diff --git a/dist/path/follow.yaml b/dist/path/follow.yaml index 766bc97..74f748f 100644 --- a/dist/path/follow.yaml +++ b/dist/path/follow.yaml @@ -1,9 +1,44 @@ +components: + schemas: + FollowData: + properties: + user: + $ref: '#/components/schemas/FollowUser' + required: + - user + FollowResponse: + properties: + data: + $ref: '#/components/schemas/FollowData' + required: + - data + FollowResult: + properties: + __typename: + $ref: ./../schemas/typename.yaml#/components/schemas/TypeName + timeline: + $ref: '#/components/schemas/FollowTimeline' + required: + - __typename + - timeline + FollowTimeline: + properties: + timeline: + $ref: ./../schemas/timeline.yaml#/components/schemas/Timeline + required: + - timeline + FollowUser: + properties: + result: + $ref: '#/components/schemas/FollowResult' + required: + - result info: title: Twitter OpenAPI version: 0.0.1 openapi: 3.0.3 paths: - /{{FollowersQuery}}/Followers: + /JpFFCTBPxYVlDqMUr9twzQ/Followers: get: description: get user list of following operationId: getFollowing @@ -12,23 +47,38 @@ paths: name: variables required: true schema: - example: '{{Variables}}' + example: '{"userId": "44196397", "count": 20, "includePromotedContent": + false}' type: string - in: query name: features required: true schema: - example: '{{Features}}' + example: '{"blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": + true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled": + true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": + false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled": + true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled": + true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled": + true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": + false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": + false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled": + false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": + false}' type: string - in: query name: queryId required: true schema: - default: '{{Query}}' - example: '{{Query}}' + default: JpFFCTBPxYVlDqMUr9twzQ + example: JpFFCTBPxYVlDqMUr9twzQ type: string responses: '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FollowResponse' description: Successful operation headers: x-connection-hash: @@ -67,7 +117,7 @@ paths: tags: - follow - graphql - /{{FollowingQuery}}/Following: + /b22I8WSfQ8H4Ev8486xAlQ/Following: get: description: get user list of followers operationId: getFollowers @@ -76,23 +126,38 @@ paths: name: variables required: true schema: - example: '{{Variables}}' + example: '{"userId": "44196397", "count": 20, "includePromotedContent": + false}' type: string - in: query name: features required: true schema: - example: '{{Features}}' + example: '{"blue_business_profile_image_shape_enabled": true, "responsive_web_graphql_exclude_directive_enabled": + true, "verified_phone_label_enabled": false, "responsive_web_graphql_timeline_navigation_enabled": + true, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": + false, "tweetypie_unmention_optimization_enabled": true, "vibe_api_enabled": + true, "responsive_web_edit_tweet_api_enabled": true, "graphql_is_translatable_rweb_tweet_is_translatable_enabled": + true, "view_counts_everywhere_api_enabled": true, "longform_notetweets_consumption_enabled": + true, "tweet_awards_web_tipping_enabled": false, "freedom_of_speech_not_reach_fetch_enabled": + false, "standardized_nudges_misinfo": true, "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": + false, "interactive_text_enabled": true, "responsive_web_text_conversations_enabled": + false, "longform_notetweets_rich_text_read_enabled": true, "responsive_web_enhance_cards_enabled": + false}' type: string - in: query name: queryId required: true schema: - default: '{{Query}}' - example: '{{Query}}' + default: b22I8WSfQ8H4Ev8486xAlQ + example: b22I8WSfQ8H4Ev8486xAlQ type: string responses: '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FollowResponse' description: Successful operation headers: x-connection-hash: diff --git a/dist/path/timeline.yaml b/dist/path/timeline.yaml index ea6a707..db68f15 100644 --- a/dist/path/timeline.yaml +++ b/dist/path/timeline.yaml @@ -20,7 +20,7 @@ components: - timeline ListTweetsTimelineData: properties: - home: + list: $ref: '#/components/schemas/ListTweetsTimelineList' required: - list diff --git a/src/config/placeholder.json b/src/config/placeholder.json index 2471896..51b9779 100644 --- a/src/config/placeholder.json +++ b/src/config/placeholder.json @@ -295,6 +295,64 @@ "responsive_web_enhance_cards_enabled": false } }, + "Followers": { + "Query": "JpFFCTBPxYVlDqMUr9twzQ", + "Variables": { + "userId": "44196397", + "count": 20, + "includePromotedContent": false + }, + "Features": { + "blue_business_profile_image_shape_enabled": true, + "responsive_web_graphql_exclude_directive_enabled": true, + "verified_phone_label_enabled": false, + "responsive_web_graphql_timeline_navigation_enabled": true, + "responsive_web_graphql_skip_user_profile_image_extensions_enabled": false, + "tweetypie_unmention_optimization_enabled": true, + "vibe_api_enabled": true, + "responsive_web_edit_tweet_api_enabled": true, + "graphql_is_translatable_rweb_tweet_is_translatable_enabled": true, + "view_counts_everywhere_api_enabled": true, + "longform_notetweets_consumption_enabled": true, + "tweet_awards_web_tipping_enabled": false, + "freedom_of_speech_not_reach_fetch_enabled": false, + "standardized_nudges_misinfo": true, + "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": false, + "interactive_text_enabled": true, + "responsive_web_text_conversations_enabled": false, + "longform_notetweets_rich_text_read_enabled": true, + "responsive_web_enhance_cards_enabled": false + } + }, + "Following": { + "Query": "b22I8WSfQ8H4Ev8486xAlQ", + "Variables": { + "userId": "44196397", + "count": 20, + "includePromotedContent": false + }, + "Features": { + "blue_business_profile_image_shape_enabled": true, + "responsive_web_graphql_exclude_directive_enabled": true, + "verified_phone_label_enabled": false, + "responsive_web_graphql_timeline_navigation_enabled": true, + "responsive_web_graphql_skip_user_profile_image_extensions_enabled": false, + "tweetypie_unmention_optimization_enabled": true, + "vibe_api_enabled": true, + "responsive_web_edit_tweet_api_enabled": true, + "graphql_is_translatable_rweb_tweet_is_translatable_enabled": true, + "view_counts_everywhere_api_enabled": true, + "longform_notetweets_consumption_enabled": true, + "tweet_awards_web_tipping_enabled": false, + "freedom_of_speech_not_reach_fetch_enabled": false, + "standardized_nudges_misinfo": true, + "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": false, + "interactive_text_enabled": true, + "responsive_web_text_conversations_enabled": false, + "longform_notetweets_rich_text_read_enabled": true, + "responsive_web_enhance_cards_enabled": false + } + }, "Template": { "Query": "", "Variables": {}, diff --git a/src/openapi/path/bookmarks.yaml b/src/openapi/path/bookmarks.yaml index 42cd94e..a4a8ad1 100644 --- a/src/openapi/path/bookmarks.yaml +++ b/src/openapi/path/bookmarks.yaml @@ -26,11 +26,18 @@ components: - "data" properties: data: - $ref: "#/components/schemas/BookmarksResponseData" + $ref: "#/components/schemas/BookmarksData" - BookmarksResponseData: + BookmarksData: required: - "bookmark_timeline_v2" properties: bookmark_timeline_v2: + $ref: "#/components/schemas/BookmarksTimeline" + + BookmarksTimeline: + required: + - "timeline" + properties: + timeline: $ref: "./../schemas/timeline.yaml#/components/schemas/Timeline" diff --git a/src/openapi/path/follow.yaml b/src/openapi/path/follow.yaml index 160fd35..9470a21 100644 --- a/src/openapi/path/follow.yaml +++ b/src/openapi/path/follow.yaml @@ -11,6 +11,10 @@ paths: responses: "200": description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/FollowResponse" tags: - "follow" - "graphql" @@ -22,6 +26,50 @@ paths: responses: "200": description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/FollowResponse" tags: - "follow" - "graphql" + +components: + schemas: + FollowResponse: + required: + - "data" + properties: + data: + $ref: "#/components/schemas/FollowData" + + FollowData: + required: + - "user" + properties: + user: + $ref: "#/components/schemas/FollowUser" + + FollowUser: + required: + - "result" + properties: + result: + $ref: "#/components/schemas/FollowResult" + + FollowResult: + required: + - "__typename" + - "timeline" + properties: + __typename: + $ref: "./../schemas/typename.yaml#/components/schemas/TypeName" # User + timeline: + $ref: "#/components/schemas/FollowTimeline" + + FollowTimeline: + required: + - "timeline" + properties: + timeline: + $ref: "./../schemas/timeline.yaml#/components/schemas/Timeline" diff --git a/src/openapi/path/timeline.yaml b/src/openapi/path/timeline.yaml index ee0be1c..2d37cd5 100644 --- a/src/openapi/path/timeline.yaml +++ b/src/openapi/path/timeline.yaml @@ -86,7 +86,7 @@ components: required: - "list" properties: - home: + list: $ref: "#/components/schemas/ListTweetsTimelineList" ListTweetsTimelineList: