@turystack/nestjs-database 2.2.0 → 4.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/client.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D,wBAAsB,mBAAmB,CACxC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAKlB"}
1
+ {"version":3,"file":"client.drizzle.d.ts","sourceRoot":"","sources":["../../src/drizzle/client.drizzle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D,wBAAsB,mBAAmB,CACxC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAalB"}
@@ -1,6 +1,7 @@
1
1
  export async function createDrizzleClient(options, schema) {
2
2
  const { drizzle } = await import('drizzle-orm/node-postgres');
3
3
  return drizzle(options.url, {
4
+ casing: 'snake_case',
4
5
  schema,
5
6
  });
6
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.drizzle.js","sourceRoot":"","sources":["../../src/drizzle/client.drizzle.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,OAAwB,EACxB,MAA+B;IAE/B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAA;IAC7D,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM;KACN,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"client.drizzle.js","sourceRoot":"","sources":["../../src/drizzle/client.drizzle.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,OAAwB,EACxB,MAA+B;IAE/B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAA;IAC7D,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;QAQ3B,MAAM,EAAE,YAAY;QACpB,MAAM;KACN,CAAC,CAAA;AACH,CAAC"}
@@ -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,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
+ {"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;AA8BD,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"}
@@ -18,8 +18,11 @@ export function createSchemaBuilder() {
18
18
  ...pgColumns,
19
19
  };
20
20
  }
21
+ function snakeCase(name) {
22
+ return name.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
23
+ }
21
24
  function createTable(tableName, columns, constraints) {
22
- return pgCore.pgTable(tableName, columns, constraints);
25
+ return pgCore.pgTable(snakeCase(tableName), columns, constraints);
23
26
  }
24
27
  export function materializeSchema(resolverResult) {
25
28
  return Object.fromEntries(Object.entries(resolverResult).map(([tableName, columnMap]) => [
@@ -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;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
+ {"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;AAWD,SAAS,SAAS,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AACtE,CAAC;AAED,SAAS,WAAW,CACnB,SAAiB,EACjB,OAAgC,EAChC,WAAiC;IAKjC,OAAO,MAAM,CAAC,OAAO,CACpB,SAAS,CAAC,SAAS,CAAC,EACpB,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"}
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.2.0",
5
+ "version": "4.0.0",
6
6
  "type": "module",
7
7
  "sideEffects": false,
8
8
  "main": "./dist/index.js",