diff --git a/build.zig b/build.zig index e488390..88fed1c 100644 --- a/build.zig +++ b/build.zig @@ -15,7 +15,7 @@ pub fn build(b: *std.Build) !void { // Example dependency: const iguanas_dep = b.dependency("iguanas", .{ .optimize = optimize, .target = target }); exe.root_module.addImport("iguanas", iguanas_dep.module("iguanas")); - + const sqlite = b.dependency("sqlite", .{ .target = target, .optimize = optimize, @@ -28,7 +28,7 @@ pub fn build(b: *std.Build) !void { // All dependencies **must** be added to imports above this line. - try jetzig.jetzigInit(b, exe, .{.zmpl_version = .v2}); + try jetzig.jetzigInit(b, exe, .{ .zmpl_version = .v2 }); b.installArtifact(exe); diff --git a/src/app/views/search.zig b/src/app/views/search.zig index df0a8eb..f439a8a 100644 --- a/src/app/views/search.zig +++ b/src/app/views/search.zig @@ -4,7 +4,7 @@ const queries = @import("../lib/db.zig"); const sqlite = @import("sqlite"); pub fn index(request: *jetzig.Request, data: *jetzig.Data) !jetzig.View { - _ = data; + var root = try data.array(); var gpa = std.heap.GeneralPurposeAllocator(.{}){}; const allocator = gpa.allocator(); var arena = std.heap.ArenaAllocator.init(allocator); @@ -16,30 +16,31 @@ pub fn index(request: *jetzig.Request, data: *jetzig.Data) !jetzig.View { .create = true, }, .threading_mode = .MultiThread, - }); - //var root = try data.object(); + }); const params = try request.params(); - const query: ?[]const u8 = if (params.get("q")) |param| param.string.value else null; - if (query != null){ - // sql.search(query, db); + const queryOrNull: ?[]const u8 = if (params.get("q")) |param| param.string.value else null; + if (queryOrNull) |query| { + // sql.search(query, db); var artistSearch = try db.prepare(queries.getArtistSearch); defer artistSearch.deinit(); const artistResults = try artistSearch.all( - struct{ + struct { artist: []u8, - plays: usize, + url: usize, }, arena.allocator(), .{}, - .{ .artist = query}, + .{ .artist = query }, ); - for (artistResults) |r|{ - std.log.debug("artist: {s}, Plays: {}", .{r.artist, r.plays}); + for (artistResults) |r| { + std.log.debug("artist: {s}, url: {s}", .{ r.artist, r.url }); + root.append(data.string(r.artist)); + root.append(data.string(r.url)); //std.log.debug("{s}", .{r}); } - } else{ + } else { return request.render(.bad_request); } //const query = params.get("q"); diff --git a/src/app/views/search/index.zmpl b/src/app/views/search/index.zmpl index 76457d0..129b098 100644 --- a/src/app/views/search/index.zmpl +++ b/src/app/views/search/index.zmpl @@ -1,3 +1,15 @@ -
- Content goes here -
+ + + + + + + + @zig { + for (0..) + + + + } + +
ArtistAlbumTrack
\ No newline at end of file