summaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/src/API/WeaponsAPI.zig12
-rw-r--r--backend/src/Database/RangedWeaponsAccessLayer.zig4
-rw-r--r--backend/src/Models/RangedWeapon.zig7
3 files changed, 19 insertions, 4 deletions
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,