╭ changed ─╮ │src/ui.zig│ ╰──────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────╮ │2019 io: std.Io, │ │2020 moment: evt.AdminDB.HashMap(.read_only),│ │2021 arena: *std.heap.ArenaAllocator, │ │2022 - repos_dir: []const u8, │ │2022 + users_dir: []const u8, │ │2023 user_id: [evt.event_id_size]u8, │ │2024 identity: []const u8, │ │2025 min_role: evt.Repo.Role, │ ╰──────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │2027 const user = (try activeUser(moment, arena, user_id)) orelse return .login_required; │ │2028 │ │2029 const owner_repo = evt.parseOwnerRepoPath(identity) orelse return .repo_not_found; │ │2030 - const repo = (try evt.readRepoByOwnerAndName(io, arena.child_allocator, arena, moment, repos_dir, owner_repo.owner, owner_repo.name)) orelse return .repo_not_found;│ │2030 + const repo = (try evt.readRepoByOwnerAndName(io, arena.child_allocator, arena, moment, users_dir, owner_repo.owner, owner_repo.name)) orelse return .repo_not_found;│ │2031 const role = evt.Repo.roleOf(repo.repo, user_id); │ │2032 // a repo the user can't read doesn't exist to them │ │2033 if (role == .none) return .repo_not_found; │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────╮ │2091 // rebuilds pages from the serialized snapshot rather than from disk. │ │2092 io: ?std.Io = null, │ │2093 admin_repo: ?*rp.Repo(.xit, evt.admin_repo_opts) = null, │ │2094 - repos_dir: ?[]const u8 = null, │ │2094 + users_dir: ?[]const u8 = null, │ │2095 // the single on-disk repo this session views, when running in local mode │ │2096 // (haxy invoked with no arguments inside a repo). null on the server paths,│ │2097 // which resolve repos from the admin db instead. │ ╰──────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │2283 // the session's moment predates this input, so read the roles afresh │ │2284 const admin_repo = self.admin_repo orelse return null; │ │2285 const io = self.io orelse return null; │ │2286 - const repos_dir = self.repos_dir orelse return null; │ │2286 + const users_dir = self.users_dir orelse return null; │ │2287 const moment = try evt.currentMoment(evt.admin_repo_opts, admin_repo); │ │2288 - return switch (try authorizeUser(io, moment, self.page_arena, repos_dir, user_id, identity, min_role)) {│ │2288 + return switch (try authorizeUser(io, moment, self.page_arena, users_dir, user_id, identity, min_role)) {│ │2289 .actor => |actor| actor, │ │2290 .login_required, .repo_not_found, .forbidden => null, │ │2291 }; │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