╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ────────────╮ │src/ui/Home/Repos.zig│ ╰─────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────╮ │29 while (try repos_iter.next()) |kv_cursor| { │ │30 const kv = try kv_cursor.readKeyValuePair(); │ │31 const repo_map = try DB.HashMap(.read_only).init(kv.value_cursor); │ │34 - const repo_event = try evt.read(evt.Repo, DB, repo_opts.hash, arena, repo_map); │ │32 + const repo_event = try evt.read(evt.Repo, DB, evt.admin_repo_opts.hash, arena, repo_map);│ │33 try repos.append(arena.allocator(), repo_event); │ │34 } │ │35 │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ────────────╮ │src/ui/Home/Users.zig│ ╰─────────────────────╯ ╭──────────────────────────────────────────╮ │2 const evt = @import("../../event.zig");│ │3 const ui = @import("../../ui.zig"); │ │4 const xit = @import("xit"); │ │5 -const rp = xit.repo; │ │5 const hash = xit.hash; │ │6 const xitui = xit.xitui; │ │7 const wgt = xitui.widget; │ ╰──────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────╮ │15 const Self = @This(); │ │16 │ │17 pub fn init( │ │19 - comptime repo_opts: rp.RepoOpts(.xit), │ │18 arena: *std.heap.ArenaAllocator, │ │21 - haxy_moment: rp.Repo(.xit, repo_opts).DB.HashMap(.read_only),│ │19 + haxy_moment: evt.AdminDB.HashMap(.read_only), │ │20 ) !Self { │ │23 - const DB = rp.Repo(.xit, repo_opts).DB; │ │21 + const DB = evt.AdminDB; │ │22 │ │23 var users: std.ArrayList(evt.User) = .empty; │ │24 │ ╰─────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │27 - const event_id_to_user_cursor = try haxy_moment.getCursor(hash.hashInt(repo_opts.hash, "event-id->user")) orelse return error.NotFound; │ │25 + const event_id_to_user_cursor = try haxy_moment.getCursor(hash.hashInt(evt.admin_repo_opts.hash, "event-id->user")) orelse return error.NotFound;│ │26 const event_id_to_user = try DB.HashMap(.read_only).init(event_id_to_user_cursor); │ │27 │ │28 var users_iter = try event_id_to_user.iterator(); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────╮ │29 while (try users_iter.next()) |kv_cursor| { │ │30 const kv = try kv_cursor.readKeyValuePair(); │ │31 const user_map = try DB.HashMap(.read_only).init(kv.value_cursor); │ │34 - const user_event = try evt.read(evt.User, DB, repo_opts.hash, arena, user_map); │ │32 + const user_event = try evt.read(evt.User, DB, evt.admin_repo_opts.hash, arena, user_map);│ │33 try users.append(arena.allocator(), user_event); │ │34 } │ │35 │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──╮ │src/web.zig│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │240 const password = (try parseFormField(allocator, body, "password")) orelse try allocator.dupe(u8, "");│ │241 defer allocator.free(password); │ │242 │ │243 - const repo_opts: rp.RepoOpts(.xit) = .{}; │ │244 - const Repo = rp.Repo(.xit, repo_opts); │ │243 + const Repo = rp.Repo(.xit, evt.admin_repo_opts); │ │244 var repo = try Repo.open(io, allocator, .{ .path = admin_repo_path }); │ │245 defer repo.deinit(io, allocator); │ │246 │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │247 var arena = std.heap.ArenaAllocator.init(allocator); │ │248 defer arena.deinit(); │ │249 │ │251 - const haxy_moment = try evt.currentMoment(repo_opts, &repo); │ │252 - const result = try evt.User.verifyCredentials(Repo.DB, repo_opts.hash, haxy_moment, &arena, username, password); │ │250 + const haxy_moment = try evt.currentMoment(evt.admin_repo_opts, &repo); │ │251 + const result = try evt.User.verifyCredentials(evt.AdminDB, evt.admin_repo_opts.hash, haxy_moment, &arena, username, password);│ │252 │ │253 switch (result) { │ │254 .success => |user_id| { │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────╮ │313 var user_id: [evt.event_id_size]u8 = undefined; │ │314 if (getCookieValue(request, cookie_name)) |token| { │ │315 if (session_store.lookup(token, &user_id)) { │ │317 - const repo_opts: rp.RepoOpts(.xit) = .{}; │ │318 - const Repo = rp.Repo(.xit, repo_opts); │ │316 + const Repo = rp.Repo(.xit, evt.admin_repo_opts); │ │317 var repo = try Repo.open(io, allocator, .{ .path = admin_repo_path });│ │318 defer repo.deinit(io, allocator); │ │319 │ ╰───────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │322 - try evt.User.toggleAnsi(repo_opts, io, allocator, &repo, &user_id); │ │320 + try evt.User.toggleAnsi(evt.admin_repo_opts, io, allocator, &repo, &user_id);│ │321 } │ │322 } │ │323 │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────╮ │341 const template = (findEmbed("/index.html") orelse return error.MissingIndexAsset).body;│ │342 │ │343 // open the admin repo to read live user/repo data. │ │346 - const repo_opts: rp.RepoOpts(.xit) = .{}; │ │347 - const Repo = rp.Repo(.xit, repo_opts); │ │344 + const Repo = rp.Repo(.xit, evt.admin_repo_opts); │ │345 var repo = try Repo.open(io, allocator, .{ .path = admin_repo_path }); │ │346 defer repo.deinit(io, allocator); │ │347 var page_arena = std.heap.ArenaAllocator.init(allocator); │ ╰────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