@venizia/ignis 0.0.9-10 → 0.0.9-11

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.
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Custom timestamp type that ensures ISO 8601 string format in both directions.
3
+ *
4
+ * PROBLEM: Drizzle's built-in timestamp types have incompatible behaviors:
5
+ * - mode: 'date' → Type-safe but FE must send Date objects (not JSON-friendly)
6
+ * - mode: 'string' → Accepts strings but returns PostgreSQL format "YYYY-MM-DD HH:mm:ss+TZ" instead of ISO 8601
7
+ *
8
+ * SOLUTION: This custom type accepts ISO strings from FE and converts PostgreSQL
9
+ * timestamps back to ISO 8601 format (e.g., "2026-02-11T04:15:55.533Z") for consistency
10
+ * across API boundaries.
11
+ */
12
+ export declare const isoTimestamp: (name: string, config?: {
13
+ withTimezone?: boolean;
14
+ }) => import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
15
+ name: string;
16
+ dataType: "custom";
17
+ columnType: "PgCustomColumn";
18
+ data: string;
19
+ driverParam: string;
20
+ enumValues: undefined;
21
+ }>;
22
+ //# sourceMappingURL=columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../src/base/models/common/columns.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,SAAS;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;EA8B7E,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isoTimestamp = void 0;
4
+ const ignis_helpers_1 = require("@venizia/ignis-helpers");
5
+ const pg_core_1 = require("drizzle-orm/pg-core");
6
+ // --------------------------------------------------------------------------------
7
+ /**
8
+ * Custom timestamp type that ensures ISO 8601 string format in both directions.
9
+ *
10
+ * PROBLEM: Drizzle's built-in timestamp types have incompatible behaviors:
11
+ * - mode: 'date' → Type-safe but FE must send Date objects (not JSON-friendly)
12
+ * - mode: 'string' → Accepts strings but returns PostgreSQL format "YYYY-MM-DD HH:mm:ss+TZ" instead of ISO 8601
13
+ *
14
+ * SOLUTION: This custom type accepts ISO strings from FE and converts PostgreSQL
15
+ * timestamps back to ISO 8601 format (e.g., "2026-02-11T04:15:55.533Z") for consistency
16
+ * across API boundaries.
17
+ */
18
+ const isoTimestamp = (name, config) => {
19
+ return (0, pg_core_1.customType)({
20
+ dataType() {
21
+ const tz = config?.withTimezone ? ' with time zone' : '';
22
+ return `timestamp${tz}`;
23
+ },
24
+ toDriver(value) {
25
+ if (value instanceof Date) {
26
+ return value.toISOString();
27
+ }
28
+ return value;
29
+ },
30
+ fromDriver(value) {
31
+ const date = new Date(value);
32
+ if (isNaN(date.getTime())) {
33
+ throw (0, ignis_helpers_1.getError)({
34
+ message: `Invalid date string: ${value}`,
35
+ statusCode: ignis_helpers_1.HTTP.ResultCodes.RS_5.InternalServerError,
36
+ });
37
+ }
38
+ return date.toISOString();
39
+ },
40
+ })(name);
41
+ };
42
+ exports.isoTimestamp = isoTimestamp;
43
+ //# sourceMappingURL=columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../../src/base/models/common/columns.ts"],"names":[],"mappings":";;;AAAA,0DAAwD;AACxD,iDAAiD;AACjD,mFAAmF;AACnF;;;;;;;;;;GAUG;AACI,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAmC,EAAE,EAAE;IAChF,OAAO,IAAA,oBAAU,EAId;QACD,QAAQ;YACN,MAAM,EAAE,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,YAAY,EAAE,EAAE,CAAC;QAC1B,CAAC;QACD,QAAQ,CAAC,KAAoB;YAC3B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;YAC7B,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QACD,UAAU,CAAC,KAAa;YACtB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAE7B,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAA,wBAAQ,EAAC;oBACb,OAAO,EAAE,wBAAwB,KAAK,EAAE;oBACxC,UAAU,EAAE,oBAAI,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB;iBACtD,CAAC,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,CAAC;KACF,CAAC,CAAC,IAAI,CAAC,CAAC;AACX,CAAC,CAAC;AA9BW,QAAA,YAAY,gBA8BvB"}
@@ -1,3 +1,4 @@
1
+ export * from './columns';
1
2
  export * from './constants';
