aboutsummaryrefslogtreecommitdiff
path: root/src/routes/root.zig
blob: dbfce321745f4383c78a67ccfbfb23169fdd3217 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const std = @import("std");

pub const HandlerInfo = @import("handler-info.zig");

pub const Context = @import("context.zig");
pub const api = @import("api/root.zig");
pub const fallback: HandlerInfo = .from_type(@import("fallback.zig"));

pub const handlers = std.StaticStringMap(HandlerInfo).initComptime(.{
    .{ "", fallback },
    .{ "/api/auth/login", api.auth.login },
    .{ "/api/auth/first-login", api.auth.first_login },
});

pub fn get(path: []const u8) HandlerInfo {
    return (handlers.getLongestPrefix(std.mem.trimEnd(u8, path, "/")) orelse unreachable).value;
}