╭ changed ───────────╮ │src/serve_common.zig│ ╰────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭─────────────────────────────────────╮ │15 pub fn resolveRepoPath( │ │16 io: std.Io, │ │17 allocator: std.mem.Allocator,│ │18 - repo_root_path: []const u8, │ │18 + users_dir: []const u8, │ │19 admin_repo_path: []const u8, │ │20 requested: []const u8, │ │21 create_if_missing: bool, │ ╰─────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────╮ │22 ) !RepoPath { │ │23 const owner_repo = evt.parseOwnerRepoPath(requested) orelse return .invalid;│ │24 - const event_id_hex = (try evt.resolveOrCreateRepo( │ │24 + const location = (try evt.resolveOrCreateRepo( │ │25 io, │ │26 allocator, │ │27 + users_dir, │ │28 admin_repo_path, │ │29 owner_repo.owner, │ │30 owner_repo.name, │ ╰────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │31 if (create_if_missing) .{} else null, │ │32 )) orelse return .not_found; │ │32 - return .{ .ok = try std.fs.path.join(allocator, &.{ repo_root_path, &event_id_hex }) }; │ │33 + return .{ .ok = try evt.repoPath(allocator, users_dir, &location.owner_id, &location.repo_id) };│ │34 } │ │35 │ │36 // every connection task shares one error writer, so writing to it takes a │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────╯