summaryrefslogtreecommitdiff
path: root/backend/src/Database/Connection.zig
blob: 623165ff2c02ae52fe406dd97f285e350d3ca722 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const std = @import("std");
const pg = @import("pg");
const dotenv = @import("dotenv");

pub const ResultErrors = error {
    NotFound,
};

pub var pool: *pg.Pool = undefined;

pub fn Connect(alloc: std.mem.Allocator) !void {
    var env = try dotenv.init(alloc, ".env");
    defer env.deinit();

    pool = try pg.Pool.init(alloc, .{
        .size = 5,
        .connect = .{
            .port = 5432,
            .host = "localhost"
        },
        .auth = .{
            .database = "cyber2020",
            .username = env.get("PG_USERNAME") orelse unreachable,
            .password = env.get("PG_PASSWORD") orelse unreachable,
            .timeout = 10_000
        }
    });
}

pub fn Disconnect() void {
    pool.deinit();
}

pub const RangedWeapons = @import("RangedWeaponsAccessLayer.zig");