From 5a9695407e1292a5b3a54e443cdf924ab508ec4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=B5=E3=81=81?= Date: Thu, 14 Nov 2024 12:19:54 +0900 Subject: [PATCH 1/2] feat follow up #78 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ふぁ --- src/openapi/schemas/tweet.yaml | 26 +++++++++++++++++++++++++- test/python/test_serialize.py | 1 + 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/openapi/schemas/tweet.yaml b/src/openapi/schemas/tweet.yaml index 9d8d3f6..f7fb3c7 100644 --- a/src/openapi/schemas/tweet.yaml +++ b/src/openapi/schemas/tweet.yaml @@ -543,7 +543,7 @@ components: delete_action_result: $ref: "#/components/schemas/CommunityDeleteActionResult" join_action_result: - $ref: "#/components/schemas/CommunityJoinActionResult" + $ref: "#/components/schemas/CommunityJoinActionUnion" leave_action_result: $ref: "#/components/schemas/CommunityLeaveActionResult" pin_action_result: @@ -562,6 +562,16 @@ components: type: string enum: [Unavailable] + CommunityJoinActionUnion: + oneOf: + - $ref: "#/components/schemas/CommunityJoinActionResult" + - $ref: "#/components/schemas/CommunityJoinActionUnavailable" + discriminator: + propertyName: __typename + mapping: # deprecated + CommunityJoinAction: "#/components/schemas/CommunityJoinActionResult" + CommunityJoinActionUnavailable: "#/components/schemas/CommunityJoinActionUnavailable" + CommunityJoinActionResult: required: - "__typename" @@ -569,6 +579,20 @@ components: __typename: $ref: "./typename.yaml#/components/schemas/TypeName" # CommunityJoinAction + CommunityJoinActionUnavailable: + required: + - "__typename" + - "reason" + - "message" + properties: + __typename: + $ref: "./typename.yaml#/components/schemas/TypeName" # CommunityJoinActionUnavailable + reason: + type: string + enum: [ViewerRequestRequired] + message: + type: string + CommunityLeaveActionResult: required: - "__typename" diff --git a/test/python/test_serialize.py b/test/python/test_serialize.py index 5897f84..8f15ec3 100644 --- a/test/python/test_serialize.py +++ b/test/python/test_serialize.py @@ -376,6 +376,7 @@ if __name__ == "__main__": "1349129669258448897", "1810188416812019999", "1851981523207299417", + "1853879226987901408", ] for id in ids: try: From cf7429fafbd4288a9873b8756accffe17ba62283 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=B5=E3=81=81?= Date: Thu, 14 Nov 2024 12:29:34 +0900 Subject: [PATCH 2/2] build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ふぁ --- dist/compatible/openapi-3.0.yaml | 36 ++++++++++++++++++++++++++------ dist/docs/openapi-3.0.yaml | 36 ++++++++++++++++++++++++++------ 2 files changed, 60 insertions(+), 12 deletions(-) diff --git a/dist/compatible/openapi-3.0.yaml b/dist/compatible/openapi-3.0.yaml index b467b41..3efca98 100644 --- a/dist/compatible/openapi-3.0.yaml +++ b/dist/compatible/openapi-3.0.yaml @@ -152,6 +152,7 @@ components: enum: - Member - Moderator + - Admin type: string user_results: $ref: '#/components/schemas/UserResults' @@ -211,14 +212,11 @@ components: visualStyle: enum: - Default + - Tentative type: string required: - destinationUrl - - footer - - note - - subtitle - title - - shorttitle - iconType BirdwatchPivotCallToAction: properties: @@ -316,7 +314,7 @@ components: delete_action_result: $ref: '#/components/schemas/CommunityDeleteActionResult' join_action_result: - $ref: '#/components/schemas/CommunityJoinActionResult' + $ref: '#/components/schemas/CommunityJoinActionUnion' leave_action_result: $ref: '#/components/schemas/CommunityLeaveActionResult' pin_action_result: @@ -349,6 +347,7 @@ components: invites_policy: enum: - MemberInvitesAllowed + - ModeratorInvitesAllowed type: string invites_result: $ref: '#/components/schemas/CommunityInvitesResult' @@ -357,6 +356,7 @@ components: join_policy: enum: - Open + - RestrictedJoinRequestsRequireModeratorApproval type: string join_requests_result: $ref: '#/components/schemas/CommunityJoinRequestsResult' @@ -444,6 +444,29 @@ components: $ref: '#/components/schemas/TypeName' required: - __typename + CommunityJoinActionUnavailable: + properties: + __typename: + $ref: '#/components/schemas/TypeName' + message: + type: string + reason: + enum: + - ViewerRequestRequired + type: string + required: + - __typename + - reason + - message + CommunityJoinActionUnion: + discriminator: + mapping: + CommunityJoinAction: '#/components/schemas/CommunityJoinActionResult' + CommunityJoinActionUnavailable: '#/components/schemas/CommunityJoinActionUnavailable' + propertyName: __typename + oneOf: + - $ref: '#/components/schemas/CommunityJoinActionResult' + - $ref: '#/components/schemas/CommunityJoinActionUnavailable' CommunityJoinRequestsResult: properties: __typename: @@ -2398,6 +2421,7 @@ components: - stale_tweet - community_tweet_non_member_public_community - community_tweet_non_member_closed_community + - blocked_viewer type: string place: additionalProperties: true @@ -2575,6 +2599,7 @@ components: - Community - CommunityDeleteActionUnavailable - CommunityJoinAction + - CommunityJoinActionUnavailable - CommunityLeaveActionUnavailable - CommunityTweetPinActionUnavailable - CommunityTweetUnpinActionUnavailable @@ -3112,7 +3137,6 @@ components: required: - description - verified_since_msec - - override_verified_year UserVerificationInfoReasonDescription: properties: entities: diff --git a/dist/docs/openapi-3.0.yaml b/dist/docs/openapi-3.0.yaml index 6317b88..3078fba 100644 --- a/dist/docs/openapi-3.0.yaml +++ b/dist/docs/openapi-3.0.yaml @@ -152,6 +152,7 @@ components: enum: - Member - Moderator + - Admin type: string user_results: $ref: '#/components/schemas/UserResults' @@ -211,14 +212,11 @@ components: visualStyle: enum: - Default + - Tentative type: string required: - destinationUrl - - footer - - note - - subtitle - title - - shorttitle - iconType BirdwatchPivotCallToAction: properties: @@ -316,7 +314,7 @@ components: delete_action_result: $ref: '#/components/schemas/CommunityDeleteActionResult' join_action_result: - $ref: '#/components/schemas/CommunityJoinActionResult' + $ref: '#/components/schemas/CommunityJoinActionUnion' leave_action_result: $ref: '#/components/schemas/CommunityLeaveActionResult' pin_action_result: @@ -349,6 +347,7 @@ components: invites_policy: enum: - MemberInvitesAllowed + - ModeratorInvitesAllowed type: string invites_result: $ref: '#/components/schemas/CommunityInvitesResult' @@ -357,6 +356,7 @@ components: join_policy: enum: - Open + - RestrictedJoinRequestsRequireModeratorApproval type: string join_requests_result: $ref: '#/components/schemas/CommunityJoinRequestsResult' @@ -444,6 +444,29 @@ components: $ref: '#/components/schemas/TypeName' required: - __typename + CommunityJoinActionUnavailable: + properties: + __typename: + $ref: '#/components/schemas/TypeName' + message: + type: string + reason: + enum: + - ViewerRequestRequired + type: string + required: + - __typename + - reason + - message + CommunityJoinActionUnion: + discriminator: + mapping: + CommunityJoinAction: '#/components/schemas/CommunityJoinActionResult' + CommunityJoinActionUnavailable: '#/components/schemas/CommunityJoinActionUnavailable' + propertyName: __typename + oneOf: + - $ref: '#/components/schemas/CommunityJoinActionResult' + - $ref: '#/components/schemas/CommunityJoinActionUnavailable' CommunityJoinRequestsResult: properties: __typename: @@ -2398,6 +2421,7 @@ components: - stale_tweet - community_tweet_non_member_public_community - community_tweet_non_member_closed_community + - blocked_viewer type: string place: additionalProperties: true @@ -2575,6 +2599,7 @@ components: - Community - CommunityDeleteActionUnavailable - CommunityJoinAction + - CommunityJoinActionUnavailable - CommunityLeaveActionUnavailable - CommunityTweetPinActionUnavailable - CommunityTweetUnpinActionUnavailable @@ -3112,7 +3137,6 @@ components: required: - description - verified_since_msec - - override_verified_year UserVerificationInfoReasonDescription: properties: entities: