aboutsummaryrefslogtreecommitdiff
path: root/lib/models/role_t.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models/role_t.ml')
-rw-r--r--lib/models/role_t.ml32
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/models/role_t.ml b/lib/models/role_t.ml
new file mode 100644
index 0000000..e41f31d
--- /dev/null
+++ b/lib/models/role_t.ml
@@ -0,0 +1,32 @@
+open Core
+
+type role = {
+ id: Snowflake.t;
+ name: string;
+ colour: int [@key "color"];
+ hoist: bool;
+ position: int;
+ permissions: int;
+ managed: bool;
+ mentionable: bool;
+} [@@deriving sexp, yojson { strict = false}]
+
+type role_update = {
+ role: role;
+ guild_id: Snowflake.t;
+} [@@deriving sexp, yojson { strict = false}]
+
+type t = {
+ id: Snowflake.t;
+ name: string;
+ colour: int [@key "color"];
+ hoist: bool;
+ position: int;
+ permissions: int;
+ managed: bool;
+ mentionable: bool;
+ guild_id: Snowflake.t;
+} [@@deriving sexp, yojson { strict = false}]
+
+let wrap ~guild_id ({id;name;colour;hoist;position;permissions;managed;mentionable}:role) =
+ {id;name;colour;hoist;position;permissions;managed;mentionable;guild_id} \ No newline at end of file