From 3f18f02d07802d1fc705a500e5978a9b3cb2e751 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Fri, 14 Nov 2025 21:55:59 +0100 Subject: implement login --- src/routes/api/auth/login.zig | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/routes/api/auth/login.zig (limited to 'src/routes/api/auth/login.zig') diff --git a/src/routes/api/auth/login.zig b/src/routes/api/auth/login.zig new file mode 100644 index 0000000..c3f2bef --- /dev/null +++ b/src/routes/api/auth/login.zig @@ -0,0 +1,25 @@ +const std = @import("std"); + +const Context = @import("../../context.zig"); +const Storage = @import("../../../storage/root.zig"); + +pub const needs_auth = false; +pub const method = .POST; + +const Body = struct { + user: []const u8, + password: []const u8, +}; + +const Result = struct { + success: bool, +}; + +pub fn handler(ctx: *Context, body: Body) anyerror!Result { + var user = Storage.User.open(ctx.storage, body.user, ctx.allocator) catch return .{ + .success = false + }; + defer user.deinit(); + + return .{ .success = user.check_password(body.password) }; +} -- cgit v1.2.3-70-g09d2