diff options
Diffstat (limited to 'src/app.zig')
-rw-r--r-- | src/app.zig | 39 |
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"); |