diff options
Diffstat (limited to 'lib/models/embed.ml')
| -rw-r--r-- | lib/models/embed.ml | 62 |
1 files changed, 54 insertions, 8 deletions
diff --git a/lib/models/embed.ml b/lib/models/embed.ml index ce25e78..4faaba7 100644 --- a/lib/models/embed.ml +++ b/lib/models/embed.ml @@ -1,8 +1,54 @@ -module Make(Http : S.Http) = struct - type footer = Embed_t.footer - type image = Embed_t.image - type video = Embed_t.video - type provider = Embed_t.provider - type field = Embed_t.field - type t = Embed_t.t -end
\ No newline at end of file +open Core + +type footer = { + text: string; + icon_url: string option [@default None]; + proxy_icon_url: string option [@default None]; +} [@@deriving sexp, yojson] + +type image = { + url: string option [@default None]; + proxy_url: string option [@default None]; + height: int option [@default None]; + width: int option [@default None]; +} [@@deriving sexp, yojson] + +type video = { + url: string option [@default None]; + height: int option [@default None]; + width: int option [@default None]; +} [@@deriving sexp, yojson] + +type provider = { + name: string option [@default None]; + url: string option [@default None]; +} [@@deriving sexp, yojson] + +type author = { + name: string option [@default None]; + url: string option [@default None]; + icon_url: string option [@default None]; + proxy_icon_url: string option [@default None]; +} [@@deriving sexp, yojson] + +type field = { + name: string; + value: string; + inline: bool [@default true]; +} [@@deriving sexp, yojson] + +type t = { + title: string option [@default None]; + kind: string option [@default None][@key "type"]; + description: string option [@default None]; + url: string option [@default None]; + timestamp: string option [@default None]; + colour: int option [@default None]; + footer: footer option [@default None]; + image: image option [@default None]; + thumbnail: image option [@default None]; + video: video option [@default None]; + provider: provider option [@default None]; + author: author option [@default None]; + fields: field list [@default []]; +} [@@deriving sexp, yojson { strict = false }]
\ No newline at end of file |