1
Fork 0
mirror of https://github.com/thegeneralist01/twitter-openapi synced 2026-01-11 15:40:26 +01:00
twitter-openapi/src/openapi/schemas/content.yaml
ふぁ a16f4a6915
add TweetDetail
Signed-off-by: ふぁ <yuki@yuki0311.com>
2023-04-18 19:07:40 +09:00

125 lines
3.7 KiB
YAML

openapi: 3.0.3
info:
title: Twitter OpenAPI
version: 0.0.1
paths: {}
components:
schemas:
ContentUnion:
oneOf:
- $ref: "#/components/schemas/TimelineTimelineItem"
- $ref: "#/components/schemas/TimelineTimelineCursor"
- $ref: "#/components/schemas/TimelineTimelineModule"
discriminator:
propertyName: entryType
mapping": # deprecated
TimelineTimelineItem: "#/components/schemas/TimelineTimelineItem"
TimelineTimelineCursor: "#/components/schemas/TimelineTimelineCursor"
TimelineTimelineModule: "#/components/schemas/TimelineTimelineModule"
ContentEntryType:
type: string
enum:
[TimelineTimelineItem, TimelineTimelineCursor, TimelineTimelineModule]
TimelineTimelineItem:
required:
- "__typename"
- "entryType"
- "itemContent"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # TimelineTimelineItem
entryType:
type: string # enum
$ref: "#/components/schemas/ContentEntryType" # TimelineTimelineItem
itemContent:
$ref: "#/components/schemas/ItemContentUnion"
clientEventInfo:
type: object # todo
feedbackInfo:
type: object # todo
TimelineTimelineCursor:
required:
- "__typename"
- "cursorType"
- "value"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # TimelineTimelineCursor
entryType:
type: string # enum
$ref: "#/components/schemas/ContentEntryType" # null | TimelineTimelineCursor
itemType:
type: string # enum
$ref: "#/components/schemas/ContentEntryType" # null | TimelineTimelineCursor
cursorType:
type: string
enum: [Top, Bottom]
value:
type: string
TimelineTimelineModule:
required:
- "__typename"
- "entryType"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # TimelineTimelineModule
entryType:
type: string # enum
$ref: "#/components/schemas/ContentEntryType" # TimelineTimelineCursor
# ================= ContentItem =================
ItemContentUnion:
oneOf:
- $ref: "#/components/schemas/TimelineTweet"
- $ref: "#/components/schemas/TimelineTimelineCursor"
discriminator:
propertyName: itemType
mapping": # deprecated
TimelineTweet: "#/components/schemas/TimelineTweet"
TimelineTimelineCursor: "#/components/schemas/TimelineTimelineCursor"
ContentItemType:
type: string
enum: [TimelineTweet, TimelineTimelineCursor]
TimelineTweet:
required:
- "__typename"
- "itemType"
- "tweetDisplayType"
- "tweet_results"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # TimelineTweet
itemType:
type: string # enum
$ref: "#/components/schemas/ContentItemType" # TimelineTweet
tweetDisplayType:
type: string
tweet_results:
$ref: "#/components/schemas/ItemResult"
socialContext:
type: object
properties:
contextType:
type: string # enum
text:
type: string
type:
type: string # enum
ItemResult:
required:
- "result"
properties:
__typename:
$ref: "./typename.yaml#/components/schemas/TypeName" # null | TimelineTweet
result:
$ref: "./tweet.yaml#/components/schemas/TweetUnion"