@apiagex/database 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export { MVP_FOUNDATION_SQL, MVP_MIGRATION_ID, MVP_TABLES, } from "./migrations.js";
2
2
  export { getProviderFoundationMigration, migrateProviderFoundation, MYSQL_FOUNDATION_SQL, POSTGRES_FOUNDATION_SQL, providerFoundationSql, } from "./provider-migrations.js";
3
- export { convertPostgresPlaceholders, openPostgresAdapter, PostgresApiagexDatabase, } from "./postgres-adapter.js";
3
+ export { convertPostgresPlaceholders, openPostgresAdapter, PostgresApiagexDatabase, quotePostgresCamelCaseAliases, } from "./postgres-adapter.js";
4
4
  export type { PostgresAdapterOptions } from "./postgres-adapter.js";
5
- export { openMySqlAdapter, MySqlApiagexDatabase, splitMySqlStatements, } from "./mysql-adapter.js";
5
+ export { openMySqlAdapter, MySqlApiagexDatabase, quoteMySqlSchemaTable, splitMySqlStatements, } from "./mysql-adapter.js";
6
6
  export type { MySqlAdapterOptions } from "./mysql-adapter.js";
7
7
  export { listMvpTables, migrateMvpDatabase, openSqliteDatabase, } from "./sqlite.js";
8
8
  export { openMigratedSqliteAdapter, openSqliteAdapter, SqliteApiagexDatabase, wrapSqliteDatabase, } from "./sqlite-adapter.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { MVP_FOUNDATION_SQL, MVP_MIGRATION_ID, MVP_TABLES, } from "./migrations.js";
2
2
  export { getProviderFoundationMigration, migrateProviderFoundation, MYSQL_FOUNDATION_SQL, POSTGRES_FOUNDATION_SQL, providerFoundationSql, } from "./provider-migrations.js";
3
- export { convertPostgresPlaceholders, openPostgresAdapter, PostgresApiagexDatabase, } from "./postgres-adapter.js";
4
- export { openMySqlAdapter, MySqlApiagexDatabase, splitMySqlStatements, } from "./mysql-adapter.js";
3
+ export { convertPostgresPlaceholders, openPostgresAdapter, PostgresApiagexDatabase, quotePostgresCamelCaseAliases, } from "./postgres-adapter.js";
4
+ export { openMySqlAdapter, MySqlApiagexDatabase, quoteMySqlSchemaTable, splitMySqlStatements, } from "./mysql-adapter.js";
5
5
  export { listMvpTables, migrateMvpDatabase, openSqliteDatabase, } from "./sqlite.js";
6
6
  export { openMigratedSqliteAdapter, openSqliteAdapter, SqliteApiagexDatabase, wrapSqliteDatabase, } from "./sqlite-adapter.js";
7
7
  export { createEntry, deleteEntry, getEntryById, listEntries, updateEntry, } from "./entry-repository.js";
@@ -14,4 +14,5 @@ export declare class MySqlApiagexDatabase implements ApiagexDatabase {
14
14
  }
15
15
  export declare function openMySqlAdapter(connectionString: string | undefined, options?: MySqlAdapterOptions): Promise<ApiagexDatabase>;
16
16
  export declare function splitMySqlStatements(sql: string): string[];
17
+ export declare function quoteMySqlSchemaTable(sql: string): string;
17
18
  //# sourceMappingURL=mysql-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mysql-adapter.d.ts","sourceRoot":"","sources":["../src/mysql-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAyC,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG5H,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,oBAAqB,YAAW,eAAe;IAG9C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,QAAQ,CAAC,QAAQ,WAAW;gBAEC,UAAU,EAAE,KAAK,CAAC,UAAU;IAEnD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;IAiBjC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAYxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,wBAAsB,gBAAgB,CACpC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAK1D"}
