diff --git a/src/openapi/schemas/typename.yaml b/src/openapi/schemas/typename.yaml index ff3f29e..7be38b1 100644 --- a/src/openapi/schemas/typename.yaml +++ b/src/openapi/schemas/typename.yaml @@ -20,4 +20,5 @@ components: TimelineMessagePrompt, Tweet, User, + UserUnavailable, ] diff --git a/src/openapi/schemas/user.yaml b/src/openapi/schemas/user.yaml index 1349108..2171f07 100644 --- a/src/openapi/schemas/user.yaml +++ b/src/openapi/schemas/user.yaml @@ -17,7 +17,17 @@ components: - "result" properties: result: - $ref: "#/components/schemas/User" + $ref: "#/components/schemas/UserUnion" + + UserUnion: + oneOf: + - $ref: "#/components/schemas/User" + - $ref: "#/components/schemas/UserUnavailable" + discriminator: + propertyName: __typename + mapping": # deprecated + User: "#/components/schemas/User" + UserUnavailable: "#/components/schemas/UserUnavailable" User: required: @@ -211,3 +221,13 @@ components: want_retweets: type: boolean default: false + + UserUnavailable: + required: + - "__typename" + - "reason" + properties: + __typename: + $ref: "./typename.yaml#/components/schemas/TypeName" # UserUnavailable + reason: + type: string