1import * as Effect from "effect/Effect";
2import * as SqlClient from "effect/sql/SqlClient";
3
4export default Effect.gen(function* () {
5 const sql = yield* SqlClient.SqlClient;
6 yield* sql`CREATE TABLE hub_inbox (
7 environment_id TEXT PRIMARY KEY,
8 snapshot_json TEXT NOT NULL
9 )`;
10 yield* sql`CREATE TABLE hub_inbox_pending (
11 environment_id TEXT NOT NULL,
12 thread_id TEXT NOT NULL,
13 command_id TEXT NOT NULL,
14 organization_json TEXT NOT NULL,
15 source_activity_json TEXT NOT NULL,
16 PRIMARY KEY(environment_id, thread_id)
17 )`;
18 yield* sql`CREATE TABLE hub_inbox_commands (
19 environment_id TEXT NOT NULL,
20 command_id TEXT NOT NULL,
21 PRIMARY KEY(environment_id, command_id)
22 )`;
23});