2
3
  export * from './types';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/models/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/models/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./columns"), exports);
17
18
  __exportStar(require("./constants"), exports);
18
19
  __exportStar(require("./types"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/models/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/models/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,8CAA4B;AAC5B,0CAAwB"}
@@ -1,6 +1,7 @@
1
1
  import { HasDefault, NotNull } from 'drizzle-orm';
2
- import { PgTimestampBuilderInitial } from 'drizzle-orm/pg-core';
3
2
  import { TColumnDefinitions } from '../common/types';
3
+ import { isoTimestamp } from '../common/columns';
4
+ type TIsoTimestampColumn = ReturnType<typeof isoTimestamp>;
4
5
  export type TTzEnricherOptions = {
5
6
  created?: {
6
7
  columnName: string;
@@ -27,21 +28,21 @@ type TIsEnabled<T> = T extends {
27
28
  enable?: true;
28
29
  } ? true : undefined;
29
30
  export type TTzEnricherResult<Opts extends TTzEnricherOptions | undefined = undefined> = {
30
- createdAt: NotNull<HasDefault<PgTimestampBuilderInitial<string>>>;
31
+ createdAt: NotNull<HasDefault<TIsoTimestampColumn>>;
31
32
  } & (Opts extends TTzEnricherOptions ? TIsEnabled<Opts['modified']> extends true ? {
32
- modifiedAt: NotNull<HasDefault<PgTimestampBuilderInitial<string>>>;
33
+ modifiedAt: NotNull<HasDefault<TIsoTimestampColumn>>;
33
34
  } : TIsEnabled<Opts['modified']> extends false ? {} : {
34
- modifiedAt: NotNull<HasDefault<PgTimestampBuilderInitial<string>>>;
35
+ modifiedAt: NotNull<HasDefault<TIsoTimestampColumn>>;
35
36
  } : {
36
- modifiedAt: NotNull<HasDefault<PgTimestampBuilderInitial<string>>>;
37
+ modifiedAt: NotNull<HasDefault<TIsoTimestampColumn>>;
37
38
  }) & // default when opts is undefined
38
39
  (Opts extends TTzEnricherOptions ? TIsEnabled<Opts['deleted']> extends true ? {
39
- deletedAt: PgTimestampBuilderInitial<string>;
40
+ deletedAt: TIsoTimestampColumn;
40
41
  } : {} : {});
41
42
  export declare const generateTzColumnDefs: <Opts extends TTzEnricherOptions | undefined>(opts?: Opts) => TTzEnricherResult<Opts>;
42
43
  export declare const enrichTz: (baseSchema: TColumnDefinitions, opts?: TTzEnricherOptions) => {
43
- createdAt: NotNull<HasDefault<PgTimestampBuilderInitial<string>>>;
44
- modifiedAt: NotNull<HasDefault<PgTimestampBuilderInitial<string>>>;
44
+ createdAt: NotNull<HasDefault<TIsoTimestampColumn>>;
45
+ modifiedAt: NotNull<HasDefault<TIsoTimestampColumn>>;
45
46
  };
46
47
  export {};
47
48
  //# sourceMappingURL=tz.enricher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tz.enricher.d.ts","sourceRoot":"","sources":["../../../../src/base/models/enrichers/tz.enricher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAa,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IACxD,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5F,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;CAC5F,CAAC;AAEF,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GAC5C,KAAK,GACL,CAAC,SAAS;IAAE,MAAM,CAAC,EAAE,IAAI,CAAA;CAAE,GACzB,IAAI,GACJ,SAAS,CAAC;AAEhB,MAAM,MAAM,iBAAiB,CAAC,IAAI,SAAS,kBAAkB,GAAG,SAAS,GAAG,SAAS,IAAI;IACvF,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CACnE,GAAG,CAAC,IAAI,SAAS,kBAAkB,GAChC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,IAAI,GACvC;IAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAAE,GACtE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,KAAK,GACxC,EAAE,GACF;IAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAAE,GAC1E;IAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,GAAG,iCAAiC;AAC7G,CAAC,IAAI,SAAS,kBAAkB,GAC5B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,IAAI,GACtC;IAAE,SAAS,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;CAAE,GAChD,EAAE,GACJ,EAAE,CAAC,CAAC;AAEV,eAAO,MAAM,oBAAoB,GAAI,IAAI,SAAS,kBAAkB,GAAG,SAAS,EAC9E,OAAO,IAAI,KACV,iBAAiB,CAAC,IAAI,CAwCxB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,YAAY,kBAAkB,EAAE,OAAO,kBAAkB;eA1DrE,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAM7C,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;CAuD3E,CAAC"}
1
+ {"version":3,"file":"tz.enricher.d.ts","sourceRoot":"","sources":["../../../../src/base/models/enrichers/tz.enricher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAE3D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IACxD,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5F,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,MAAM,CAAC,EAAE,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;CAC5F,CAAC;AAEF,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GAC5C,KAAK,GACL,CAAC,SAAS;IAAE,MAAM,CAAC,EAAE,IAAI,CAAA;CAAE,GACzB,IAAI,GACJ,SAAS,CAAC;AAEhB,MAAM,MAAM,iBAAiB,CAAC,IAAI,SAAS,kBAAkB,GAAG,SAAS,GAAG,SAAS,IAAI;IACvF,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;CACrD,GAAG,CAAC,IAAI,SAAS,kBAAkB,GAChC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,IAAI,GACvC;IAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAA;CAAE,GACxD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,KAAK,GACxC,EAAE,GACF;IAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAA;CAAE,GAC5D;IAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAA;CAAE,CAAC,GAAG,iCAAiC;AAC/F,CAAC,IAAI,SAAS,kBAAkB,GAC5B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,IAAI,GACtC;IAAE,SAAS,EAAE,mBAAmB,CAAA;CAAE,GAClC,EAAE,GACJ,EAAE,CAAC,CAAC;AAEV,eAAO,MAAM,oBAAoB,GAAI,IAAI,SAAS,kBAAkB,GAAG,SAAS,EAC9E,OAAO,IAAI,KACV,iBAAiB,CAAC,IAAI,CAqCxB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,YAAY,kBAAkB,EAAE,OAAO,kBAAkB;eAvDrE,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;gBAM/B,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;CAoD7D,CAAC"}
@@ -1,34 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.enrichTz = exports.generateTzColumnDefs = void 0;
4
- const pg_core_1 = require("drizzle-orm/pg-core");
4
+ const columns_1 = require("../common/columns");
5
5
  const generateTzColumnDefs = (opts) => {
6
6
  const { created = { columnName: 'created_at', withTimezone: true }, modified = { enable: true, columnName: 'modified_at', withTimezone: true }, deleted = { enable: false }, } = opts ?? {};
7
7
  let rs = {
8
- createdAt: (0, pg_core_1.timestamp)(created.columnName, {
9
- mode: 'date',
8
+ createdAt: (0, columns_1.isoTimestamp)(created.columnName, {
10
9
  withTimezone: created.withTimezone,
11
10
  })
12
- .defaultNow()
11
+ .default(new Date().toISOString())
13
12
  .notNull(),
14
13
  };
15
14
  if (modified.enable) {
16
15
  rs = {
17
16
  ...rs,
18
- modifiedAt: (0, pg_core_1.timestamp)(modified.columnName, {
19
- mode: 'date',
17
+ modifiedAt: (0, columns_1.isoTimestamp)(modified.columnName, {
20
18
  withTimezone: modified.withTimezone,
21
19
  })
22
- .defaultNow()
20
+ .default(new Date().toISOString())
23
21
  .notNull()
24
- .$onUpdate(() => new Date()),
22
+ .$onUpdate(() => new Date().toISOString()),
25
23
  };
26
24
  }
27
25
  if (deleted.enable) {
28
26
  rs = {
29
27
  ...rs,
30
- deletedAt: (0, pg_core_1.timestamp)(deleted.columnName, {
31
- mode: 'date',
28
+ deletedAt: (0, columns_1.isoTimestamp)(deleted.columnName, {
32
29
  withTimezone: deleted.withTimezone,
33
30
  }),
34
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tz.enricher.js","sourceRoot":"","sources":["../../../../src/base/models/enrichers/tz.enricher.ts"],"names":[],"mappings":";;;AACA,iDAA2E;AA8BpE,MAAM,oBAAoB,GAAG,CAClC,IAAW,EACc,EAAE;IAC3B,MAAM,EACJ,OAAO,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,EAC1D,QAAQ,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,EAC1E,OAAO,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAC5B,GAAG,IAAI,IAAI,EAAE,CAAC;IAEf,IAAI,EAAE,GAAG;QACP,SAAS,EAAE,IAAA,mBAAS,EAAC,OAAO,CAAC,UAAU,EAAE;YACvC,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC;aACC,UAAU,EAAE;aACZ,OAAO,EAAE;KACc,CAAC;IAE7B,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,EAAE,GAAG;YACH,GAAG,EAAE;YACL,UAAU,EAAE,IAAA,mBAAS,EAAC,QAAQ,CAAC,UAAU,EAAE;gBACzC,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,QAAQ,CAAC,YAAY;aACpC,CAAC;iBACC,UAAU,EAAE;iBACZ,OAAO,EAAE;iBACT,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;SACJ,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,EAAE,GAAG;YACH,GAAG,EAAE;YACL,SAAS,EAAE,IAAA,mBAAS,EAAC,OAAO,CAAC,UAAU,EAAE;gBACvC,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC,CAAC;SACwB,CAAC;IAC/B,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AA1CW,QAAA,oBAAoB,wBA0C/B;AAEK,MAAM,QAAQ,GAAG,CAAC,UAA8B,EAAE,IAAyB,EAAE,EAAE;IACpF,MAAM,IAAI,GAAG,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC;IACxC,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC;AACpC,CAAC,CAAC;AAHW,QAAA,QAAQ,YAGnB"}
1
+ {"version":3,"file":"tz.enricher.js","sourceRoot":"","sources":["../../../../src/base/models/enrichers/tz.enricher.ts"],"names":[],"mappings":";;;AAEA,+CAAiD;AA+B1C,MAAM,oBAAoB,GAAG,CAClC,IAAW,EACc,EAAE;IAC3B,MAAM,EACJ,OAAO,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,EAC1D,QAAQ,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,EAC1E,OAAO,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAC5B,GAAG,IAAI,IAAI,EAAE,CAAC;IAEf,IAAI,EAAE,GAAG;QACP,SAAS,EAAE,IAAA,sBAAY,EAAC,OAAO,CAAC,UAAU,EAAE;YAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC;aACC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aACjC,OAAO,EAAE;KACc,CAAC;IAE7B,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,EAAE,GAAG;YACH,GAAG,EAAE;YACL,UAAU,EAAE,IAAA,sBAAY,EAAC,QAAQ,CAAC,UAAU,EAAE;gBAC5C,YAAY,EAAE,QAAQ,CAAC,YAAY;aACpC,CAAC;iBACC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;iBACjC,OAAO,EAAE;iBACT,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAClB,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,EAAE,GAAG;YACH,GAAG,EAAE;YACL,SAAS,EAAE,IAAA,sBAAY,EAAC,OAAO,CAAC,UAAU,EAAE;gBAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC,CAAC;SACwB,CAAC;IAC/B,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAvCW,QAAA,oBAAoB,wBAuC/B;AAEK,MAAM,QAAQ,GAAG,CAAC,UAA8B,EAAE,IAAyB,EAAE,EAAE;IACpF,MAAM,IAAI,GAAG,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC;IACxC,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC;AACpC,CAAC,CAAC;AAHW,QAAA,QAAQ,YAGnB"}
@@ -6,8 +6,22 @@ export declare const extraUserColumns: (opts?: {
6
6
  realm: import("drizzle-orm").HasDefault<import("drizzle-orm/pg-core").PgTextBuilderInitial<"realm", [string, ...string[]]>>;
7
7
  status: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm").$Type<import("drizzle-orm/pg-core").PgTextBuilderInitial<"status", [string, ...string[]]>, TConstValue<typeof UserStatuses>>>>;
8
8
  type: import("drizzle-orm").HasDefault<import("drizzle-orm").NotNull<import("drizzle-orm").$Type<import("drizzle-orm/pg-core").PgTextBuilderInitial<"type", [string, ...string[]]>, TConstValue<typeof UserTypes>>>>;
9
- activatedAt: import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"activated_at">;
10
- lastLoginAt: import("drizzle-orm/pg-core").PgTimestampBuilderInitial<"last_login_at">;
9
+ activatedAt: import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
10
+ name: string;
11
+ dataType: "custom";
12
+ columnType: "PgCustomColumn";
13
+ data: string;
14
+ driverParam: string;
15
+ enumValues: undefined;
16
+ }>;
17
+ lastLoginAt: import("drizzle-orm/pg-core").PgCustomColumnBuilder<{
18
+ name: string;
19
+ dataType: "custom";
20
+ columnType: "PgCustomColumn";
21
+ data: string;
22
+ driverParam: string;
23
+ enumValues: undefined;
24
+ }>;
11
25
  parentId: import("drizzle-orm/pg-core").PgIntegerBuilderInitial<"parent_id"> | import("drizzle-orm/pg-core").PgTextBuilderInitial<"parent_id", [string, ...string[]]>;
12
26
  };
13
27
  //# sourceMappingURL=user.model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.model.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/models/entities/user.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,gBAAgB,GAAI,OAAO;IAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE;;;;;;;CAYtE,CAAC"}
1
+ {"version":3,"file":"user.model.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/models/entities/user.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,gBAAgB,GAAI,OAAO;IAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;CAYtE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extraUserColumns = void 0;
4
+ const base_1 = require("../../../../base");
4
5
  const statuses_1 = require("../../../../common/statuses");
5
6
  const pg_core_1 = require("drizzle-orm/pg-core");
6
7
  const extraUserColumns = (opts) => {
@@ -11,8 +12,8 @@ const extraUserColumns = (opts) => {
11
12
  .notNull()
12
13
  .default(statuses_1.UserStatuses.UNKNOWN),
13
14
  type: (0, pg_core_1.text)('type').$type().notNull().default(statuses_1.UserTypes.SYSTEM),
14
- activatedAt: (0, pg_core_1.timestamp)('activated_at', { mode: 'date', withTimezone: true }),
15
- lastLoginAt: (0, pg_core_1.timestamp)('last_login_at', { mode: 'date', withTimezone: true }),
15
+ activatedAt: (0, base_1.isoTimestamp)('activated_at', { withTimezone: true }),
16
+ lastLoginAt: (0, base_1.isoTimestamp)('last_login_at', { withTimezone: true }),
16
17
  parentId: opts?.idType === 'string' ? (0, pg_core_1.text)('parent_id') : (0, pg_core_1.integer)('parent_id'),
17
18
  };
18
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../../../../src/components/auth/models/entities/user.model.ts"],"names":[],"mappings":";;;AAAA,gDAA4D;AAE5D,iDAA+D;AAExD,MAAM,gBAAgB,GAAG,CAAC,IAAsC,EAAE,EAAE;IACzE,OAAO;QACL,KAAK,EAAE,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,IAAA,cAAI,EAAC,QAAQ,CAAC;aACnB,KAAK,EAAoC;aACzC,OAAO,EAAE;aACT,OAAO,CAAC,uBAAY,CAAC,OAAO,CAAC;QAChC,IAAI,EAAE,IAAA,cAAI,EAAC,MAAM,CAAC,CAAC,KAAK,EAAiC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAS,CAAC,MAAM,CAAC;QAC7F,WAAW,EAAE,IAAA,mBAAS,EAAC,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC5E,WAAW,EAAE,IAAA,mBAAS,EAAC,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC7E,QAAQ,EAAE,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAO,EAAC,WAAW,CAAC;KAC/E,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,gBAAgB,oBAY3B"}
1
+ {"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../../../../src/components/auth/models/entities/user.model.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AACtC,gDAA4D;AAE5D,iDAAoD;AAE7C,MAAM,gBAAgB,GAAG,CAAC,IAAsC,EAAE,EAAE;IACzE,OAAO;QACL,KAAK,EAAE,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,IAAA,cAAI,EAAC,QAAQ,CAAC;aACnB,KAAK,EAAoC;aACzC,OAAO,EAAE;aACT,OAAO,CAAC,uBAAY,CAAC,OAAO,CAAC;QAChC,IAAI,EAAE,IAAA,cAAI,EAAC,MAAM,CAAC,CAAC,KAAK,EAAiC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAS,CAAC,MAAM,CAAC;QAC7F,WAAW,EAAE,IAAA,mBAAY,EAAC,cAAc,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACjE,WAAW,EAAE,IAAA,mBAAY,EAAC,eAAe,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAClE,QAAQ,EAAE,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAO,EAAC,WAAW,CAAC;KAC/E,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,gBAAgB,oBAY3B"}
@@ -214,9 +214,9 @@ export declare class BaseMetaLinkModel extends BaseEntity<typeof BaseMetaLinkMod
214
214
  createdAt: import("drizzle-orm/pg-core").PgColumn<{
215
215
  name: string;
216
216
  tableName: "MetaLink";
217
- dataType: "date";
218
- columnType: "PgTimestamp";
219
- data: Date;
217
+ dataType: "custom";
218
+ columnType: "PgCustomColumn";
219
+ data: string;
220
220
  driverParam: string;
221
221
  notNull: true;
222
222
  hasDefault: true;
@@ -227,13 +227,15 @@ export declare class BaseMetaLinkModel extends BaseEntity<typeof BaseMetaLinkMod
227
227
  baseColumn: never;
228
228
  identity: undefined;
229
229
  generated: undefined;
230
- }, {}, {}>;
230
+ }, {}, {
231
+ pgColumnBuilderBrand: "PgCustomColumnBuilderBrand";
232
+ }>;
231
233
  modifiedAt: import("drizzle-orm/pg-core").PgColumn<{
232
234
  name: string;
233
235
  tableName: "MetaLink";
234
- dataType: "date";
235
- columnType: "PgTimestamp";
236
- data: Date;
236
+ dataType: "custom";
237
+ columnType: "PgCustomColumn";
238
+ data: string;
237
239
  driverParam: string;
238
240
  notNull: true;
239
241
  hasDefault: true;
@@ -244,7 +246,9 @@ export declare class BaseMetaLinkModel extends BaseEntity<typeof BaseMetaLinkMod
244
246
  baseColumn: never;
245
247
  identity: undefined;
246
248
  generated: undefined;
247
- }, {}, {}>;
249
+ }, {}, {
250
+ pgColumnBuilderBrand: "PgCustomColumnBuilderBrand";
251
+ }>;
248
252
  id: import("drizzle-orm/pg-core").PgColumn<{
249
253
  name: "id";
250
254
  tableName: "MetaLink";
@@ -472,9 +476,9 @@ export declare class BaseMetaLinkModel extends BaseEntity<typeof BaseMetaLinkMod
472
476
  createdAt: import("drizzle-orm/pg-core").PgColumn<{
473
477
  name: string;
474
478
  tableName: "MetaLink";
475
- dataType: "date";
476
- columnType: "PgTimestamp";
477
- data: Date;
479
+ dataType: "custom";
480
+ columnType: "PgCustomColumn";
481
+ data: string;
478
482
  driverParam: string;
479
483
  notNull: true;
480
484
  hasDefault: true;
@@ -485,13 +489,15 @@ export declare class BaseMetaLinkModel extends BaseEntity<typeof BaseMetaLinkMod
485
489
  baseColumn: never;
486
490
  identity: undefined;
487
491
  generated: undefined;
488
- }, {}, {}>;
492
+ }, {}, {
493
+ pgColumnBuilderBrand: "PgCustomColumnBuilderBrand";
494
+ }>;
489
495
  modifiedAt: import("drizzle-orm/pg-core").PgColumn<{
490
496
  name: string;
491
497
  tableName: "MetaLink";
492
- dataType: "date";
493
- columnType: "PgTimestamp";
494
- data: Date;
498
+ dataType: "custom";
499
+ columnType: "PgCustomColumn";
500
+ data: string;
495
501
  driverParam: string;
496
502
  notNull: true;
497
503
  hasDefault: true;
@@ -502,7 +508,9 @@ export declare class BaseMetaLinkModel extends BaseEntity<typeof BaseMetaLinkMod
502
508
  baseColumn: never;
503
509
  identity: undefined;
504
510
  generated: undefined;
505
- }, {}, {}>;
511
+ }, {}, {
512
+ pgColumnBuilderBrand: "PgCustomColumnBuilderBrand";
513
+ }>;
506
514
  id: import("drizzle-orm/pg-core").PgColumn<{
507
515
  name: "id";
508
516
  tableName: "MetaLink";
@@ -1 +1 @@
1
- {"version":3,"file":"base.model.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/models/base.model.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAGV,YAAY,EACb,MAAM,eAAe,CAAC;AAGvB,mDAAmD;AACnD,qBACa,iBAAkB,SAAQ,UAAU,CAAC,OAAO,iBAAiB,CAAC,MAAM,CAAC;IAChF,OAAgB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BpB;IAEF,OAAgB,SAAS,gBAAY;CACtC;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC;AAC9D,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"base.model.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/models/base.model.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAGV,YAAY,EACb,MAAM,eAAe,CAAC;AAGvB,mDAAmD;AACnD,qBACa,iBAAkB,SAAQ,UAAU,CAAC,OAAO,iBAAiB,CAAC,MAAM,CAAC;IAChF,OAAgB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BpB;IAEF,OAAgB,SAAS,gBAAY;CACtC;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC;AAC9D,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venizia/ignis",
3
- "version": "0.0.9-10",
3
+ "version": "0.0.9-11",
4
4
  "description": "High-performance TypeScript server infrastructure combining LoopBack 4 enterprise architecture (decorator-based DI, repository pattern, component system) with Hono speed (~140k req/s). Features auto-generated OpenAPI docs, Drizzle ORM type-safe SQL, JWT/Basic authentication, Casbin authorization, convention-based bootstrapping, and pluggable components for health checks, Swagger UI, mail, Socket.IO, and static assets. Built for Bun and Node.js.",
5
5
  "keywords": [
6
6
  "access-control",