mirror of
https://github.com/thegeneralist01/twitter-openapi
synced 2026-01-11 15:40:26 +01:00
Merge pull request #9 from fa0311/thecodrr-feature/dynamic-query-id-in-path
Static generation of default values by the AddPathQueryIdOnParameters hook
This commit is contained in:
commit
10aaec8df8
12 changed files with 80 additions and 73 deletions
|
|
@ -4,12 +4,10 @@ info:
|
|||
version: 0.0.1
|
||||
|
||||
paths:
|
||||
/graphql/{queryId}/Bookmarks:
|
||||
/graphql/{pathQueryId}/Bookmarks:
|
||||
get:
|
||||
operationId: getBookmarks
|
||||
description: get bookmarks
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
|
|||
|
|
@ -4,12 +4,10 @@ info:
|
|||
version: 0.0.1
|
||||
|
||||
paths:
|
||||
/graphql/{queryId}/Following:
|
||||
/graphql/{pathQueryId}/Following:
|
||||
get:
|
||||
operationId: getFollowing
|
||||
description: get user list of following
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
@ -20,12 +18,10 @@ paths:
|
|||
tags:
|
||||
- "user-list"
|
||||
|
||||
/graphql/{queryId}/Followers:
|
||||
/graphql/{pathQueryId}/Followers:
|
||||
get:
|
||||
operationId: getFollowers
|
||||
description: get user list of followers
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
|
|||
|
|
@ -4,12 +4,10 @@ info:
|
|||
version: 0.0.1
|
||||
|
||||
paths:
|
||||
/graphql/{queryId}/FavoriteTweet:
|
||||
/graphql/{pathQueryId}/FavoriteTweet:
|
||||
post:
|
||||
operationId: postFavoriteTweet
|
||||
description: favorite Tweet
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
@ -20,12 +18,10 @@ paths:
|
|||
tags:
|
||||
- "post"
|
||||
|
||||
/graphql/{queryId}/UnfavoriteTweet:
|
||||
/graphql/{pathQueryId}/UnfavoriteTweet:
|
||||
post:
|
||||
operationId: postUnfavoriteTweet
|
||||
description: unfavorite Tweet
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
@ -36,12 +32,10 @@ paths:
|
|||
tags:
|
||||
- "post"
|
||||
|
||||
/graphql/{queryId}/CreateRetweet:
|
||||
/graphql/{pathQueryId}/CreateRetweet:
|
||||
post:
|
||||
operationId: postCreateRetweet
|
||||
description: create Retweet
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
@ -52,12 +46,10 @@ paths:
|
|||
tags:
|
||||
- "post"
|
||||
|
||||
/graphql/{queryId}/DeleteRetweet:
|
||||
/graphql/{pathQueryId}/DeleteRetweet:
|
||||
post:
|
||||
operationId: postDeleteRetweet
|
||||
description: delete Retweet
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
@ -68,12 +60,10 @@ paths:
|
|||
tags:
|
||||
- "post"
|
||||
|
||||
/graphql/{queryId}/CreateTweet:
|
||||
/graphql/{pathQueryId}/CreateTweet:
|
||||
post:
|
||||
operationId: postCreateTweet
|
||||
description: create Tweet
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
@ -84,12 +74,10 @@ paths:
|
|||
tags:
|
||||
- "post"
|
||||
|
||||
/graphql/{queryId}/DeleteTweet:
|
||||
/graphql/{pathQueryId}/DeleteTweet:
|
||||
post:
|
||||
operationId: postDeleteTweet
|
||||
description: delete Retweet
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
|
|||
|
|
@ -4,12 +4,10 @@ info:
|
|||
version: 0.0.1
|
||||
|
||||
paths:
|
||||
/graphql/{queryId}/ProfileSpotlightsQuery:
|
||||
/graphql/{pathQueryId}/ProfileSpotlightsQuery:
|
||||
get:
|
||||
operationId: getProfileSpotlightsQuery
|
||||
description: "get user by screen name"
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
|
|||
|
|
@ -4,12 +4,10 @@ info:
|
|||
version: 0.0.1
|
||||
|
||||
paths:
|
||||
/graphql/{queryId}/HomeTimeline:
|
||||
/graphql/{pathQueryId}/HomeTimeline:
|
||||
get:
|
||||
operationId: getHomeTimeline
|
||||
description: get tweet list of timeline
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
@ -20,12 +18,10 @@ paths:
|
|||
tags:
|
||||
- "tweet"
|
||||
|
||||
/graphql/{queryId}/HomeLatestTimeline:
|
||||
/graphql/{pathQueryId}/HomeLatestTimeline:
|
||||
get:
|
||||
operationId: getHomeLatestTimeline
|
||||
description: get tweet list of timeline
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
@ -36,12 +32,10 @@ paths:
|
|||
tags:
|
||||
- "tweet"
|
||||
|
||||
/graphql/{queryId}/ListLatestTweetsTimeline:
|
||||
/graphql/{pathQueryId}/ListLatestTweetsTimeline:
|
||||
get:
|
||||
operationId: getListLatestTweetsTimeline
|
||||
description: get tweet list of timeline
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
|
|||
|
|
@ -4,12 +4,10 @@ info:
|
|||
version: 0.0.1
|
||||
|
||||
paths:
|
||||
/graphql/{queryId}/TweetDetail:
|
||||
/graphql/{pathQueryId}/TweetDetail:
|
||||
get:
|
||||
operationId: getTweetDetail
|
||||
description: get TweetDetail
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
|
|||
|
|
@ -4,12 +4,10 @@ info:
|
|||
version: 0.0.1
|
||||
|
||||
paths:
|
||||
/graphql/{queryId}/UserByScreenName:
|
||||
/graphql/{pathQueryId}/UserByScreenName:
|
||||
get:
|
||||
operationId: getUserByScreenName
|
||||
description: "get user by screen name"
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
|
|||
|
|
@ -4,12 +4,10 @@ info:
|
|||
version: 0.0.1
|
||||
|
||||
paths:
|
||||
/graphql/{queryId}/UserTweets:
|
||||
/graphql/{pathQueryId}/UserTweets:
|
||||
get:
|
||||
operationId: getUserTweets
|
||||
description: "get user tweets"
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
@ -20,12 +18,10 @@ paths:
|
|||
tags:
|
||||
- "tweet"
|
||||
|
||||
/graphql/{queryId}/UserTweetsAndReplies:
|
||||
/graphql/{pathQueryId}/UserTweetsAndReplies:
|
||||
get:
|
||||
operationId: getUserTweetsAndReplies
|
||||
description: "get user replies tweets"
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
@ -36,12 +32,10 @@ paths:
|
|||
tags:
|
||||
- "tweet"
|
||||
|
||||
/graphql/{queryId}/UserMedia:
|
||||
/graphql/{pathQueryId}/UserMedia:
|
||||
get:
|
||||
operationId: getUserMedia
|
||||
description: "get user media tweets"
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
@ -52,12 +46,10 @@ paths:
|
|||
tags:
|
||||
- "tweet"
|
||||
|
||||
/graphql/{queryId}/Likes:
|
||||
/graphql/{pathQueryId}/Likes:
|
||||
get:
|
||||
operationId: getLikes
|
||||
description: "get user likes tweets"
|
||||
parameters:
|
||||
- $ref: "../resources/parameters.yaml#/components/parameters/queryId"
|
||||
responses:
|
||||
"200":
|
||||
description: Successful operation
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
openapi: 3.0.3
|
||||
info:
|
||||
title: Twitter OpenAPI
|
||||
version: 0.0.1
|
||||
|
||||
paths: {}
|
||||
|
||||
components:
|
||||
|
|
|
|||
|
|
@ -56,7 +56,8 @@ components:
|
|||
card:
|
||||
type: object
|
||||
properties:
|
||||
rest_id: string
|
||||
rest_id:
|
||||
type: string
|
||||
legacy:
|
||||
type: object
|
||||
required:
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ class Config:
|
|||
"request": {
|
||||
key: [
|
||||
SetResponsesHeader(suffix=None),
|
||||
AddPathQueryIdOnParameters(split=-1),
|
||||
AddParametersOnContent(
|
||||
split=-1, contentType="application/json"
|
||||
),
|
||||
|
|
@ -23,6 +24,7 @@ class Config:
|
|||
| {
|
||||
key: [
|
||||
SetResponsesHeader(suffix=None),
|
||||
AddPathQueryIdOnParameters(split=-1),
|
||||
AddParametersOnParameters(
|
||||
split=-1,
|
||||
schemaType=None,
|
||||
|
|
@ -61,6 +63,7 @@ class Config:
|
|||
key: [
|
||||
AddSecuritySchemesOnHeader(split=-1),
|
||||
SetResponsesHeader(suffix=None),
|
||||
AddPathQueryIdOnParameters(split=-1),
|
||||
AddParametersOnParameters(
|
||||
split=-1,
|
||||
schemaType="string",
|
||||
|
|
@ -72,6 +75,7 @@ class Config:
|
|||
key: [
|
||||
AddSecuritySchemesOnHeader(split=-1),
|
||||
SetResponsesHeader(suffix=None),
|
||||
AddPathQueryIdOnParameters(split=-1),
|
||||
AddParametersOnBody(
|
||||
split=-1,
|
||||
schemaType=None,
|
||||
|
|
@ -112,6 +116,7 @@ class Config:
|
|||
"request": {
|
||||
key: [
|
||||
SetResponsesHeader(suffix=None),
|
||||
AddPathQueryIdOnParameters(split=-1),
|
||||
AddParametersOnParameters(
|
||||
split=-1,
|
||||
schemaType="string",
|
||||
|
|
@ -122,6 +127,7 @@ class Config:
|
|||
| {
|
||||
key: [
|
||||
SetResponsesHeader(suffix=None),
|
||||
AddPathQueryIdOnParameters(split=-1),
|
||||
AddParametersOnBody(
|
||||
split=-1,
|
||||
schemaType=None,
|
||||
|
|
@ -160,6 +166,7 @@ class Config:
|
|||
"request": {
|
||||
key: [
|
||||
SetResponsesHeader(suffix=None),
|
||||
AddPathQueryIdOnParameters(split=-1),
|
||||
AddParametersOnParameters(
|
||||
split=-1,
|
||||
schemaType="string",
|
||||
|
|
@ -170,6 +177,7 @@ class Config:
|
|||
| {
|
||||
key: [
|
||||
SetResponsesHeader(suffix=None),
|
||||
AddPathQueryIdOnParameters(split=-1),
|
||||
AddParametersOnParameters(
|
||||
split=-1,
|
||||
schemaType="string",
|
||||
|
|
|
|||
|
|
@ -61,10 +61,12 @@ class OpenapiHookBase(HookBase):
|
|||
def hook(self, value: dict) -> dict:
|
||||
return value
|
||||
|
||||
|
||||
class OtherHookBase(HookBase):
|
||||
def hook(self) -> tuple[str, dict]:
|
||||
return "", {}
|
||||
|
||||
|
||||
class SchemasHookBase(HookBase):
|
||||
def hook(self, value: dict) -> dict:
|
||||
return value
|
||||
|
|
@ -118,6 +120,14 @@ class AddSecuritySchemesOnHeader(RequestHookBase):
|
|||
value["parameters"].extend(param)
|
||||
return path, value
|
||||
|
||||
|
||||
class ReplaceQueryIdPlaceholder(RequestHookBase):
|
||||
def hook(self, path: str, value: dict):
|
||||
path, value = super().hook(path, value)
|
||||
new = self.PLACEHOLDER[self.path_name]["queryId"]
|
||||
return path.replace(r"{pathQueryId}", new), value
|
||||
|
||||
|
||||
class SetResponsesHeader(RequestHookBase):
|
||||
suffix: str
|
||||
|
||||
|
|
@ -132,6 +142,28 @@ class SetResponsesHeader(RequestHookBase):
|
|||
return path, value
|
||||
|
||||
|
||||
class AddPathQueryIdOnParameters(RequestHookBase):
|
||||
def __init__(self, split: str = 1):
|
||||
super().__init__(split=split)
|
||||
|
||||
def hook(self, path: str, value: dict):
|
||||
path, value = super().hook(path, value)
|
||||
data = self.PLACEHOLDER[self.path_name]
|
||||
value["parameters"].append(
|
||||
{
|
||||
"in": "path",
|
||||
"name": "pathQueryId",
|
||||
"required": True,
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"default": data["queryId"],
|
||||
"example": data["queryId"],
|
||||
},
|
||||
}
|
||||
)
|
||||
return path, value
|
||||
|
||||
|
||||
# OnParameters
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue