const std = @import("std"); const memora = @import("memora"); const Context = memora.Context; const Storage = memora.Storage; const Body = struct { user: []const u8, password: []const u8, }; const Result = struct { success: bool, }; pub const access = .everyone; pub fn post(ctx: *Context, body: Body) anyerror!Result { var user = Storage.User.open(ctx.storage, body.user) catch return .{ .success = false }; defer user.deinit(); const result = Result { .success = user.check_password(body.password) }; if (result.success) { const session = try ctx.storage.sessions.add(ctx.storage, user.info); ctx.response.headers.fingerprint = session.fingerprint; } return result; }