aboutsummaryrefslogtreecommitdiffstats
path: root/src/app.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/app.zig')
-rw-r--r--src/app.zig39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/app.zig b/src/app.zig
new file mode 100644
index 0000000..f6cc157
--- /dev/null
+++ b/src/app.zig
@@ -0,0 +1,39 @@
+pub const App = struct {
+ allocator: std.mem.Allocator,
+
+ pool: *pg.Pool,
+
+ // templates: []mustache.Template,
+
+ pub fn init(allocator: std.mem.Allocator) !App {
+ var env_map = try std.process.getEnvMap(allocator);
+ defer env_map.deinit();
+
+ const pool = try pg.Pool.init(allocator, .{
+ .size = 5,
+ .connect = .{
+ // .port = 5432,
+ .unix_socket = env_map.get("PGSQL_SOCKET") orelse "/tmp/pg1/.s.PGSQL.5432",
+ },
+ .auth = .{
+ .username = "teamdraft_website",
+ .database = "teamdraft",
+ .password = env_map.get("PGSQL_PASSWORD") orelse "teamdraft",
+ .timeout = 10_000,
+ },
+ });
+
+ return .{
+ .allocator = allocator,
+ .pool = pool,
+ };
+ }
+
+ pub fn deinit(self: *App) void {
+ self.pool.deinit();
+ }
+};
+
+const mustache = @import("mustache");
+const pg = @import("pg");
+const std = @import("std");