aboutsummaryrefslogtreecommitdiff
path: root/lib/models/id/user_id_t.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models/id/user_id_t.ml')
-rw-r--r--lib/models/id/user_id_t.ml10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/models/id/user_id_t.ml b/lib/models/id/user_id_t.ml
index 8a6a265..5ed9f14 100644
--- a/lib/models/id/user_id_t.ml
+++ b/lib/models/id/user_id_t.ml
@@ -1,3 +1,11 @@
-type t = [ `User_id of Snowflake.t ] [@@deriving sexp, yojson]
+type t = [ `User_id of Snowflake.t ] [@@deriving sexp]
+
+let of_yojson a : (t, string) result =
+ match Snowflake.of_yojson a with
+ | Ok id -> Ok (`User_id id)
+ | Error err -> Error err
+
+let of_yojson_exn a : t = `User_id (Snowflake.of_yojson_exn a)
+let to_yojson (`User_id id) = (Snowflake.to_yojson id)
let get_id (`User_id id) = id \ No newline at end of file