aboutsummaryrefslogtreecommitdiff
path: root/src/routes
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2025-11-15 12:00:50 +0100
committerNathan Reiner <nathan@nathanreiner.xyz>2025-11-15 12:00:50 +0100
commit69488029a8eafc55d42ae7e65ba8ddeebcfb8454 (patch)
treec0e90861d7f01a93908fa7ab428a0dab8da43d2a /src/routes
parente8ff326f0e5bd61fb0a8c22c48f296fcf0249830 (diff)
implement auto-login when session still active
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/api/session/is-valid.zig14
-rw-r--r--src/routes/api/session/root.zig1
2 files changed, 15 insertions, 0 deletions
diff --git a/src/routes/api/session/is-valid.zig b/src/routes/api/session/is-valid.zig
new file mode 100644
index 0000000..0c26040
--- /dev/null
+++ b/src/routes/api/session/is-valid.zig
@@ -0,0 +1,14 @@
+const std = @import("std");
+const Context = @import("../../context.zig");
+
+pub const access = .everyone;
+
+const Result = struct {
+ is_valid: bool
+};
+
+pub fn get(ctx: *Context) !Result {
+ return .{
+ .is_valid = ctx.storage.sessions.get(ctx.storage, ctx.fingerprint) != null
+ };
+}
diff --git a/src/routes/api/session/root.zig b/src/routes/api/session/root.zig
index ea155e5..0b85e20 100644
--- a/src/routes/api/session/root.zig
+++ b/src/routes/api/session/root.zig
@@ -3,3 +3,4 @@ const HandlerInfo = @import("../../handler-info.zig");
pub const current: HandlerInfo = .from_type(@import("current.zig"));
pub const drop: HandlerInfo = .from_type(@import("renew.zig"));
pub const renew: HandlerInfo = .from_type(@import("drop.zig"));
+pub const @"is-valid": HandlerInfo = .from_type(@import("is-valid.zig"));