@rockster/core 0.0.4 → 0.1.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/access/access.module.js +3 -7
- package/access/access.module.js.map +1 -1
- package/access/constants.d.ts +2 -0
- package/access/constants.js +6 -0
- package/access/constants.js.map +1 -0
- package/access/controllers/controllers.d.ts +2 -1
- package/access/controllers/controllers.js +3 -1
- package/access/controllers/controllers.js.map +1 -1
- package/access/controllers/scope-access-profile.controller.d.ts +17 -0
- package/access/controllers/scope-access-profile.controller.js +111 -0
- package/access/controllers/scope-access-profile.controller.js.map +1 -0
- package/access/controllers/scope-group-user.controller.d.ts +11 -4
- package/access/controllers/scope-group-user.controller.js +57 -9
- package/access/controllers/scope-group-user.controller.js.map +1 -1
- package/access/controllers/scope-group.controller.d.ts +8 -5
- package/access/controllers/scope-group.controller.js +66 -12
- package/access/controllers/scope-group.controller.js.map +1 -1
- package/access/controllers/scope-owner.controller.d.ts +3 -2
- package/access/controllers/scope-owner.controller.js +18 -4
- package/access/controllers/scope-owner.controller.js.map +1 -1
- package/access/controllers/scope-user.controller.d.ts +2 -2
- package/access/controllers/scope-user.controller.js +19 -5
- package/access/controllers/scope-user.controller.js.map +1 -1
- package/access/decorators/context-params.decorator.d.ts +2 -0
- package/access/decorators/context-params.decorator.js +13 -0
- package/access/decorators/context-params.decorator.js.map +1 -0
- package/access/decorators/index.d.ts +2 -0
- package/access/decorators/index.js +19 -0
- package/access/decorators/index.js.map +1 -0
- package/access/decorators/scope-context-id-resolver.decorator.d.ts +10 -0
- package/access/decorators/scope-context-id-resolver.decorator.js +22 -0
- package/access/decorators/scope-context-id-resolver.decorator.js.map +1 -0
- package/access/entities/entities.d.ts +3 -1
- package/access/entities/entities.js +4 -0
- package/access/entities/entities.js.map +1 -1
- package/access/entities/index.d.ts +2 -0
- package/access/entities/index.js +2 -0
- package/access/entities/index.js.map +1 -1
- package/access/entities/scope-access-profile-key.d.ts +6 -0
- package/access/entities/scope-access-profile-key.js +40 -0
- package/access/entities/scope-access-profile-key.js.map +1 -0
- package/access/entities/scope-access-profile.d.ts +6 -0
- package/access/entities/scope-access-profile.js +37 -0
- package/access/entities/scope-access-profile.js.map +1 -0
- package/access/entities/scope-group.d.ts +3 -0
- package/access/entities/scope-group.js +16 -0
- package/access/entities/scope-group.js.map +1 -1
- package/access/functions/assert-context-admin-access.d.ts +15 -0
- package/access/functions/assert-context-admin-access.js +62 -0
- package/access/functions/assert-context-admin-access.js.map +1 -0
- package/access/functions/assert-master-or-owner.d.ts +9 -0
- package/access/functions/assert-master-or-owner.js +40 -0
- package/access/functions/assert-master-or-owner.js.map +1 -0
- package/access/functions/assert-scope-action-access.d.ts +32 -0
- package/access/functions/assert-scope-action-access.js +189 -0
- package/access/functions/assert-scope-action-access.js.map +1 -0
- package/access/functions/build-scope-resolver-initial-data.d.ts +4 -0
- package/access/functions/build-scope-resolver-initial-data.js +17 -0
- package/access/functions/build-scope-resolver-initial-data.js.map +1 -0
- package/access/functions/describe-action-scope.d.ts +9 -0
- package/access/functions/describe-action-scope.js +27 -0
- package/access/functions/describe-action-scope.js.map +1 -0
- package/access/functions/index.d.ts +5 -0
- package/access/functions/index.js +5 -0
- package/access/functions/index.js.map +1 -1
- package/access/functions/init-scope-service-executors.d.ts +3 -0
- package/access/functions/init-scope-service-executors.js +38 -0
- package/access/functions/init-scope-service-executors.js.map +1 -0
- package/access/functions/normalize-scope-keys.d.ts +4 -0
- package/access/functions/normalize-scope-keys.js +17 -0
- package/access/functions/normalize-scope-keys.js.map +1 -0
- package/access/functions/register-scope.d.ts +16 -5
- package/access/functions/register-scope.js +57 -45
- package/access/functions/register-scope.js.map +1 -1
- package/access/functions/resolve-scope-context-id.d.ts +9 -0
- package/access/functions/resolve-scope-context-id.js +71 -0
- package/access/functions/resolve-scope-context-id.js.map +1 -0
- package/access/functions/warn-if-public.d.ts +12 -0
- package/access/functions/warn-if-public.js +20 -0
- package/access/functions/warn-if-public.js.map +1 -0
- package/access/index.d.ts +2 -0
- package/access/index.js +2 -0
- package/access/index.js.map +1 -1
- package/access/interfaces/index.d.ts +1 -0
- package/access/interfaces/index.js +1 -0
- package/access/interfaces/index.js.map +1 -1
- package/access/interfaces/resolve-scope-context-id.d.ts +21 -0
- package/access/interfaces/resolve-scope-context-id.js +3 -0
- package/access/interfaces/resolve-scope-context-id.js.map +1 -0
- package/access/interfaces/scope-service-registry.d.ts +16 -1
- package/access/interfaces/scope-service.d.ts +6 -7
- package/access/models/scope-access-profile-keys-update.d.ts +5 -0
- package/access/models/scope-access-profile-keys-update.js +27 -0
- package/access/models/scope-access-profile-keys-update.js.map +1 -0
- package/access/models/scope-group-apply-access-profile.d.ts +6 -0
- package/access/models/scope-group-apply-access-profile.js +32 -0
- package/access/models/scope-group-apply-access-profile.js.map +1 -0
- package/access/models/scope-user-mapped.d.ts +1 -0
- package/access/models/scope-user-mapped.js +6 -0
- package/access/models/scope-user-mapped.js.map +1 -1
- package/access/models/scope-user.js +4 -2
- package/access/models/scope-user.js.map +1 -1
- package/access/queries/scope-access-profile.query.d.ts +1 -0
- package/access/queries/scope-access-profile.query.js +10 -0
- package/access/queries/scope-access-profile.query.js.map +1 -0
- package/access/queries/scope-group.query.js +9 -2
- package/access/queries/scope-group.query.js.map +1 -1
- package/access/services/index.d.ts +1 -0
- package/access/services/index.js +1 -0
- package/access/services/index.js.map +1 -1
- package/access/services/scope-access-profile.service.d.ts +13 -0
- package/access/services/scope-access-profile.service.js +75 -0
- package/access/services/scope-access-profile.service.js.map +1 -0
- package/access/services/scope-access.service.js +4 -2
- package/access/services/scope-access.service.js.map +1 -1
- package/access/services/scope-group-user.service.js +2 -2
- package/access/services/scope-group-user.service.js.map +1 -1
- package/access/services/scope-group.service.d.ts +10 -0
- package/access/services/scope-group.service.js +38 -1
- package/access/services/scope-group.service.js.map +1 -1
- package/access/services/scope-owner.service.d.ts +3 -0
- package/access/services/scope-owner.service.js +26 -1
- package/access/services/scope-owner.service.js.map +1 -1
- package/command/services/post-action-builder.js +19 -17
- package/command/services/post-action-builder.js.map +1 -1
- package/command/services/remove-action-builder.js +30 -22
- package/command/services/remove-action-builder.js.map +1 -1
- package/controllers/interfaces/controller-property.d.ts +7 -1
- package/controllers/services/default-action-builder.js +12 -30
- package/controllers/services/default-action-builder.js.map +1 -1
- package/controllers/services/restful-action-builder.js +25 -1
- package/controllers/services/restful-action-builder.js.map +1 -1
- package/core/contexts/request-context.d.ts +5 -0
- package/core/contexts/request-context.js +6 -0
- package/core/contexts/request-context.js.map +1 -0
- package/core/core.controller.js +6 -1
- package/core/core.controller.js.map +1 -1
- package/core/interfaces/action-docs.d.ts +15 -0
- package/core/interfaces/request-context.d.ts +5 -0
- package/core/services/request-router.js +2 -1
- package/core/services/request-router.js.map +1 -1
- package/database/database.controller.d.ts +1 -3
- package/database/database.controller.js +1 -5
- package/database/database.controller.js.map +1 -1
- package/database/decorators/protect-entity.decorator.d.ts +1 -0
- package/database/decorators/protect-entity.decorator.js +2 -3
- package/database/decorators/protect-entity.decorator.js.map +1 -1
- package/database/decorators/protected-entity.decorator.d.ts +1 -0
- package/database/decorators/protected-entity.decorator.js +2 -16
- package/database/decorators/protected-entity.decorator.js.map +1 -1
- package/database/functions/inject-repository-handle.js +4 -3
- package/database/functions/inject-repository-handle.js.map +1 -1
- package/database/interfaces/entity-object.d.ts +0 -6
- package/database/interfaces/index.d.ts +0 -1
- package/database/interfaces/index.js +0 -1
- package/database/interfaces/index.js.map +1 -1
- package/database/interfaces/repository.d.ts +8 -8
- package/docs/docs.module.js +3 -1
- package/docs/docs.module.js.map +1 -1
- package/docs/migrations/1747584000000-CreateDocsTables.d.ts +5 -0
- package/docs/migrations/1747584000000-CreateDocsTables.js +90 -0
- package/docs/migrations/1747584000000-CreateDocsTables.js.map +1 -0
- package/docs/migrations/migrations.d.ts +2 -0
- package/docs/migrations/migrations.js +8 -0
- package/docs/migrations/migrations.js.map +1 -0
- package/global.d.ts +2 -0
- package/global.js +1 -0
- package/global.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/jobs/jobs.controller.d.ts +2 -0
- package/jobs/jobs.controller.js +20 -16
- package/jobs/jobs.controller.js.map +1 -1
- package/package.json +70 -70
- package/query/functions/add-join.js +2 -13
- package/query/functions/add-join.js.map +1 -1
- package/query/functions/create-query-builder.js +0 -10
- package/query/functions/create-query-builder.js.map +1 -1
- package/query/functions/execute-query.js +34 -0
- package/query/functions/execute-query.js.map +1 -1
- package/query/functions/load-properties.js +73 -5
- package/query/functions/load-properties.js.map +1 -1
- package/query/services/query-action-builder.js +12 -18
- package/query/services/query-action-builder.js.map +1 -1
- package/remote-logs/dtos/index.d.ts +2 -0
- package/remote-logs/dtos/index.js +19 -0
- package/remote-logs/dtos/index.js.map +1 -0
- package/remote-logs/dtos/remote-log-hooks.dto.d.ts +72 -0
- package/remote-logs/dtos/remote-log-hooks.dto.js +280 -0
- package/remote-logs/dtos/remote-log-hooks.dto.js.map +1 -0
- package/remote-logs/dtos/remote-log-search.dto.d.ts +34 -0
- package/remote-logs/dtos/remote-log-search.dto.js +146 -0
- package/remote-logs/dtos/remote-log-search.dto.js.map +1 -0
- package/remote-logs/environment.d.ts +4 -0
- package/remote-logs/environment.js +5 -0
- package/remote-logs/environment.js.map +1 -0
- package/remote-logs/index.d.ts +3 -0
- package/remote-logs/index.js +20 -0
- package/remote-logs/index.js.map +1 -0
- package/remote-logs/interfaces/index.d.ts +1 -0
- package/remote-logs/interfaces/index.js +18 -0
- package/remote-logs/interfaces/index.js.map +1 -0
- package/remote-logs/interfaces/remote-logs-module-options.d.ts +8 -0
- package/remote-logs/interfaces/remote-logs-module-options.js +3 -0
- package/remote-logs/interfaces/remote-logs-module-options.js.map +1 -0
- package/remote-logs/remote-logs-hooks.controller.d.ts +60 -0
- package/remote-logs/remote-logs-hooks.controller.js +331 -0
- package/remote-logs/remote-logs-hooks.controller.js.map +1 -0
- package/remote-logs/remote-logs.controller.d.ts +8 -0
- package/remote-logs/remote-logs.controller.js +41 -0
- package/remote-logs/remote-logs.controller.js.map +1 -0
- package/remote-logs/remote-logs.module.d.ts +12 -0
- package/remote-logs/remote-logs.module.js +107 -0
- package/remote-logs/remote-logs.module.js.map +1 -0
- package/remote-logs/services/opensearch.service.d.ts +13 -0
- package/remote-logs/services/opensearch.service.js +167 -0
- package/remote-logs/services/opensearch.service.js.map +1 -0
- package/security/auth.controller.js +4 -4
- package/security/auth.controller.js.map +1 -1
- package/security/functions/add-protected.d.ts +2 -2
- package/security/functions/add-protected.js +8 -5
- package/security/functions/add-protected.js.map +1 -1
- package/security/functions/create-authentication-interceptor.d.ts +44 -0
- package/security/functions/create-authentication-interceptor.js +114 -0
- package/security/functions/create-authentication-interceptor.js.map +1 -0
- package/security/functions/find-auth-context.d.ts +1 -2
- package/security/functions/find-auth-context.js +6 -11
- package/security/functions/find-auth-context.js.map +1 -1
- package/security/index.d.ts +1 -0
- package/security/index.js +1 -0
- package/security/index.js.map +1 -1
- package/security/interfaces/authorization-schema.d.ts +3 -1
- package/security/services/authorization.service.d.ts +5 -3
- package/security/services/authorization.service.js +56 -37
- package/security/services/authorization.service.js.map +1 -1
- package/storage/services/routes.service.js +1 -1
- package/storage/services/routes.service.js.map +1 -1
- package/tasks/constants.d.ts +3 -0
- package/tasks/constants.js +2 -1
- package/tasks/constants.js.map +1 -1
- package/tasks/controllers/task.controller.d.ts +3 -2
- package/tasks/controllers/task.controller.js +11 -40
- package/tasks/controllers/task.controller.js.map +1 -1
- package/tasks/decorators/index.d.ts +1 -0
- package/tasks/decorators/index.js +1 -0
- package/tasks/decorators/index.js.map +1 -1
- package/tasks/decorators/task-payload.decorator.d.ts +1 -0
- package/tasks/decorators/task-payload.decorator.js +12 -0
- package/tasks/decorators/task-payload.decorator.js.map +1 -0
- package/tasks/decorators/task.decorator.js +3 -0
- package/tasks/decorators/task.decorator.js.map +1 -1
- package/tasks/functions/compile-all-task-post-hooks.d.ts +1 -0
- package/tasks/functions/compile-all-task-post-hooks.js +27 -0
- package/tasks/functions/compile-all-task-post-hooks.js.map +1 -0
- package/tasks/functions/compile-task-hook-handle.d.ts +6 -0
- package/tasks/functions/compile-task-hook-handle.js +67 -0
- package/tasks/functions/compile-task-hook-handle.js.map +1 -0
- package/tasks/functions/create-task-hook.d.ts +9 -0
- package/tasks/functions/create-task-hook.js +13 -0
- package/tasks/functions/create-task-hook.js.map +1 -0
- package/tasks/functions/create-task-message-post.js +2 -0
- package/tasks/functions/create-task-message-post.js.map +1 -1
- package/tasks/functions/register-task-post-hook-interceptors.d.ts +3 -0
- package/tasks/functions/register-task-post-hook-interceptors.js +86 -0
- package/tasks/functions/register-task-post-hook-interceptors.js.map +1 -0
- package/tasks/functions/run-task-post-hooks.d.ts +11 -0
- package/tasks/functions/run-task-post-hooks.js +18 -0
- package/tasks/functions/run-task-post-hooks.js.map +1 -0
- package/tasks/functions/task-message-operations.d.ts +18 -0
- package/tasks/functions/task-message-operations.js +100 -0
- package/tasks/functions/task-message-operations.js.map +1 -0
- package/tasks/functions/validate-task-payload.d.ts +2 -0
- package/tasks/functions/validate-task-payload.js +19 -0
- package/tasks/functions/validate-task-payload.js.map +1 -0
- package/tasks/hook-constants.d.ts +2 -0
- package/tasks/hook-constants.js +6 -0
- package/tasks/hook-constants.js.map +1 -0
- package/tasks/index.d.ts +3 -0
- package/tasks/index.js +3 -0
- package/tasks/index.js.map +1 -1
- package/tasks/interfaces/compiled-task-post-hooks.d.ts +17 -0
- package/tasks/interfaces/compiled-task-post-hooks.js +3 -0
- package/tasks/interfaces/compiled-task-post-hooks.js.map +1 -0
- package/tasks/interfaces/index.d.ts +3 -0
- package/tasks/interfaces/index.js +3 -0
- package/tasks/interfaces/index.js.map +1 -1
- package/tasks/interfaces/task-hook.d.ts +16 -0
- package/tasks/interfaces/task-hook.js +8 -0
- package/tasks/interfaces/task-hook.js.map +1 -0
- package/tasks/interfaces/task-object.d.ts +4 -0
- package/tasks/interfaces/task-post-hook.d.ts +2 -0
- package/{database/interfaces/protector.js → tasks/interfaces/task-post-hook.js} +1 -1
- package/tasks/interfaces/task-post-hook.js.map +1 -0
- package/tasks/interfaces/task-settings.d.ts +5 -0
- package/tasks/services/task-runner.service.d.ts +24 -3
- package/tasks/services/task-runner.service.js +66 -28
- package/tasks/services/task-runner.service.js.map +1 -1
- package/database/functions/use-protector.d.ts +0 -2
- package/database/functions/use-protector.js +0 -11
- package/database/functions/use-protector.js.map +0 -1
- package/database/interfaces/protector.d.ts +0 -51
- package/database/interfaces/protector.js.map +0 -1
- package/database/services/protect-builder.d.ts +0 -60
- package/database/services/protect-builder.js +0 -524
- package/database/services/protect-builder.js.map +0 -1
- package/security/functions/add-protect.d.ts +0 -2
- package/security/functions/add-protect.js +0 -11
- package/security/functions/add-protect.js.map +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./remote-logs-module-options"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"./","sources":["remote-logs/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-logs-module-options.js","sourceRoot":"./","sources":["remote-logs/interfaces/remote-logs-module-options.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { IRequestContext } from '../core/interfaces/request-context';
|
|
2
|
+
import { LogClearInterval, LogLevel } from '@rockster/common/logs';
|
|
3
|
+
import { OpenSearchService } from './services/opensearch.service';
|
|
4
|
+
import { RemoteLogAppsQueryDto, RemoteLogEventReadDto, RemoteLogEventsQueryDto, RemoteLogHookPostDto, RemoteLogHookQueryDto, RemoteLogHookRemoveDto, RemoteLogSettingsPostDto, RemoteLogSettingsQueryDto, RemoteLogSettingsRemoveDto } from './dtos/remote-log-hooks.dto';
|
|
5
|
+
export declare class RemoteLogsHooksController {
|
|
6
|
+
protected readonly openSearchService: OpenSearchService;
|
|
7
|
+
constructor(openSearchService: OpenSearchService);
|
|
8
|
+
query(content: RemoteLogHookQueryDto): Promise<import("@rockster/common/logs").IRemoteLogSearchResponse>;
|
|
9
|
+
post(content: RemoteLogHookPostDto): Promise<{
|
|
10
|
+
ok: boolean;
|
|
11
|
+
id: string;
|
|
12
|
+
}>;
|
|
13
|
+
remove(content: RemoteLogHookRemoveDto): Promise<{
|
|
14
|
+
ok: boolean;
|
|
15
|
+
id: string;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
export declare class RemoteLogsSettingsController {
|
|
19
|
+
protected readonly openSearchService: OpenSearchService;
|
|
20
|
+
constructor(openSearchService: OpenSearchService);
|
|
21
|
+
query(_content: RemoteLogSettingsQueryDto): Promise<{
|
|
22
|
+
settings: {
|
|
23
|
+
id: string;
|
|
24
|
+
appId: string;
|
|
25
|
+
clearInterval: LogClearInterval;
|
|
26
|
+
logLevel: LogLevel;
|
|
27
|
+
date: string;
|
|
28
|
+
}[];
|
|
29
|
+
}>;
|
|
30
|
+
post(content: RemoteLogSettingsPostDto): Promise<{
|
|
31
|
+
id: string;
|
|
32
|
+
appId: string;
|
|
33
|
+
clearInterval: LogClearInterval;
|
|
34
|
+
logLevel: LogLevel;
|
|
35
|
+
date: string;
|
|
36
|
+
}>;
|
|
37
|
+
remove(content: RemoteLogSettingsRemoveDto): Promise<{
|
|
38
|
+
ok: boolean;
|
|
39
|
+
id: string;
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
42
|
+
export declare class RemoteLogsAppsController {
|
|
43
|
+
protected readonly openSearchService: OpenSearchService;
|
|
44
|
+
constructor(openSearchService: OpenSearchService);
|
|
45
|
+
query(content: RemoteLogAppsQueryDto): Promise<{
|
|
46
|
+
apps: {
|
|
47
|
+
appId: string;
|
|
48
|
+
date: string;
|
|
49
|
+
}[];
|
|
50
|
+
}>;
|
|
51
|
+
}
|
|
52
|
+
export declare class RemoteLogsEventsController {
|
|
53
|
+
protected readonly openSearchService: OpenSearchService;
|
|
54
|
+
constructor(openSearchService: OpenSearchService);
|
|
55
|
+
query(content: RemoteLogEventsQueryDto): Promise<import("@rockster/common/logs").IRemoteLogSearchResponse>;
|
|
56
|
+
read(content: RemoteLogEventReadDto, requestContext: IRequestContext): Promise<{
|
|
57
|
+
ok: boolean;
|
|
58
|
+
id: string;
|
|
59
|
+
}>;
|
|
60
|
+
}
|
|
@@ -0,0 +1,331 @@
|
|
|
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
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.RemoteLogsEventsController = exports.RemoteLogsAppsController = exports.RemoteLogsSettingsController = exports.RemoteLogsHooksController = void 0;
|
|
16
|
+
const controllers_1 = require("../controllers");
|
|
17
|
+
const request_context_decorator_1 = require("../controllers/decorators/request-context.decorator");
|
|
18
|
+
const query_builder_1 = require("@rockster/common/query-builder");
|
|
19
|
+
const logs_1 = require("@rockster/common/logs");
|
|
20
|
+
const crypto_1 = require("crypto");
|
|
21
|
+
const opensearch_service_1 = require("./services/opensearch.service");
|
|
22
|
+
const remote_log_hooks_dto_1 = require("./dtos/remote-log-hooks.dto");
|
|
23
|
+
const remote_log_search_dto_1 = require("./dtos/remote-log-search.dto");
|
|
24
|
+
const unreadEventFilter = {
|
|
25
|
+
bool: {
|
|
26
|
+
should: [
|
|
27
|
+
{ term: { read: false } },
|
|
28
|
+
{ bool: { must_not: { exists: { field: 'read' } } } },
|
|
29
|
+
],
|
|
30
|
+
minimum_should_match: 1,
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
let RemoteLogsHooksController = class RemoteLogsHooksController {
|
|
34
|
+
constructor(openSearchService) {
|
|
35
|
+
this.openSearchService = openSearchService;
|
|
36
|
+
}
|
|
37
|
+
async query(content) {
|
|
38
|
+
const appId = content.appId?.trim();
|
|
39
|
+
return this.openSearchService.searchIndex('hooks', {
|
|
40
|
+
size: 500,
|
|
41
|
+
sort: [{ date: { order: 'desc', unmapped_type: 'keyword' } }],
|
|
42
|
+
query: appId
|
|
43
|
+
? {
|
|
44
|
+
bool: {
|
|
45
|
+
must: [
|
|
46
|
+
{
|
|
47
|
+
bool: {
|
|
48
|
+
should: [
|
|
49
|
+
{ term: { 'appId.keyword': appId } },
|
|
50
|
+
{ term: { appId } },
|
|
51
|
+
],
|
|
52
|
+
minimum_should_match: 1,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
}
|
|
58
|
+
: { match_all: {} },
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async post(content) {
|
|
62
|
+
const id = content.id ?? (0, crypto_1.randomUUID)();
|
|
63
|
+
const conditionQuery = content.conditionQuery;
|
|
64
|
+
const aggregatorQuery = content.aggregatorQuery;
|
|
65
|
+
await this.openSearchService.indexDocument('hooks', id, {
|
|
66
|
+
...content,
|
|
67
|
+
id,
|
|
68
|
+
conditionQueryAsHandle: conditionQuery?.queryValue
|
|
69
|
+
? (0, query_builder_1.buildQueryAsHandle)(conditionQuery.queryValue)
|
|
70
|
+
: undefined,
|
|
71
|
+
aggregatorQueryAsHandle: aggregatorQuery?.queryValue
|
|
72
|
+
? (0, query_builder_1.buildQueryAsHandle)(aggregatorQuery.queryValue)
|
|
73
|
+
: undefined,
|
|
74
|
+
date: new Date().toISOString(),
|
|
75
|
+
});
|
|
76
|
+
return { ok: true, id };
|
|
77
|
+
}
|
|
78
|
+
async remove(content) {
|
|
79
|
+
const existing = await this.openSearchService.getDocument('hooks', content.id);
|
|
80
|
+
if ((0, logs_1.isAdministrativeLogHook)({
|
|
81
|
+
...(existing ?? {}),
|
|
82
|
+
id: content.id,
|
|
83
|
+
})) {
|
|
84
|
+
throw new Error('Administrative log hooks cannot be removed');
|
|
85
|
+
}
|
|
86
|
+
await this.openSearchService.deleteDocument('hooks', content.id);
|
|
87
|
+
return { ok: true, id: content.id };
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
exports.RemoteLogsHooksController = RemoteLogsHooksController;
|
|
91
|
+
__decorate([
|
|
92
|
+
(0, controllers_1.Action)({ response: () => remote_log_search_dto_1.RemoteLogSearchResponseDto }),
|
|
93
|
+
__param(0, (0, controllers_1.ActionContent)()),
|
|
94
|
+
__metadata("design:type", Function),
|
|
95
|
+
__metadata("design:paramtypes", [remote_log_hooks_dto_1.RemoteLogHookQueryDto]),
|
|
96
|
+
__metadata("design:returntype", Promise)
|
|
97
|
+
], RemoteLogsHooksController.prototype, "query", null);
|
|
98
|
+
__decorate([
|
|
99
|
+
(0, controllers_1.Action)({ response: () => remote_log_hooks_dto_1.RemoteLogHookOkDto }),
|
|
100
|
+
__param(0, (0, controllers_1.ActionContent)()),
|
|
101
|
+
__metadata("design:type", Function),
|
|
102
|
+
__metadata("design:paramtypes", [remote_log_hooks_dto_1.RemoteLogHookPostDto]),
|
|
103
|
+
__metadata("design:returntype", Promise)
|
|
104
|
+
], RemoteLogsHooksController.prototype, "post", null);
|
|
105
|
+
__decorate([
|
|
106
|
+
(0, controllers_1.Action)({ response: () => remote_log_hooks_dto_1.RemoteLogHookOkDto }),
|
|
107
|
+
__param(0, (0, controllers_1.ActionContent)()),
|
|
108
|
+
__metadata("design:type", Function),
|
|
109
|
+
__metadata("design:paramtypes", [remote_log_hooks_dto_1.RemoteLogHookRemoveDto]),
|
|
110
|
+
__metadata("design:returntype", Promise)
|
|
111
|
+
], RemoteLogsHooksController.prototype, "remove", null);
|
|
112
|
+
exports.RemoteLogsHooksController = RemoteLogsHooksController = __decorate([
|
|
113
|
+
(0, controllers_1.Controller)({ alias: 'remoteLogsHooks' }),
|
|
114
|
+
__metadata("design:paramtypes", [opensearch_service_1.OpenSearchService])
|
|
115
|
+
], RemoteLogsHooksController);
|
|
116
|
+
let RemoteLogsSettingsController = class RemoteLogsSettingsController {
|
|
117
|
+
constructor(openSearchService) {
|
|
118
|
+
this.openSearchService = openSearchService;
|
|
119
|
+
}
|
|
120
|
+
async query(_content) {
|
|
121
|
+
const response = await this.openSearchService.searchIndex('settings', {
|
|
122
|
+
size: 500,
|
|
123
|
+
sort: [{ date: { order: 'desc', unmapped_type: 'keyword' } }],
|
|
124
|
+
query: { match_all: {} },
|
|
125
|
+
});
|
|
126
|
+
const hits = response.hits?.hits ?? [];
|
|
127
|
+
const settings = hits.map((hit) => {
|
|
128
|
+
const source = (hit._source ?? {});
|
|
129
|
+
const id = hit._id ?? source.id ?? logs_1.LOG_SETTINGS_GLOBAL_ID;
|
|
130
|
+
const isGlobal = id === logs_1.LOG_SETTINGS_GLOBAL_ID || !source.appId;
|
|
131
|
+
return {
|
|
132
|
+
id,
|
|
133
|
+
appId: isGlobal ? null : (source.appId ?? id),
|
|
134
|
+
clearInterval: source.clearInterval ?? logs_1.LogClearInterval.days_30,
|
|
135
|
+
logLevel: source.logLevel ?? logs_1.LogLevel.info,
|
|
136
|
+
date: source.date,
|
|
137
|
+
};
|
|
138
|
+
});
|
|
139
|
+
return { settings };
|
|
140
|
+
}
|
|
141
|
+
async post(content) {
|
|
142
|
+
const appId = content.appId?.trim() || null;
|
|
143
|
+
const isGlobal = !appId;
|
|
144
|
+
const id = isGlobal ? logs_1.LOG_SETTINGS_GLOBAL_ID : appId;
|
|
145
|
+
const document = {
|
|
146
|
+
appId: isGlobal ? null : appId,
|
|
147
|
+
clearInterval: content.clearInterval,
|
|
148
|
+
logLevel: content.logLevel,
|
|
149
|
+
date: new Date().toISOString(),
|
|
150
|
+
};
|
|
151
|
+
await this.openSearchService.indexDocument('settings', id, document);
|
|
152
|
+
return {
|
|
153
|
+
id,
|
|
154
|
+
appId: isGlobal ? null : appId,
|
|
155
|
+
clearInterval: content.clearInterval,
|
|
156
|
+
logLevel: content.logLevel,
|
|
157
|
+
date: document.date,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
async remove(content) {
|
|
161
|
+
if (content.id === logs_1.LOG_SETTINGS_GLOBAL_ID) {
|
|
162
|
+
throw new Error('Global log settings cannot be removed');
|
|
163
|
+
}
|
|
164
|
+
await this.openSearchService.deleteDocument('settings', content.id);
|
|
165
|
+
return { ok: true, id: content.id };
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
exports.RemoteLogsSettingsController = RemoteLogsSettingsController;
|
|
169
|
+
__decorate([
|
|
170
|
+
(0, controllers_1.Action)({ response: () => remote_log_hooks_dto_1.RemoteLogSettingsListResponseDto }),
|
|
171
|
+
__param(0, (0, controllers_1.ActionContent)()),
|
|
172
|
+
__metadata("design:type", Function),
|
|
173
|
+
__metadata("design:paramtypes", [remote_log_hooks_dto_1.RemoteLogSettingsQueryDto]),
|
|
174
|
+
__metadata("design:returntype", Promise)
|
|
175
|
+
], RemoteLogsSettingsController.prototype, "query", null);
|
|
176
|
+
__decorate([
|
|
177
|
+
(0, controllers_1.Action)({ response: () => remote_log_hooks_dto_1.RemoteLogSettingsResponseDto }),
|
|
178
|
+
__param(0, (0, controllers_1.ActionContent)()),
|
|
179
|
+
__metadata("design:type", Function),
|
|
180
|
+
__metadata("design:paramtypes", [remote_log_hooks_dto_1.RemoteLogSettingsPostDto]),
|
|
181
|
+
__metadata("design:returntype", Promise)
|
|
182
|
+
], RemoteLogsSettingsController.prototype, "post", null);
|
|
183
|
+
__decorate([
|
|
184
|
+
(0, controllers_1.Action)({ response: () => remote_log_hooks_dto_1.RemoteLogHookOkDto }),
|
|
185
|
+
__param(0, (0, controllers_1.ActionContent)()),
|
|
186
|
+
__metadata("design:type", Function),
|
|
187
|
+
__metadata("design:paramtypes", [remote_log_hooks_dto_1.RemoteLogSettingsRemoveDto]),
|
|
188
|
+
__metadata("design:returntype", Promise)
|
|
189
|
+
], RemoteLogsSettingsController.prototype, "remove", null);
|
|
190
|
+
exports.RemoteLogsSettingsController = RemoteLogsSettingsController = __decorate([
|
|
191
|
+
(0, controllers_1.Controller)({ alias: 'remoteLogsSettings' }),
|
|
192
|
+
__metadata("design:paramtypes", [opensearch_service_1.OpenSearchService])
|
|
193
|
+
], RemoteLogsSettingsController);
|
|
194
|
+
let RemoteLogsAppsController = class RemoteLogsAppsController {
|
|
195
|
+
constructor(openSearchService) {
|
|
196
|
+
this.openSearchService = openSearchService;
|
|
197
|
+
}
|
|
198
|
+
async query(content) {
|
|
199
|
+
const size = content.size ?? 50;
|
|
200
|
+
const search = content.search?.trim();
|
|
201
|
+
const query = search
|
|
202
|
+
? {
|
|
203
|
+
bool: {
|
|
204
|
+
should: [
|
|
205
|
+
{ prefix: { appId: search } },
|
|
206
|
+
{ wildcard: { appId: `*${search}*` } },
|
|
207
|
+
],
|
|
208
|
+
minimum_should_match: 1,
|
|
209
|
+
},
|
|
210
|
+
}
|
|
211
|
+
: { match_all: {} };
|
|
212
|
+
const response = await this.openSearchService.searchIndex('apps', {
|
|
213
|
+
size,
|
|
214
|
+
sort: [{ appId: { order: 'asc', unmapped_type: 'keyword' } }],
|
|
215
|
+
query,
|
|
216
|
+
});
|
|
217
|
+
const hits = response.hits?.hits ?? [];
|
|
218
|
+
const apps = hits.map((hit) => {
|
|
219
|
+
const source = (hit._source ?? {});
|
|
220
|
+
return {
|
|
221
|
+
appId: source.appId ?? hit._id ?? '',
|
|
222
|
+
date: source.date,
|
|
223
|
+
};
|
|
224
|
+
}).filter((app) => Boolean(app.appId));
|
|
225
|
+
return { apps };
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
exports.RemoteLogsAppsController = RemoteLogsAppsController;
|
|
229
|
+
__decorate([
|
|
230
|
+
(0, controllers_1.Action)({ response: () => remote_log_hooks_dto_1.RemoteLogAppsListResponseDto }),
|
|
231
|
+
__param(0, (0, controllers_1.ActionContent)()),
|
|
232
|
+
__metadata("design:type", Function),
|
|
233
|
+
__metadata("design:paramtypes", [remote_log_hooks_dto_1.RemoteLogAppsQueryDto]),
|
|
234
|
+
__metadata("design:returntype", Promise)
|
|
235
|
+
], RemoteLogsAppsController.prototype, "query", null);
|
|
236
|
+
exports.RemoteLogsAppsController = RemoteLogsAppsController = __decorate([
|
|
237
|
+
(0, controllers_1.Controller)({ alias: 'remoteLogsApps' }),
|
|
238
|
+
__metadata("design:paramtypes", [opensearch_service_1.OpenSearchService])
|
|
239
|
+
], RemoteLogsAppsController);
|
|
240
|
+
let RemoteLogsEventsController = class RemoteLogsEventsController {
|
|
241
|
+
constructor(openSearchService) {
|
|
242
|
+
this.openSearchService = openSearchService;
|
|
243
|
+
}
|
|
244
|
+
async query(content) {
|
|
245
|
+
const must = [
|
|
246
|
+
{
|
|
247
|
+
bool: {
|
|
248
|
+
should: [
|
|
249
|
+
{ term: { 'appId.keyword': content.appId } },
|
|
250
|
+
{ term: { appId: content.appId } },
|
|
251
|
+
],
|
|
252
|
+
minimum_should_match: 1,
|
|
253
|
+
},
|
|
254
|
+
},
|
|
255
|
+
];
|
|
256
|
+
if (content.hookId) {
|
|
257
|
+
must.push({
|
|
258
|
+
bool: {
|
|
259
|
+
should: [
|
|
260
|
+
{ term: { 'hookId.keyword': content.hookId } },
|
|
261
|
+
{ term: { hookId: content.hookId } },
|
|
262
|
+
],
|
|
263
|
+
minimum_should_match: 1,
|
|
264
|
+
},
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
if (content.fromDate || content.toDate) {
|
|
268
|
+
must.push({
|
|
269
|
+
range: {
|
|
270
|
+
date: {
|
|
271
|
+
...(content.fromDate ? { gte: content.fromDate } : {}),
|
|
272
|
+
...(content.toDate ? { lte: content.toDate } : {}),
|
|
273
|
+
},
|
|
274
|
+
},
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
const body = {
|
|
278
|
+
size: content.size ?? 50,
|
|
279
|
+
sort: [{ date: { order: 'desc', unmapped_type: 'keyword' } }],
|
|
280
|
+
query: { bool: { must } },
|
|
281
|
+
};
|
|
282
|
+
if (content.includeAggregations) {
|
|
283
|
+
body.aggs = {
|
|
284
|
+
byHook: {
|
|
285
|
+
terms: { field: 'hookId', size: 100 },
|
|
286
|
+
aggs: {
|
|
287
|
+
unread: {
|
|
288
|
+
filter: unreadEventFilter,
|
|
289
|
+
},
|
|
290
|
+
read: {
|
|
291
|
+
filter: { term: { read: true } },
|
|
292
|
+
},
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
return this.openSearchService.searchIndex('events', body);
|
|
298
|
+
}
|
|
299
|
+
async read(content, requestContext) {
|
|
300
|
+
const userId = requestContext.session?.userId;
|
|
301
|
+
if (!userId) {
|
|
302
|
+
throw new Error('Authenticated session is required to mark events as read');
|
|
303
|
+
}
|
|
304
|
+
await this.openSearchService.updateDocument('events', content.id, {
|
|
305
|
+
read: true,
|
|
306
|
+
readBy: userId,
|
|
307
|
+
});
|
|
308
|
+
return { ok: true, id: content.id };
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
exports.RemoteLogsEventsController = RemoteLogsEventsController;
|
|
312
|
+
__decorate([
|
|
313
|
+
(0, controllers_1.Action)({ response: () => remote_log_search_dto_1.RemoteLogSearchResponseDto }),
|
|
314
|
+
__param(0, (0, controllers_1.ActionContent)()),
|
|
315
|
+
__metadata("design:type", Function),
|
|
316
|
+
__metadata("design:paramtypes", [remote_log_hooks_dto_1.RemoteLogEventsQueryDto]),
|
|
317
|
+
__metadata("design:returntype", Promise)
|
|
318
|
+
], RemoteLogsEventsController.prototype, "query", null);
|
|
319
|
+
__decorate([
|
|
320
|
+
(0, controllers_1.Action)({ response: () => remote_log_hooks_dto_1.RemoteLogHookOkDto }),
|
|
321
|
+
__param(0, (0, controllers_1.ActionContent)()),
|
|
322
|
+
__param(1, (0, request_context_decorator_1.RequestContext)()),
|
|
323
|
+
__metadata("design:type", Function),
|
|
324
|
+
__metadata("design:paramtypes", [remote_log_hooks_dto_1.RemoteLogEventReadDto, Object]),
|
|
325
|
+
__metadata("design:returntype", Promise)
|
|
326
|
+
], RemoteLogsEventsController.prototype, "read", null);
|
|
327
|
+
exports.RemoteLogsEventsController = RemoteLogsEventsController = __decorate([
|
|
328
|
+
(0, controllers_1.Controller)({ alias: 'remoteLogsEvents' }),
|
|
329
|
+
__metadata("design:paramtypes", [opensearch_service_1.OpenSearchService])
|
|
330
|
+
], RemoteLogsEventsController);
|
|
331
|
+
//# sourceMappingURL=remote-logs-hooks.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-logs-hooks.controller.js","sourceRoot":"./","sources":["remote-logs/remote-logs-hooks.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { OpenSearchService } from './services/opensearch.service';
|
|
2
|
+
import { RemoteLogSearchPayloadDto } from './dtos/remote-log-search.dto';
|
|
3
|
+
import { IRemoteLogSearchPayload } from '@rockster/common/logs';
|
|
4
|
+
export declare class RemoteLogsController {
|
|
5
|
+
protected readonly openSearchService: OpenSearchService;
|
|
6
|
+
constructor(openSearchService: OpenSearchService);
|
|
7
|
+
search(payload: RemoteLogSearchPayloadDto & IRemoteLogSearchPayload): Promise<import("@rockster/common/logs").IRemoteLogSearchResponse>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.RemoteLogsController = void 0;
|
|
16
|
+
const controllers_1 = require("../controllers");
|
|
17
|
+
const opensearch_service_1 = require("./services/opensearch.service");
|
|
18
|
+
const remote_log_search_dto_1 = require("./dtos/remote-log-search.dto");
|
|
19
|
+
let RemoteLogsController = class RemoteLogsController {
|
|
20
|
+
constructor(openSearchService) {
|
|
21
|
+
this.openSearchService = openSearchService;
|
|
22
|
+
}
|
|
23
|
+
async search(payload) {
|
|
24
|
+
return this.openSearchService.search(payload);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
exports.RemoteLogsController = RemoteLogsController;
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, controllers_1.Action)({
|
|
30
|
+
response: () => remote_log_search_dto_1.RemoteLogSearchResponseDto,
|
|
31
|
+
}),
|
|
32
|
+
__param(0, (0, controllers_1.ActionContent)({ strict: false })),
|
|
33
|
+
__metadata("design:type", Function),
|
|
34
|
+
__metadata("design:paramtypes", [Object]),
|
|
35
|
+
__metadata("design:returntype", Promise)
|
|
36
|
+
], RemoteLogsController.prototype, "search", null);
|
|
37
|
+
exports.RemoteLogsController = RemoteLogsController = __decorate([
|
|
38
|
+
(0, controllers_1.Controller)({ alias: 'remoteLogs' }),
|
|
39
|
+
__metadata("design:paramtypes", [opensearch_service_1.OpenSearchService])
|
|
40
|
+
], RemoteLogsController);
|
|
41
|
+
//# sourceMappingURL=remote-logs.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-logs.controller.js","sourceRoot":"./","sources":["remote-logs/remote-logs.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAIwB;AACxB,sEAAkE;AAClE,wEAGsC;AAI/B,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAE9B,YACsB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACvD,CAAC;IAKE,AAAN,KAAK,CAAC,MAAM,CACyB,OAA4D;QAE9F,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACH,CAAA;AAdY,oDAAoB;AASxB;IAHL,IAAA,oBAAM,EAAC;QACL,QAAQ,EAAE,GAAG,EAAE,CAAC,kDAA0B;KAC5C,CAAC;IAEE,WAAA,IAAA,2BAAa,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;;;;kDAGnC;+BAbS,oBAAoB;IADhC,IAAA,wBAAU,EAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;qCAIQ,sCAAiB;GAHhD,oBAAoB,CAchC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RemoteLogsModuleOptions } from './interfaces/remote-logs-module-options';
|
|
2
|
+
import { OpenSearchService } from './services/opensearch.service';
|
|
3
|
+
import { Logger } from '@rockster/logger';
|
|
4
|
+
export declare class RemoteLogsModule {
|
|
5
|
+
protected readonly openSearchService: OpenSearchService;
|
|
6
|
+
protected readonly bootstrapLogger: Logger;
|
|
7
|
+
static init(options: RemoteLogsModuleOptions): typeof RemoteLogsModule;
|
|
8
|
+
constructor(openSearchService: OpenSearchService);
|
|
9
|
+
seedOnStart(): Promise<void>;
|
|
10
|
+
protected seedDefaultHooks(): Promise<void>;
|
|
11
|
+
protected seedGlobalSettings(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
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
|
+
var RemoteLogsModule_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.RemoteLogsModule = void 0;
|
|
14
|
+
const module_1 = require("../module");
|
|
15
|
+
const environment_1 = require("./environment");
|
|
16
|
+
const remote_logs_controller_1 = require("./remote-logs.controller");
|
|
17
|
+
const remote_logs_hooks_controller_1 = require("./remote-logs-hooks.controller");
|
|
18
|
+
const opensearch_service_1 = require("./services/opensearch.service");
|
|
19
|
+
const logger_1 = require("@rockster/logger");
|
|
20
|
+
const logs_1 = require("@rockster/common/logs");
|
|
21
|
+
let RemoteLogsModule = RemoteLogsModule_1 = class RemoteLogsModule {
|
|
22
|
+
static init(options) {
|
|
23
|
+
environment_1.environment.options = {
|
|
24
|
+
url: options.url.replace(/\/+$/, ''),
|
|
25
|
+
index: options.index,
|
|
26
|
+
username: options.username,
|
|
27
|
+
password: options.password,
|
|
28
|
+
apiUrl: options.apiUrl?.replace(/\/+$/, ''),
|
|
29
|
+
defaultHooks: options.defaultHooks,
|
|
30
|
+
};
|
|
31
|
+
return RemoteLogsModule_1;
|
|
32
|
+
}
|
|
33
|
+
constructor(openSearchService) {
|
|
34
|
+
this.openSearchService = openSearchService;
|
|
35
|
+
this.bootstrapLogger = new logger_1.Logger('RemoteLogsModule');
|
|
36
|
+
if (!environment_1.environment.options) {
|
|
37
|
+
throw new Error('Use RemoteLogsModule.init(<options>) to enable it');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async seedOnStart() {
|
|
41
|
+
await Promise.all([
|
|
42
|
+
this.seedDefaultHooks(),
|
|
43
|
+
this.seedGlobalSettings(),
|
|
44
|
+
]);
|
|
45
|
+
}
|
|
46
|
+
async seedDefaultHooks() {
|
|
47
|
+
const hooks = environment_1.environment.options?.defaultHooks;
|
|
48
|
+
if (!hooks?.length) {
|
|
49
|
+
this.bootstrapLogger.warn('Default log hooks seed skipped: no hooks configured (check API_URL)');
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
await this.openSearchService.ensureIndex('hooks');
|
|
54
|
+
for (const hook of hooks) {
|
|
55
|
+
await this.openSearchService.indexDocument('hooks', hook.id, {
|
|
56
|
+
...hook,
|
|
57
|
+
date: new Date().toISOString(),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
this.bootstrapLogger.log(`Seeded ${hooks.length} default log hook(s)`);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
64
|
+
this.bootstrapLogger.error(`Default log hooks seed failed: ${message}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async seedGlobalSettings() {
|
|
68
|
+
try {
|
|
69
|
+
await this.openSearchService.ensureIndex('settings');
|
|
70
|
+
const existing = await this.openSearchService.getDocument('settings', logs_1.LOG_SETTINGS_GLOBAL_ID);
|
|
71
|
+
if (existing) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
await this.openSearchService.indexDocument('settings', logs_1.LOG_SETTINGS_GLOBAL_ID, {
|
|
75
|
+
appId: null,
|
|
76
|
+
clearInterval: logs_1.LogClearInterval.days_30,
|
|
77
|
+
logLevel: logs_1.LogLevel.info,
|
|
78
|
+
date: new Date().toISOString(),
|
|
79
|
+
});
|
|
80
|
+
this.bootstrapLogger.log('Seeded global log settings');
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
84
|
+
this.bootstrapLogger.error(`Global log settings seed failed: ${message}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
exports.RemoteLogsModule = RemoteLogsModule;
|
|
89
|
+
__decorate([
|
|
90
|
+
(0, module_1.OnAfterAppStart)(),
|
|
91
|
+
__metadata("design:type", Function),
|
|
92
|
+
__metadata("design:paramtypes", []),
|
|
93
|
+
__metadata("design:returntype", Promise)
|
|
94
|
+
], RemoteLogsModule.prototype, "seedOnStart", null);
|
|
95
|
+
exports.RemoteLogsModule = RemoteLogsModule = RemoteLogsModule_1 = __decorate([
|
|
96
|
+
(0, module_1.Module)({
|
|
97
|
+
controllers: [
|
|
98
|
+
remote_logs_controller_1.RemoteLogsController,
|
|
99
|
+
remote_logs_hooks_controller_1.RemoteLogsHooksController,
|
|
100
|
+
remote_logs_hooks_controller_1.RemoteLogsSettingsController,
|
|
101
|
+
remote_logs_hooks_controller_1.RemoteLogsAppsController,
|
|
102
|
+
remote_logs_hooks_controller_1.RemoteLogsEventsController,
|
|
103
|
+
],
|
|
104
|
+
}),
|
|
105
|
+
__metadata("design:paramtypes", [opensearch_service_1.OpenSearchService])
|
|
106
|
+
], RemoteLogsModule);
|
|
107
|
+
//# sourceMappingURL=remote-logs.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-logs.module.js","sourceRoot":"./","sources":["remote-logs/remote-logs.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IRemoteLogSearchPayload, IRemoteLogSearchResponse } from '@rockster/common/logs';
|
|
2
|
+
export declare class OpenSearchService {
|
|
3
|
+
protected getAuthHeader(): string;
|
|
4
|
+
protected getIndexName(suffix?: string): string;
|
|
5
|
+
protected request(path: string, init?: RequestInit): Promise<Response>;
|
|
6
|
+
search(payload: IRemoteLogSearchPayload): Promise<IRemoteLogSearchResponse>;
|
|
7
|
+
searchIndex(suffix: string, payload: IRemoteLogSearchPayload): Promise<IRemoteLogSearchResponse>;
|
|
8
|
+
indexDocument(suffix: string, id: string, document: Record<string, unknown>): Promise<void>;
|
|
9
|
+
updateDocument(suffix: string, id: string, document: Record<string, unknown>): Promise<void>;
|
|
10
|
+
getDocument(suffix: string, id: string): Promise<Record<string, unknown> | null>;
|
|
11
|
+
deleteDocument(suffix: string, id: string): Promise<void>;
|
|
12
|
+
ensureIndex(suffix: string): Promise<void>;
|
|
13
|
+
}
|