@xemahq/biome-database-nest 0.3.3 → 0.4.0
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 +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/nest/prisma-service-factory.d.ts +8 -0
- package/dist/lib/nest/prisma-service-factory.d.ts.map +1 -0
- package/dist/lib/nest/prisma-service-factory.js +47 -0
- package/dist/lib/nest/prisma-service-factory.js.map +1 -0
- package/package.json +6 -5
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ export { createBiomePrismaAdapter, createBiomePrismaAdapterFromEnv, } from './li
|
|
|
4
4
|
export { fetchSystemDatabaseConfig, resolveControlPlaneBaseUrl, ORG_DATABASE_POOL_API_URL_ENV, type SystemDatabaseConfigRequest, } from './lib/control-plane-client';
|
|
5
5
|
export { bootstrapBiomeDatabases, type BiomeDatabaseDeclaration, type BootstrapBiomeDatabasesOptions, } from './lib/bootstrap';
|
|
6
6
|
export { BiomeDatabaseModule, BIOME_DATABASE_READY, type BiomeDatabaseModuleOptions, } from './lib/nest/biome-database.module';
|
|
7
|
+
export { createBiomePrismaService, type BiomePrismaClient, type BiomePrismaClientCtor, } from './lib/nest/prisma-service-factory';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iCAAiC,EACjC,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,EAC7B,KAAK,2BAA2B,GACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,GACpC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,0BAA0B,GAChC,MAAM,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iCAAiC,EACjC,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,EAC7B,KAAK,2BAA2B,GACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,GACpC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,0BAA0B,GAChC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,mCAAmC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BIOME_DATABASE_READY = exports.BiomeDatabaseModule = exports.bootstrapBiomeDatabases = exports.ORG_DATABASE_POOL_API_URL_ENV = exports.resolveControlPlaneBaseUrl = exports.fetchSystemDatabaseConfig = exports.createBiomePrismaAdapterFromEnv = exports.createBiomePrismaAdapter = exports.resolveBiomeDatabaseConfigFromEnv = exports.deriveBiomeSchemaName = exports.DEFAULT_BIOME_DB_KEY = void 0;
|
|
3
|
+
exports.createBiomePrismaService = exports.BIOME_DATABASE_READY = exports.BiomeDatabaseModule = exports.bootstrapBiomeDatabases = exports.ORG_DATABASE_POOL_API_URL_ENV = exports.resolveControlPlaneBaseUrl = exports.fetchSystemDatabaseConfig = exports.createBiomePrismaAdapterFromEnv = exports.createBiomePrismaAdapter = exports.resolveBiomeDatabaseConfigFromEnv = exports.deriveBiomeSchemaName = exports.DEFAULT_BIOME_DB_KEY = void 0;
|
|
4
4
|
var schema_name_1 = require("./lib/schema-name");
|
|
5
5
|
Object.defineProperty(exports, "DEFAULT_BIOME_DB_KEY", { enumerable: true, get: function () { return schema_name_1.DEFAULT_BIOME_DB_KEY; } });
|
|
6
6
|
Object.defineProperty(exports, "deriveBiomeSchemaName", { enumerable: true, get: function () { return schema_name_1.deriveBiomeSchemaName; } });
|
|
@@ -18,4 +18,6 @@ Object.defineProperty(exports, "bootstrapBiomeDatabases", { enumerable: true, ge
|
|
|
18
18
|
var biome_database_module_1 = require("./lib/nest/biome-database.module");
|
|
19
19
|
Object.defineProperty(exports, "BiomeDatabaseModule", { enumerable: true, get: function () { return biome_database_module_1.BiomeDatabaseModule; } });
|
|
20
20
|
Object.defineProperty(exports, "BIOME_DATABASE_READY", { enumerable: true, get: function () { return biome_database_module_1.BIOME_DATABASE_READY; } });
|
|
21
|
+
var prisma_service_factory_1 = require("./lib/nest/prisma-service-factory");
|
|
22
|
+
Object.defineProperty(exports, "createBiomePrismaService", { enumerable: true, get: function () { return prisma_service_factory_1.createBiomePrismaService; } });
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAG2B;AAFzB,mHAAA,oBAAoB,OAAA;AACpB,oHAAA,qBAAqB,OAAA;AAEvB,uCAGsB;AAFpB,2HAAA,iCAAiC,OAAA;AAGnC,yCAGuB;AAFrB,mHAAA,wBAAwB,OAAA;AACxB,0HAAA,+BAA+B,OAAA;AAEjC,mEAKoC;AAJlC,iIAAA,yBAAyB,OAAA;AACzB,kIAAA,0BAA0B,OAAA;AAC1B,qIAAA,6BAA6B,OAAA;AAG/B,6CAIyB;AAHvB,oHAAA,uBAAuB,OAAA;AAIzB,0EAI0C;AAHxC,4HAAA,mBAAmB,OAAA;AACnB,6HAAA,oBAAoB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAG2B;AAFzB,mHAAA,oBAAoB,OAAA;AACpB,oHAAA,qBAAqB,OAAA;AAEvB,uCAGsB;AAFpB,2HAAA,iCAAiC,OAAA;AAGnC,yCAGuB;AAFrB,mHAAA,wBAAwB,OAAA;AACxB,0HAAA,+BAA+B,OAAA;AAEjC,mEAKoC;AAJlC,iIAAA,yBAAyB,OAAA;AACzB,kIAAA,0BAA0B,OAAA;AAC1B,qIAAA,6BAA6B,OAAA;AAG/B,6CAIyB;AAHvB,oHAAA,uBAAuB,OAAA;AAIzB,0EAI0C;AAHxC,4HAAA,mBAAmB,OAAA;AACnB,6HAAA,oBAAoB,OAAA;AAGtB,4EAI2C;AAHzC,kIAAA,wBAAwB,OAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { OnModuleDestroy, OnModuleInit, Type } from '@nestjs/common';
|
|
2
|
+
export type BiomePrismaClientCtor<TClient extends BiomePrismaClient> = new (...args: any[]) => TClient;
|
|
3
|
+
export interface BiomePrismaClient {
|
|
4
|
+
$connect(): Promise<void>;
|
|
5
|
+
$disconnect(): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare function createBiomePrismaService<TClient extends BiomePrismaClient>(PrismaClientCtor: BiomePrismaClientCtor<TClient>, loggerContext?: string): Type<TClient & OnModuleInit & OnModuleDestroy>;
|
|
8
|
+
//# sourceMappingURL=prisma-service-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prisma-service-factory.d.ts","sourceRoot":"","sources":["../../../src/lib/nest/prisma-service-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAe1E,MAAM,MAAM,qBAAqB,CAAC,OAAO,SAAS,iBAAiB,IAAI,KAIrE,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,OAAO,CAAC;AAGb,MAAM,WAAW,iBAAiB;IAChC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAsCD,wBAAgB,wBAAwB,CAAC,OAAO,SAAS,iBAAiB,EACxE,gBAAgB,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAChD,aAAa,SAAkB,GAC9B,IAAI,CAAC,OAAO,GAAG,YAAY,GAAG,eAAe,CAAC,CAsChD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createBiomePrismaService = createBiomePrismaService;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const adapter_1 = require("../adapter");
|
|
15
|
+
function createBiomePrismaService(PrismaClientCtor, loggerContext = 'PrismaService') {
|
|
16
|
+
let BiomePrismaService = class BiomePrismaService extends PrismaClientCtor {
|
|
17
|
+
biomePrismaLogger = new common_1.Logger(loggerContext);
|
|
18
|
+
constructor() {
|
|
19
|
+
super({ adapter: (0, adapter_1.createBiomePrismaAdapterFromEnv)() });
|
|
20
|
+
}
|
|
21
|
+
async onModuleInit() {
|
|
22
|
+
try {
|
|
23
|
+
await this.$connect();
|
|
24
|
+
this.biomePrismaLogger.log('Connected to database');
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
this.biomePrismaLogger.error('Failed to connect to database', error);
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async onModuleDestroy() {
|
|
32
|
+
try {
|
|
33
|
+
await this.$disconnect();
|
|
34
|
+
this.biomePrismaLogger.log('Disconnected from database');
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
this.biomePrismaLogger.error('Error disconnecting from database', error);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
BiomePrismaService = __decorate([
|
|
42
|
+
(0, common_1.Injectable)(),
|
|
43
|
+
__metadata("design:paramtypes", [])
|
|
44
|
+
], BiomePrismaService);
|
|
45
|
+
return BiomePrismaService;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=prisma-service-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prisma-service-factory.js","sourceRoot":"","sources":["../../../src/lib/nest/prisma-service-factory.ts"],"names":[],"mappings":";;;;;;;;;;;AAgEA,4DAyCC;AAxGD,2CAAoD;AAEpD,wCAA6D;AA6D7D,SAAgB,wBAAwB,CACtC,gBAAgD,EAChD,aAAa,GAAG,eAAe;IAE/B,IACM,kBAAkB,GADxB,MACM,kBACJ,SAAS,gBAA6D;QAGrD,iBAAiB,GAAG,IAAI,eAAM,CAAC,aAAa,CAAC,CAAC;QAE/D;YACE,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,yCAA+B,GAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,KAAK,CAAC,YAAY;YAChB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;gBACrE,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,eAAe;YACnB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAC1B,mCAAmC,EACnC,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAA;IA/BK,kBAAkB;QADvB,IAAA,mBAAU,GAAE;;OACP,kBAAkB,CA+BvB;IAED,OAAO,kBAEN,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/biome-database-nest",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Layer 1 SDK that centralizes ALL database concerns for Xema biome services. Provides the single correct construction of a schema-qualified Prisma driver-adapter (the second-arg `{ schema }` that makes `@prisma/adapter-pg` qualify `biome_<id>.<table>` instead of `public.<table>`), the per-biome schema-naming convention, env/control-plane config resolution, and a boot-time bootstrap that creates the schema and runs migrations. Biomes carry zero DB boilerplate.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"@types/jest": "^30.0.0",
|
|
18
18
|
"@types/node": "25.2.3",
|
|
19
19
|
"@types/pg": "^8.16.0",
|
|
20
|
+
"@xemahq/identity-client": "^0.3.5",
|
|
20
21
|
"jest": "^30.3.0",
|
|
21
22
|
"prettier": "3.6.2",
|
|
22
23
|
"ts-jest": "^29.4.9",
|
|
@@ -26,12 +27,12 @@
|
|
|
26
27
|
"@nestjs/common": "^10 || ^11",
|
|
27
28
|
"@nestjs/core": "^10 || ^11",
|
|
28
29
|
"@prisma/adapter-pg": "^7",
|
|
29
|
-
"@prisma/client": "^7"
|
|
30
|
+
"@prisma/client": "^7",
|
|
31
|
+
"@xemahq/identity-client": "^0.3.0"
|
|
30
32
|
},
|
|
31
33
|
"dependencies": {
|
|
32
|
-
"@xemahq/
|
|
33
|
-
"@xemahq/
|
|
34
|
-
"@xemahq/platform-common": "^0.2.0",
|
|
34
|
+
"@xemahq/migration-runner-prisma": "^0.1.2",
|
|
35
|
+
"@xemahq/platform-common": "^0.2.4",
|
|
35
36
|
"pg": "8.16.3"
|
|
36
37
|
},
|
|
37
38
|
"exports": {
|