@oktis-works/database 0.14.0 → 0.14.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/connection.d.ts +2 -0
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +12 -0
- package/dist/connection.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/schema/schema.sql +38 -0
- package/package.json +2 -2
package/dist/connection.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export declare function createConnection(config: DatabaseConfig): RepoSql;
|
|
|
15
15
|
export declare function getConnection(): RepoSql;
|
|
16
16
|
/** Conexão de leitura — usa replica se configurada, senão primary (transparente). */
|
|
17
17
|
export declare function getReadConnection(): RepoSql;
|
|
18
|
+
/** Run a callback in a transaction while preserving the request connection context. */
|
|
19
|
+
export declare function runInTransaction<T>(fn: () => Promise<T>): Promise<T>;
|
|
18
20
|
/**
|
|
19
21
|
* Executa uma requisição dentro de uma transação e fixa o tenant com SET LOCAL.
|
|
20
22
|
* Todas as camadas que chamam getConnection() passam a usar a mesma conexão
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAKA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,GAAG;IACnC,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EACrC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,GAAG,EAAE,EAClB,YAAY,CAAC,EAAE,GAAG,GACjB,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAC7B,CAAC;AAOF,iKAAiK;AACjK,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CA+ChE;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOpG;AAED,8EAA8E;AAC9E,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,wBAAgB,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAoB;AAEzE,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAKrD;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAQpD"}
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAKA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,GAAG;IACnC,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EACrC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,GAAG,EAAE,EAClB,YAAY,CAAC,EAAE,GAAG,GACjB,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAC7B,CAAC;AAOF,iKAAiK;AACjK,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CA+ChE;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,uFAAuF;AACvF,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAQ1E;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOpG;AAED,8EAA8E;AAC9E,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED,wBAAgB,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAoB;AAEzE,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAKrD;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAQpD"}
|
package/dist/connection.js
CHANGED
|
@@ -68,6 +68,18 @@ export function getConnection() {
|
|
|
68
68
|
export function getReadConnection() {
|
|
69
69
|
return requestConnection.getStore() ?? _replicaSql ?? getConnection();
|
|
70
70
|
}
|
|
71
|
+
/** Run a callback in a transaction while preserving the request connection context. */
|
|
72
|
+
export async function runInTransaction(fn) {
|
|
73
|
+
if (requestConnection.getStore())
|
|
74
|
+
return fn();
|
|
75
|
+
const sql = getConnection();
|
|
76
|
+
if (typeof sql.begin !== 'function')
|
|
77
|
+
return fn();
|
|
78
|
+
return sql.begin(async (transaction) => {
|
|
79
|
+
const tx = transaction;
|
|
80
|
+
return requestConnection.run(tx, fn);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
71
83
|
/**
|
|
72
84
|
* Executa uma requisição dentro de uma transação e fixa o tenant com SET LOCAL.
|
|
73
85
|
* Todas as camadas que chamam getConnection() passam a usar a mesma conexão
|
package/dist/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createConnection, getConnection, getReadConnection, closeConnection, healthCheck, runWithTenantTransaction, isTenantTransactionActive, } from './connection.js';
|
|
1
|
+
export { createConnection, getConnection, getReadConnection, closeConnection, healthCheck, runInTransaction, runWithTenantTransaction, isTenantTransactionActive, } from './connection.js';
|
|
2
2
|
export { setTenantContext, clearTenantContext, getCurrentTenantId, enableRLS } from './rls/index.js';
|
|
3
3
|
export { loadMigrationsFromDir, getAppliedMigrations, applyMigration, rollbackMigration, runMigrations, runPluginMigrations, rollbackPluginMigrations, type MigrationFile, } from './migrations/runner.js';
|
|
4
4
|
export { ensureCoreSchema, resolveTenantId } from './migrations/bootstrap.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,aAAa,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,aAAa,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @oktis-works/database - Main Entry Point
|
|
2
|
-
export { createConnection, getConnection, getReadConnection, closeConnection, healthCheck, runWithTenantTransaction, isTenantTransactionActive, } from './connection.js';
|
|
2
|
+
export { createConnection, getConnection, getReadConnection, closeConnection, healthCheck, runInTransaction, runWithTenantTransaction, isTenantTransactionActive, } from './connection.js';
|
|
3
3
|
export { setTenantContext, clearTenantContext, getCurrentTenantId, enableRLS } from './rls/index.js';
|
|
4
4
|
export { loadMigrationsFromDir, getAppliedMigrations, applyMigration, rollbackMigration, runMigrations, runPluginMigrations, rollbackPluginMigrations, } from './migrations/runner.js';
|
|
5
5
|
export { ensureCoreSchema, resolveTenantId } from './migrations/bootstrap.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,wBAAwB,GAEzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAE3C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,wBAAwB,GAEzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/schema/schema.sql
CHANGED
|
@@ -353,6 +353,18 @@ CREATE UNIQUE INDEX IF NOT EXISTS idx_themes_single_active
|
|
|
353
353
|
ON themes((COALESCE(tenant_id, '00000000-0000-0000-0000-000000000000'::uuid)))
|
|
354
354
|
WHERE status = 'ACTIVE';
|
|
355
355
|
|
|
356
|
+
CREATE TABLE IF NOT EXISTS theme_config_versions (
|
|
357
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
358
|
+
theme_id UUID NOT NULL REFERENCES themes(id) ON DELETE CASCADE,
|
|
359
|
+
config JSONB NOT NULL,
|
|
360
|
+
user_id UUID REFERENCES users(id) ON DELETE SET NULL,
|
|
361
|
+
change_summary TEXT,
|
|
362
|
+
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
|
|
363
|
+
);
|
|
364
|
+
|
|
365
|
+
CREATE INDEX IF NOT EXISTS idx_theme_config_versions_theme ON theme_config_versions(theme_id);
|
|
366
|
+
CREATE INDEX IF NOT EXISTS idx_theme_config_versions_created ON theme_config_versions(created_at DESC);
|
|
367
|
+
|
|
356
368
|
-- ============================================================
|
|
357
369
|
-- Builds
|
|
358
370
|
-- ============================================================
|
|
@@ -1051,6 +1063,32 @@ BEGIN
|
|
|
1051
1063
|
END IF;
|
|
1052
1064
|
END $$;
|
|
1053
1065
|
|
|
1066
|
+
ALTER TABLE theme_config_versions ENABLE ROW LEVEL SECURITY;
|
|
1067
|
+
ALTER TABLE theme_config_versions FORCE ROW LEVEL SECURITY;
|
|
1068
|
+
DO $$
|
|
1069
|
+
BEGIN
|
|
1070
|
+
IF NOT EXISTS (
|
|
1071
|
+
SELECT 1 FROM pg_policies
|
|
1072
|
+
WHERE policyname = 'tenant_isolation_theme_config_versions' AND tablename = 'theme_config_versions'
|
|
1073
|
+
) THEN
|
|
1074
|
+
CREATE POLICY tenant_isolation_theme_config_versions ON theme_config_versions
|
|
1075
|
+
USING (
|
|
1076
|
+
theme_id IN (
|
|
1077
|
+
SELECT id FROM themes
|
|
1078
|
+
WHERE tenant_id = current_setting('app.current_tenant_id', true)::uuid
|
|
1079
|
+
OR tenant_id IS NULL
|
|
1080
|
+
)
|
|
1081
|
+
)
|
|
1082
|
+
WITH CHECK (
|
|
1083
|
+
theme_id IN (
|
|
1084
|
+
SELECT id FROM themes
|
|
1085
|
+
WHERE tenant_id = current_setting('app.current_tenant_id', true)::uuid
|
|
1086
|
+
OR tenant_id IS NULL
|
|
1087
|
+
)
|
|
1088
|
+
);
|
|
1089
|
+
END IF;
|
|
1090
|
+
END $$;
|
|
1091
|
+
|
|
1054
1092
|
DO $$
|
|
1055
1093
|
BEGIN
|
|
1056
1094
|
IF NOT EXISTS (
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oktis-works/database",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"db:rollback": "node --loader ts-node/esm src/migrations/runner.ts rollback"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@oktis-works/types": "^0.9.
|
|
22
|
+
"@oktis-works/types": "^0.9.1",
|
|
23
23
|
"@oktis-works/config": "^0.6.4",
|
|
24
24
|
"postgres": "3.4.0"
|
|
25
25
|
},
|