Establishes version control for the personal Logseq DB fork before starting the server-client architecture migration and domain features described in docs/agent-guide and the approved implementation plan. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
31 lines
838 B
OCaml
31 lines
838 B
OCaml
type kind = Page | Block | Tag | Property | Task | Asset | Unknown
|
|
|
|
type t = {
|
|
id : Cli_primitive.db_id option;
|
|
uuid : Cli_primitive.uuid option;
|
|
ident : Cli_primitive.keyword option;
|
|
name : string option;
|
|
title : string option;
|
|
kind : kind;
|
|
tags : Cli_primitive.keyword Rrbvec.t;
|
|
created_at : Js.Date.t option;
|
|
updated_at : Js.Date.t option;
|
|
deleted_at : Js.Date.t option;
|
|
raw : Melange_edn_melange.any;
|
|
}
|
|
|
|
let of_value raw =
|
|
{
|
|
id = Edn_util.get_int64 raw "db/id";
|
|
uuid = Edn_util.get_string raw "block/uuid";
|
|
ident = Option.bind (Edn_util.get raw "db/ident") Edn_util.as_keyword_t;
|
|
name = Edn_util.get_string raw "name";
|
|
title = Edn_util.get_string raw "block/title";
|
|
kind = Unknown;
|
|
tags = Vec.empty;
|
|
created_at = None;
|
|
updated_at = None;
|
|
deleted_at = None;
|
|
raw;
|
|
}
|