summaryrefslogtreecommitdiff
path: root/backend/src/Database
diff options
context:
space:
mode:
authorphyscik <mynameisgennadiy@vk.com>2026-04-14 15:49:44 +0500
committerphyscik <mynameisgennadiy@vk.com>2026-04-14 15:49:44 +0500
commit075872c98fbd9a19e684a18b24f471bc1f78d1b1 (patch)
treeb89ccdb5a326b046d448c9f6e36de40306096f47 /backend/src/Database
parentcc133dd2e36c9eee7f04a29322e5a18181971189 (diff)
ranged weapons db connection
Diffstat (limited to 'backend/src/Database')
-rw-r--r--backend/src/Database/Connection.zig4
-rw-r--r--backend/src/Database/RangedWeaponsAccessLayer.zig20
2 files changed, 23 insertions, 1 deletions
diff --git a/backend/src/Database/Connection.zig b/backend/src/Database/Connection.zig
index 638d92b..736c4e6 100644
--- a/backend/src/Database/Connection.zig
+++ b/backend/src/Database/Connection.zig
@@ -2,7 +2,7 @@ const std = @import("std");
const pg = @import("pg");
const dotenv = @import("dotenv");
-var pool: *pg.Pool = undefined;
+pub var pool: *pg.Pool = undefined;
pub fn Connect(alloc: std.mem.Allocator) !void {
var env = try dotenv.init(alloc, ".env");
@@ -26,3 +26,5 @@ pub fn Connect(alloc: std.mem.Allocator) !void {
pub fn Disconnect() void {
pool.deinit();
}
+
+pub const RangedWeapons = @import("RangedWeaponsAccessLayer.zig");
diff --git a/backend/src/Database/RangedWeaponsAccessLayer.zig b/backend/src/Database/RangedWeaponsAccessLayer.zig
new file mode 100644
index 0000000..a99d1c1
--- /dev/null
+++ b/backend/src/Database/RangedWeaponsAccessLayer.zig
@@ -0,0 +1,20 @@
+// You are not supposed to include this file. To access this you should use
+// Connection.RangedWeapons.
+
+const conn = @import("Connection.zig");
+const std = @import("std");
+const pg = @import("pg");
+const model = @import("../Models/RangedWeapon.zig");
+
+pub fn GetAll(alloc: std.mem.Allocator) !std.ArrayList(model.RangedWeaponType) {
+ const query = "SELECT * FROM RangedWeapons";
+ var result = try conn.pool.query(query, .{});
+ defer _ = result.deinit();
+
+ var outp: std.ArrayList(model.RangedWeaponType) = .empty;
+ while (try result.next()) |row| {
+ const newRW = try model.RangedWeaponType.Map(&row);
+ try outp.append(alloc, newRW);
+ }
+ return outp;
+}