const std = @import("std"); const memora = @import("memora"); const Context = memora.Context; const Storage = memora.Storage; pub const access = .users; const Body = struct { current_password: []const u8, new_password: []const u8, }; const Response = struct { success: bool, }; pub fn post(ctx: *Context, body: Body) !Response { if (ctx.storage.sessions.get(ctx.storage, ctx.fingerprint)) |session| { var user = try Storage.User.open(ctx.storage, session.info.name); defer user.deinit(); const result = Response { .success = user.check_password(body.current_password) }; if (result.success) { try user.set_password(body.new_password); try user.sync(); } return result; } else { return error.UnknownSession; } }