diff options
Diffstat (limited to 'src/routes/api/image/list.zig')
| -rw-r--r-- | src/routes/api/image/list.zig | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/src/routes/api/image/list.zig b/src/routes/api/image/list.zig deleted file mode 100644 index 5d2eace..0000000 --- a/src/routes/api/image/list.zig +++ /dev/null @@ -1,42 +0,0 @@ -const std = @import("std"); -const memora = @import("memora"); -const Context = memora.Context; -const Storage = memora.Storage; - -pub const access = .users; - -const ImageInfo = struct { - id: []const u8, - timestamp: ?i64, -}; - -const Result = struct { - images: []ImageInfo, -}; - -pub fn get(ctx: *Context) !Result { - var images: std.ArrayList(ImageInfo) = .empty; - - var images_list = ctx.storage.images.list(); - defer images_list.unlock(); - - var locked = ctx.storage.images.first_by_timestamp(); - defer locked.unlock(); - - var current = locked.value; - - while (current) |c| { - const image = ctx.storage.images.items.items[c.index]; - - try images.append(ctx.allocator, .{ - .id = try ctx.allocator.dupe(u8, image.id), - .timestamp = image.timestamp, - }); - - current = c.next(); - } - - return .{ - .images = try images.toOwnedSlice(ctx.allocator), - }; -} |