From f3756dac8a49f3b5599fd50f4c631da4168e9eb0 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Mon, 24 Nov 2025 21:13:47 +0100 Subject: add jump-to month --- src/routes/api/auth/create-user.zig | 29 ----------------------------- src/routes/api/auth/root.zig | 1 - src/routes/api/profile/create.zig | 29 +++++++++++++++++++++++++++++ src/routes/api/profile/list.zig | 17 +++++++++++++++++ src/routes/api/profile/root.zig | 2 ++ 5 files changed, 48 insertions(+), 30 deletions(-) delete mode 100644 src/routes/api/auth/create-user.zig create mode 100644 src/routes/api/profile/create.zig create mode 100644 src/routes/api/profile/list.zig (limited to 'src/routes') diff --git a/src/routes/api/auth/create-user.zig b/src/routes/api/auth/create-user.zig deleted file mode 100644 index 6bd9a82..0000000 --- a/src/routes/api/auth/create-user.zig +++ /dev/null @@ -1,29 +0,0 @@ -const std = @import("std"); - -const memora = @import("memora"); -const Context = memora.Context; -const Storage = memora.Storage; - -pub const access = .admins; - -pub const Body = struct { - name: []const u8, - full_name: []const u8, - birthday: []const u8, - password: []const u8, -}; - -pub fn post(ctx: *Context, body: Body) anyerror!void { - var user = try Storage.User.new( - ctx.storage, - body.name, - body.full_name, - body.birthday, - body.password, - false, - ctx.storage.allocator, - ); - defer user.deinit(); - - try user.sync(); -} diff --git a/src/routes/api/auth/root.zig b/src/routes/api/auth/root.zig index fa93c92..5f45891 100644 --- a/src/routes/api/auth/root.zig +++ b/src/routes/api/auth/root.zig @@ -2,4 +2,3 @@ const HandlerInfo = @import("../../handler-info.zig"); pub const login: HandlerInfo = .from_type(@import("login.zig")); pub const @"first-login": HandlerInfo = .from_type(@import("first-login.zig")); -pub const @"create-user": HandlerInfo = .from_type(@import("create-user.zig")); diff --git a/src/routes/api/profile/create.zig b/src/routes/api/profile/create.zig new file mode 100644 index 0000000..68f32ec --- /dev/null +++ b/src/routes/api/profile/create.zig @@ -0,0 +1,29 @@ +const std = @import("std"); + +const memora = @import("memora"); +const Context = memora.Context; +const Storage = memora.Storage; + +pub const access = .admins; + +const Body = struct { + name: []const u8, + full_name: []const u8, + birthday: []const u8, + password: []const u8, +}; + +pub fn post(ctx: *Context, body: Body) !void { + var user = try Storage.User.new( + ctx.storage, + body.name, + body.full_name, + body.birthday, + body.password, + true, + ctx.storage.allocator, + ); + defer user.deinit(); + + try user.sync(); +} diff --git a/src/routes/api/profile/list.zig b/src/routes/api/profile/list.zig new file mode 100644 index 0000000..59d4684 --- /dev/null +++ b/src/routes/api/profile/list.zig @@ -0,0 +1,17 @@ +const std = @import("std"); + +const memora = @import("memora"); +const Context = memora.Context; +const Storage = memora.Storage; + +pub const access = .admins; + +const Response = struct { + users: [][]const u8, +}; + +pub fn get(ctx: *Context) !Response { + return .{ + .users = try Storage.User.list(ctx.storage, ctx.allocator) + }; +} diff --git a/src/routes/api/profile/root.zig b/src/routes/api/profile/root.zig index 0bdd064..45dec8e 100644 --- a/src/routes/api/profile/root.zig +++ b/src/routes/api/profile/root.zig @@ -4,3 +4,5 @@ const HandlerInfo = memora.routes.HandlerInfo; pub const image = @import("image/root.zig"); pub const set: HandlerInfo = .from_type(@import("set.zig")); pub const @"update-password": HandlerInfo = .from_type(@import("update-password.zig")); +pub const create: HandlerInfo = .from_type(@import("create.zig")); +pub const list: HandlerInfo = .from_type(@import("list.zig")); -- cgit v1.2.3-70-g09d2