@carlonicora/nestjs-neo4jsonapi 1.100.0 → 1.102.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/bootstrap/app.module.factory.d.ts.map +1 -1
- package/dist/bootstrap/app.module.factory.js +11 -0
- package/dist/bootstrap/app.module.factory.js.map +1 -1
- package/dist/common/guards/custom-throttler.guard.d.ts +18 -0
- package/dist/common/guards/custom-throttler.guard.d.ts.map +1 -0
- package/dist/common/guards/custom-throttler.guard.js +60 -0
- package/dist/common/guards/custom-throttler.guard.js.map +1 -0
- package/dist/common/guards/index.d.ts +1 -0
- package/dist/common/guards/index.d.ts.map +1 -1
- package/dist/common/guards/index.js +1 -0
- package/dist/common/guards/index.js.map +1 -1
- package/dist/common/helpers/index.d.ts +1 -0
- package/dist/common/helpers/index.d.ts.map +1 -1
- package/dist/common/helpers/index.js +1 -0
- package/dist/common/helpers/index.js.map +1 -1
- package/dist/common/helpers/neo4j-date.d.ts +24 -0
- package/dist/common/helpers/neo4j-date.d.ts.map +1 -0
- package/dist/common/helpers/neo4j-date.js +58 -0
- package/dist/common/helpers/neo4j-date.js.map +1 -0
- package/dist/core/blocknote/services/blocknote.service.d.ts +14 -0
- package/dist/core/blocknote/services/blocknote.service.d.ts.map +1 -1
- package/dist/core/blocknote/services/blocknote.service.js +89 -0
- package/dist/core/blocknote/services/blocknote.service.js.map +1 -1
- package/dist/core/migrator/interfaces/migration.interface.d.ts +21 -1
- package/dist/core/migrator/interfaces/migration.interface.d.ts.map +1 -1
- package/dist/core/migrator/migrator.module.d.ts.map +1 -1
- package/dist/core/migrator/migrator.module.js +5 -1
- package/dist/core/migrator/migrator.module.js.map +1 -1
- package/dist/core/migrator/services/migrator.service.d.ts +8 -1
- package/dist/core/migrator/services/migrator.service.d.ts.map +1 -1
- package/dist/core/migrator/services/migrator.service.js +52 -23
- package/dist/core/migrator/services/migrator.service.js.map +1 -1
- package/dist/core/security/services/security.service.d.ts +4 -0
- package/dist/core/security/services/security.service.d.ts.map +1 -1
- package/dist/core/security/services/security.service.js +15 -3
- package/dist/core/security/services/security.service.js.map +1 -1
- package/dist/core/websocket/gateways/event.gateway.d.ts.map +1 -1
- package/dist/core/websocket/gateways/event.gateway.js +6 -0
- package/dist/core/websocket/gateways/event.gateway.js.map +1 -1
- package/dist/core/websocket/services/presence.cron.service.d.ts +21 -0
- package/dist/core/websocket/services/presence.cron.service.d.ts.map +1 -0
- package/dist/core/websocket/services/presence.cron.service.js +83 -0
- package/dist/core/websocket/services/presence.cron.service.js.map +1 -0
- package/dist/core/websocket/websocket.module.d.ts.map +1 -1
- package/dist/core/websocket/websocket.module.js +5 -2
- package/dist/core/websocket/websocket.module.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.module.factory.d.ts","sourceRoot":"","sources":["../../src/bootstrap/app.module.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,IAAI,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"app.module.factory.d.ts","sourceRoot":"","sources":["../../src/bootstrap/app.module.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAqB7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CA+IpE"}
|
|
@@ -42,6 +42,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
42
42
|
exports.createAppModule = createAppModule;
|
|
43
43
|
const common_1 = require("@nestjs/common");
|
|
44
44
|
const config_1 = require("@nestjs/config");
|
|
45
|
+
const core_1 = require("@nestjs/core");
|
|
45
46
|
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
46
47
|
const schedule_1 = require("@nestjs/schedule");
|
|
47
48
|
const throttler_1 = require("@nestjs/throttler");
|
|
@@ -51,6 +52,7 @@ const nestjs_cls_1 = require("nestjs-cls");
|
|
|
51
52
|
const nestjs_i18n_1 = require("nestjs-i18n");
|
|
52
53
|
const path = __importStar(require("path"));
|
|
53
54
|
const agents_modules_1 = require("../agents/agents.modules");
|
|
55
|
+
const custom_throttler_guard_1 = require("../common/guards/custom-throttler.guard");
|
|
54
56
|
const config_2 = require("../config");
|
|
55
57
|
const discord_module_1 = require("../foundations/discord/discord.module");
|
|
56
58
|
const app_mode_module_1 = require("../core/appmode/app.mode.module");
|
|
@@ -81,6 +83,10 @@ function createAppModule(options) {
|
|
|
81
83
|
// Get app config for extracting queue IDs (needed at module definition time)
|
|
82
84
|
const appConfig = options.config ? options.config() : {};
|
|
83
85
|
const queueIds = appConfig.chunkQueues?.queueIds ?? [];
|
|
86
|
+
// Whether to enforce global rate limiting (decided at module-definition time,
|
|
87
|
+
// like queueIds). The ThrottlerModule below always configures the limits; the
|
|
88
|
+
// APP_GUARD that actually enforces them is only registered when enabled.
|
|
89
|
+
const rateLimitEnabled = { ...config_2.baseConfig, ...appConfig }.rateLimit?.enabled ?? false;
|
|
84
90
|
// Merge baseConfig with optional custom config
|
|
85
91
|
const configLoader = options.config ? () => ({ ...config_2.baseConfig, ...appConfig }) : () => config_2.baseConfig;
|
|
86
92
|
// Resolve i18n path - use absolute path or resolve from cwd
|
|
@@ -187,6 +193,11 @@ function createAppModule(options) {
|
|
|
187
193
|
],
|
|
188
194
|
global: true,
|
|
189
195
|
controllers: [],
|
|
196
|
+
providers: [
|
|
197
|
+
// Global rate-limit enforcement (adds X-RateLimit-* headers). Only
|
|
198
|
+
// registered when rateLimit.enabled — apps no longer wire this themselves.
|
|
199
|
+
...(rateLimitEnabled ? [{ provide: core_1.APP_GUARD, useClass: custom_throttler_guard_1.CustomThrottlerGuard }] : []),
|
|
200
|
+
],
|
|
190
201
|
};
|
|
191
202
|
}
|
|
192
203
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.module.factory.js","sourceRoot":"","sources":["../../src/bootstrap/app.module.factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"app.module.factory.js","sourceRoot":"","sources":["../../src/bootstrap/app.module.factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ThrottlerGuard, ThrottlerRequest } from "@nestjs/throttler";
|
|
2
|
+
import { FastifyRequest } from "fastify";
|
|
3
|
+
/**
|
|
4
|
+
* Custom ThrottlerGuard that adds rate limit headers to responses.
|
|
5
|
+
*
|
|
6
|
+
* Headers added:
|
|
7
|
+
* - X-RateLimit-Limit: Maximum number of requests allowed in the time window
|
|
8
|
+
* - X-RateLimit-Remaining: Number of requests remaining in the current window
|
|
9
|
+
* - X-RateLimit-Reset: Unix timestamp when the rate limit window resets
|
|
10
|
+
*
|
|
11
|
+
* Registered as a global APP_GUARD by the bootstrap app module factory when
|
|
12
|
+
* `rateLimit.enabled` is true. Apps do not register it themselves.
|
|
13
|
+
*/
|
|
14
|
+
export declare class CustomThrottlerGuard extends ThrottlerGuard {
|
|
15
|
+
protected getTracker(req: FastifyRequest): Promise<string>;
|
|
16
|
+
protected handleRequest(requestProps: ThrottlerRequest): Promise<boolean>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=custom-throttler.guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-throttler.guard.d.ts","sourceRoot":"","sources":["../../../src/common/guards/custom-throttler.guard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAgB,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,qBACa,oBAAqB,SAAQ,cAAc;cACtC,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;cAIhD,aAAa,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAyChF"}
|
|
@@ -0,0 +1,60 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.CustomThrottlerGuard = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const throttler_1 = require("@nestjs/throttler");
|
|
12
|
+
/**
|
|
13
|
+
* Custom ThrottlerGuard that adds rate limit headers to responses.
|
|
14
|
+
*
|
|
15
|
+
* Headers added:
|
|
16
|
+
* - X-RateLimit-Limit: Maximum number of requests allowed in the time window
|
|
17
|
+
* - X-RateLimit-Remaining: Number of requests remaining in the current window
|
|
18
|
+
* - X-RateLimit-Reset: Unix timestamp when the rate limit window resets
|
|
19
|
+
*
|
|
20
|
+
* Registered as a global APP_GUARD by the bootstrap app module factory when
|
|
21
|
+
* `rateLimit.enabled` is true. Apps do not register it themselves.
|
|
22
|
+
*/
|
|
23
|
+
let CustomThrottlerGuard = class CustomThrottlerGuard extends throttler_1.ThrottlerGuard {
|
|
24
|
+
async getTracker(req) {
|
|
25
|
+
return req.ip;
|
|
26
|
+
}
|
|
27
|
+
async handleRequest(requestProps) {
|
|
28
|
+
const { context, limit, ttl, throttler, blockDuration, getTracker, generateKey } = requestProps;
|
|
29
|
+
const response = context.switchToHttp().getResponse();
|
|
30
|
+
const request = context.switchToHttp().getRequest();
|
|
31
|
+
const tracker = await getTracker(request, context);
|
|
32
|
+
const throttlerName = throttler.name || "default";
|
|
33
|
+
const key = generateKey(context, tracker, throttlerName);
|
|
34
|
+
const { totalHits, timeToExpire } = await this.storageService.increment(key, ttl, limit, blockDuration, throttlerName);
|
|
35
|
+
const remaining = Math.max(0, limit - totalHits);
|
|
36
|
+
const resetTime = Math.ceil(Date.now() / 1000) + Math.ceil(timeToExpire / 1000);
|
|
37
|
+
// Add rate limit headers to every response
|
|
38
|
+
response.header("X-RateLimit-Limit", String(limit));
|
|
39
|
+
response.header("X-RateLimit-Remaining", String(remaining));
|
|
40
|
+
response.header("X-RateLimit-Reset", String(resetTime));
|
|
41
|
+
if (totalHits > limit) {
|
|
42
|
+
await this.throwThrottlingException(context, {
|
|
43
|
+
totalHits,
|
|
44
|
+
timeToExpire,
|
|
45
|
+
isBlocked: totalHits > limit,
|
|
46
|
+
timeToBlockExpire: timeToExpire,
|
|
47
|
+
ttl,
|
|
48
|
+
limit,
|
|
49
|
+
key,
|
|
50
|
+
tracker,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
exports.CustomThrottlerGuard = CustomThrottlerGuard;
|
|
57
|
+
exports.CustomThrottlerGuard = CustomThrottlerGuard = __decorate([
|
|
58
|
+
(0, common_1.Injectable)()
|
|
59
|
+
], CustomThrottlerGuard);
|
|
60
|
+
//# sourceMappingURL=custom-throttler.guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-throttler.guard.js","sourceRoot":"","sources":["../../../src/common/guards/custom-throttler.guard.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,iDAAqE;AAGrE;;;;;;;;;;GAUG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,0BAAc;IAC5C,KAAK,CAAC,UAAU,CAAC,GAAmB;QAC5C,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,YAA8B;QAC1D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;QAEhG,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,WAAW,EAAgB,CAAC;QACpE,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAkB,CAAC;QAEpE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC;QAClD,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAEzD,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CACrE,GAAG,EACH,GAAG,EACH,KAAK,EACL,aAAa,EACb,aAAa,CACd,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QAEhF,2CAA2C;QAC3C,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5D,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAExD,IAAI,SAAS,GAAG,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE;gBAC3C,SAAS;gBACT,YAAY;gBACZ,SAAS,EAAE,SAAS,GAAG,KAAK;gBAC5B,iBAAiB,EAAE,YAAY;gBAC/B,GAAG;gBACH,KAAK;gBACL,GAAG;gBACH,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA9CY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;GACA,oBAAoB,CA8ChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/guards/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/guards/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,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("./custom-throttler.guard"), exports);
|
|
17
18
|
__exportStar(require("./jwt.auth.admin.guard"), exports);
|
|
18
19
|
__exportStar(require("./jwt.auth.guard"), exports);
|
|
19
20
|
__exportStar(require("./jwt.auth.optional.guard"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,mDAAiC;AACjC,4DAA0C;AAC1C,uDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,yDAAuC;AACvC,mDAAiC;AACjC,4DAA0C;AAC1C,uDAAqC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./define-entity"), exports);
|
|
18
|
+
__exportStar(require("./neo4j-date"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,+CAA6B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type Neo4jTemporalType = "date" | "datetime";
|
|
2
|
+
/**
|
|
3
|
+
* Normalize a value for Neo4j's date() or datetime() constructor.
|
|
4
|
+
*
|
|
5
|
+
* Returns:
|
|
6
|
+
* type='date' → "YYYY-MM-DD" (time stripped)
|
|
7
|
+
* type='datetime' → "YYYY-MM-DDTHH:mm:ss.sssZ" (canonical ISO 8601 UTC)
|
|
8
|
+
* null → null (Cypher caller MUST branch
|
|
9
|
+
* with CASE WHEN IS NULL)
|
|
10
|
+
* undefined → undefined (field not being written)
|
|
11
|
+
*
|
|
12
|
+
* Accepts:
|
|
13
|
+
* Date — valid JS Date
|
|
14
|
+
* "YYYY-MM-DD" — date-only string
|
|
15
|
+
* "YYYY-MM-DDTHH:mm:ss[.sss][Z]" — ISO datetime (with or without ms/tz)
|
|
16
|
+
*
|
|
17
|
+
* Throws BadRequestException on NaN Date, unknown string shape, wrong type.
|
|
18
|
+
*
|
|
19
|
+
* UTC is used throughout — calendar dates must not drift across timezones.
|
|
20
|
+
* Use at the repository boundary together with `date(left($v, 10))` (calendar
|
|
21
|
+
* dates) or `datetime($v)` (point-in-time) in Cypher.
|
|
22
|
+
*/
|
|
23
|
+
export declare function normalizeNeo4jTemporal(value: Date | string | null | undefined, type: Neo4jTemporalType): string | null | undefined;
|
|
24
|
+
//# sourceMappingURL=neo4j-date.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"neo4j-date.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/neo4j-date.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EACvC,IAAI,EAAE,iBAAiB,GACtB,MAAM,GAAG,IAAI,GAAG,SAAS,CA0B3B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeNeo4jTemporal = normalizeNeo4jTemporal;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
/**
|
|
6
|
+
* Normalize a value for Neo4j's date() or datetime() constructor.
|
|
7
|
+
*
|
|
8
|
+
* Returns:
|
|
9
|
+
* type='date' → "YYYY-MM-DD" (time stripped)
|
|
10
|
+
* type='datetime' → "YYYY-MM-DDTHH:mm:ss.sssZ" (canonical ISO 8601 UTC)
|
|
11
|
+
* null → null (Cypher caller MUST branch
|
|
12
|
+
* with CASE WHEN IS NULL)
|
|
13
|
+
* undefined → undefined (field not being written)
|
|
14
|
+
*
|
|
15
|
+
* Accepts:
|
|
16
|
+
* Date — valid JS Date
|
|
17
|
+
* "YYYY-MM-DD" — date-only string
|
|
18
|
+
* "YYYY-MM-DDTHH:mm:ss[.sss][Z]" — ISO datetime (with or without ms/tz)
|
|
19
|
+
*
|
|
20
|
+
* Throws BadRequestException on NaN Date, unknown string shape, wrong type.
|
|
21
|
+
*
|
|
22
|
+
* UTC is used throughout — calendar dates must not drift across timezones.
|
|
23
|
+
* Use at the repository boundary together with `date(left($v, 10))` (calendar
|
|
24
|
+
* dates) or `datetime($v)` (point-in-time) in Cypher.
|
|
25
|
+
*/
|
|
26
|
+
function normalizeNeo4jTemporal(value, type) {
|
|
27
|
+
if (value === undefined)
|
|
28
|
+
return undefined;
|
|
29
|
+
if (value === null)
|
|
30
|
+
return null;
|
|
31
|
+
if (value instanceof Date) {
|
|
32
|
+
if (Number.isNaN(value.getTime())) {
|
|
33
|
+
throw new common_1.BadRequestException("Invalid Date value");
|
|
34
|
+
}
|
|
35
|
+
return type === "datetime" ? value.toISOString() : formatDateOnlyUTC(value);
|
|
36
|
+
}
|
|
37
|
+
if (typeof value === "string") {
|
|
38
|
+
if (/^\d{4}-\d{2}-\d{2}$/.test(value)) {
|
|
39
|
+
return type === "datetime" ? new Date(`${value}T00:00:00.000Z`).toISOString() : value;
|
|
40
|
+
}
|
|
41
|
+
if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(value)) {
|
|
42
|
+
const parsed = new Date(value);
|
|
43
|
+
if (Number.isNaN(parsed.getTime())) {
|
|
44
|
+
throw new common_1.BadRequestException(`Invalid ISO datetime: ${value}`);
|
|
45
|
+
}
|
|
46
|
+
return type === "datetime" ? parsed.toISOString() : formatDateOnlyUTC(parsed);
|
|
47
|
+
}
|
|
48
|
+
throw new common_1.BadRequestException(`Unrecognized date/datetime string: ${value}`);
|
|
49
|
+
}
|
|
50
|
+
throw new common_1.BadRequestException(`Unsupported temporal value type: ${typeof value}`);
|
|
51
|
+
}
|
|
52
|
+
function formatDateOnlyUTC(d) {
|
|
53
|
+
const y = d.getUTCFullYear();
|
|
54
|
+
const m = String(d.getUTCMonth() + 1).padStart(2, "0");
|
|
55
|
+
const day = String(d.getUTCDate()).padStart(2, "0");
|
|
56
|
+
return `${y}-${m}-${day}`;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=neo4j-date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"neo4j-date.js","sourceRoot":"","sources":["../../../src/common/helpers/neo4j-date.ts"],"names":[],"mappings":";;AAyBA,wDA6BC;AAtDD,2CAAqD;AAIrD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,sBAAsB,CACpC,KAAuC,EACvC,IAAuB;IAEvB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhC,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,4BAAmB,CAAC,oBAAoB,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACxF,CAAC;QACD,IAAI,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,4BAAmB,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,IAAI,4BAAmB,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,IAAI,4BAAmB,CAAC,oCAAoC,OAAO,KAAK,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAO;IAChC,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -57,5 +57,19 @@ export declare class BlockNoteService {
|
|
|
57
57
|
protected applyTextStyles(text: string, styles: any): string;
|
|
58
58
|
protected processRelationship(node: any): string;
|
|
59
59
|
protected processContentNodes(nodes: any[]): string;
|
|
60
|
+
/**
|
|
61
|
+
* Converts a BlockNoteJS/Prosemirror data structure into plain text (no markdown formatting).
|
|
62
|
+
*/
|
|
63
|
+
convertToPlainText(params: {
|
|
64
|
+
nodes: any[];
|
|
65
|
+
}): string;
|
|
66
|
+
protected processNodeAsPlainText(node: any, indentLevel?: number): string;
|
|
67
|
+
protected processParagraphAsPlainText(node: any): string;
|
|
68
|
+
protected processHeadingAsPlainText(node: any): string;
|
|
69
|
+
protected processBulletListItemAsPlainText(node: any, indentLevel: number): string;
|
|
70
|
+
protected processNumberedListItemAsPlainText(node: any, indentLevel: number): string;
|
|
71
|
+
protected processCheckListItemAsPlainText(node: any, indentLevel: number): string;
|
|
72
|
+
protected processCodeBlockAsPlainText(node: any): string;
|
|
73
|
+
protected processContentAsPlainText(contentArray: any[]): string;
|
|
60
74
|
}
|
|
61
75
|
//# sourceMappingURL=blocknote.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocknote.service.d.ts","sourceRoot":"","sources":["../../../../src/core/blocknote/services/blocknote.service.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,gBAAgB;IAC3B;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,MAAM;IAInD;;OAEG;IACG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAO1D;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAsE7C;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IA4GrD;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,SAAI,GAAG,MAAM;IAmBzD,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAK7C,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAO3C,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAcvE,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAczE,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAetE,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAM7C,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,MAAM;IAgBrD;;;;;;OAMG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAI3C,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM;IAgB5D,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAIhD,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"blocknote.service.d.ts","sourceRoot":"","sources":["../../../../src/core/blocknote/services/blocknote.service.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,gBAAgB;IAC3B;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,MAAM;IAInD;;OAEG;IACG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAO1D;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAsE7C;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IA4GrD;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,SAAI,GAAG,MAAM;IAmBzD,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAK7C,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAO3C,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAcvE,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAczE,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAetE,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAM7C,SAAS,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,MAAM;IAgBrD;;;;;;OAMG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAI3C,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM;IAgB5D,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAIhD,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM;IAsBnD;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,MAAM;IAKpD,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,SAAI,GAAG,MAAM;IAmBpE,SAAS,CAAC,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAKxD,SAAS,CAAC,yBAAyB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAKtD,SAAS,CAAC,gCAAgC,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAclF,SAAS,CAAC,kCAAkC,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAcpF,SAAS,CAAC,+BAA+B,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAejF,SAAS,CAAC,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;IAKxD,SAAS,CAAC,yBAAyB,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,MAAM;CAejE"}
|
|
@@ -367,6 +367,95 @@ let BlockNoteService = class BlockNoteService {
|
|
|
367
367
|
.filter((content) => content.length > 0)
|
|
368
368
|
.join("\n");
|
|
369
369
|
}
|
|
370
|
+
/**
|
|
371
|
+
* Converts a BlockNoteJS/Prosemirror data structure into plain text (no markdown formatting).
|
|
372
|
+
*/
|
|
373
|
+
convertToPlainText(params) {
|
|
374
|
+
return params.nodes.map((node) => this.processNodeAsPlainText(node)).join("");
|
|
375
|
+
}
|
|
376
|
+
// Plain text conversion methods (no markdown formatting)
|
|
377
|
+
processNodeAsPlainText(node, indentLevel = 0) {
|
|
378
|
+
switch (node.type) {
|
|
379
|
+
case "paragraph":
|
|
380
|
+
return this.processParagraphAsPlainText(node);
|
|
381
|
+
case "heading":
|
|
382
|
+
return this.processHeadingAsPlainText(node);
|
|
383
|
+
case "bulletListItem":
|
|
384
|
+
return this.processBulletListItemAsPlainText(node, indentLevel);
|
|
385
|
+
case "numberedListItem":
|
|
386
|
+
return this.processNumberedListItemAsPlainText(node, indentLevel);
|
|
387
|
+
case "checkListItem":
|
|
388
|
+
return this.processCheckListItemAsPlainText(node, indentLevel);
|
|
389
|
+
case "codeBlock":
|
|
390
|
+
return this.processCodeBlockAsPlainText(node);
|
|
391
|
+
default:
|
|
392
|
+
return "";
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
processParagraphAsPlainText(node) {
|
|
396
|
+
const content = this.processContentAsPlainText(node.content);
|
|
397
|
+
return `${content}\n\n`;
|
|
398
|
+
}
|
|
399
|
+
processHeadingAsPlainText(node) {
|
|
400
|
+
const content = this.processContentAsPlainText(node.content);
|
|
401
|
+
return `${content}\n\n`;
|
|
402
|
+
}
|
|
403
|
+
processBulletListItemAsPlainText(node, indentLevel) {
|
|
404
|
+
const indent = " ".repeat(indentLevel);
|
|
405
|
+
const content = this.processContentAsPlainText(node.content);
|
|
406
|
+
let text = `${indent}• ${content}\n`;
|
|
407
|
+
if (node.children && node.children.length > 0) {
|
|
408
|
+
node.children.forEach((child) => {
|
|
409
|
+
text += this.processNodeAsPlainText(child, indentLevel + 1);
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
return text;
|
|
413
|
+
}
|
|
414
|
+
processNumberedListItemAsPlainText(node, indentLevel) {
|
|
415
|
+
const indent = " ".repeat(indentLevel);
|
|
416
|
+
const content = this.processContentAsPlainText(node.content);
|
|
417
|
+
let text = `${indent}• ${content}\n`;
|
|
418
|
+
if (node.children && node.children.length > 0) {
|
|
419
|
+
node.children.forEach((child) => {
|
|
420
|
+
text += this.processNodeAsPlainText(child, indentLevel + 1);
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
return text;
|
|
424
|
+
}
|
|
425
|
+
processCheckListItemAsPlainText(node, indentLevel) {
|
|
426
|
+
const indent = " ".repeat(indentLevel);
|
|
427
|
+
const checked = node.props.checked ? "✓" : "○";
|
|
428
|
+
const content = this.processContentAsPlainText(node.content);
|
|
429
|
+
let text = `${indent}${checked} ${content}\n`;
|
|
430
|
+
if (node.children && node.children.length > 0) {
|
|
431
|
+
node.children.forEach((child) => {
|
|
432
|
+
text += this.processCheckListItemAsPlainText(child, indentLevel + 1);
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
return text;
|
|
436
|
+
}
|
|
437
|
+
processCodeBlockAsPlainText(node) {
|
|
438
|
+
const content = this.processContentAsPlainText(node.content);
|
|
439
|
+
return `${content}\n\n`;
|
|
440
|
+
}
|
|
441
|
+
processContentAsPlainText(contentArray) {
|
|
442
|
+
if (!contentArray)
|
|
443
|
+
return "";
|
|
444
|
+
return contentArray
|
|
445
|
+
.map((contentNode) => {
|
|
446
|
+
if (contentNode.type === "text") {
|
|
447
|
+
return contentNode.text;
|
|
448
|
+
}
|
|
449
|
+
else if (contentNode.type === "relationship") {
|
|
450
|
+
return contentNode.props?.alias || "";
|
|
451
|
+
}
|
|
452
|
+
else if (contentNode.type === "mention") {
|
|
453
|
+
return contentNode.props?.alias || "";
|
|
454
|
+
}
|
|
455
|
+
return "";
|
|
456
|
+
})
|
|
457
|
+
.join("");
|
|
458
|
+
}
|
|
370
459
|
};
|
|
371
460
|
exports.BlockNoteService = BlockNoteService;
|
|
372
461
|
exports.BlockNoteService = BlockNoteService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocknote.service.js","sourceRoot":"","sources":["../../../../src/core/blocknote/services/blocknote.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blocknote.service.js","sourceRoot":"","sources":["../../../../src/core/blocknote/services/blocknote.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
export interface MigrationInterface {
|
|
2
2
|
query: string;
|
|
3
|
-
queryParams
|
|
3
|
+
queryParams?: Record<string, any>;
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* A single migration step. `cypher` runs a query in the migration transaction;
|
|
7
|
+
* `s3-upload` streams a local file to S3 before the transaction commits.
|
|
8
|
+
* Apps that only run Cypher can keep exporting `MigrationInterface[]`.
|
|
9
|
+
*/
|
|
10
|
+
export type MigrationStep = {
|
|
11
|
+
kind: "cypher";
|
|
12
|
+
query: string;
|
|
13
|
+
queryParams?: Record<string, any>;
|
|
14
|
+
} | {
|
|
15
|
+
kind: "s3-upload";
|
|
16
|
+
localPath: string;
|
|
17
|
+
s3Key: string;
|
|
18
|
+
contentType: string;
|
|
19
|
+
};
|
|
20
|
+
export type MigrationModule = {
|
|
21
|
+
migration: MigrationInterface[];
|
|
22
|
+
} | {
|
|
23
|
+
migration: MigrationStep[];
|
|
24
|
+
};
|
|
5
25
|
//# sourceMappingURL=migration.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.interface.d.ts","sourceRoot":"","sources":["../../../../src/core/migrator/interfaces/migration.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"migration.interface.d.ts","sourceRoot":"","sources":["../../../../src/core/migrator/interfaces/migration.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,MAAM,MAAM,eAAe,GAAG;IAAE,SAAS,EAAE,kBAAkB,EAAE,CAAA;CAAE,GAAG;IAAE,SAAS,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrator.module.d.ts","sourceRoot":"","sources":["../../../src/core/migrator/migrator.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrator.module.d.ts","sourceRoot":"","sources":["../../../src/core/migrator/migrator.module.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAOa,cAAc;CAAG"}
|
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.MigratorModule = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const common_2 = require("../../common");
|
|
12
|
+
const s3_service_1 = require("../../foundations/s3/services/s3.service");
|
|
12
13
|
const migrator_service_1 = require("./services/migrator.service");
|
|
13
14
|
/**
|
|
14
15
|
* Migrator Module
|
|
@@ -39,7 +40,10 @@ let MigratorModule = class MigratorModule {
|
|
|
39
40
|
exports.MigratorModule = MigratorModule;
|
|
40
41
|
exports.MigratorModule = MigratorModule = __decorate([
|
|
41
42
|
(0, common_1.Module)({
|
|
42
|
-
|
|
43
|
+
// Provide S3Service directly (not via S3Module) so the migrator gets the
|
|
44
|
+
// uploader without registering S3Module's /s3 controller — importing the
|
|
45
|
+
// module double-declares GET /s3 when the app already serves it.
|
|
46
|
+
providers: [(0, common_2.createWorkerProvider)(migrator_service_1.MigratorService), s3_service_1.S3Service],
|
|
43
47
|
exports: [],
|
|
44
48
|
})
|
|
45
49
|
], MigratorModule);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrator.module.js","sourceRoot":"","sources":["../../../src/core/migrator/migrator.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yCAAoD;AACpD,kEAA8D;AAE9D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"migrator.module.js","sourceRoot":"","sources":["../../../src/core/migrator/migrator.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yCAAoD;AACpD,yEAAqE;AACrE,kEAA8D;AAE9D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQI,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,wCAAc;yBAAd,cAAc;IAP1B,IAAA,eAAM,EAAC;QACN,yEAAyE;QACzE,yEAAyE;QACzE,iEAAiE;QACjE,SAAS,EAAE,CAAC,IAAA,6BAAoB,EAAC,kCAAe,CAAC,EAAE,sBAAS,CAAC;QAC7D,OAAO,EAAE,EAAE;KACZ,CAAC;GACW,cAAc,CAAG"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { OnModuleInit } from "@nestjs/common";
|
|
2
2
|
import { AppLoggingService } from "../../logging/services/logging.service";
|
|
3
3
|
import { Neo4jService } from "../../neo4j/services/neo4j.service";
|
|
4
|
+
import { S3Service } from "../../../foundations/s3/services/s3.service";
|
|
4
5
|
/**
|
|
5
6
|
* Migrator Service
|
|
6
7
|
*
|
|
@@ -26,8 +27,9 @@ import { Neo4jService } from "../../neo4j/services/neo4j.service";
|
|
|
26
27
|
*/
|
|
27
28
|
export declare class MigratorService implements OnModuleInit {
|
|
28
29
|
protected readonly neo4jService: Neo4jService;
|
|
30
|
+
protected readonly s3Service: S3Service;
|
|
29
31
|
private readonly logger;
|
|
30
|
-
constructor(neo4jService: Neo4jService, logger: AppLoggingService);
|
|
32
|
+
constructor(neo4jService: Neo4jService, s3Service: S3Service, logger: AppLoggingService);
|
|
31
33
|
onModuleInit(): Promise<void>;
|
|
32
34
|
private createMigrationConstraints;
|
|
33
35
|
private runMigrations;
|
|
@@ -36,5 +38,10 @@ export declare class MigratorService implements OnModuleInit {
|
|
|
36
38
|
private filterMigrationsToRun;
|
|
37
39
|
private compareVersions;
|
|
38
40
|
private executeMigrations;
|
|
41
|
+
/**
|
|
42
|
+
* Normalise a migration's exported `migration` array to MigrationStep[].
|
|
43
|
+
* Legacy `MigrationInterface[]` (no `kind`) entries become `{ kind: "cypher" }`.
|
|
44
|
+
*/
|
|
45
|
+
private _normaliseSteps;
|
|
39
46
|
}
|
|
40
47
|
//# sourceMappingURL=migrator.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrator.service.d.ts","sourceRoot":"","sources":["../../../../src/core/migrator/services/migrator.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"migrator.service.d.ts","sourceRoot":"","sources":["../../../../src/core/migrator/services/migrator.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAQxE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBACa,eAAgB,YAAW,YAAY;IAEhD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY;IAC7C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFJ,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACtB,MAAM,EAAE,iBAAiB;IAGtC,YAAY;YAKJ,0BAA0B;YAc1B,aAAa;YAmBb,uBAAuB;YAcvB,kBAAkB;IAwBhC,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,eAAe;YAeT,iBAAiB;IA0C/B;;;OAGG;IACH,OAAO,CAAC,eAAe;CAYxB"}
|
|
@@ -48,6 +48,7 @@ const fs = __importStar(require("fs"));
|
|
|
48
48
|
const path = __importStar(require("path"));
|
|
49
49
|
const logging_service_1 = require("../../logging/services/logging.service");
|
|
50
50
|
const neo4j_service_1 = require("../../neo4j/services/neo4j.service");
|
|
51
|
+
const s3_service_1 = require("../../../foundations/s3/services/s3.service");
|
|
51
52
|
/**
|
|
52
53
|
* Migrator Service
|
|
53
54
|
*
|
|
@@ -72,8 +73,9 @@ const neo4j_service_1 = require("../../neo4j/services/neo4j.service");
|
|
|
72
73
|
* ```
|
|
73
74
|
*/
|
|
74
75
|
let MigratorService = class MigratorService {
|
|
75
|
-
constructor(neo4jService, logger) {
|
|
76
|
+
constructor(neo4jService, s3Service, logger) {
|
|
76
77
|
this.neo4jService = neo4jService;
|
|
78
|
+
this.s3Service = s3Service;
|
|
77
79
|
this.logger = logger;
|
|
78
80
|
}
|
|
79
81
|
async onModuleInit() {
|
|
@@ -159,37 +161,64 @@ let MigratorService = class MigratorService {
|
|
|
159
161
|
}
|
|
160
162
|
async executeMigrations(migrations) {
|
|
161
163
|
for (const migration of migrations) {
|
|
162
|
-
const
|
|
163
|
-
const
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
164
|
+
const migrationModule = await import(migration.path);
|
|
165
|
+
const steps = this._normaliseSteps(migrationModule["migration"]);
|
|
166
|
+
const cypherBatch = [];
|
|
167
|
+
for (const step of steps) {
|
|
168
|
+
if (step.kind === "s3-upload") {
|
|
169
|
+
const buffer = fs.readFileSync(step.localPath);
|
|
170
|
+
await this.s3Service.uploadBufferWithKey({
|
|
171
|
+
buffer,
|
|
172
|
+
key: step.s3Key,
|
|
173
|
+
contentType: step.contentType,
|
|
174
|
+
});
|
|
175
|
+
this.logger.log(`Uploaded ${step.localPath} to s3://${step.s3Key}`);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
cypherBatch.push({ query: step.query, params: step.queryParams });
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
cypherBatch.push({
|
|
182
|
+
query: `
|
|
183
|
+
CREATE (m:Migration {
|
|
184
|
+
version: $version,
|
|
185
|
+
versionDate: $versionDate,
|
|
186
|
+
versionIncrement: $versionIncrement,
|
|
187
|
+
appliedAt: datetime()
|
|
188
|
+
})
|
|
189
|
+
`,
|
|
190
|
+
params: {
|
|
191
|
+
version: migration.name,
|
|
192
|
+
versionDate: parseInt(migration.name.split("_")[0], 10),
|
|
193
|
+
versionIncrement: parseInt(migration.name.split("_")[1], 10),
|
|
182
194
|
},
|
|
183
|
-
|
|
184
|
-
await this.neo4jService.executeInTransaction(
|
|
195
|
+
});
|
|
196
|
+
await this.neo4jService.executeInTransaction(cypherBatch);
|
|
185
197
|
this.logger.log(`Applied migration: ${migration.name}`);
|
|
186
198
|
}
|
|
187
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Normalise a migration's exported `migration` array to MigrationStep[].
|
|
202
|
+
* Legacy `MigrationInterface[]` (no `kind`) entries become `{ kind: "cypher" }`.
|
|
203
|
+
*/
|
|
204
|
+
_normaliseSteps(raw) {
|
|
205
|
+
if (!raw || raw.length === 0)
|
|
206
|
+
return [];
|
|
207
|
+
const isNewShape = "kind" in raw[0];
|
|
208
|
+
if (isNewShape)
|
|
209
|
+
return raw;
|
|
210
|
+
return raw.map((entry) => ({
|
|
211
|
+
kind: "cypher",
|
|
212
|
+
query: entry.query,
|
|
213
|
+
queryParams: entry.queryParams,
|
|
214
|
+
}));
|
|
215
|
+
}
|
|
188
216
|
};
|
|
189
217
|
exports.MigratorService = MigratorService;
|
|
190
218
|
exports.MigratorService = MigratorService = __decorate([
|
|
191
219
|
(0, common_1.Injectable)(),
|
|
192
220
|
__metadata("design:paramtypes", [neo4j_service_1.Neo4jService,
|
|
221
|
+
s3_service_1.S3Service,
|
|
193
222
|
logging_service_1.AppLoggingService])
|
|
194
223
|
], MigratorService);
|
|
195
224
|
//# sourceMappingURL=migrator.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrator.service.js","sourceRoot":"","sources":["../../../../src/core/migrator/services/migrator.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA0D;AAC1D,uCAAyB;AACzB,2CAA6B;AAC7B,4EAA2E;AAC3E,sEAAkE;
|
|
1
|
+
{"version":3,"file":"migrator.service.js","sourceRoot":"","sources":["../../../../src/core/migrator/services/migrator.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,10 @@ export declare class SecurityService {
|
|
|
15
15
|
features: string[];
|
|
16
16
|
userName?: string;
|
|
17
17
|
}): string;
|
|
18
|
+
get invitationSelectionTokenExpiration(): Date;
|
|
19
|
+
signInvitationSelectionJwt(params: {
|
|
20
|
+
userId: string;
|
|
21
|
+
}): string;
|
|
18
22
|
isCurrentUserCompanyAdmin(): boolean;
|
|
19
23
|
validateAdmin(params: {
|
|
20
24
|
user: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.service.d.ts","sourceRoot":"","sources":["../../../../src/core/security/services/security.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"security.service.d.ts","sourceRoot":"","sources":["../../../../src/core/security/services/security.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKxC,eAAO,MAAM,YAAY,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAInE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,OAAO,CAEnF,CAAC;AAEF,qBACa,eAAe;IAExB,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IACzC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;gBADtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU;IAG3C,IAAI,sBAAsB,IAAI,IAAI,CAEjC;IAED,IAAI,eAAe,IAAI,IAAI,CAE1B;IAED,OAAO,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,MAAM;IAWV,IAAI,kCAAkC,IAAI,IAAI,CAE7C;IAED,0BAA0B,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAQ9D,yBAAyB,IAAI,OAAO;IAKpC,aAAa,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI;IAU1C,aAAa,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO;IAK9D,aAAa,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,MAAM,CAAA;KAAE,GAAG,MAAM;IAMtE;;;;;;;;;OASG;IACH,cAAc,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAYrE;;;;;;;OAOG;IACH,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAIrC;;OAEG;IACH,IAAI,sBAAsB,IAAI,IAAI,CAEjC;CACF"}
|
|
@@ -79,10 +79,19 @@ let SecurityService = class SecurityService {
|
|
|
79
79
|
expiration: this.tokenExpiration,
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
|
+
get invitationSelectionTokenExpiration() {
|
|
83
|
+
return new Date(new Date().getTime() + 10 * 60 * 1000);
|
|
84
|
+
}
|
|
85
|
+
signInvitationSelectionJwt(params) {
|
|
86
|
+
return this.jwtService.sign({
|
|
87
|
+
userId: params.userId,
|
|
88
|
+
scope: "invitation-selection",
|
|
89
|
+
expiration: this.invitationSelectionTokenExpiration,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
82
92
|
isCurrentUserCompanyAdmin() {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
// return configurations?.hasRole(SystemRoles.CompanyAdministrator) ?? false;
|
|
93
|
+
const configurations = this.clsService.get("companyConfigurations");
|
|
94
|
+
return configurations?.hasRole(system_roles_1.SystemRoles.CompanyAdministrator) ?? false;
|
|
86
95
|
}
|
|
87
96
|
validateAdmin(params) {
|
|
88
97
|
if (!this.isUserInRoles({
|
|
@@ -97,6 +106,9 @@ let SecurityService = class SecurityService {
|
|
|
97
106
|
return params.roles.some((role) => params.user.roles.includes(role));
|
|
98
107
|
}
|
|
99
108
|
userHasAccess(params) {
|
|
109
|
+
const isAutomatedJob = this.clsService.get("isAutomatedJob");
|
|
110
|
+
if (isAutomatedJob)
|
|
111
|
+
return "";
|
|
100
112
|
return params.validator();
|
|
101
113
|
}
|
|
102
114
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.service.js","sourceRoot":"","sources":["../../../../src/core/security/services/security.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAyC;AACzC,iDAAmC;AACnC,2CAAwC;AACxC,yEAAqE;
|
|
1
|
+
{"version":3,"file":"security.service.js","sourceRoot":"","sources":["../../../../src/core/security/services/security.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.gateway.d.ts","sourceRoot":"","sources":["../../../../src/core/websocket/gateways/event.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAGL,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EAId,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAkB,UAAU,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"event.gateway.d.ts","sourceRoot":"","sources":["../../../../src/core/websocket/gateways/event.gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAGL,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EAId,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAkB,UAAU,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,qBASa,aAAc,YAAW,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe;IAO1G,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAX/B,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,CAAC,cAAc,CAAS;gBAGZ,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,iBAAiB,EACzB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,aAAa;IAG9C,SAAS;IAKH,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAkC/B,gBAAgB,CAAC,MAAM,EAAE,MAAM;IA8B/B,eAAe;IAKf,eAAe,CAAoB,MAAM,EAAE,MAAM;;;;;;IASvD,aAAa,CACI,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE,EAChC,MAAM,EAAE,MAAM,GAChC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE;IAQ/B,OAAO,CAAC,yBAAyB;CAelC"}
|
|
@@ -23,6 +23,7 @@ const logging_service_1 = require("../../logging/services/logging.service");
|
|
|
23
23
|
const neo4j_service_1 = require("../../neo4j/services/neo4j.service");
|
|
24
24
|
const presence_service_1 = require("../services/presence.service");
|
|
25
25
|
const websocket_service_1 = require("../services/websocket.service");
|
|
26
|
+
const WS_BUILTIN_EVENTS = new Set(["message", "heartbeat"]);
|
|
26
27
|
let EventsGateway = class EventsGateway {
|
|
27
28
|
constructor(webSocketService, jwtService, cls, neo4j, logger, presenceService, eventEmitter) {
|
|
28
29
|
this.webSocketService = webSocketService;
|
|
@@ -57,6 +58,11 @@ let EventsGateway = class EventsGateway {
|
|
|
57
58
|
status: "online",
|
|
58
59
|
};
|
|
59
60
|
await this.webSocketService.broadcast("user:presence", broadcastPayload);
|
|
61
|
+
client.onAny((event, eventPayload) => {
|
|
62
|
+
if (WS_BUILTIN_EVENTS.has(event))
|
|
63
|
+
return;
|
|
64
|
+
this.eventEmitter.emit(`ws:${event}`, { user: client.data.user, payload: eventPayload, client });
|
|
65
|
+
});
|
|
60
66
|
}
|
|
61
67
|
catch (err) {
|
|
62
68
|
this.logger.error(`[PRESENCE] JWT verification failed for client: ${client.id}, error: ${err.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.gateway.js","sourceRoot":"","sources":["../../../../src/core/websocket/gateways/event.gateway.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAkE;AAClE,yDAAsD;AACtD,qCAAyC;AACzC,mDAS4B;AAC5B,2CAAwD;AACxD,yCAA2C;AAC3C,4EAA2E;AAC3E,sEAAkE;AAClE,mEAA+D;AAC/D,qEAAiE;
|
|
1
|
+
{"version":3,"file":"event.gateway.js","sourceRoot":"","sources":["../../../../src/core/websocket/gateways/event.gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AppLoggingService } from "../../logging/services/logging.service";
|
|
2
|
+
import { PresenceService } from "./presence.service";
|
|
3
|
+
import { WebSocketService } from "./websocket.service";
|
|
4
|
+
import { RedisClientStorageService } from "../../redis/services/redis.client.storage.service";
|
|
5
|
+
export declare class PresenceCronService {
|
|
6
|
+
private readonly presenceService;
|
|
7
|
+
private readonly webSocketService;
|
|
8
|
+
private readonly redisClientStorage;
|
|
9
|
+
private readonly logger;
|
|
10
|
+
constructor(presenceService: PresenceService, webSocketService: WebSocketService, redisClientStorage: RedisClientStorageService, logger: AppLoggingService);
|
|
11
|
+
/**
|
|
12
|
+
* Run every 5 minutes to mark idle users as "away" or "offline"
|
|
13
|
+
*/
|
|
14
|
+
markIdleUsers(): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Run every hour to clean up orphaned WebSocket client references in Redis.
|
|
17
|
+
* Removes socket IDs from user_clients sets when the corresponding ws_client key has expired.
|
|
18
|
+
*/
|
|
19
|
+
cleanupExpiredClients(): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=presence.cron.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presence.cron.service.d.ts","sourceRoot":"","sources":["../../../../src/core/websocket/services/presence.cron.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AAE9F,qBACa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAHN,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,yBAAyB,EAC7C,MAAM,EAAE,iBAAiB;IAG5C;;OAEG;IAEG,aAAa;IAyBnB;;;OAGG;IAEG,qBAAqB;CAO5B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
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.PresenceCronService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const schedule_1 = require("@nestjs/schedule");
|
|
15
|
+
const logging_service_1 = require("../../logging/services/logging.service");
|
|
16
|
+
const presence_service_1 = require("./presence.service");
|
|
17
|
+
const websocket_service_1 = require("./websocket.service");
|
|
18
|
+
const redis_client_storage_service_1 = require("../../redis/services/redis.client.storage.service");
|
|
19
|
+
let PresenceCronService = class PresenceCronService {
|
|
20
|
+
constructor(presenceService, webSocketService, redisClientStorage, logger) {
|
|
21
|
+
this.presenceService = presenceService;
|
|
22
|
+
this.webSocketService = webSocketService;
|
|
23
|
+
this.redisClientStorage = redisClientStorage;
|
|
24
|
+
this.logger = logger;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Run every 5 minutes to mark idle users as "away" or "offline"
|
|
28
|
+
*/
|
|
29
|
+
async markIdleUsers() {
|
|
30
|
+
try {
|
|
31
|
+
this.logger.log("Running presence idle detection cron job");
|
|
32
|
+
const changedUsers = await this.presenceService.markIdleUsersAsAway();
|
|
33
|
+
if (changedUsers.length > 0) {
|
|
34
|
+
this.logger.log(`Marked ${changedUsers.length} users as idle`);
|
|
35
|
+
// Broadcast status changes to all connected clients
|
|
36
|
+
for (const userId of changedUsers) {
|
|
37
|
+
const status = await this.presenceService.getUserStatus(userId);
|
|
38
|
+
await this.webSocketService.broadcast("user:presence", {
|
|
39
|
+
userId,
|
|
40
|
+
status: status.status,
|
|
41
|
+
lastSeen: status.lastActivity,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
this.logger.error("Error in presence idle detection cron job", error);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Run every hour to clean up orphaned WebSocket client references in Redis.
|
|
52
|
+
* Removes socket IDs from user_clients sets when the corresponding ws_client key has expired.
|
|
53
|
+
*/
|
|
54
|
+
async cleanupExpiredClients() {
|
|
55
|
+
try {
|
|
56
|
+
await this.redisClientStorage.cleanupExpiredClients();
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
this.logger.error("Error in expired clients cleanup cron job", error);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
exports.PresenceCronService = PresenceCronService;
|
|
64
|
+
__decorate([
|
|
65
|
+
(0, schedule_1.Cron)("*/5 * * * *"),
|
|
66
|
+
__metadata("design:type", Function),
|
|
67
|
+
__metadata("design:paramtypes", []),
|
|
68
|
+
__metadata("design:returntype", Promise)
|
|
69
|
+
], PresenceCronService.prototype, "markIdleUsers", null);
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, schedule_1.Cron)("0 * * * *"),
|
|
72
|
+
__metadata("design:type", Function),
|
|
73
|
+
__metadata("design:paramtypes", []),
|
|
74
|
+
__metadata("design:returntype", Promise)
|
|
75
|
+
], PresenceCronService.prototype, "cleanupExpiredClients", null);
|
|
76
|
+
exports.PresenceCronService = PresenceCronService = __decorate([
|
|
77
|
+
(0, common_1.Injectable)(),
|
|
78
|
+
__metadata("design:paramtypes", [presence_service_1.PresenceService,
|
|
79
|
+
websocket_service_1.WebSocketService,
|
|
80
|
+
redis_client_storage_service_1.RedisClientStorageService,
|
|
81
|
+
logging_service_1.AppLoggingService])
|
|
82
|
+
], PresenceCronService);
|
|
83
|
+
//# sourceMappingURL=presence.cron.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presence.cron.service.js","sourceRoot":"","sources":["../../../../src/core/websocket/services/presence.cron.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+CAAwC;AACxC,4EAA2E;AAC3E,yDAAqD;AACrD,2DAAuD;AACvD,oGAA8F;AAGvF,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YACmB,eAAgC,EAChC,gBAAkC,EAClC,kBAA6C,EAC7C,MAAyB;QAHzB,oBAAe,GAAf,eAAe,CAAiB;QAChC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,uBAAkB,GAAlB,kBAAkB,CAA2B;QAC7C,WAAM,GAAN,MAAM,CAAmB;IACzC,CAAC;IAEJ;;OAEG;IAEG,AAAN,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAE5D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;YAEtE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,YAAY,CAAC,MAAM,gBAAgB,CAAC,CAAC;gBAE/D,oDAAoD;gBACpD,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAEhE,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,eAAe,EAAE;wBACrD,MAAM;wBACN,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,QAAQ,EAAE,MAAM,CAAC,YAAY;qBAC9B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;;OAGG;IAEG,AAAN,KAAK,CAAC,qBAAqB;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;CACF,CAAA;AAjDY,kDAAmB;AAYxB;IADL,IAAA,eAAI,EAAC,aAAa,CAAC;;;;wDAwBnB;AAOK;IADL,IAAA,eAAI,EAAC,WAAW,CAAC;;;;gEAOjB;8BAhDU,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAGyB,kCAAe;QACd,oCAAgB;QACd,wDAAyB;QACrC,mCAAiB;GALjC,mBAAmB,CAiD/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.module.d.ts","sourceRoot":"","sources":["../../../src/core/websocket/websocket.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket.module.d.ts","sourceRoot":"","sources":["../../../src/core/websocket/websocket.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAa/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAKa,eAAe;IAC1B,MAAM,CAAC,OAAO,IAAI,aAAa;CAQhC"}
|
|
@@ -9,13 +9,16 @@ var WebsocketModule_1;
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.WebsocketModule = void 0;
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
|
+
const common_2 = require("../../common");
|
|
12
13
|
const event_gateway_1 = require("./gateways/event.gateway");
|
|
13
14
|
const ws_jwt_auth_guard_1 = require("./guards/ws.jwt.auth.guard");
|
|
15
|
+
const presence_cron_service_1 = require("./services/presence.cron.service");
|
|
14
16
|
const presence_service_1 = require("./services/presence.service");
|
|
15
17
|
const websocket_service_1 = require("./services/websocket.service");
|
|
16
18
|
const WEBSOCKET_SERVICES = [websocket_service_1.WebSocketService, presence_service_1.PresenceService];
|
|
17
19
|
const WEBSOCKET_GATEWAY = [event_gateway_1.EventsGateway];
|
|
18
20
|
const WEBSOCKET_GUARDS = [ws_jwt_auth_guard_1.WsJwtGuard];
|
|
21
|
+
const WEBSOCKET_CRONS = [(0, common_2.createWorkerProvider)(presence_cron_service_1.PresenceCronService)];
|
|
19
22
|
/**
|
|
20
23
|
* WebSocket Module
|
|
21
24
|
*
|
|
@@ -40,7 +43,7 @@ let WebsocketModule = WebsocketModule_1 = class WebsocketModule {
|
|
|
40
43
|
static forRoot() {
|
|
41
44
|
return {
|
|
42
45
|
module: WebsocketModule_1,
|
|
43
|
-
providers: [...WEBSOCKET_SERVICES, ...WEBSOCKET_GATEWAY, ...WEBSOCKET_GUARDS],
|
|
46
|
+
providers: [...WEBSOCKET_SERVICES, ...WEBSOCKET_GATEWAY, ...WEBSOCKET_GUARDS, ...WEBSOCKET_CRONS],
|
|
44
47
|
exports: [...WEBSOCKET_SERVICES, ...WEBSOCKET_GUARDS],
|
|
45
48
|
global: true,
|
|
46
49
|
};
|
|
@@ -50,7 +53,7 @@ exports.WebsocketModule = WebsocketModule;
|
|
|
50
53
|
exports.WebsocketModule = WebsocketModule = WebsocketModule_1 = __decorate([
|
|
51
54
|
(0, common_1.Global)(),
|
|
52
55
|
(0, common_1.Module)({
|
|
53
|
-
providers: [...WEBSOCKET_SERVICES, ...WEBSOCKET_GATEWAY, ...WEBSOCKET_GUARDS],
|
|
56
|
+
providers: [...WEBSOCKET_SERVICES, ...WEBSOCKET_GATEWAY, ...WEBSOCKET_GUARDS, ...WEBSOCKET_CRONS],
|
|
54
57
|
exports: [...WEBSOCKET_SERVICES, ...WEBSOCKET_GUARDS],
|
|
55
58
|
})
|
|
56
59
|
], WebsocketModule);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.module.js","sourceRoot":"","sources":["../../../src/core/websocket/websocket.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAC/D,4DAAyD;AACzD,kEAAwD;AACxD,kEAA8D;AAC9D,oEAAgE;AAEhE,MAAM,kBAAkB,GAAG,CAAC,oCAAgB,EAAE,kCAAe,CAAC,CAAC;AAC/D,MAAM,iBAAiB,GAAG,CAAC,6BAAa,CAAC,CAAC;AAC1C,MAAM,gBAAgB,GAAG,CAAC,8BAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket.module.js","sourceRoot":"","sources":["../../../src/core/websocket/websocket.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAC/D,yCAAoD;AACpD,4DAAyD;AACzD,kEAAwD;AACxD,4EAAuE;AACvE,kEAA8D;AAC9D,oEAAgE;AAEhE,MAAM,kBAAkB,GAAG,CAAC,oCAAgB,EAAE,kCAAe,CAAC,CAAC;AAC/D,MAAM,iBAAiB,GAAG,CAAC,6BAAa,CAAC,CAAC;AAC1C,MAAM,gBAAgB,GAAG,CAAC,8BAAU,CAAC,CAAC;AACtC,MAAM,eAAe,GAAG,CAAC,IAAA,6BAAoB,EAAC,2CAAmB,CAAC,CAAC,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;GAmBG;AAMI,IAAM,eAAe,uBAArB,MAAM,eAAe;IAC1B,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,iBAAe;YACvB,SAAS,EAAE,CAAC,GAAG,kBAAkB,EAAE,GAAG,iBAAiB,EAAE,GAAG,gBAAgB,EAAE,GAAG,eAAe,CAAC;YACjG,OAAO,EAAE,CAAC,GAAG,kBAAkB,EAAE,GAAG,gBAAgB,CAAC;YACrD,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;CACF,CAAA;AATY,0CAAe;0BAAf,eAAe;IAL3B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,GAAG,kBAAkB,EAAE,GAAG,iBAAiB,EAAE,GAAG,gBAAgB,EAAE,GAAG,eAAe,CAAC;QACjG,OAAO,EAAE,CAAC,GAAG,kBAAkB,EAAE,GAAG,gBAAgB,CAAC;KACtD,CAAC;GACW,eAAe,CAS3B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carlonicora/nestjs-neo4jsonapi",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.102.0",
|
|
4
4
|
"description": "NestJS foundation package with JSON:API, Neo4j, Redis, LangChain agents, and common utilities",
|
|
5
5
|
"author": "Carlo Nicora",
|
|
6
6
|
"license": "GPL-3.0-or-later",
|