@venizia/ignis 0.0.9-10 → 0.0.9-12
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/base/models/common/columns.d.ts +22 -0
- package/dist/base/models/common/columns.d.ts.map +1 -0
- package/dist/base/models/common/columns.js +43 -0
- package/dist/base/models/common/columns.js.map +1 -0
- package/dist/base/models/common/index.d.ts +1 -0
- package/dist/base/models/common/index.d.ts.map +1 -1
- package/dist/base/models/common/index.js +1 -0
- package/dist/base/models/common/index.js.map +1 -1
- package/dist/base/models/enrichers/tz.enricher.d.ts +9 -8
- package/dist/base/models/enrichers/tz.enricher.d.ts.map +1 -1
- package/dist/base/models/enrichers/tz.enricher.js +7 -10
- package/dist/base/models/enrichers/tz.enricher.js.map +1 -1
- package/dist/base/repositories/core/soft-deletable.d.ts +1 -1
- package/dist/base/repositories/core/soft-deletable.d.ts.map +1 -1
- package/dist/components/auth/models/entities/user.model.d.ts +16 -2
- package/dist/components/auth/models/entities/user.model.d.ts.map +1 -1
- package/dist/components/auth/models/entities/user.model.js +3 -2
- package/dist/components/auth/models/entities/user.model.js.map +1 -1
- package/dist/components/static-asset/models/base.model.d.ts +24 -16
- package/dist/components/static-asset/models/base.model.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -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 +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<
|
|
31
|
+
createdAt: NotNull<HasDefault<TIsoTimestampColumn>>;
|
|
31
32
|
} & (Opts extends TTzEnricherOptions ? TIsEnabled<Opts['modified']> extends true ? {
|
|
32
|
-
modifiedAt: NotNull<HasDefault<
|
|
33
|
+
modifiedAt: NotNull<HasDefault<TIsoTimestampColumn>>;
|
|
33
34
|
} : TIsEnabled<Opts['modified']> extends false ? {} : {
|
|
34
|
-
modifiedAt: NotNull<HasDefault<
|
|
35
|
+
modifiedAt: NotNull<HasDefault<TIsoTimestampColumn>>;
|
|
35
36
|
} : {
|
|
36
|
-
modifiedAt: NotNull<HasDefault<
|
|
37
|
+
modifiedAt: NotNull<HasDefault<TIsoTimestampColumn>>;
|
|
37
38
|
}) & // default when opts is undefined
|
|
38
39
|
(Opts extends TTzEnricherOptions ? TIsEnabled<Opts['deleted']> extends true ? {
|
|
39
|
-
deletedAt:
|
|
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<
|
|
44
|
-
modifiedAt: NotNull<HasDefault<
|
|
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,
|
|
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
|
|
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,
|
|
9
|
-
mode: 'date',
|
|
8
|
+
createdAt: (0, columns_1.isoTimestamp)(created.columnName, {
|
|
10
9
|
withTimezone: created.withTimezone,
|
|
11
10
|
})
|
|
12
|
-
.
|
|
11
|
+
.default(new Date().toISOString())
|
|
13
12
|
.notNull(),
|
|
14
13
|
};
|
|
15
14
|
if (modified.enable) {
|
|
16
15
|
rs = {
|
|
17
16
|
...rs,
|
|
18
|
-
modifiedAt: (0,
|
|
19
|
-
mode: 'date',
|
|
17
|
+
modifiedAt: (0, columns_1.isoTimestamp)(modified.columnName, {
|
|
20
18
|
withTimezone: modified.withTimezone,
|
|
21
19
|
})
|
|
22
|
-
.
|
|
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,
|
|
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":";;;
|
|
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"}
|
|
@@ -4,7 +4,7 @@ import { AnyPgColumn } from 'drizzle-orm/pg-core';
|
|
|
4
4
|
import { IExtraOptions, TCount, TFilter, TWhere } from '../common';
|
|
5
5
|
import { DefaultCRUDRepository } from './default-crud';
|
|
6
6
|
export type TDeletedAtColumn = AnyPgColumn<{
|
|
7
|
-
data: Date | null;
|
|
7
|
+
data: Date | string | null;
|
|
8
8
|
}>;
|
|
9
9
|
export type TSoftDeletableTableSchema = TTableSchemaWithId & {
|
|
10
10
|
deletedAt: TDeletedAtColumn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"soft-deletable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/soft-deletable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EAAkB,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;IACzC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"soft-deletable.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/soft-deletable.ts"],"names":[],"mappings":"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"}
|
|
@@ -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").
|
|
10
|
-
|
|
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":"
|
|
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,
|
|
15
|
-
lastLoginAt: (0,
|
|
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,
|
|
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: "
|
|
218
|
-
columnType: "
|
|
219
|
-
data:
|
|
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: "
|
|
235
|
-
columnType: "
|
|
236
|
-
data:
|
|
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: "
|
|
476
|
-
columnType: "
|
|
477
|
-
data:
|
|
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: "
|
|
493
|
-
columnType: "
|
|
494
|
-
data:
|
|
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
|
|
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-
|
|
3
|
+
"version": "0.0.9-12",
|
|
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",
|