summaryrefslogtreecommitdiff
path: root/backend/src/Database/RangedWeaponsAccessLayer.zig
diff options
context:
space:
mode:
authorphyscik <mynameisgennadiy@vk.com>2026-04-27 15:31:39 +0500
committerphyscik <mynameisgennadiy@vk.com>2026-04-27 15:31:39 +0500
commitb5ce961b3ef30758f77e2487dc9b6ed2dd39de73 (patch)
treed9d892fdd07b462f1b65495d8b9dbdc7f964b797 /backend/src/Database/RangedWeaponsAccessLayer.zig
parentb044c0354c46eadb9f4c66565779e9cb5ce92699 (diff)
Weapon description support
Diffstat (limited to 'backend/src/Database/RangedWeaponsAccessLayer.zig')
-rw-r--r--backend/src/Database/RangedWeaponsAccessLayer.zig26
1 files changed, 26 insertions, 0 deletions
diff --git a/backend/src/Database/RangedWeaponsAccessLayer.zig b/backend/src/Database/RangedWeaponsAccessLayer.zig
index 34c71ea..6857581 100644
--- a/backend/src/Database/RangedWeaponsAccessLayer.zig
+++ b/backend/src/Database/RangedWeaponsAccessLayer.zig
@@ -5,6 +5,7 @@ const conn = @import("Connection.zig");
const std = @import("std");
const pg = @import("pg");
const model = @import("../Models/RangedWeapon.zig");
+const descriptionModel = @import("../Models/Description.zig");
pub fn GetAll(alloc: std.mem.Allocator) !std.ArrayList(model.RangedWeaponType) {
const query = "SELECT * FROM RangedWeapons ORDER BY weapon_type";
@@ -104,3 +105,28 @@ pub fn Delete(displayName: []const u8) !void {
displayName,
});
}
+
+pub fn GetDescription(allocator: std.mem.Allocator, displayName: []const u8, language: []const u8) !descriptionModel.Description {
+ const query = "SELECT * FROM RangedWeaponsDescriptions WHERE id = $1 AND language = $2";
+ var row = try conn.pool.row(query, .{displayName, language}) orelse {
+ return conn.ResultErrors.NotFound;
+ };
+ const outp = try descriptionModel.Description.MapWithAlloc(allocator, &row.row);
+ try row.deinit();
+ return outp;
+}
+
+pub fn SetDescription(Model: descriptionModel.Description) !void {
+ const query =
+ \\ INSERT INTO RangedWeaponsDescriptions (id, language, contents)
+ \\ VALUES ($1, $2, $3)
+ \\ ON CONFLICT (id, language)
+ \\ DO UPDATE SET contents = EXCLUDED.contents
+ ;
+
+ _ = try conn.pool.exec(query, .{
+ Model.Id,
+ Model.Language,
+ Model.Contents,
+ });
+}