From b88d91870d40a84ad6941b2394838d6784f81db2 Mon Sep 17 00:00:00 2001 From: physcik Date: Tue, 14 Apr 2026 16:21:33 +0500 Subject: ID to string transfer --- backend/src/API/WeaponsAPI.zig | 12 +++++++++++- backend/src/Database/RangedWeaponsAccessLayer.zig | 4 ++++ backend/src/Models/RangedWeapon.zig | 7 ++++--- 3 files changed, 19 insertions(+), 4 deletions(-) (limited to 'backend/src') diff --git a/backend/src/API/WeaponsAPI.zig b/backend/src/API/WeaponsAPI.zig index d2bb15a..6c24721 100644 --- a/backend/src/API/WeaponsAPI.zig +++ b/backend/src/API/WeaponsAPI.zig @@ -7,11 +7,12 @@ pub fn RegisterEndpoints(router: *httpz.Router(void, *const fn (*httpz.request.R router.get("/weapons", testEndpoint, .{}); router.post("/weapons/ranged", newRangedWeapon, .{}); router.get("/weapons/ranged", getAllRangedWeapons, .{}); + // router.get("/weapons/ranged/:id", getAllRangedWeapons, .{}); } fn testEndpoint(_: *httpz.Request, res: *httpz.Response) !void { const testType: model.RangedWeaponType = .{ - .Id = 0, + .Id = "any", .Name = "BudgetArms C-13", .WeaponType = "P", .Accuracy = -1, @@ -41,6 +42,15 @@ fn getAllRangedWeapons(_: *httpz.Request, res: *httpz.Response) !void { try res.json(found.items, .{}); } +fn getRangedWeaponById(req: *httpz.Request, res: *httpz.Response) !void { + const id = req.param("id") orelse { + res.status = 400; + return; + }; + + _ = id; +} + fn newRangedWeapon(req: *httpz.Request, res: *httpz.Response) !void { if (try req.json(model.RangedWeaponType)) |new| { try res.json(new, .{}); diff --git a/backend/src/Database/RangedWeaponsAccessLayer.zig b/backend/src/Database/RangedWeaponsAccessLayer.zig index a99d1c1..ed35064 100644 --- a/backend/src/Database/RangedWeaponsAccessLayer.zig +++ b/backend/src/Database/RangedWeaponsAccessLayer.zig @@ -18,3 +18,7 @@ pub fn GetAll(alloc: std.mem.Allocator) !std.ArrayList(model.RangedWeaponType) { } return outp; } + +// pub fn GetByDisplayName(alloc: std.mem.Allocator, displayName: []const u8) !model.RangedWeaponType { + // const query = "SELECT * FROM RangedWeapons WHERE Id = "; +// } diff --git a/backend/src/Models/RangedWeapon.zig b/backend/src/Models/RangedWeapon.zig index b81c63e..14884d2 100644 --- a/backend/src/Models/RangedWeapon.zig +++ b/backend/src/Models/RangedWeapon.zig @@ -2,7 +2,7 @@ const std = @import("std"); const pg = @import("pg"); pub const RangedWeaponType = struct { - Id: i32, + Id: []const u8, Name: []const u8, WeaponType: []const u8, @@ -39,7 +39,7 @@ pub const RangedWeaponType = struct { // actual DB schema and use * as a fields selector pub fn Map(row: *const pg.Row) !RangedWeaponType { return RangedWeaponType { - .Id = try row.get(i32, 0), + .Id = try row.get([]const u8, 0), .Name = try row.get([]const u8, 1), .WeaponType = try row.get([]const u8, 2), .Accuracy = try row.get(i32, 3), @@ -54,13 +54,14 @@ pub const RangedWeaponType = struct { .UpdatedAt = try row.get(i64, 12), }; } + }; // ==================== tests ==================== fn getTestType() RangedWeaponType { return .{ - .Id = 0, + .Id = "any", .Name = "any", .WeaponType = "P", .Accuracy = -1, -- cgit v1.3