aboutsummaryrefslogtreecommitdiff
path: root/lib/models/member_t.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models/member_t.ml')
-rw-r--r--lib/models/member_t.ml43
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/models/member_t.ml b/lib/models/member_t.ml
new file mode 100644
index 0000000..e6edb61
--- /dev/null
+++ b/lib/models/member_t.ml
@@ -0,0 +1,43 @@
+open Core
+
+type partial_member = {
+ nick: string option [@default None];
+ roles: Snowflake.t list;
+ joined_at: string;
+ deaf: bool;
+ mute: bool;
+} [@@deriving sexp, yojson { strict = false}]
+
+type member = {
+ nick: string option [@default None];
+ roles: Snowflake.t list;
+ joined_at: string;
+ deaf: bool;
+ mute: bool;
+ user: User_t.t;
+} [@@deriving sexp, yojson { strict = false}]
+
+type member_wrapper = {
+ guild_id: Snowflake.t;
+ user: User_t.t;
+} [@@deriving sexp, yojson { strict = false }]
+
+type member_update = {
+ guild_id: Snowflake.t;
+ roles: Snowflake.t list [@default []];
+ user: User_t.t;
+ nick: string option [@default None];
+} [@@deriving sexp, yojson { strict = false}]
+
+type t = {
+ nick: string option [@default None];
+ roles: Snowflake.t list;
+ joined_at: string;
+ deaf: bool;
+ mute: bool;
+ user: User_t.t;
+ guild_id: Snowflake.t;
+} [@@deriving sexp, yojson { strict = false}]
+
+let wrap ~guild_id ({nick;roles;joined_at;deaf;mute;user}:member) =
+ {nick;roles;joined_at;deaf;mute;user;guild_id} \ No newline at end of file