1
+ {"version":3,"file":"mysql-adapter.d.ts","sourceRoot":"","sources":["../src/mysql-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAyC,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG5H,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,oBAAqB,YAAW,eAAe;IAG9C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,QAAQ,CAAC,QAAQ,WAAW;gBAEC,UAAU,EAAE,KAAK,CAAC,UAAU;IAEnD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;IAkBjC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAYxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,wBAAsB,gBAAgB,CACpC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAK1D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD"}
@@ -8,21 +8,22 @@ export class MySqlApiagexDatabase {
8
8
  }
9
9
  async exec(sql) {
10
10
  for (const statement of splitMySqlStatements(sql)) {
11
- await this.connection.query(statement);
11
+ await this.connection.query(convertMySqlSql(statement));
12
12
  }
13
13
  }
14
14
  prepare(sql) {
15
+ const queryText = convertMySqlSql(sql);
15
16
  return {
16
17
  get: async (...params) => {
17
- const [rows] = await this.connection.query(sql, params);
18
+ const [rows] = await this.connection.query(queryText, params);
18
19
  return (Array.isArray(rows) ? rows[0] : undefined);
19
20
  },
20
21
  all: async (...params) => {
21
- const [rows] = await this.connection.query(sql, params);
22
+ const [rows] = await this.connection.query(queryText, params);
22
23
  return (Array.isArray(rows) ? rows : []);
23
24
  },
24
25
  run: async (...params) => {
25
- const [result] = await this.connection.query(sql, params);
26
+ const [result] = await this.connection.query(queryText, params);
26
27
  return toRunResult(result);
27
28
  },
28
29
  };
@@ -58,6 +59,12 @@ export function splitMySqlStatements(sql) {
58
59
  .map((statement) => statement.trim())
59
60
  .filter(Boolean);
60
61
  }
62
+ export function quoteMySqlSchemaTable(sql) {
63
+ return sql.replace(/\bschemas\b/g, "`schemas`");
64
+ }
65
+ function convertMySqlSql(sql) {
66
+ return quoteMySqlSchemaTable(sql);
67
+ }
61
68
  function toRunResult(result) {
62
69
  return { changes: result.affectedRows };
63
70
  }
@@ -14,4 +14,5 @@ export declare class PostgresApiagexDatabase implements ApiagexDatabase {
14
14
  }
15
15
  export declare function openPostgresAdapter(connectionString: string | undefined, options?: PostgresAdapterOptions): Promise<ApiagexDatabase>;
16
16
  export declare function convertPostgresPlaceholders(sql: string): string;
17
+ export declare function quotePostgresCamelCaseAliases(sql: string): string;
17
18
  //# sourceMappingURL=postgres-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-adapter.d.ts","sourceRoot":"","sources":["../src/postgres-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAyC,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG5H,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,uBAAwB,YAAW,eAAe;IAGjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,QAAQ,CAAC,QAAQ,cAAc;gBAEF,MAAM,EAAE,MAAM;IAErC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;IAkBjC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAYxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,wBAAsB,mBAAmB,CACvC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,eAAe,CAAC,CAO1B;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/D"}
1
+ {"version":3,"file":"postgres-adapter.d.ts","sourceRoot":"","sources":["../src/postgres-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAyC,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG5H,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,uBAAwB,YAAW,eAAe;IAGjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,QAAQ,CAAC,QAAQ,cAAc;gBAEF,MAAM,EAAE,MAAM;IAErC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;IAkBjC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAYxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,wBAAsB,mBAAmB,CACvC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,eAAe,CAAC,CAO1B;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjE"}
@@ -10,7 +10,7 @@ export class PostgresApiagexDatabase {
10
10
  await this.client.query(sql);
11
11
  }
12
12
  prepare(sql) {
13
- const queryText = convertPostgresPlaceholders(sql);
13
+ const queryText = convertPostgresSql(sql);
14
14
  return {
15
15
  get: async (...params) => {
16
16
  const result = await this.client.query(queryText, params);
@@ -56,6 +56,12 @@ export function convertPostgresPlaceholders(sql) {
56
56
  let index = 0;
57
57
  return sql.replaceAll("?", () => `$${++index}`);
58
58
  }
59
+ export function quotePostgresCamelCaseAliases(sql) {
60
+ return sql.replace(/\bas\s+([a-z][A-Za-z0-9]*[A-Z][A-Za-z0-9]*)\b/g, 'as "$1"');
61
+ }
62
+ function convertPostgresSql(sql) {
63
+ return convertPostgresPlaceholders(quotePostgresCamelCaseAliases(sql));
64
+ }
59
65
  function toRunResult(rowCount) {
60
66
  return { changes: rowCount ?? 0 };
61
67
  }
@@ -9,6 +9,6 @@ export type ProviderFoundationMigration = {
9
9
  export declare function getProviderFoundationMigration(provider: DatabaseProvider): ProviderFoundationMigration;
10
10
  export declare function providerFoundationSql(provider: DatabaseProvider): string;
11
11
  export declare function migrateProviderFoundation(db: ApiagexDatabase, provider: DatabaseProvider): Promise<void>;
12
- export declare const POSTGRES_FOUNDATION_SQL = "\nCREATE TABLE IF NOT EXISTS migrations (\n id TEXT PRIMARY KEY,\n applied_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS roles (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL UNIQUE,\n description TEXT NOT NULL DEFAULT '',\n is_owner BOOLEAN NOT NULL DEFAULT FALSE,\n role_kind TEXT NOT NULL DEFAULT 'api',\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS users (\n id TEXT PRIMARY KEY,\n email TEXT NOT NULL UNIQUE,\n password_hash TEXT NOT NULL,\n role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS schemas (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n slug TEXT NOT NULL UNIQUE,\n description TEXT NOT NULL DEFAULT '',\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS fields (\n id TEXT PRIMARY KEY,\n schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,\n name TEXT NOT NULL,\n slug TEXT NOT NULL,\n type TEXT NOT NULL,\n relation_schema_id TEXT REFERENCES schemas(id),\n relation_type TEXT,\n required BOOLEAN NOT NULL DEFAULT FALSE,\n position INTEGER NOT NULL,\n UNIQUE(schema_id, slug)\n);\n\nCREATE TABLE IF NOT EXISTS entries (\n id TEXT PRIMARY KEY,\n schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,\n data_json TEXT NOT NULL,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS permissions (\n id TEXT PRIMARY KEY,\n role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,\n schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,\n action TEXT NOT NULL,\n allowed BOOLEAN NOT NULL DEFAULT FALSE,\n UNIQUE(role_id, schema_id, action)\n);\n\nCREATE TABLE IF NOT EXISTS admin_permissions (\n id TEXT PRIMARY KEY,\n role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,\n action TEXT NOT NULL,\n allowed BOOLEAN NOT NULL DEFAULT FALSE,\n UNIQUE(role_id, action)\n);\n\nCREATE TABLE IF NOT EXISTS api_tokens (\n id TEXT PRIMARY KEY,\n role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,\n name TEXT NOT NULL,\n token_hash TEXT NOT NULL UNIQUE,\n token_prefix TEXT NOT NULL,\n created_at TEXT NOT NULL,\n last_used_at TEXT,\n revoked_at TEXT\n);\n\nCREATE TABLE IF NOT EXISTS webhooks (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n url TEXT NOT NULL,\n secret TEXT NOT NULL,\n events_json TEXT NOT NULL,\n schema_id TEXT REFERENCES schemas(id) ON DELETE SET NULL,\n active BOOLEAN NOT NULL DEFAULT TRUE,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS webhook_events (\n id TEXT PRIMARY KEY,\n event_type TEXT NOT NULL,\n schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,\n schema_slug TEXT NOT NULL,\n entry_id TEXT NOT NULL,\n payload_json TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n attempts INTEGER NOT NULL DEFAULT 0,\n next_retry_at TEXT,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS webhook_deliveries (\n id TEXT PRIMARY KEY,\n event_id TEXT NOT NULL REFERENCES webhook_events(id) ON DELETE CASCADE,\n webhook_id TEXT NOT NULL REFERENCES webhooks(id) ON DELETE CASCADE,\n url TEXT NOT NULL,\n status TEXT NOT NULL,\n status_code INTEGER,\n response_body TEXT,\n error TEXT,\n attempt INTEGER NOT NULL,\n created_at TEXT NOT NULL,\n next_retry_at TEXT\n);\n\nCREATE TABLE IF NOT EXISTS realtime_configs (\n schema_id TEXT PRIMARY KEY REFERENCES schemas(id) ON DELETE CASCADE,\n enabled BOOLEAN NOT NULL DEFAULT FALSE,\n events_json TEXT NOT NULL,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS realtime_events (\n sequence BIGSERIAL PRIMARY KEY,\n id TEXT NOT NULL UNIQUE,\n message_id TEXT NOT NULL UNIQUE,\n event_type TEXT NOT NULL,\n schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,\n schema_slug TEXT NOT NULL,\n entry_id TEXT NOT NULL,\n entry_json TEXT NOT NULL,\n occurred_at TEXT NOT NULL,\n created_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS realtime_sessions (\n id TEXT PRIMARY KEY,\n token_hash TEXT NOT NULL UNIQUE,\n token_prefix TEXT NOT NULL,\n role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,\n schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,\n schema_slug TEXT NOT NULL,\n created_at TEXT NOT NULL,\n expires_at TEXT NOT NULL,\n used_at TEXT\n);\n";
12
+ export declare const POSTGRES_FOUNDATION_SQL = "\nCREATE TABLE IF NOT EXISTS migrations (\n id TEXT PRIMARY KEY,\n applied_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS roles (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL UNIQUE,\n description TEXT NOT NULL DEFAULT '',\n is_owner INTEGER NOT NULL DEFAULT 0,\n role_kind TEXT NOT NULL DEFAULT 'api',\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS users (\n id TEXT PRIMARY KEY,\n email TEXT NOT NULL UNIQUE,\n password_hash TEXT NOT NULL,\n role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS schemas (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n slug TEXT NOT NULL UNIQUE,\n description TEXT NOT NULL DEFAULT '',\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS fields (\n id TEXT PRIMARY KEY,\n schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,\n name TEXT NOT NULL,\n slug TEXT NOT NULL,\n type TEXT NOT NULL,\n relation_schema_id TEXT REFERENCES schemas(id),\n relation_type TEXT,\n required INTEGER NOT NULL DEFAULT 0,\n position INTEGER NOT NULL,\n UNIQUE(schema_id, slug)\n);\n\nCREATE TABLE IF NOT EXISTS entries (\n id TEXT PRIMARY KEY,\n schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,\n data_json TEXT NOT NULL,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS permissions (\n id TEXT PRIMARY KEY,\n role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,\n schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,\n action TEXT NOT NULL,\n allowed INTEGER NOT NULL DEFAULT 0,\n UNIQUE(role_id, schema_id, action)\n);\n\nCREATE TABLE IF NOT EXISTS admin_permissions (\n id TEXT PRIMARY KEY,\n role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,\n action TEXT NOT NULL,\n allowed INTEGER NOT NULL DEFAULT 0,\n UNIQUE(role_id, action)\n);\n\nCREATE TABLE IF NOT EXISTS api_tokens (\n id TEXT PRIMARY KEY,\n role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,\n name TEXT NOT NULL,\n token_hash TEXT NOT NULL UNIQUE,\n token_prefix TEXT NOT NULL,\n created_at TEXT NOT NULL,\n last_used_at TEXT,\n revoked_at TEXT\n);\n\nCREATE TABLE IF NOT EXISTS webhooks (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n url TEXT NOT NULL,\n secret TEXT NOT NULL,\n events_json TEXT NOT NULL,\n schema_id TEXT REFERENCES schemas(id) ON DELETE SET NULL,\n active INTEGER NOT NULL DEFAULT 1,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS webhook_events (\n id TEXT PRIMARY KEY,\n event_type TEXT NOT NULL,\n schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,\n schema_slug TEXT NOT NULL,\n entry_id TEXT NOT NULL,\n payload_json TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n attempts INTEGER NOT NULL DEFAULT 0,\n next_retry_at TEXT,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS webhook_deliveries (\n id TEXT PRIMARY KEY,\n event_id TEXT NOT NULL REFERENCES webhook_events(id) ON DELETE CASCADE,\n webhook_id TEXT NOT NULL REFERENCES webhooks(id) ON DELETE CASCADE,\n url TEXT NOT NULL,\n status TEXT NOT NULL,\n status_code INTEGER,\n response_body TEXT,\n error TEXT,\n attempt INTEGER NOT NULL,\n created_at TEXT NOT NULL,\n next_retry_at TEXT\n);\n\nCREATE TABLE IF NOT EXISTS realtime_configs (\n schema_id TEXT PRIMARY KEY REFERENCES schemas(id) ON DELETE CASCADE,\n enabled INTEGER NOT NULL DEFAULT 0,\n events_json TEXT NOT NULL,\n created_at TEXT NOT NULL,\n updated_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS realtime_events (\n sequence BIGSERIAL PRIMARY KEY,\n id TEXT NOT NULL UNIQUE,\n message_id TEXT NOT NULL UNIQUE,\n event_type TEXT NOT NULL,\n schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,\n schema_slug TEXT NOT NULL,\n entry_id TEXT NOT NULL,\n entry_json TEXT NOT NULL,\n occurred_at TEXT NOT NULL,\n created_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS realtime_sessions (\n id TEXT PRIMARY KEY,\n token_hash TEXT NOT NULL UNIQUE,\n token_prefix TEXT NOT NULL,\n role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,\n schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,\n schema_slug TEXT NOT NULL,\n created_at TEXT NOT NULL,\n expires_at TEXT NOT NULL,\n used_at TEXT\n);\n";
13
13
  export declare const MYSQL_FOUNDATION_SQL = "\nCREATE TABLE IF NOT EXISTS migrations (id VARCHAR(191) PRIMARY KEY, applied_at TEXT NOT NULL) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS roles (id VARCHAR(191) PRIMARY KEY, name VARCHAR(191) NOT NULL UNIQUE, description LONGTEXT NOT NULL, is_owner TINYINT(1) NOT NULL DEFAULT 0, role_kind VARCHAR(32) NOT NULL DEFAULT 'api', created_at TEXT NOT NULL, updated_at TEXT NOT NULL) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS users (id VARCHAR(191) PRIMARY KEY, email VARCHAR(191) NOT NULL UNIQUE, password_hash VARCHAR(191) NOT NULL, role_id VARCHAR(191) NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, CONSTRAINT fk_users_role FOREIGN KEY (role_id) REFERENCES roles(id) ON DELETE CASCADE) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS schemas (id VARCHAR(191) PRIMARY KEY, name VARCHAR(191) NOT NULL, slug VARCHAR(191) NOT NULL UNIQUE, description LONGTEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS fields (id VARCHAR(191) PRIMARY KEY, schema_id VARCHAR(191) NOT NULL, name VARCHAR(191) NOT NULL, slug VARCHAR(191) NOT NULL, type VARCHAR(64) NOT NULL, relation_schema_id VARCHAR(191), relation_type VARCHAR(64), required TINYINT(1) NOT NULL DEFAULT 0, position INTEGER NOT NULL, UNIQUE(schema_id, slug), CONSTRAINT fk_fields_schema FOREIGN KEY (schema_id) REFERENCES schemas(id) ON DELETE CASCADE, CONSTRAINT fk_fields_relation_schema FOREIGN KEY (relation_schema_id) REFERENCES schemas(id)) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS entries (id VARCHAR(191) PRIMARY KEY, schema_id VARCHAR(191) NOT NULL, data_json LONGTEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, CONSTRAINT fk_entries_schema FOREIGN KEY (schema_id) REFERENCES schemas(id) ON DELETE CASCADE) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS permissions (id VARCHAR(191) PRIMARY KEY, role_id VARCHAR(191) NOT NULL, schema_id VARCHAR(191) NOT NULL, action VARCHAR(64) NOT NULL, allowed TINYINT(1) NOT NULL DEFAULT 0, UNIQUE(role_id, schema_id, action), CONSTRAINT fk_permissions_role FOREIGN KEY (role_id) REFERENCES roles(id) ON DELETE CASCADE, CONSTRAINT fk_permissions_schema FOREIGN KEY (schema_id) REFERENCES schemas(id) ON DELETE CASCADE) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS admin_permissions (id VARCHAR(191) PRIMARY KEY, role_id VARCHAR(191) NOT NULL, action VARCHAR(64) NOT NULL, allowed TINYINT(1) NOT NULL DEFAULT 0, UNIQUE(role_id, action), CONSTRAINT fk_admin_permissions_role FOREIGN KEY (role_id) REFERENCES roles(id) ON DELETE CASCADE) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS api_tokens (id VARCHAR(191) PRIMARY KEY, role_id VARCHAR(191) NOT NULL, name VARCHAR(191) NOT NULL, token_hash VARCHAR(191) NOT NULL UNIQUE, token_prefix VARCHAR(32) NOT NULL, created_at TEXT NOT NULL, last_used_at TEXT, revoked_at TEXT, CONSTRAINT fk_api_tokens_role FOREIGN KEY (role_id) REFERENCES roles(id) ON DELETE CASCADE) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS webhooks (id VARCHAR(191) PRIMARY KEY, name VARCHAR(191) NOT NULL, url TEXT NOT NULL, secret VARCHAR(191) NOT NULL, events_json LONGTEXT NOT NULL, schema_id VARCHAR(191), active TINYINT(1) NOT NULL DEFAULT 1, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, CONSTRAINT fk_webhooks_schema FOREIGN KEY (schema_id) REFERENCES schemas(id) ON DELETE SET NULL) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS webhook_events (id VARCHAR(191) PRIMARY KEY, event_type VARCHAR(64) NOT NULL, schema_id VARCHAR(191) NOT NULL, schema_slug VARCHAR(191) NOT NULL, entry_id VARCHAR(191) NOT NULL, payload_json LONGTEXT NOT NULL, status VARCHAR(64) NOT NULL DEFAULT 'pending', attempts INTEGER NOT NULL DEFAULT 0, next_retry_at TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, CONSTRAINT fk_webhook_events_schema FOREIGN KEY (schema_id) REFERENCES schemas(id) ON DELETE CASCADE) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS webhook_deliveries (id VARCHAR(191) PRIMARY KEY, event_id VARCHAR(191) NOT NULL, webhook_id VARCHAR(191) NOT NULL, url TEXT NOT NULL, status VARCHAR(64) NOT NULL, status_code INTEGER, response_body LONGTEXT, error LONGTEXT, attempt INTEGER NOT NULL, created_at TEXT NOT NULL, next_retry_at TEXT, CONSTRAINT fk_webhook_deliveries_event FOREIGN KEY (event_id) REFERENCES webhook_events(id) ON DELETE CASCADE, CONSTRAINT fk_webhook_deliveries_webhook FOREIGN KEY (webhook_id) REFERENCES webhooks(id) ON DELETE CASCADE) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS realtime_configs (schema_id VARCHAR(191) PRIMARY KEY, enabled TINYINT(1) NOT NULL DEFAULT 0, events_json LONGTEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL, CONSTRAINT fk_realtime_configs_schema FOREIGN KEY (schema_id) REFERENCES schemas(id) ON DELETE CASCADE) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS realtime_events (sequence BIGINT AUTO_INCREMENT PRIMARY KEY, id VARCHAR(191) NOT NULL UNIQUE, message_id VARCHAR(191) NOT NULL UNIQUE, event_type VARCHAR(64) NOT NULL, schema_id VARCHAR(191) NOT NULL, schema_slug VARCHAR(191) NOT NULL, entry_id VARCHAR(191) NOT NULL, entry_json LONGTEXT NOT NULL, occurred_at TEXT NOT NULL, created_at TEXT NOT NULL, CONSTRAINT fk_realtime_events_schema FOREIGN KEY (schema_id) REFERENCES schemas(id) ON DELETE CASCADE) ENGINE=InnoDB;\nCREATE TABLE IF NOT EXISTS realtime_sessions (id VARCHAR(191) PRIMARY KEY, token_hash VARCHAR(191) NOT NULL UNIQUE, token_prefix VARCHAR(32) NOT NULL, role_id VARCHAR(191) NOT NULL, schema_id VARCHAR(191) NOT NULL, schema_slug VARCHAR(191) NOT NULL, created_at TEXT NOT NULL, expires_at TEXT NOT NULL, used_at TEXT, CONSTRAINT fk_realtime_sessions_role FOREIGN KEY (role_id) REFERENCES roles(id) ON DELETE CASCADE, CONSTRAINT fk_realtime_sessions_schema FOREIGN KEY (schema_id) REFERENCES schemas(id) ON DELETE CASCADE) ENGINE=InnoDB;\n";
14
14
  //# sourceMappingURL=provider-migrations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-migrations.d.ts","sourceRoot":"","sources":["../src/provider-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;CACjC,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,2BAA2B,CAMtG;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAIxE;AAED,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,eAAe,EACnB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,eAAO,MAAM,uBAAuB,m5IA2JnC,CAAC;AAEF,eAAO,MAAM,oBAAoB,smLAgBhC,CAAC"}
1
+ {"version":3,"file":"provider-migrations.d.ts","sourceRoot":"","sources":["../src/provider-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;CACjC,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,2BAA2B,CAMtG;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAIxE;AAED,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,eAAe,EACnB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,eAAO,MAAM,uBAAuB,43IA2JnC,CAAC;AAEF,eAAO,MAAM,oBAAoB,smLAgBhC,CAAC"}
@@ -33,7 +33,7 @@ CREATE TABLE IF NOT EXISTS roles (
33
33
  id TEXT PRIMARY KEY,
34
34
  name TEXT NOT NULL UNIQUE,
35
35
  description TEXT NOT NULL DEFAULT '',
36
- is_owner BOOLEAN NOT NULL DEFAULT FALSE,
36
+ is_owner INTEGER NOT NULL DEFAULT 0,
37
37
  role_kind TEXT NOT NULL DEFAULT 'api',
38
38
  created_at TEXT NOT NULL,
39
39
  updated_at TEXT NOT NULL
@@ -65,7 +65,7 @@ CREATE TABLE IF NOT EXISTS fields (
65
65
  type TEXT NOT NULL,
66
66
  relation_schema_id TEXT REFERENCES schemas(id),
67
67
  relation_type TEXT,
68
- required BOOLEAN NOT NULL DEFAULT FALSE,
68
+ required INTEGER NOT NULL DEFAULT 0,
69
69
  position INTEGER NOT NULL,
70
70
  UNIQUE(schema_id, slug)
71
71
  );
@@ -83,7 +83,7 @@ CREATE TABLE IF NOT EXISTS permissions (
83
83
  role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,
84
84
  schema_id TEXT NOT NULL REFERENCES schemas(id) ON DELETE CASCADE,
85
85
  action TEXT NOT NULL,
86
- allowed BOOLEAN NOT NULL DEFAULT FALSE,
86
+ allowed INTEGER NOT NULL DEFAULT 0,
87
87
  UNIQUE(role_id, schema_id, action)
88
88
  );
89
89
 
@@ -91,7 +91,7 @@ CREATE TABLE IF NOT EXISTS admin_permissions (
91
91
  id TEXT PRIMARY KEY,
92
92
  role_id TEXT NOT NULL REFERENCES roles(id) ON DELETE CASCADE,
93
93
  action TEXT NOT NULL,
94
- allowed BOOLEAN NOT NULL DEFAULT FALSE,
94
+ allowed INTEGER NOT NULL DEFAULT 0,
95
95
  UNIQUE(role_id, action)
96
96
  );
97
97
 
@@ -113,7 +113,7 @@ CREATE TABLE IF NOT EXISTS webhooks (
113
113
  secret TEXT NOT NULL,
114
114
  events_json TEXT NOT NULL,
115
115
  schema_id TEXT REFERENCES schemas(id) ON DELETE SET NULL,
116
- active BOOLEAN NOT NULL DEFAULT TRUE,
116
+ active INTEGER NOT NULL DEFAULT 1,
117
117
  created_at TEXT NOT NULL,
118
118
  updated_at TEXT NOT NULL
119
119
  );
@@ -148,7 +148,7 @@ CREATE TABLE IF NOT EXISTS webhook_deliveries (
148
148
 
149
149
  CREATE TABLE IF NOT EXISTS realtime_configs (
150
150
  schema_id TEXT PRIMARY KEY REFERENCES schemas(id) ON DELETE CASCADE,
151
- enabled BOOLEAN NOT NULL DEFAULT FALSE,
151
+ enabled INTEGER NOT NULL DEFAULT 0,
152
152
  events_json TEXT NOT NULL,
153
153
  created_at TEXT NOT NULL,
154
154
  updated_at TEXT NOT NULL
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apiagex/database",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "Kysely database adapter package for Apiagex CMS.",
5
5
  "type": "module",
6
6
  "license": "MIT",