@turystack/nestjs-database 2.0.0 → 2.2.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/drizzle/schema-builder.drizzle.d.ts.map +1 -1
- package/dist/drizzle/schema-builder.drizzle.js +12 -7
- package/dist/drizzle/schema-builder.drizzle.js.map +1 -1
- package/dist/drizzle/schema-builder.types.drizzle.d.ts +5 -2
- package/dist/drizzle/schema-builder.types.drizzle.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-builder.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/schema-builder.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,aAAa,CAAA;AACzE,OAAO,KAAK,EACX,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"schema-builder.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/schema-builder.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,aAAa,CAAA;AACzE,OAAO,KAAK,EACX,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAEX,SAAS,EACT,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EAEpB,MAAM,2CAA2C,CAAA;AAqBlD,wBAAgB,mBAAmB,IAAI,eAAe,CAMrD;AAiBD,KAAK,aAAa,CAAC,OAAO,SAAS,oBAAoB,IAAI;KACzD,CAAC,IAAI,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GACjE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAC5C,kBAAkB,CAAC;QACnB,IAAI,EAAE,CAAC,CAAA;QACP,MAAM,EAAE,SAAS,CAAA;QACjB,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QACjC,OAAO,EAAE,IAAI,CAAA;KACb,CAAC,GACD,KAAK,GACN,KAAK;CACR,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,oBAAoB,IACjE,aAAa,CAAC,OAAO,CAAC,CAAA;AAEvB,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,oBAAoB,EACrE,cAAc,EAAE,OAAO,GACrB,aAAa,CAAC,OAAO,CAAC,CAAA;AAYzB,MAAM,MAAM,8BAA8B,CACzC,YAAY,SAAS,oBAAoB,EACzC,gBAAgB,SAAS,uBAAuB,GAAG,SAAS,IACzD,gBAAgB,SAAS,uBAAuB,GACjD,iBAAiB,CAAC,YAAY,CAAC,GAAG,gBAAgB,GAClD,iBAAiB,CAAC,YAAY,CAAC,CAAA"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import * as pgCore from 'drizzle-orm/pg-core';
|
|
2
2
|
const tableBuilder = {
|
|
3
|
-
table(columns) {
|
|
4
|
-
return
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
table(columns, constraints) {
|
|
4
|
+
return constraints
|
|
5
|
+
? {
|
|
6
|
+
__columns: columns,
|
|
7
|
+
__constraints: constraints,
|
|
8
|
+
}
|
|
9
|
+
: {
|
|
10
|
+
__columns: columns,
|
|
11
|
+
};
|
|
7
12
|
},
|
|
8
13
|
};
|
|
9
14
|
export function createSchemaBuilder() {
|
|
@@ -13,13 +18,13 @@ export function createSchemaBuilder() {
|
|
|
13
18
|
...pgColumns,
|
|
14
19
|
};
|
|
15
20
|
}
|
|
16
|
-
function createTable(tableName, columns) {
|
|
17
|
-
return pgCore.pgTable(tableName, columns);
|
|
21
|
+
function createTable(tableName, columns, constraints) {
|
|
22
|
+
return pgCore.pgTable(tableName, columns, constraints);
|
|
18
23
|
}
|
|
19
24
|
export function materializeSchema(resolverResult) {
|
|
20
25
|
return Object.fromEntries(Object.entries(resolverResult).map(([tableName, columnMap]) => [
|
|
21
26
|
tableName,
|
|
22
|
-
createTable(tableName, columnMap.__columns),
|
|
27
|
+
createTable(tableName, columnMap.__columns, columnMap.__constraints),
|
|
23
28
|
]));
|
|
24
29
|
}
|
|
25
30
|
//# sourceMappingURL=schema-builder.drizzle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-builder.drizzle.js","sourceRoot":"","sources":["../../src/drizzle/schema-builder.drizzle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"schema-builder.drizzle.js","sourceRoot":"","sources":["../../src/drizzle/schema-builder.drizzle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAW7C,MAAM,YAAY,GAAG;IACpB,KAAK,CACJ,OAAiB,EACjB,WAAwC;QAKxC,OAAO,WAAW;YACjB,CAAC,CAAC;gBACA,SAAS,EAAE,OAAO;gBAClB,aAAa,EAAE,WAAW;aAC1B;YACF,CAAC,CAAC;gBACA,SAAS,EAAE,OAAO;aAClB,CAAA;IACJ,CAAC;CACD,CAAA;AAED,MAAM,UAAU,mBAAmB;IAClC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,MAAM,CAAA;IAClD,OAAO;QACN,GAAG,YAAY;QACf,GAAG,SAAS;KACO,CAAA;AACrB,CAAC;AAED,SAAS,WAAW,CACnB,SAAiB,EACjB,OAAgC,EAChC,WAAiC;IAKjC,OAAO,MAAM,CAAC,OAAO,CACpB,SAAS,EACT,OAAqD,EACrD,WAAoB,CACpB,CAAA;AACF,CAAC;AAqBD,MAAM,UAAU,iBAAiB,CAChC,cAAoC;IAEpC,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;QAC9D,SAAS;QACT,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC;KACpE,CAAC,CACF,CAAA;AACF,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import type { ColumnBuilderBase, Relation, Relations, relations } from 'drizzle-orm';
|
|
1
|
+
import type { BuildExtraConfigColumns, ColumnBuilderBase, Relation, Relations, relations } from 'drizzle-orm';
|
|
2
2
|
import type * as PgCore from 'drizzle-orm/pg-core';
|
|
3
|
+
export type TableConstraints<TColumns extends Record<string, ColumnBuilderBase>> = (columns: BuildExtraConfigColumns<string, TColumns, 'pg'>) => PgCore.PgTableExtraConfigValue[];
|
|
4
|
+
export type AnyTableConstraints = (columns: never) => PgCore.PgTableExtraConfigValue[];
|
|
3
5
|
export type ColumnMap<TColumns extends Record<string, ColumnBuilderBase>> = {
|
|
4
6
|
readonly __columns: TColumns;
|
|
7
|
+
readonly __constraints?: AnyTableConstraints;
|
|
5
8
|
};
|
|
6
9
|
interface SchemaTableBuilder {
|
|
7
|
-
table<TColumns extends Record<string, ColumnBuilderBase>>(columns: TColumns): ColumnMap<TColumns>;
|
|
10
|
+
table<TColumns extends Record<string, ColumnBuilderBase>>(columns: TColumns, constraints?: TableConstraints<TColumns>): ColumnMap<TColumns>;
|
|
8
11
|
}
|
|
9
12
|
export type PgSchemaBuilder = SchemaTableBuilder & Omit<typeof PgCore, 'pgTable'>;
|
|
10
13
|
export type SchemaBuilder = PgSchemaBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-builder.types.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/schema-builder.types.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,KAAK,MAAM,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"schema-builder.types.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/schema-builder.types.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,uBAAuB,EACvB,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,KAAK,MAAM,MAAM,qBAAqB,CAAA;AA2BlD,MAAM,MAAM,gBAAgB,CAC3B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAC/C,CACH,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,KACpD,MAAM,CAAC,uBAAuB,EAAE,CAAA;AAWrC,MAAM,MAAM,mBAAmB,GAAG,CACjC,OAAO,EAAE,KAAK,KACV,MAAM,CAAC,uBAAuB,EAAE,CAAA;AAErC,MAAM,MAAM,SAAS,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI;IAC3E,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAA;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;CAC5C,CAAA;AAED,UAAU,kBAAkB;IAC3B,KAAK,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACvD,OAAO,EAAE,QAAQ,EACjB,WAAW,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GACtC,SAAS,CAAC,QAAQ,CAAC,CAAA;CACtB;AAGD,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAC/C,IAAI,CAAC,OAAO,MAAM,EAAE,SAAS,CAAC,CAAA;AAE/B,MAAM,MAAM,aAAa,GAAG,eAAe,CAAA;AAE3C,MAAM,MAAM,oBAAoB,GAAG,MAAM,CACxC,MAAM,EACN,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAC5C,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC3C,MAAM,EACN,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAC3C,CAAA;AAED,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,OAAO,SAAS,CAAA;CAC3B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,5 +8,8 @@ export type { DatabaseModuleOptions, DatabaseServiceRegistry, InferDatabaseConfi
|
|
|
8
8
|
export { getCurrentTx, onAfterCommit, onBeforeCommit, transactionState, } from './transaction.context.js';
|
|
9
9
|
export type { IsolationLevel } from './transactional.js';
|
|
10
10
|
export { Transactional } from './transactional.js';
|
|
11
|
+
export type { MaterializeSchema } from './drizzle/schema-builder.drizzle.js';
|
|
12
|
+
export type { ColumnMap, PgSchemaBuilder, RelationsHelpers, } from './drizzle/schema-builder.types.drizzle.js';
|
|
13
|
+
export type { DynamoAttribute, DynamoIndexes, DynamoSchemaBuilder, DynamoTableDefinition, DynamoTableMap, } from './dynamodb/schema-builder.types.dynamodb.js';
|
|
11
14
|
export { RecordNotCreatedError, RecordNotFoundError, } from './repository/table-repository.errors.js';
|
|
12
15
|
//# 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":"AAkBA,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EACN,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EACX,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACN,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,GAChB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EACN,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EACX,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACN,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,GAChB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAelD,YAAY,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,YAAY,EACX,SAAS,EACT,eAAe,EACf,gBAAgB,GAChB,MAAM,2CAA2C,CAAA;AAClD,YAAY,EACX,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,GACd,MAAM,6CAA6C,CAAA;AACpD,OAAO,EACN,qBAAqB,EACrB,mBAAmB,GACnB,MAAM,yCAAyC,CAAA"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EACN,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAOvD,OAAO,EACN,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,GAChB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EACN,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,GAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAOvD,OAAO,EACN,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,GAChB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AA4BlD,OAAO,EACN,qBAAqB,EACrB,mBAAmB,GACnB,MAAM,yCAAyC,CAAA"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@turystack/nestjs-database",
|
|
3
3
|
"description": "Typed database module for NestJS: schema builder, per-table repositories, and transactional decorator. PostgreSQL (Drizzle) and DynamoDB adapters.",
|
|
4
4
|
"private": false,
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"sideEffects": false,
|
|
8
8
|
"main": "./dist/index.js",
|