diff options
| author | Adelyn Breedlove <[email protected]> | 2019-01-13 23:52:45 +0000 |
|---|---|---|
| committer | Adelyn Breedlove <[email protected]> | 2019-01-13 23:52:45 +0000 |
| commit | d95f0342f9cf2280b5d9794ab638c16a59c02a69 (patch) | |
| tree | 191164d198c07cf388d9aae8a54013e5613c272c /lib/models/embed.ml | |
| parent | Merge branch 'dev' into 'master' (diff) | |
| parent | Add deriving sexp to models (diff) | |
| download | disml-d95f0342f9cf2280b5d9794ab638c16a59c02a69.tar.xz disml-d95f0342f9cf2280b5d9794ab638c16a59c02a69.zip | |
Merge branch 'switch-to-deriving_yojson' into 'master'
Switch to deriving yojson
See merge request Mishio595/disml!12
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 |