@fastybird/smart-panel-backend 0.4.0-alpha.1 → 0.4.0-alpha.2
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/app.module.js +0 -17
- package/dist/app.module.js.map +1 -1
- package/dist/common/filters/not-found-exception.filter.d.ts +4 -0
- package/dist/common/filters/not-found-exception.filter.js +22 -1
- package/dist/common/filters/not-found-exception.filter.js.map +1 -1
- package/dist/common/services/app-instance-holder.service.d.ts +1 -2
- package/dist/common/services/app-instance-holder.service.js.map +1 -1
- package/dist/common/utils/config.utils.d.ts +0 -1
- package/dist/common/utils/config.utils.js +1 -11
- package/dist/common/utils/config.utils.js.map +1 -1
- package/dist/main.js +15 -5
- package/dist/main.js.map +1 -1
- package/dist/migrations/1000000000000-InitialSetup.js +8 -0
- package/dist/migrations/1000000000000-InitialSetup.js.map +1 -1
- package/dist/modules/buddy/buddy.module.js +2 -1
- package/dist/modules/buddy/buddy.module.js.map +1 -1
- package/dist/modules/buddy/buddy.utils.d.ts +8 -0
- package/dist/modules/buddy/buddy.utils.js +49 -0
- package/dist/modules/buddy/buddy.utils.js.map +1 -1
- package/dist/modules/buddy/controllers/buddy-suggestions.controller.js +2 -2
- package/dist/modules/buddy/controllers/buddy-suggestions.controller.js.map +1 -1
- package/dist/modules/buddy/entities/buddy-conversation.entity.js +3 -3
- package/dist/modules/buddy/entities/buddy-conversation.entity.js.map +1 -1
- package/dist/modules/buddy/entities/buddy-message.entity.js +2 -2
- package/dist/modules/buddy/entities/buddy-message.entity.js.map +1 -1
- package/dist/modules/buddy/entities/buddy-suggestion.entity.d.ts +19 -0
- package/dist/modules/buddy/entities/buddy-suggestion.entity.js +93 -0
- package/dist/modules/buddy/entities/buddy-suggestion.entity.js.map +1 -0
- package/dist/modules/buddy/platforms/llm-provider.platform.d.ts +6 -0
- package/dist/modules/buddy/platforms/openai-sdk.utils.d.ts +2 -1
- package/dist/modules/buddy/platforms/openai-sdk.utils.js +12 -1
- package/dist/modules/buddy/platforms/openai-sdk.utils.js.map +1 -1
- package/dist/modules/buddy/services/buddy-conversation.service.js +23 -8
- package/dist/modules/buddy/services/buddy-conversation.service.js.map +1 -1
- package/dist/modules/buddy/services/heartbeat.service.js +1 -1
- package/dist/modules/buddy/services/heartbeat.service.js.map +1 -1
- package/dist/modules/buddy/services/llm-provider.service.js +2 -10
- package/dist/modules/buddy/services/llm-provider.service.js.map +1 -1
- package/dist/modules/buddy/services/module-reset.service.d.ts +3 -1
- package/dist/modules/buddy/services/module-reset.service.js +6 -1
- package/dist/modules/buddy/services/module-reset.service.js.map +1 -1
- package/dist/modules/buddy/services/pattern-detector.service.d.ts +4 -1
- package/dist/modules/buddy/services/pattern-detector.service.js +10 -3
- package/dist/modules/buddy/services/pattern-detector.service.js.map +1 -1
- package/dist/modules/buddy/services/scene-suggestion-evaluator.service.d.ts +4 -1
- package/dist/modules/buddy/services/scene-suggestion-evaluator.service.js +10 -4
- package/dist/modules/buddy/services/scene-suggestion-evaluator.service.js.map +1 -1
- package/dist/modules/buddy/services/stt-provider.service.js +2 -10
- package/dist/modules/buddy/services/stt-provider.service.js.map +1 -1
- package/dist/modules/buddy/services/suggestion-engine.service.d.ts +19 -13
- package/dist/modules/buddy/services/suggestion-engine.service.js +170 -103
- package/dist/modules/buddy/services/suggestion-engine.service.js.map +1 -1
- package/dist/modules/buddy/services/tts-provider.service.js +2 -10
- package/dist/modules/buddy/services/tts-provider.service.js.map +1 -1
- package/dist/modules/extensions/controllers/actions.controller.d.ts +9 -4
- package/dist/modules/extensions/controllers/actions.controller.js +63 -10
- package/dist/modules/extensions/controllers/actions.controller.js.map +1 -1
- package/dist/modules/extensions/extensions.module.js +3 -1
- package/dist/modules/extensions/extensions.module.js.map +1 -1
- package/dist/modules/extensions/extensions.openapi.d.ts +3 -3
- package/dist/modules/extensions/extensions.openapi.js +2 -0
- package/dist/modules/extensions/extensions.openapi.js.map +1 -1
- package/dist/modules/extensions/models/action.model.d.ts +13 -0
- package/dist/modules/extensions/models/action.model.js +87 -1
- package/dist/modules/extensions/models/action.model.js.map +1 -1
- package/dist/modules/extensions/models/actions-response.model.d.ts +4 -1
- package/dist/modules/extensions/models/actions-response.model.js +19 -1
- package/dist/modules/extensions/models/actions-response.model.js.map +1 -1
- package/dist/modules/extensions/services/action-audit.service.d.ts +21 -0
- package/dist/modules/extensions/services/action-audit.service.js +49 -0
- package/dist/modules/extensions/services/action-audit.service.js.map +1 -0
- package/dist/modules/extensions/services/extension-action-registry.service.d.ts +6 -1
- package/dist/modules/extensions/services/extension-action-registry.service.js +22 -3
- package/dist/modules/extensions/services/extension-action-registry.service.js.map +1 -1
- package/dist/modules/extensions/services/extension-action.interface.d.ts +3 -0
- package/dist/modules/extensions/services/extension-action.interface.js +3 -1
- package/dist/modules/extensions/services/extension-action.interface.js.map +1 -1
- package/dist/modules/swagger/commands/serve-swagger.command.d.ts +14 -0
- package/dist/modules/swagger/commands/serve-swagger.command.js +60 -0
- package/dist/modules/swagger/commands/serve-swagger.command.js.map +1 -0
- package/dist/modules/swagger/swagger.module.js +2 -0
- package/dist/modules/swagger/swagger.module.js.map +1 -1
- package/dist/modules/system/scripts/update-worker.sh +42 -32
- package/dist/modules/system/services/system-command.service.d.ts +7 -1
- package/dist/modules/system/services/system-command.service.js +24 -4
- package/dist/modules/system/services/system-command.service.js.map +1 -1
- package/dist/modules/system/services/update-executor.service.d.ts +4 -0
- package/dist/modules/system/services/update-executor.service.js +83 -0
- package/dist/modules/system/services/update-executor.service.js.map +1 -1
- package/dist/modules/system/system.constants.d.ts +2 -0
- package/dist/modules/system/system.constants.js +2 -0
- package/dist/modules/system/system.constants.js.map +1 -1
- package/dist/modules/system/system.module.js +6 -3
- package/dist/modules/system/system.module.js.map +1 -1
- package/dist/modules/users/controllers/users.controller.js +9 -0
- package/dist/modules/users/controllers/users.controller.js.map +1 -1
- package/dist/modules/users/dto/update-user.dto.d.ts +1 -0
- package/dist/modules/users/dto/update-user.dto.js +14 -1
- package/dist/modules/users/dto/update-user.dto.js.map +1 -1
- package/dist/modules/users/services/users.service.d.ts +1 -0
- package/dist/modules/users/services/users.service.js +10 -0
- package/dist/modules/users/services/users.service.js.map +1 -1
- package/dist/modules/websocket/gateway/websocket.gateway.js +5 -2
- package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
- package/dist/modules/websocket/services/command-event-registry.service.d.ts +3 -1
- package/dist/modules/websocket/services/command-event-registry.service.js +5 -4
- package/dist/modules/websocket/services/command-event-registry.service.js.map +1 -1
- package/dist/plugins/buddy-openai/platforms/openai.provider.js +1 -0
- package/dist/plugins/buddy-openai/platforms/openai.provider.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +5 -0
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.d.ts +1 -0
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +6 -4
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +2 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js.map +1 -1
- package/dist/plugins/simulator/services/simulator-actions.service.js +3 -0
- package/dist/plugins/simulator/services/simulator-actions.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.controller.js","sourceRoot":"","sources":["../../../../src/modules/extensions/controllers/actions.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"actions.controller.js","sourceRoot":"","sources":["../../../../src/modules/extensions/controllers/actions.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ const extensions_constants_1 = require("./extensions.constants");
|
|
|
28
28
|
const extensions_openapi_1 = require("./extensions.openapi");
|
|
29
29
|
const config_model_1 = require("./models/config.model");
|
|
30
30
|
const extensions_stats_provider_1 = require("./providers/extensions-stats.provider");
|
|
31
|
+
const action_audit_service_1 = require("./services/action-audit.service");
|
|
31
32
|
const extension_action_registry_service_1 = require("./services/extension-action-registry.service");
|
|
32
33
|
const extensions_service_1 = require("./services/extensions.service");
|
|
33
34
|
const module_reset_service_1 = require("./services/module-reset.service");
|
|
@@ -116,13 +117,14 @@ exports.ExtensionsModule = ExtensionsModule = __decorate([
|
|
|
116
117
|
module_reset_service_1.ModuleResetService,
|
|
117
118
|
plugin_service_manager_service_1.PluginServiceManagerService,
|
|
118
119
|
extension_action_registry_service_1.ExtensionActionRegistryService,
|
|
120
|
+
action_audit_service_1.ActionAuditService,
|
|
119
121
|
extensions_stats_provider_1.ExtensionsStatsProvider,
|
|
120
122
|
services_command_1.ListServicesCommand,
|
|
121
123
|
services_command_1.StartServiceCommand,
|
|
122
124
|
services_command_1.StopServiceCommand,
|
|
123
125
|
services_command_1.RestartServiceCommand,
|
|
124
126
|
],
|
|
125
|
-
exports: [plugin_service_manager_service_1.PluginServiceManagerService, extension_action_registry_service_1.ExtensionActionRegistryService],
|
|
127
|
+
exports: [plugin_service_manager_service_1.PluginServiceManagerService, extension_action_registry_service_1.ExtensionActionRegistryService, action_audit_service_1.ActionAuditService],
|
|
126
128
|
}),
|
|
127
129
|
__metadata("design:paramtypes", [extensions_service_1.ExtensionsService,
|
|
128
130
|
module_reset_service_1.ModuleResetService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.module.js","sourceRoot":"","sources":["../../../src/modules/extensions/extensions.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA8D;AAC9D,qEAAqF;AAErF,gGAA0F;AAC1F,qFAAgF;AAChF,wDAAoD;AACpD,+EAAiE;AACjE,yGAAmG;AACnG,sGAAgG;AAEhG,kEAKqC;AACrC,yEAAqE;AACrE,qGAAgG;AAChG,+EAA2E;AAC3E,2EAAuE;AACvE,+DAAoE;AACpE,iEAIgC;AAChC,6DAAuE;AACvE,wDAA8D;AAC9D,qFAAgF;AAChF,oGAA8F;AAC9F,sEAAkE;AAClE,0EAAqE;AACrE,8FAAwF;
|
|
1
|
+
{"version":3,"file":"extensions.module.js","sourceRoot":"","sources":["../../../src/modules/extensions/extensions.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA8D;AAC9D,qEAAqF;AAErF,gGAA0F;AAC1F,qFAAgF;AAChF,wDAAoD;AACpD,+EAAiE;AACjE,yGAAmG;AACnG,sGAAgG;AAEhG,kEAKqC;AACrC,yEAAqE;AACrE,qGAAgG;AAChG,+EAA2E;AAC3E,2EAAuE;AACvE,+DAAoE;AACpE,iEAIgC;AAChC,6DAAuE;AACvE,wDAA8D;AAC9D,qFAAgF;AAChF,0EAAqE;AACrE,oGAA8F;AAC9F,sEAAkE;AAClE,0EAAqE;AACrE,8FAAwF;AAyBjF,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC5B,YACkB,iBAAoC,EACpC,WAA+B,EAC/B,oBAAiD,EACjD,eAA6C,EAC7C,oBAA8C,EAC9C,oBAA0C,EAC1C,uBAAgD;QANhD,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,gBAAW,GAAX,WAAW,CAAoB;QAC/B,yBAAoB,GAApB,oBAAoB,CAA6B;QACjD,oBAAe,GAAf,eAAe,CAA8B;QAC7C,yBAAoB,GAApB,oBAAoB,CAA0B;QAC9C,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,4BAAuB,GAAvB,uBAAuB,CAAyB;IAC/D,CAAC;IAEJ,YAAY;QAEX,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAmD;YAC3F,IAAI,EAAE,6CAAsB;YAC5B,KAAK,EAAE,oCAAqB;YAC5B,SAAS,EAAE,6CAAyB;SACpC,CAAC,CAAC;QAGH,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,6CAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAG/F,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,6CAAsB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAGzF,KAAK,MAAM,KAAK,IAAI,oDAA+B,EAAE,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAGD,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;YAC7C,IAAI,EAAE,6CAAsB;YAC5B,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,wCAAwC;YACrD,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCJ;YACJ,KAAK,EAAE;gBACN,aAAa,EAAE,wCAAwC;gBACvD,UAAU,EAAE,0CAA0C;aACtD;SACD,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AA9EY,4CAAgB;2BAAhB,gBAAgB;IAvB5B,IAAA,0BAAM,EAAC;QACP,OAAO,EAAE,6CAAsB;QAC/B,WAAW,EAAE,qDAA8B;QAC3C,WAAW,EAAE,4DAAqC;KAClD,CAAC;IACD,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACP,OAAO,EAAE,CAAC,4BAAgB,EAAE,0BAAW,CAAC;QACxC,WAAW,EAAE,CAAC,4CAAoB,EAAE,iEAA8B,EAAE,wCAAkB,EAAE,sCAAiB,CAAC;QAC1G,SAAS,EAAE;YACV,yCAAkB;YAClB,4DAA2B;YAC3B,kEAA8B;YAC9B,yCAAkB;YAClB,mDAAuB;YAEvB,sCAAmB;YACnB,sCAAmB;YACnB,qCAAkB;YAClB,wCAAqB;SACrB;QACD,OAAO,EAAE,CAAC,4DAA2B,EAAE,kEAA8B,EAAE,yCAAkB,CAAC;KAC1F,CAAC;qCAGoC,sCAAiB;QACvB,yCAAkB;QACT,4DAA2B;QAChC,8DAA4B;QACvB,sDAAwB;QACxB,6CAAoB;QACjB,mDAAuB;GARtD,gBAAgB,CA8E5B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ExecuteActionDataDto, ReqExecuteActionDto } from './dto/execute-action.dto';
|
|
2
2
|
import { ReqUpdateExtensionDto, UpdateExtensionDataDto } from './dto/update-extension.dto';
|
|
3
|
-
import { ActionParameterModel, ActionParameterOptionModel, ActionParameterValidationModel, ActionResultModel, ExtensionActionModel } from './models/action.model';
|
|
4
|
-
import { ActionResultResponseModel, ExtensionActionsResponseModel } from './models/actions-response.model';
|
|
3
|
+
import { ActionExecutionRecordModel, ActionParameterModel, ActionParameterOptionModel, ActionParameterValidationModel, ActionResultModel, ExtensionActionModel } from './models/action.model';
|
|
4
|
+
import { ActionHistoryResponseModel, ActionResultResponseModel, ExtensionActionsResponseModel } from './models/actions-response.model';
|
|
5
5
|
import { DiscoveredExtensionBaseModel } from './models/discovered-extension.model';
|
|
6
6
|
import { DiscoveredExtensionsResponseModel } from './models/discovered-extensions-response.model';
|
|
7
7
|
import { ExtensionLinksModel } from './models/extension.model';
|
|
8
8
|
import { ExtensionsResponseModel } from './models/extensions-response.model';
|
|
9
9
|
import { ServicesStatusResponseModel } from './models/service-status.model';
|
|
10
|
-
export declare const EXTENSIONS_SWAGGER_EXTRA_MODELS: (typeof ExtensionLinksModel | typeof ExecuteActionDataDto | typeof ReqExecuteActionDto | typeof ActionParameterValidationModel | typeof ActionParameterOptionModel | typeof ActionParameterModel | typeof ExtensionActionModel | typeof ActionResultModel | typeof ExtensionActionsResponseModel | typeof ActionResultResponseModel | typeof DiscoveredExtensionBaseModel | typeof DiscoveredExtensionsResponseModel | typeof UpdateExtensionDataDto | typeof ReqUpdateExtensionDto | typeof ExtensionsResponseModel | typeof ServicesStatusResponseModel)[];
|
|
10
|
+
export declare const EXTENSIONS_SWAGGER_EXTRA_MODELS: (typeof ExtensionLinksModel | typeof ExecuteActionDataDto | typeof ReqExecuteActionDto | typeof ActionParameterValidationModel | typeof ActionParameterOptionModel | typeof ActionParameterModel | typeof ExtensionActionModel | typeof ActionResultModel | typeof ActionExecutionRecordModel | typeof ExtensionActionsResponseModel | typeof ActionResultResponseModel | typeof ActionHistoryResponseModel | typeof DiscoveredExtensionBaseModel | typeof DiscoveredExtensionsResponseModel | typeof UpdateExtensionDataDto | typeof ReqUpdateExtensionDto | typeof ExtensionsResponseModel | typeof ServicesStatusResponseModel)[];
|
|
@@ -24,6 +24,8 @@ exports.EXTENSIONS_SWAGGER_EXTRA_MODELS = [
|
|
|
24
24
|
action_model_1.ActionResultModel,
|
|
25
25
|
actions_response_model_1.ExtensionActionsResponseModel,
|
|
26
26
|
actions_response_model_1.ActionResultResponseModel,
|
|
27
|
+
action_model_1.ActionExecutionRecordModel,
|
|
28
|
+
actions_response_model_1.ActionHistoryResponseModel,
|
|
27
29
|
execute_action_dto_1.ReqExecuteActionDto,
|
|
28
30
|
execute_action_dto_1.ExecuteActionDataDto,
|
|
29
31
|
discovered_extension_model_1.DiscoveredExtensionBaseModel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.openapi.js","sourceRoot":"","sources":["../../../src/modules/extensions/extensions.openapi.ts"],"names":[],"mappings":";;;AAAA,iEAAqF;AACrF,qEAA2F;AAC3F,
|
|
1
|
+
{"version":3,"file":"extensions.openapi.js","sourceRoot":"","sources":["../../../src/modules/extensions/extensions.openapi.ts"],"names":[],"mappings":";;;AAAA,iEAAqF;AACrF,qEAA2F;AAC3F,wDAO+B;AAC/B,4EAIyC;AACzC,oFAI6C;AAC7C,wGAAkG;AAClG,8DAA+E;AAC/E,kFAAqG;AACrG,wEAIuC;AAE1B,QAAA,+BAA+B,GAAG;IAC9C,gCAAc;IACd,qCAAmB;IACnB,kDAAsB;IACtB,mDAAuB;IACvB,4CAAqB;IACrB,6CAAsB;IAEtB,mCAAoB;IACpB,mCAAoB;IACpB,yCAA0B;IAC1B,6CAA8B;IAC9B,gCAAiB;IACjB,sDAA6B;IAC7B,kDAAyB;IACzB,yCAA0B;IAC1B,mDAA0B;IAC1B,wCAAmB;IACnB,yCAAoB;IAEpB,yDAA4B;IAC5B,0DAA6B;IAC7B,4DAA+B;IAC/B,wEAAiC;IAEjC,yCAAkB;IAClB,iDAA0B;IAC1B,kDAA2B;CAC3B,CAAC"}
|
|
@@ -27,6 +27,8 @@ export declare class ExtensionActionModel {
|
|
|
27
27
|
category?: string;
|
|
28
28
|
mode: string;
|
|
29
29
|
dangerous?: boolean;
|
|
30
|
+
requiredRoles?: string[];
|
|
31
|
+
allowed?: boolean;
|
|
30
32
|
parameters?: ActionParameterModel[];
|
|
31
33
|
}
|
|
32
34
|
export declare class ActionResultModel {
|
|
@@ -34,3 +36,14 @@ export declare class ActionResultModel {
|
|
|
34
36
|
message?: string;
|
|
35
37
|
data?: Record<string, unknown>;
|
|
36
38
|
}
|
|
39
|
+
export declare class ActionExecutionRecordModel {
|
|
40
|
+
id: string;
|
|
41
|
+
extensionType: string;
|
|
42
|
+
actionId: string;
|
|
43
|
+
userId: string | null;
|
|
44
|
+
userRole: string | null;
|
|
45
|
+
success: boolean;
|
|
46
|
+
message: string | null;
|
|
47
|
+
durationMs: number;
|
|
48
|
+
timestamp: Date;
|
|
49
|
+
}
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ActionResultModel = exports.ExtensionActionModel = exports.ActionParameterModel = exports.ActionParameterOptionModel = exports.ActionParameterValidationModel = void 0;
|
|
12
|
+
exports.ActionExecutionRecordModel = exports.ActionResultModel = exports.ExtensionActionModel = exports.ActionParameterModel = exports.ActionParameterOptionModel = exports.ActionParameterValidationModel = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
15
|
const swagger_1 = require("@nestjs/swagger");
|
|
@@ -205,6 +205,29 @@ __decorate([
|
|
|
205
205
|
(0, class_validator_1.IsOptional)(),
|
|
206
206
|
__metadata("design:type", Boolean)
|
|
207
207
|
], ExtensionActionModel.prototype, "dangerous", void 0);
|
|
208
|
+
__decorate([
|
|
209
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
210
|
+
name: 'required_roles',
|
|
211
|
+
description: 'User roles allowed to execute this action',
|
|
212
|
+
type: 'array',
|
|
213
|
+
items: { type: 'string' },
|
|
214
|
+
example: ['owner', 'admin'],
|
|
215
|
+
}),
|
|
216
|
+
(0, class_transformer_1.Expose)({ name: 'required_roles' }),
|
|
217
|
+
(0, class_validator_1.IsArray)(),
|
|
218
|
+
(0, class_validator_1.IsOptional)(),
|
|
219
|
+
__metadata("design:type", Array)
|
|
220
|
+
], ExtensionActionModel.prototype, "requiredRoles", void 0);
|
|
221
|
+
__decorate([
|
|
222
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
223
|
+
description: 'Whether the current user is allowed to execute this action',
|
|
224
|
+
type: 'boolean',
|
|
225
|
+
}),
|
|
226
|
+
(0, class_transformer_1.Expose)(),
|
|
227
|
+
(0, class_validator_1.IsBoolean)(),
|
|
228
|
+
(0, class_validator_1.IsOptional)(),
|
|
229
|
+
__metadata("design:type", Boolean)
|
|
230
|
+
], ExtensionActionModel.prototype, "allowed", void 0);
|
|
208
231
|
__decorate([
|
|
209
232
|
(0, swagger_1.ApiPropertyOptional)({
|
|
210
233
|
description: 'Action parameters',
|
|
@@ -249,4 +272,67 @@ __decorate([
|
|
|
249
272
|
exports.ActionResultModel = ActionResultModel = __decorate([
|
|
250
273
|
(0, swagger_1.ApiSchema)({ name: 'ExtensionsModuleDataActionResult' })
|
|
251
274
|
], ActionResultModel);
|
|
275
|
+
let ActionExecutionRecordModel = class ActionExecutionRecordModel {
|
|
276
|
+
};
|
|
277
|
+
exports.ActionExecutionRecordModel = ActionExecutionRecordModel;
|
|
278
|
+
__decorate([
|
|
279
|
+
(0, swagger_1.ApiProperty)({ description: 'Record ID', type: 'string' }),
|
|
280
|
+
(0, class_transformer_1.Expose)(),
|
|
281
|
+
(0, class_validator_1.IsString)(),
|
|
282
|
+
__metadata("design:type", String)
|
|
283
|
+
], ActionExecutionRecordModel.prototype, "id", void 0);
|
|
284
|
+
__decorate([
|
|
285
|
+
(0, swagger_1.ApiProperty)({ name: 'extension_type', description: 'Extension type', type: 'string' }),
|
|
286
|
+
(0, class_transformer_1.Expose)({ name: 'extension_type' }),
|
|
287
|
+
(0, class_validator_1.IsString)(),
|
|
288
|
+
__metadata("design:type", String)
|
|
289
|
+
], ActionExecutionRecordModel.prototype, "extensionType", void 0);
|
|
290
|
+
__decorate([
|
|
291
|
+
(0, swagger_1.ApiProperty)({ name: 'action_id', description: 'Action ID', type: 'string' }),
|
|
292
|
+
(0, class_transformer_1.Expose)({ name: 'action_id' }),
|
|
293
|
+
(0, class_validator_1.IsString)(),
|
|
294
|
+
__metadata("design:type", String)
|
|
295
|
+
], ActionExecutionRecordModel.prototype, "actionId", void 0);
|
|
296
|
+
__decorate([
|
|
297
|
+
(0, swagger_1.ApiPropertyOptional)({ name: 'user_id', description: 'User who executed the action', type: 'string', nullable: true }),
|
|
298
|
+
(0, class_transformer_1.Expose)({ name: 'user_id' }),
|
|
299
|
+
(0, class_validator_1.IsString)(),
|
|
300
|
+
(0, class_validator_1.IsOptional)(),
|
|
301
|
+
__metadata("design:type", String)
|
|
302
|
+
], ActionExecutionRecordModel.prototype, "userId", void 0);
|
|
303
|
+
__decorate([
|
|
304
|
+
(0, swagger_1.ApiPropertyOptional)({ name: 'user_role', description: 'Role of the user', type: 'string', nullable: true }),
|
|
305
|
+
(0, class_transformer_1.Expose)({ name: 'user_role' }),
|
|
306
|
+
(0, class_validator_1.IsString)(),
|
|
307
|
+
(0, class_validator_1.IsOptional)(),
|
|
308
|
+
__metadata("design:type", String)
|
|
309
|
+
], ActionExecutionRecordModel.prototype, "userRole", void 0);
|
|
310
|
+
__decorate([
|
|
311
|
+
(0, swagger_1.ApiProperty)({ description: 'Whether the action succeeded', type: 'boolean' }),
|
|
312
|
+
(0, class_transformer_1.Expose)(),
|
|
313
|
+
(0, class_validator_1.IsBoolean)(),
|
|
314
|
+
__metadata("design:type", Boolean)
|
|
315
|
+
], ActionExecutionRecordModel.prototype, "success", void 0);
|
|
316
|
+
__decorate([
|
|
317
|
+
(0, swagger_1.ApiPropertyOptional)({ description: 'Result message', type: 'string', nullable: true }),
|
|
318
|
+
(0, class_transformer_1.Expose)(),
|
|
319
|
+
(0, class_validator_1.IsString)(),
|
|
320
|
+
(0, class_validator_1.IsOptional)(),
|
|
321
|
+
__metadata("design:type", String)
|
|
322
|
+
], ActionExecutionRecordModel.prototype, "message", void 0);
|
|
323
|
+
__decorate([
|
|
324
|
+
(0, swagger_1.ApiProperty)({ name: 'duration_ms', description: 'Execution duration in milliseconds', type: 'number' }),
|
|
325
|
+
(0, class_transformer_1.Expose)({ name: 'duration_ms' }),
|
|
326
|
+
(0, class_validator_1.IsNumber)(),
|
|
327
|
+
__metadata("design:type", Number)
|
|
328
|
+
], ActionExecutionRecordModel.prototype, "durationMs", void 0);
|
|
329
|
+
__decorate([
|
|
330
|
+
(0, swagger_1.ApiProperty)({ description: 'Execution timestamp', type: 'string', format: 'date-time' }),
|
|
331
|
+
(0, class_transformer_1.Expose)(),
|
|
332
|
+
(0, class_validator_1.IsDate)(),
|
|
333
|
+
__metadata("design:type", Date)
|
|
334
|
+
], ActionExecutionRecordModel.prototype, "timestamp", void 0);
|
|
335
|
+
exports.ActionExecutionRecordModel = ActionExecutionRecordModel = __decorate([
|
|
336
|
+
(0, swagger_1.ApiSchema)({ name: 'ExtensionsModuleDataActionExecutionRecord' })
|
|
337
|
+
], ActionExecutionRecordModel);
|
|
252
338
|
//# sourceMappingURL=action.model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.model.js","sourceRoot":"","sources":["../../../../src/modules/extensions/models/action.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"action.model.js","sourceRoot":"","sources":["../../../../src/modules/extensions/models/action.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { BaseSuccessResponseModel } from '../../api/models/api-response.model';
|
|
2
|
-
import { ActionResultModel, ExtensionActionModel } from './action.model';
|
|
2
|
+
import { ActionExecutionRecordModel, ActionResultModel, ExtensionActionModel } from './action.model';
|
|
3
3
|
export declare class ExtensionActionsResponseModel extends BaseSuccessResponseModel<ExtensionActionModel[]> {
|
|
4
4
|
data: ExtensionActionModel[];
|
|
5
5
|
}
|
|
6
6
|
export declare class ActionResultResponseModel extends BaseSuccessResponseModel<ActionResultModel> {
|
|
7
7
|
data: ActionResultModel;
|
|
8
8
|
}
|
|
9
|
+
export declare class ActionHistoryResponseModel extends BaseSuccessResponseModel<ActionExecutionRecordModel[]> {
|
|
10
|
+
data: ActionExecutionRecordModel[];
|
|
11
|
+
}
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ActionResultResponseModel = exports.ExtensionActionsResponseModel = void 0;
|
|
12
|
+
exports.ActionHistoryResponseModel = exports.ActionResultResponseModel = exports.ExtensionActionsResponseModel = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const swagger_1 = require("@nestjs/swagger");
|
|
15
15
|
const api_response_model_1 = require("../../api/models/api-response.model");
|
|
@@ -47,4 +47,22 @@ __decorate([
|
|
|
47
47
|
exports.ActionResultResponseModel = ActionResultResponseModel = __decorate([
|
|
48
48
|
(0, swagger_1.ApiSchema)({ name: 'ExtensionsModuleResActionResult' })
|
|
49
49
|
], ActionResultResponseModel);
|
|
50
|
+
let ActionHistoryResponseModel = class ActionHistoryResponseModel extends api_response_model_1.BaseSuccessResponseModel {
|
|
51
|
+
};
|
|
52
|
+
exports.ActionHistoryResponseModel = ActionHistoryResponseModel;
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, swagger_1.ApiProperty)({
|
|
55
|
+
description: 'Recent action execution records',
|
|
56
|
+
type: 'array',
|
|
57
|
+
items: {
|
|
58
|
+
$ref: (0, swagger_1.getSchemaPath)(action_model_1.ActionExecutionRecordModel),
|
|
59
|
+
},
|
|
60
|
+
}),
|
|
61
|
+
(0, class_transformer_1.Expose)(),
|
|
62
|
+
(0, class_transformer_1.Type)(() => action_model_1.ActionExecutionRecordModel),
|
|
63
|
+
__metadata("design:type", Array)
|
|
64
|
+
], ActionHistoryResponseModel.prototype, "data", void 0);
|
|
65
|
+
exports.ActionHistoryResponseModel = ActionHistoryResponseModel = __decorate([
|
|
66
|
+
(0, swagger_1.ApiSchema)({ name: 'ExtensionsModuleResActionHistory' })
|
|
67
|
+
], ActionHistoryResponseModel);
|
|
50
68
|
//# sourceMappingURL=actions-response.model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions-response.model.js","sourceRoot":"","sources":["../../../../src/modules/extensions/models/actions-response.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAiD;AAEjD,6CAAwE;AAExE,4EAA+E;AAE/E,
|
|
1
|
+
{"version":3,"file":"actions-response.model.js","sourceRoot":"","sources":["../../../../src/modules/extensions/models/actions-response.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAiD;AAEjD,6CAAwE;AAExE,4EAA+E;AAE/E,iDAAqG;AAG9F,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,6CAAgD;CAWlG,CAAA;AAXY,sEAA6B;AAUjC;IATP,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,+BAA+B;QAC5C,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACN,IAAI,EAAE,IAAA,uBAAa,EAAC,mCAAoB,CAAC;SACzC;KACD,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,mCAAoB,CAAC;;2DACI;wCAVzB,6BAA6B;IADzC,IAAA,mBAAS,EAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;GACrC,6BAA6B,CAWzC;AAGM,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,6CAA2C;CAQzF,CAAA;AARY,8DAAyB;AAO7B;IANP,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,GAAG,EAAE,CAAC,gCAAiB;KAC7B,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,gCAAiB,CAAC;8BAChB,gCAAiB;uDAAC;oCAPpB,yBAAyB;IADrC,IAAA,mBAAS,EAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC;GAC1C,yBAAyB,CAQrC;AAGM,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,6CAAsD;CAWrG,CAAA;AAXY,gEAA0B;AAU9B;IATP,IAAA,qBAAW,EAAC;QACZ,WAAW,EAAE,iCAAiC;QAC9C,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACN,IAAI,EAAE,IAAA,uBAAa,EAAC,yCAA0B,CAAC;SAC/C;KACD,CAAC;IACD,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,yCAA0B,CAAC;;wDACI;qCAV/B,0BAA0B;IADtC,IAAA,mBAAS,EAAC,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC;GAC3C,0BAA0B,CAWtC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface ActionExecutionRecord {
|
|
2
|
+
id: string;
|
|
3
|
+
extensionType: string;
|
|
4
|
+
actionId: string;
|
|
5
|
+
userId: string | null;
|
|
6
|
+
userRole: string | null;
|
|
7
|
+
params: Record<string, unknown>;
|
|
8
|
+
success: boolean;
|
|
9
|
+
message: string | null;
|
|
10
|
+
durationMs: number;
|
|
11
|
+
timestamp: Date;
|
|
12
|
+
}
|
|
13
|
+
export declare class ActionAuditService {
|
|
14
|
+
private readonly logger;
|
|
15
|
+
private readonly buffer;
|
|
16
|
+
private readonly maxEntries;
|
|
17
|
+
private idCounter;
|
|
18
|
+
constructor();
|
|
19
|
+
record(entry: Omit<ActionExecutionRecord, 'id' | 'timestamp'>): ActionExecutionRecord;
|
|
20
|
+
getHistory(extensionType: string, actionId: string, limit?: number): ActionExecutionRecord[];
|
|
21
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
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.ActionAuditService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const extension_logger_service_1 = require("../../../common/logger/extension-logger.service");
|
|
15
|
+
const extensions_constants_1 = require("../extensions.constants");
|
|
16
|
+
const DEFAULT_MAX_ENTRIES = 1000;
|
|
17
|
+
let ActionAuditService = class ActionAuditService {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.logger = (0, extension_logger_service_1.createExtensionLogger)(extensions_constants_1.EXTENSIONS_MODULE_NAME, 'ActionAuditService');
|
|
20
|
+
this.buffer = [];
|
|
21
|
+
this.idCounter = 0;
|
|
22
|
+
this.maxEntries = DEFAULT_MAX_ENTRIES;
|
|
23
|
+
}
|
|
24
|
+
record(entry) {
|
|
25
|
+
const record = {
|
|
26
|
+
...entry,
|
|
27
|
+
id: String(++this.idCounter),
|
|
28
|
+
timestamp: new Date(),
|
|
29
|
+
};
|
|
30
|
+
this.buffer.push(record);
|
|
31
|
+
if (this.buffer.length > this.maxEntries) {
|
|
32
|
+
this.buffer.splice(0, this.buffer.length - this.maxEntries);
|
|
33
|
+
}
|
|
34
|
+
this.logger.debug(`Recorded action execution: ${entry.extensionType}/${entry.actionId} (${entry.success ? 'ok' : 'fail'})`);
|
|
35
|
+
return record;
|
|
36
|
+
}
|
|
37
|
+
getHistory(extensionType, actionId, limit = 50) {
|
|
38
|
+
return this.buffer
|
|
39
|
+
.filter((r) => r.extensionType === extensionType && r.actionId === actionId)
|
|
40
|
+
.slice(-limit)
|
|
41
|
+
.reverse();
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.ActionAuditService = ActionAuditService;
|
|
45
|
+
exports.ActionAuditService = ActionAuditService = __decorate([
|
|
46
|
+
(0, common_1.Injectable)(),
|
|
47
|
+
__metadata("design:paramtypes", [])
|
|
48
|
+
], ActionAuditService);
|
|
49
|
+
//# sourceMappingURL=action-audit.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-audit.service.js","sourceRoot":"","sources":["../../../../src/modules/extensions/services/action-audit.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,8FAAwF;AACxF,kEAAiE;AAejE,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAG1B,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAO9B;QANiB,WAAM,GAAG,IAAA,gDAAqB,EAAC,6CAAsB,EAAE,oBAAoB,CAAC,CAAC;QAE7E,WAAM,GAA4B,EAAE,CAAC;QAE9C,cAAS,GAAG,CAAC,CAAC;QAGrB,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,KAAsD;QAC5D,MAAM,MAAM,GAA0B;YACrC,GAAG,KAAK;YACR,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;YAC5B,SAAS,EAAE,IAAI,IAAI,EAAE;SACrB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAGzB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,8BAA8B,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CACxG,CAAC;QAEF,OAAO,MAAM,CAAC;IACf,CAAC;IAED,UAAU,CAAC,aAAqB,EAAE,QAAgB,EAAE,KAAK,GAAG,EAAE;QAC7D,OAAO,IAAI,CAAC,MAAM;aAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,aAAa,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;aAC3E,KAAK,CAAC,CAAC,KAAK,CAAC;aACb,OAAO,EAAE,CAAC;IACb,CAAC;CACD,CAAA;AAtCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;;GACA,kBAAkB,CAsC9B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { UserRole } from '../../users/users.constants';
|
|
1
2
|
import type { IActionResult, IExtensionAction } from './extension-action.interface';
|
|
2
3
|
export interface SerializedAction {
|
|
3
4
|
id: string;
|
|
@@ -7,6 +8,8 @@ export interface SerializedAction {
|
|
|
7
8
|
category?: string;
|
|
8
9
|
mode: string;
|
|
9
10
|
dangerous?: boolean;
|
|
11
|
+
required_roles?: string[];
|
|
12
|
+
allowed?: boolean;
|
|
10
13
|
parameters?: SerializedActionParameter[];
|
|
11
14
|
}
|
|
12
15
|
export interface SerializedActionParameter {
|
|
@@ -34,7 +37,9 @@ export declare class ExtensionActionRegistryService {
|
|
|
34
37
|
register(extensionType: string, action: IExtensionAction): void;
|
|
35
38
|
unregisterAll(extensionType: string): void;
|
|
36
39
|
hasActions(extensionType: string): boolean;
|
|
37
|
-
getActions(extensionType: string): Promise<SerializedAction[]>;
|
|
40
|
+
getActions(extensionType: string, userRole?: UserRole): Promise<SerializedAction[]>;
|
|
41
|
+
isAllowed(extensionType: string, actionId: string, userRole: UserRole): boolean | null;
|
|
42
|
+
private getDefaultRoles;
|
|
38
43
|
execute(extensionType: string, actionId: string, params: Record<string, unknown>): Promise<IActionResult>;
|
|
39
44
|
private validateParams;
|
|
40
45
|
private validateParamType;
|
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.ExtensionActionRegistryService = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const extension_logger_service_1 = require("../../../common/logger/extension-logger.service");
|
|
12
|
+
const users_constants_1 = require("../../users/users.constants");
|
|
12
13
|
const extensions_constants_1 = require("../extensions.constants");
|
|
13
14
|
const extension_action_interface_1 = require("./extension-action.interface");
|
|
14
15
|
let ExtensionActionRegistryService = class ExtensionActionRegistryService {
|
|
@@ -35,17 +36,32 @@ let ExtensionActionRegistryService = class ExtensionActionRegistryService {
|
|
|
35
36
|
const extensionActions = this.actions.get(extensionType);
|
|
36
37
|
return extensionActions !== undefined && extensionActions.size > 0;
|
|
37
38
|
}
|
|
38
|
-
async getActions(extensionType) {
|
|
39
|
+
async getActions(extensionType, userRole) {
|
|
39
40
|
const extensionActions = this.actions.get(extensionType);
|
|
40
41
|
if (!extensionActions) {
|
|
41
42
|
return [];
|
|
42
43
|
}
|
|
43
44
|
const serialized = [];
|
|
44
45
|
for (const action of extensionActions.values()) {
|
|
45
|
-
serialized.push(await this.serializeAction(action));
|
|
46
|
+
serialized.push(await this.serializeAction(action, userRole));
|
|
46
47
|
}
|
|
47
48
|
return serialized;
|
|
48
49
|
}
|
|
50
|
+
isAllowed(extensionType, actionId, userRole) {
|
|
51
|
+
const extensionActions = this.actions.get(extensionType);
|
|
52
|
+
if (!extensionActions) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const action = extensionActions.get(actionId);
|
|
56
|
+
if (!action) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const roles = action.requiredRoles ?? this.getDefaultRoles(action);
|
|
60
|
+
return roles.includes(userRole);
|
|
61
|
+
}
|
|
62
|
+
getDefaultRoles(action) {
|
|
63
|
+
return action.dangerous ? [users_constants_1.UserRole.OWNER] : extension_action_interface_1.DEFAULT_ACTION_ROLES;
|
|
64
|
+
}
|
|
49
65
|
async execute(extensionType, actionId, params) {
|
|
50
66
|
const extensionActions = this.actions.get(extensionType);
|
|
51
67
|
if (!extensionActions) {
|
|
@@ -195,7 +211,8 @@ let ExtensionActionRegistryService = class ExtensionActionRegistryService {
|
|
|
195
211
|
}
|
|
196
212
|
}
|
|
197
213
|
}
|
|
198
|
-
async serializeAction(action) {
|
|
214
|
+
async serializeAction(action, userRole) {
|
|
215
|
+
const roles = action.requiredRoles ?? this.getDefaultRoles(action);
|
|
199
216
|
const serialized = {
|
|
200
217
|
id: action.id,
|
|
201
218
|
label: action.label,
|
|
@@ -204,6 +221,8 @@ let ExtensionActionRegistryService = class ExtensionActionRegistryService {
|
|
|
204
221
|
category: action.category,
|
|
205
222
|
mode: action.mode,
|
|
206
223
|
dangerous: action.dangerous,
|
|
224
|
+
required_roles: roles,
|
|
225
|
+
allowed: userRole ? roles.includes(userRole) : undefined,
|
|
207
226
|
};
|
|
208
227
|
if (action.parameters && action.parameters.length > 0) {
|
|
209
228
|
serialized.parameters = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-action-registry.service.js","sourceRoot":"","sources":["../../../../src/modules/extensions/services/extension-action-registry.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoF;AAEpF,8FAAwF;AACxF,kEAAiE;AAGjE,
|
|
1
|
+
{"version":3,"file":"extension-action-registry.service.js","sourceRoot":"","sources":["../../../../src/modules/extensions/services/extension-action-registry.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { UserRole } from '../../users/users.constants';
|
|
1
2
|
export type ActionMode = 'immediate' | 'interactive';
|
|
2
3
|
export declare enum ActionParameterType {
|
|
3
4
|
STRING = "string",
|
|
@@ -49,5 +50,7 @@ export interface IExtensionAction {
|
|
|
49
50
|
mode: ActionMode;
|
|
50
51
|
dangerous?: boolean;
|
|
51
52
|
parameters?: IActionParameter[];
|
|
53
|
+
requiredRoles?: UserRole[];
|
|
52
54
|
execute?(params: Record<string, unknown>): Promise<IActionResult>;
|
|
53
55
|
}
|
|
56
|
+
export declare const DEFAULT_ACTION_ROLES: UserRole[];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ActionCategory = exports.ActionParameterType = void 0;
|
|
3
|
+
exports.DEFAULT_ACTION_ROLES = exports.ActionCategory = exports.ActionParameterType = void 0;
|
|
4
|
+
const users_constants_1 = require("../../users/users.constants");
|
|
4
5
|
var ActionParameterType;
|
|
5
6
|
(function (ActionParameterType) {
|
|
6
7
|
ActionParameterType["STRING"] = "string";
|
|
@@ -17,4 +18,5 @@ var ActionCategory;
|
|
|
17
18
|
ActionCategory["DIAGNOSTICS"] = "diagnostics";
|
|
18
19
|
ActionCategory["MAINTENANCE"] = "maintenance";
|
|
19
20
|
})(ActionCategory || (exports.ActionCategory = ActionCategory = {}));
|
|
21
|
+
exports.DEFAULT_ACTION_ROLES = [users_constants_1.UserRole.OWNER, users_constants_1.UserRole.ADMIN];
|
|
20
22
|
//# sourceMappingURL=extension-action.interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-action.interface.js","sourceRoot":"","sources":["../../../../src/modules/extensions/services/extension-action.interface.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"extension-action.interface.js","sourceRoot":"","sources":["../../../../src/modules/extensions/services/extension-action.interface.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AAcvD,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC9B,wCAAiB,CAAA;IACjB,wCAAiB,CAAA;IACjB,0CAAmB,CAAA;IACnB,wCAAiB,CAAA;IACjB,oDAA6B,CAAA;AAC9B,CAAC,EANW,mBAAmB,mCAAnB,mBAAmB,QAM9B;AAgDD,IAAY,cAMX;AAND,WAAY,cAAc;IACzB,qCAAmB,CAAA;IACnB,2CAAyB,CAAA;IACzB,+BAAa,CAAA;IACb,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;AAC5B,CAAC,EANW,cAAc,8BAAd,cAAc,QAMzB;AA+CY,QAAA,oBAAoB,GAAe,CAAC,0BAAQ,CAAC,KAAK,EAAE,0BAAQ,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CommandRunner } from 'nest-commander';
|
|
2
|
+
import { AppInstanceHolder } from '../../../common/services/app-instance-holder.service';
|
|
3
|
+
import { SwaggerDocumentService } from '../services/swagger-document.service';
|
|
4
|
+
interface ServeSwaggerOptions {
|
|
5
|
+
port?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class ServeSwaggerCommand extends CommandRunner {
|
|
8
|
+
private readonly swaggerService;
|
|
9
|
+
private readonly appHolder;
|
|
10
|
+
constructor(swaggerService: SwaggerDocumentService, appHolder: AppInstanceHolder);
|
|
11
|
+
run(_passedParams: string[], options?: ServeSwaggerOptions): Promise<void>;
|
|
12
|
+
parsePort(val: string): number;
|
|
13
|
+
}
|
|
14
|
+
export {};
|