diff options
Diffstat (limited to 'src/routes/api')
| -rw-r--r-- | src/routes/api/auth/root.zig | 1 | ||||
| -rw-r--r-- | src/routes/api/profile/create.zig (renamed from src/routes/api/auth/create-user.zig) | 6 | ||||
| -rw-r--r-- | src/routes/api/profile/list.zig | 17 | ||||
| -rw-r--r-- | src/routes/api/profile/root.zig | 2 |
4 files changed, 22 insertions, 4 deletions
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/auth/create-user.zig b/src/routes/api/profile/create.zig index 6bd9a82..68f32ec 100644 --- a/src/routes/api/auth/create-user.zig +++ b/src/routes/api/profile/create.zig @@ -6,21 +6,21 @@ const Storage = memora.Storage; pub const access = .admins; -pub const Body = struct { +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 { +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, - false, + true, ctx.storage.allocator, ); defer user.deinit(); 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")); |