http-request-manager 18.15.32 → 18.15.34
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/README.md +2 -0
- package/TEST_COVERAGE_SUMMARY.md +458 -0
- package/ng-package.json +8 -0
- package/package.json +5 -13
- package/src/docs/ADVANCED_WEBSOCKET.md +633 -0
- package/src/docs/ARCHITECTURE.md +633 -0
- package/src/docs/BATCH_REQUEST_README.md +467 -0
- package/src/docs/COMPLETE_API_REFERENCE.md +1037 -0
- package/src/docs/DATABASE_README.md +1195 -0
- package/src/docs/ENCRYPTION_README.md +403 -0
- package/src/docs/HTTP_MANAGER_README.md +628 -0
- package/src/docs/HTTP_SINGNALS_MANAGER_README.md +654 -0
- package/src/docs/HTTP_STATE_MANAGER_README.md +1391 -0
- package/src/docs/INTERCEPTOR_README.md +549 -0
- package/src/docs/LOCAL_STORAGE_README.md +1056 -0
- package/src/docs/LOCAL_STORAGE_SIGNALS_README.md +338 -0
- package/src/docs/LOGGER_README.md +310 -0
- package/src/docs/MESSAGE_TRACKER_README.md +518 -0
- package/src/docs/MESSAGE_TRACKER_SIGNALS_README.md +563 -0
- package/src/docs/MODELS_README.md +1264 -0
- package/src/docs/SIGNAL_SERVICES_README.md +238 -0
- package/src/docs/SQL_DIXIE_README.md +574 -0
- package/src/docs/STORE_STATE_MANAGER_README.md +556 -0
- package/src/docs/STORE_STATE_SIGNALS_README.md +600 -0
- package/src/docs/UPLOAD_REQUEST_README.md +324 -0
- package/src/docs/UTILS_README.md +1604 -0
- package/src/docs/WEBSOCKET_MESSAGE_SERVICE.md +799 -0
- package/src/docs/WEBSOCKET_SIGNALS_README.md +641 -0
- package/src/docs/WEBSOCKET_SINGLETON_REFACTORING.md +201 -0
- package/src/docs/WS_MANAGER_README.md +613 -0
- package/src/lib/http-request-manager.module.ts +147 -0
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +116 -0
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +255 -0
- package/src/lib/http-request-services-demo/http-request-services-demo.component.html +123 -0
- package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +6 -0
- package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +53 -0
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +195 -0
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +17 -0
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +208 -0
- package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.html +200 -0
- package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.scss +17 -0
- package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.ts +214 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.html +53 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.scss +60 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.ts +72 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-download.module.ts +28 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.html +10 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.scss +29 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.ts +100 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/models/download-labels-model.ts +22 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.html +8 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.scss +19 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.ts +26 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app-session.model.ts +30 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app.model.ts +19 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/get-sample.model.ts +25 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-ai-prompt.ts +19 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-details.ts +24 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-info.ts +30 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client.model.ts +49 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-mapper-client-info.ts +33 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.html +279 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.scss +24 -0
- package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.ts +461 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +53 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +60 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +72 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +28 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +10 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +29 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +100 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +22 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +8 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +19 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +26 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +30 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +19 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +25 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +19 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +24 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +30 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +49 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +33 -0
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +622 -0
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +106 -0
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +687 -0
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +418 -0
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +24 -0
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +576 -0
- package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +89 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/services/state-data-request.service.ts +119 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.css +0 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.html +3 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.ts +16 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.css +0 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.html +3 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.ts +16 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.css +31 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.html +94 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.scss +41 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.spec.ts +203 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.ts +144 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.css +11 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.html +102 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.spec.ts +40 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.ts +230 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.css +30 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.html +172 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.spec.ts +31 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.ts +239 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/models/oidc-client.model.ts +31 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.ts +32 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.css +0 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.html +84 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.ts +40 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/index.ts +3 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/jwt-token.service.ts +62 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/message-service-demo.service.ts +83 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/notification-service-demo.service.ts +147 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/state-service-demo.service.ts +168 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.html +53 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.scss +60 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.ts +72 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-download.module.ts +28 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.html +10 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.scss +29 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.ts +100 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/models/download-labels-model.ts +22 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.html +8 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.scss +19 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.ts +26 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app-session.model.ts +30 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app.model.ts +19 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/get-sample.model.ts +25 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.ts +19 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-details.ts +24 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.ts +30 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client.model.ts +49 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.ts +33 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.html +380 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.scss +24 -0
- package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.ts +410 -0
- package/src/lib/http-request-services-demo/store-state-manager-demo/models/settings.model.ts +28 -0
- package/src/lib/http-request-services-demo/store-state-manager-demo/services/settings-state.service.ts +49 -0
- package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.css +0 -0
- package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.html +23 -0
- package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.ts +36 -0
- package/src/lib/http-request-services-demo/store-state-signals-demo/store-state-signals-demo.component.ts +161 -0
- package/src/lib/http-request-services-demo/upload-demo/models/index.ts +1 -0
- package/src/lib/http-request-services-demo/upload-demo/models/upload-state.model.ts +30 -0
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.html +89 -0
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.scss +160 -0
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.spec.ts +101 -0
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.ts +136 -0
- package/src/lib/index.ts +3 -0
- package/src/lib/interceptors/credentials.interceptor.ts +16 -0
- package/src/lib/interceptors/index.ts +6 -0
- package/src/lib/interceptors/models/error-settings.model.ts +22 -0
- package/src/lib/interceptors/models/index.ts +2 -0
- package/src/lib/interceptors/proxy-debugger.interceptor.ts +46 -0
- package/src/lib/interceptors/request-error.interceptor.ts +65 -0
- package/src/lib/interceptors/request-header.interceptor.ts +56 -0
- package/src/lib/message-display/README.md +509 -0
- package/src/lib/message-display/index.ts +4 -0
- package/src/lib/message-display/models/action.model.ts +27 -0
- package/src/lib/message-display/models/communication-message.model.ts +77 -0
- package/src/lib/message-display/models/display-config.model.ts +35 -0
- package/src/lib/message-display/models/display-rule.interface.ts +28 -0
- package/src/lib/message-display/models/display-strategy.interface.ts +8 -0
- package/src/lib/message-display/models/index.ts +6 -0
- package/src/lib/message-display/models/slide.model.ts +24 -0
- package/src/lib/message-display/rules/default-display-rules.ts +35 -0
- package/src/lib/message-display/services/message-display-router.service.ts +63 -0
- package/src/lib/message-display/strategies/snackbar.strategy.ts +46 -0
- package/src/lib/models/batch-options.model.ts +33 -0
- package/src/lib/models/batch-progress.model.ts +19 -0
- package/src/lib/models/batch-request-state.model.ts +40 -0
- package/src/lib/models/batch-result.model.ts +30 -0
- package/src/lib/models/config-http-options.model.ts +45 -0
- package/src/lib/models/config-local-storage-options.model.ts +27 -0
- package/src/lib/models/config-options.model.ts +27 -0
- package/src/lib/models/config-token.model.ts +9 -0
- package/src/lib/models/data-type.enum.ts +5 -0
- package/src/lib/models/database-storage.model.ts +24 -0
- package/src/lib/models/index.ts +16 -0
- package/src/lib/models/retry-options.model.ts +22 -0
- package/src/lib/models/upload-validation-error.model.ts +46 -0
- package/src/lib/services/SQL-DixieJS service/dexie-query-executor.ts +246 -0
- package/src/lib/services/SQL-DixieJS service/dexie-sql.service.ts +31 -0
- package/src/lib/services/SQL-DixieJS service/index.ts +4 -0
- package/src/lib/services/SQL-DixieJS service/models/execution-plan.model.ts +52 -0
- package/src/lib/services/SQL-DixieJS service/models/index.ts +3 -0
- package/src/lib/services/SQL-DixieJS service/models/sql-errors.model.ts +13 -0
- package/src/lib/services/SQL-DixieJS service/models/sql-options.model.ts +3 -0
- package/src/lib/services/SQL-DixieJS service/query-planner.ts +284 -0
- package/src/lib/services/SQL-DixieJS service/schema-validator.ts +217 -0
- package/src/lib/services/SQL-DixieJS service/sql-parser.ts +35 -0
- package/src/lib/services/database-manager-service/database.manager.service.ts +384 -0
- package/src/lib/services/database-manager-service/db.storage.service.ts +240 -0
- package/src/lib/services/database-manager-service/index.ts +4 -0
- package/src/lib/services/database-manager-service/models/index.ts +2 -0
- package/src/lib/services/database-manager-service/models/table-schema.ts +33 -0
- package/src/lib/services/index.ts +20 -0
- package/src/lib/services/local-storage-manager-service/index.ts +4 -0
- package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +71 -0
- package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +567 -0
- package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.spec.ts +67 -0
- package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.ts +437 -0
- package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +30 -0
- package/src/lib/services/local-storage-manager-service/models/index.ts +6 -0
- package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +35 -0
- package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +24 -0
- package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +32 -0
- package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +5 -0
- package/src/lib/services/request-manager-services/README.md +282 -0
- package/src/lib/services/request-manager-services/http-manager-signals.service.ts +674 -0
- package/src/lib/services/request-manager-services/http-manager.service.spec.ts +353 -0
- package/src/lib/services/request-manager-services/http-manager.service.ts +727 -0
- package/src/lib/services/request-manager-services/index.ts +8 -0
- package/src/lib/services/request-manager-services/request-signals.service.ts +372 -0
- package/src/lib/services/request-manager-services/request.service.ts +435 -0
- package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +17 -0
- package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +16 -0
- package/src/lib/services/request-manager-services/rxjs-operators/index.ts +4 -0
- package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +35 -0
- package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +468 -0
- package/src/lib/services/request-manager-state-service/http-manager-state.store.spec.ts +665 -0
- package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +2395 -0
- package/src/lib/services/request-manager-state-service/index.ts +3 -0
- package/src/lib/services/request-manager-state-service/models/api-request.model.ts +86 -0
- package/src/lib/services/request-manager-state-service/models/index.ts +14 -0
- package/src/lib/services/request-manager-state-service/models/operation-result.model.ts +18 -0
- package/src/lib/services/request-manager-state-service/models/parsing-result.model.ts +21 -0
- package/src/lib/services/request-manager-state-service/models/request-options.model.ts +37 -0
- package/src/lib/services/request-manager-state-service/models/stream-config.model.ts +20 -0
- package/src/lib/services/request-manager-state-service/models/stream-event-metadata.model.ts +23 -0
- package/src/lib/services/request-manager-state-service/models/stream-event.model.ts +23 -0
- package/src/lib/services/request-manager-state-service/models/stream-output.model.ts +23 -0
- package/src/lib/services/request-manager-state-service/models/stream-progress.model.ts +24 -0
- package/src/lib/services/request-manager-state-service/models/stream-type.enum.ts +13 -0
- package/src/lib/services/request-manager-state-service/models/ws-options.model.ts +42 -0
- package/src/lib/services/store-state-manager-service/index.ts +4 -0
- package/src/lib/services/store-state-manager-service/models/index.ts +3 -0
- package/src/lib/services/store-state-manager-service/models/state-operation-result.model.ts +30 -0
- package/src/lib/services/store-state-manager-service/models/state-storage-options.model.ts +24 -0
- package/src/lib/services/store-state-manager-service/store-state-manager-signals.service.ts +169 -0
- package/src/lib/services/store-state-manager-service/store-state-manager.service.ts +153 -0
- package/src/lib/services/utils/app.service.spec.ts +25 -0
- package/src/lib/services/utils/app.service.ts +21 -0
- package/src/lib/services/utils/encryption/README.md +79 -0
- package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +282 -0
- package/src/lib/services/utils/encryption/encryption-test.service.ts +39 -0
- package/src/lib/services/utils/encryption/index.ts +5 -0
- package/src/lib/services/utils/encryption/random.ts +81 -0
- package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +106 -0
- package/src/lib/services/utils/headers.service.spec.ts +80 -0
- package/src/lib/services/utils/headers.service.ts +18 -0
- package/src/lib/services/utils/index.ts +9 -0
- package/src/lib/services/utils/logger.service.ts +90 -0
- package/src/lib/services/utils/models/index.ts +4 -0
- package/src/lib/services/utils/models/normalized-request-options.model.ts +24 -0
- package/src/lib/services/utils/models/path-tracker-state.model.ts +20 -0
- package/src/lib/services/utils/models/query-params-tracker-options.model.ts +24 -0
- package/src/lib/services/utils/models/query-tracker-state.model.ts +23 -0
- package/src/lib/services/utils/object-merger.service.spec.ts +18 -0
- package/src/lib/services/utils/object-merger.service.ts +78 -0
- package/src/lib/services/utils/path-query.service.spec.ts +117 -0
- package/src/lib/services/utils/path-query.service.ts +69 -0
- package/src/lib/services/utils/query-params-tracker.service.ts +442 -0
- package/src/lib/services/utils/random-color.utils.ts +83 -0
- package/src/lib/services/utils/utils.service.spec.ts +165 -0
- package/src/lib/services/utils/utils.service.ts +192 -0
- package/src/lib/services/ws-manager-service/index.ts +13 -0
- package/src/lib/services/ws-manager-service/message-tracker-signals.service.ts +147 -0
- package/src/lib/services/ws-manager-service/message-tracker.service.ts +477 -0
- package/src/lib/services/ws-manager-service/models/channel-info.model.ts +29 -0
- package/src/lib/services/ws-manager-service/models/channel-message-data.model.ts +24 -0
- package/src/lib/services/ws-manager-service/models/channel-message.model.ts +36 -0
- package/src/lib/services/ws-manager-service/models/channel-type.enum.ts +6 -0
- package/src/lib/services/ws-manager-service/models/communication-type.enum.ts +5 -0
- package/src/lib/services/ws-manager-service/models/index.ts +10 -0
- package/src/lib/services/ws-manager-service/models/notification-message.model.ts +29 -0
- package/src/lib/services/ws-manager-service/models/public-message.model.ts +18 -0
- package/src/lib/services/ws-manager-service/models/state-message.model.ts +18 -0
- package/src/lib/services/ws-manager-service/models/ws-user.model.ts +38 -0
- package/src/lib/services/ws-manager-service/services/index.ts +4 -0
- package/src/lib/services/ws-manager-service/services/websocket-message.service.ts +129 -0
- package/src/lib/services/ws-manager-service/services/websocket.service.ts +434 -0
- package/src/lib/services/ws-manager-service/websocket-service/index.ts +1 -0
- package/src/lib/services/ws-manager-service/websocket-service/websocket-manager.service.ts +716 -0
- package/src/lib/services/ws-manager-service/websocket-services-complete.spec.ts +596 -0
- package/src/lib/services/ws-manager-service/websocket-signals-manager.service.ts +141 -0
- package/src/public-api.ts +19 -0
- package/tsconfig.lib.json +34 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/fesm2022/http-request-manager.mjs +0 -13297
- package/fesm2022/http-request-manager.mjs.map +0 -1
- package/http-request-manager-18.15.32.tgz +0 -0
- package/types/http-request-manager.d.ts +0 -3875
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { DisplayConfig } from './display-config.model';
|
|
2
|
+
import { CommunicationMessage } from './communication-message.model';
|
|
3
|
+
|
|
4
|
+
export interface DisplayRuleInterface {
|
|
5
|
+
id: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
match: (message: CommunicationMessage) => boolean;
|
|
8
|
+
display: DisplayConfig;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export class DisplayRule implements DisplayRuleInterface {
|
|
12
|
+
constructor(
|
|
13
|
+
public id: string = '',
|
|
14
|
+
public name?: string,
|
|
15
|
+
public match: (message: CommunicationMessage) => boolean = () => false,
|
|
16
|
+
public display: DisplayConfig = DisplayConfig.adapt(),
|
|
17
|
+
) {}
|
|
18
|
+
|
|
19
|
+
static adapt(item?: any): DisplayRule {
|
|
20
|
+
return new DisplayRule(
|
|
21
|
+
item?.id,
|
|
22
|
+
item?.name,
|
|
23
|
+
item?.match,
|
|
24
|
+
item?.display ? DisplayConfig.adapt(item.display) : DisplayConfig.adapt(),
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CommunicationMessage } from '../models/communication-message.model';
|
|
2
|
+
import { DisplayConfig } from '../models/display-config.model';
|
|
3
|
+
|
|
4
|
+
export interface IDisplayStrategy {
|
|
5
|
+
name: string;
|
|
6
|
+
canHandle(message: CommunicationMessage): boolean;
|
|
7
|
+
display(message: CommunicationMessage, config: DisplayConfig): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface SlideInterface {
|
|
2
|
+
title: string;
|
|
3
|
+
message: string;
|
|
4
|
+
image?: string;
|
|
5
|
+
icon?: string;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export class Slide implements SlideInterface {
|
|
9
|
+
constructor(
|
|
10
|
+
public title: string = '',
|
|
11
|
+
public message: string = '',
|
|
12
|
+
public image?: string,
|
|
13
|
+
public icon?: string
|
|
14
|
+
) {}
|
|
15
|
+
|
|
16
|
+
static adapt(item?: any): Slide {
|
|
17
|
+
return new Slide(
|
|
18
|
+
item?.title,
|
|
19
|
+
item?.message,
|
|
20
|
+
item?.image,
|
|
21
|
+
item?.icon
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { DisplayRule } from '../models/display-rule.interface';
|
|
2
|
+
|
|
3
|
+
export const defaultDisplayRules: DisplayRule[] = [
|
|
4
|
+
{
|
|
5
|
+
id: 'carousel',
|
|
6
|
+
name: 'Carousel',
|
|
7
|
+
match: (message) => message.content?.displayConfig?.type === 'carousel',
|
|
8
|
+
display: {
|
|
9
|
+
type: 'carousel',
|
|
10
|
+
supportsMarkdown: true,
|
|
11
|
+
stackable: false
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 'dialog',
|
|
16
|
+
name: 'Dialog',
|
|
17
|
+
match: (message) => message.content?.displayConfig?.type === 'dialog',
|
|
18
|
+
display: {
|
|
19
|
+
type: 'dialog',
|
|
20
|
+
supportsMarkdown: true,
|
|
21
|
+
stackable: true
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: 'default',
|
|
26
|
+
name: 'Snackbar',
|
|
27
|
+
match: () => true,
|
|
28
|
+
display: {
|
|
29
|
+
type: 'snackbar',
|
|
30
|
+
supportsMarkdown: false,
|
|
31
|
+
stackable: true,
|
|
32
|
+
autoDismiss: 3000
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
];
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { IDisplayStrategy } from '../models/display-strategy.interface';
|
|
3
|
+
import { DisplayRule } from '../models/display-rule.interface';
|
|
4
|
+
import { CommunicationMessage } from '../models/communication-message.model';
|
|
5
|
+
import { defaultDisplayRules } from '../rules/default-display-rules';
|
|
6
|
+
import { SnackbarStrategy } from '../strategies/snackbar.strategy';
|
|
7
|
+
|
|
8
|
+
@Injectable({ providedIn: 'root' })
|
|
9
|
+
export class MessageDisplayRouterService {
|
|
10
|
+
|
|
11
|
+
private snackbarStrategy = inject(SnackbarStrategy);
|
|
12
|
+
|
|
13
|
+
// All available strategies
|
|
14
|
+
private strategies: IDisplayStrategy[] = [
|
|
15
|
+
this.snackbarStrategy
|
|
16
|
+
// DialogStrategy will be added in Phase 2
|
|
17
|
+
// CarouselStrategy will be added in Phase 3
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
// Rules are evaluated in order - first match wins
|
|
21
|
+
private rules: DisplayRule[] = defaultDisplayRules;
|
|
22
|
+
|
|
23
|
+
display(message: CommunicationMessage): void {
|
|
24
|
+
console.log('📨 MessageDisplayRouterService: Processing message:', message);
|
|
25
|
+
|
|
26
|
+
// Find FIRST matching rule (order matters!)
|
|
27
|
+
const matchingRule = this.rules.find(rule => rule.match(message));
|
|
28
|
+
|
|
29
|
+
// Get the rule (will be 'default' if nothing else matches)
|
|
30
|
+
const rule = matchingRule || this.rules[this.rules.length - 1];
|
|
31
|
+
|
|
32
|
+
console.log(`🎯 MessageDisplayRouterService: Matched rule '${rule.id}' (${rule.name})`);
|
|
33
|
+
console.log(` → Display type: ${rule.display.type}`);
|
|
34
|
+
|
|
35
|
+
// Get strategy for the display type
|
|
36
|
+
const strategy = this.strategies.find(s => s.name === rule.display.type);
|
|
37
|
+
|
|
38
|
+
if (!strategy) {
|
|
39
|
+
console.warn(`⚠️ MessageDisplayRouterService: No strategy found for type '${rule.display.type}', falling back to snackbar`);
|
|
40
|
+
// Fallback to snackbar if strategy not found
|
|
41
|
+
this.snackbarStrategy.display(message, rule.display);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Execute display
|
|
46
|
+
console.log(`🚀 MessageDisplayRouterService: Executing ${strategy.name} strategy`);
|
|
47
|
+
strategy.display(message, rule.display);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
registerStrategies(strategies: IDisplayStrategy[]): void {
|
|
51
|
+
strategies.forEach(strategy => {
|
|
52
|
+
if (!this.strategies.find(s => s.name === strategy.name)) {
|
|
53
|
+
this.strategies.push(strategy);
|
|
54
|
+
console.log(`✅ Registered strategy: ${strategy.name}`);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
setRules(rules: DisplayRule[]): void {
|
|
60
|
+
this.rules = rules;
|
|
61
|
+
console.log(`📋 MessageDisplayRouterService: Rules updated (${rules.length} rules)`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { ToastMessageDisplayService, ToastColors } from 'toast-message-display';
|
|
3
|
+
import { IDisplayStrategy } from '../models/display-strategy.interface';
|
|
4
|
+
import { CommunicationMessage } from '../models/communication-message.model';
|
|
5
|
+
import { DisplayConfig } from '../models/display-config.model';
|
|
6
|
+
|
|
7
|
+
@Injectable()
|
|
8
|
+
export class SnackbarStrategy implements IDisplayStrategy {
|
|
9
|
+
name = 'snackbar';
|
|
10
|
+
|
|
11
|
+
private toastService = inject(ToastMessageDisplayService);
|
|
12
|
+
|
|
13
|
+
canHandle(message: CommunicationMessage): boolean {
|
|
14
|
+
return true; // Always can handle (fallback strategy)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
display(message: CommunicationMessage, config: DisplayConfig): void {
|
|
18
|
+
const messageText = this.extractMessage(message.content);
|
|
19
|
+
|
|
20
|
+
this.toastService.toastMessage(
|
|
21
|
+
{
|
|
22
|
+
message: messageText,
|
|
23
|
+
color: ToastColors.INFO,
|
|
24
|
+
icon: 'info',
|
|
25
|
+
action: 'DONE'
|
|
26
|
+
},
|
|
27
|
+
config.autoDismiss ?? 3000
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
private extractMessage(content: any): string {
|
|
32
|
+
if (!content) return '';
|
|
33
|
+
|
|
34
|
+
// Try nested content structure (backward compatibility)
|
|
35
|
+
if (content.content?.message) {
|
|
36
|
+
return content.content.message;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Try direct message
|
|
40
|
+
if (content.message) {
|
|
41
|
+
return content.message;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return '';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface BatchOptionsInterface {
|
|
2
|
+
mode?: 'sequential' | 'parallel';
|
|
3
|
+
stopOnError?: boolean;
|
|
4
|
+
concurrency?: number;
|
|
5
|
+
ignoreErrors?: boolean;
|
|
6
|
+
logErrors?: boolean;
|
|
7
|
+
displaySuccess?: boolean;
|
|
8
|
+
displayError?: boolean;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export class BatchOptions implements BatchOptionsInterface {
|
|
12
|
+
constructor(
|
|
13
|
+
public mode: 'sequential' | 'parallel' = 'sequential',
|
|
14
|
+
public stopOnError: boolean = false,
|
|
15
|
+
public concurrency: number = 3,
|
|
16
|
+
public ignoreErrors: boolean = false,
|
|
17
|
+
public logErrors: boolean = true,
|
|
18
|
+
public displaySuccess?: boolean,
|
|
19
|
+
public displayError?: boolean,
|
|
20
|
+
) {}
|
|
21
|
+
|
|
22
|
+
static adapt(item?: any): BatchOptions {
|
|
23
|
+
return new BatchOptions(
|
|
24
|
+
item?.mode ?? 'sequential',
|
|
25
|
+
item?.stopOnError ?? false,
|
|
26
|
+
item?.concurrency ?? 3,
|
|
27
|
+
item?.ignoreErrors ?? false,
|
|
28
|
+
item?.logErrors !== false,
|
|
29
|
+
item?.displaySuccess ?? false,
|
|
30
|
+
item?.displayError ?? false,
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BatchRequestState } from './batch-request-state.model';
|
|
2
|
+
|
|
3
|
+
export interface BatchProgress {
|
|
4
|
+
total: number;
|
|
5
|
+
pending: number;
|
|
6
|
+
completed: number;
|
|
7
|
+
failed: number;
|
|
8
|
+
percent: number;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function calculateBatchProgress<T>(states: BatchRequestState<T>[]): BatchProgress {
|
|
12
|
+
const total = states.length;
|
|
13
|
+
const pending = states.filter(s => s.isPending).length;
|
|
14
|
+
const completed = states.filter(s => !s.isPending && s.data !== undefined).length;
|
|
15
|
+
const failed = states.filter(s => !s.isPending && s.error !== undefined).length;
|
|
16
|
+
const percent = total > 0 ? Math.round(((completed + failed) / total) * 100) : 0;
|
|
17
|
+
|
|
18
|
+
return { total, pending, completed, failed, percent };
|
|
19
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export type BatchRequestState<T> =
|
|
2
|
+
| BatchPendingState
|
|
3
|
+
| BatchSuccessState<T>
|
|
4
|
+
| BatchErrorState;
|
|
5
|
+
|
|
6
|
+
export interface BatchPendingState {
|
|
7
|
+
index: number;
|
|
8
|
+
request: any;
|
|
9
|
+
isPending: true;
|
|
10
|
+
data?: undefined;
|
|
11
|
+
error?: undefined;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface BatchSuccessState<T> {
|
|
15
|
+
index: number;
|
|
16
|
+
request: any;
|
|
17
|
+
isPending: false;
|
|
18
|
+
data: T;
|
|
19
|
+
error?: undefined;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface BatchErrorState {
|
|
23
|
+
index: number;
|
|
24
|
+
request: any;
|
|
25
|
+
isPending: false;
|
|
26
|
+
data?: undefined;
|
|
27
|
+
error: any;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function isPendingState<T>(state: BatchRequestState<T>): state is BatchPendingState {
|
|
31
|
+
return state.isPending === true;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function isSuccessState<T>(state: BatchRequestState<T>): state is BatchSuccessState<T> {
|
|
35
|
+
return state.isPending === false && state.data !== undefined;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function isErrorState<T>(state: BatchRequestState<T>): state is BatchErrorState {
|
|
39
|
+
return state.isPending === false && state.error !== undefined;
|
|
40
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface BatchResultInterface<T = any> {
|
|
2
|
+
request: any;
|
|
3
|
+
success: boolean;
|
|
4
|
+
data?: T;
|
|
5
|
+
error?: any;
|
|
6
|
+
index: number;
|
|
7
|
+
timestamp: number;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export class BatchResult<T = any> implements BatchResultInterface<T> {
|
|
11
|
+
constructor(
|
|
12
|
+
public request: any,
|
|
13
|
+
public success: boolean,
|
|
14
|
+
public data?: T,
|
|
15
|
+
public error?: any,
|
|
16
|
+
public index: number = 0,
|
|
17
|
+
public timestamp: number = Date.now(),
|
|
18
|
+
) {}
|
|
19
|
+
|
|
20
|
+
static adapt<T>(item?: any): BatchResult<T> {
|
|
21
|
+
return new BatchResult<T>(
|
|
22
|
+
item?.request,
|
|
23
|
+
item?.success ?? false,
|
|
24
|
+
item?.data,
|
|
25
|
+
item?.error,
|
|
26
|
+
item?.index ?? 0,
|
|
27
|
+
item?.timestamp ?? Date.now(),
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { RetryOptions } from "./retry-options.model"
|
|
2
|
+
|
|
3
|
+
export interface ConfigHTTPOptionsInterface {
|
|
4
|
+
server: string
|
|
5
|
+
path?: any[]
|
|
6
|
+
headers?: any
|
|
7
|
+
polling?: number // seconds (undefined | 0 = none)
|
|
8
|
+
retry?: RetryOptions
|
|
9
|
+
stream?: boolean
|
|
10
|
+
displayError?: boolean
|
|
11
|
+
displaySuccess?: boolean
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export class ConfigHTTPOptions implements ConfigHTTPOptionsInterface {
|
|
15
|
+
|
|
16
|
+
constructor(
|
|
17
|
+
public server = '',
|
|
18
|
+
public path?: any[],
|
|
19
|
+
public headers?: any,
|
|
20
|
+
public polling?: number,
|
|
21
|
+
public retry?: RetryOptions,
|
|
22
|
+
public stream?: boolean,
|
|
23
|
+
public displayError?: boolean,
|
|
24
|
+
public displaySuccess?: boolean,
|
|
25
|
+
) {}
|
|
26
|
+
|
|
27
|
+
static adapt(item?: any): ConfigHTTPOptions {
|
|
28
|
+
|
|
29
|
+
const server = Array.isArray(item?.server) ? item.server.join('/') : item?.server || '';
|
|
30
|
+
const retryOptions = item?.retry ? RetryOptions.adapt(item.retry) : RetryOptions.adapt();
|
|
31
|
+
|
|
32
|
+
return new ConfigHTTPOptions(
|
|
33
|
+
server,
|
|
34
|
+
(item?.path) ? item.path : [],
|
|
35
|
+
(item?.headers) ? item.headers : {},
|
|
36
|
+
item?.polling ? Math.floor(item.polling) : 0,
|
|
37
|
+
retryOptions,
|
|
38
|
+
(item?.stream) ? item.stream : false,
|
|
39
|
+
(item?.displayError) ? item.displayError : false,
|
|
40
|
+
(item?.displaySuccess) ? item.displaySuccess : false,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { SettingOptions } from "../services"
|
|
2
|
+
|
|
3
|
+
export interface LocalStorageOptionsInterface {
|
|
4
|
+
storageName?: string
|
|
5
|
+
storageSettingsName?: string
|
|
6
|
+
options?: SettingOptions,
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export class LocalStorageOptions implements LocalStorageOptionsInterface {
|
|
10
|
+
|
|
11
|
+
constructor(
|
|
12
|
+
public storageName?: string,
|
|
13
|
+
public storageSettingsName?: string,
|
|
14
|
+
public options?: SettingOptions,
|
|
15
|
+
) {}
|
|
16
|
+
|
|
17
|
+
static adapt(item?: any): LocalStorageOptions {
|
|
18
|
+
|
|
19
|
+
return new LocalStorageOptions(
|
|
20
|
+
(item?.storageName) ? item.storageName : 'storage',
|
|
21
|
+
(item?.storageSettingsName) ? item.storageSettingsName : 'global-storage',
|
|
22
|
+
(item?.options) ? SettingOptions.adapt(item.options) : SettingOptions.adapt(),
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ConfigHTTPOptions } from "./config-http-options.model";
|
|
2
|
+
import { LocalStorageOptions } from "./config-local-storage-options.model";
|
|
3
|
+
|
|
4
|
+
export interface ConfigOptionsInterface {
|
|
5
|
+
httpRequestOptions?: ConfigHTTPOptions
|
|
6
|
+
LocalStorageOptions?: LocalStorageOptions
|
|
7
|
+
// DatabaseOptions: any
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export class ConfigOptions implements ConfigOptionsInterface {
|
|
11
|
+
|
|
12
|
+
constructor(
|
|
13
|
+
public httpRequestOptions?: ConfigHTTPOptions,
|
|
14
|
+
public LocalStorageOptions?: LocalStorageOptions,
|
|
15
|
+
// public DatabaseOptions?: any,
|
|
16
|
+
) {}
|
|
17
|
+
|
|
18
|
+
static adapt(item?: any): ConfigOptions {
|
|
19
|
+
return new ConfigOptions(
|
|
20
|
+
(item?.httpRequestOptions) ? ConfigHTTPOptions.adapt(item.httpRequestOptions) : undefined,
|
|
21
|
+
(item?.LocalStorageOptions) ? LocalStorageOptions.adapt(item.LocalStorageOptions) : undefined,
|
|
22
|
+
// item?.DatabaseOptions,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
import { ConfigOptions } from "./config-options.model";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* An injection token that provides the configuration settings for the application.
|
|
6
|
+
* This token can be used to inject the `ConfigSettings` instance into components or services
|
|
7
|
+
* that require access to the application configuration.
|
|
8
|
+
*/
|
|
9
|
+
export const CONFIG_SETTINGS_TOKEN = new InjectionToken<ConfigOptions>('http.config');
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface DatabaseStorageInterface {
|
|
2
|
+
table: string
|
|
3
|
+
expiresIn: string
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export class DatabaseStorage implements DatabaseStorageInterface {
|
|
7
|
+
|
|
8
|
+
constructor(
|
|
9
|
+
public table = '',
|
|
10
|
+
public expiresIn: '',
|
|
11
|
+
) {}
|
|
12
|
+
|
|
13
|
+
static adapt(item?: any): any {
|
|
14
|
+
|
|
15
|
+
if(!item?.table) return
|
|
16
|
+
|
|
17
|
+
return new DatabaseStorage(
|
|
18
|
+
item?.table,
|
|
19
|
+
item?.expiresIn,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './database-storage.model'
|
|
2
|
+
export * from './retry-options.model'
|
|
3
|
+
export * from './batch-options.model'
|
|
4
|
+
export * from './batch-result.model'
|
|
5
|
+
export * from './batch-request-state.model'
|
|
6
|
+
export * from './batch-progress.model'
|
|
7
|
+
|
|
8
|
+
export * from './data-type.enum'
|
|
9
|
+
|
|
10
|
+
export * from './config-token.model'
|
|
11
|
+
export * from './config-http-options.model'
|
|
12
|
+
export * from './config-local-storage-options.model'
|
|
13
|
+
export * from './config-options.model'
|
|
14
|
+
|
|
15
|
+
export * from './upload-validation-error.model'
|
|
16
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface RetryOptionsInterface {
|
|
2
|
+
times?: number // total request to be made including initial request
|
|
3
|
+
delay?: number // seconds (<= 3 default 3 seconds)
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export class RetryOptions implements RetryOptionsInterface {
|
|
7
|
+
|
|
8
|
+
constructor(
|
|
9
|
+
public times = 0,
|
|
10
|
+
public delay = 3,
|
|
11
|
+
) {}
|
|
12
|
+
|
|
13
|
+
static adapt(item?: any): RetryOptions {
|
|
14
|
+
|
|
15
|
+
return new RetryOptions(
|
|
16
|
+
item?.times,
|
|
17
|
+
item?.delay
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export interface InvalidFileInfoInterface {
|
|
2
|
+
fileName: string;
|
|
3
|
+
fileSize: number;
|
|
4
|
+
fileType: string;
|
|
5
|
+
errors: string[];
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export class InvalidFileInfoModel implements InvalidFileInfoInterface {
|
|
9
|
+
constructor(
|
|
10
|
+
public fileName: string = '',
|
|
11
|
+
public fileSize: number = 0,
|
|
12
|
+
public fileType: string = '',
|
|
13
|
+
public errors: string[] = []
|
|
14
|
+
) {}
|
|
15
|
+
|
|
16
|
+
static adapt(item?: any): InvalidFileInfoModel {
|
|
17
|
+
return new InvalidFileInfoModel(
|
|
18
|
+
item?.fileName,
|
|
19
|
+
item?.fileSize,
|
|
20
|
+
item?.fileType,
|
|
21
|
+
Array.isArray(item?.errors) ? item.errors : []
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface UploadValidationErrorInterface {
|
|
27
|
+
invalidFiles: InvalidFileInfoModel[];
|
|
28
|
+
validFilesCount: number;
|
|
29
|
+
totalFilesCount: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export class UploadValidationErrorModel implements UploadValidationErrorInterface {
|
|
33
|
+
constructor(
|
|
34
|
+
public invalidFiles: InvalidFileInfoModel[] = [],
|
|
35
|
+
public validFilesCount: number = 0,
|
|
36
|
+
public totalFilesCount: number = 0
|
|
37
|
+
) {}
|
|
38
|
+
|
|
39
|
+
static adapt(item?: any): UploadValidationErrorModel {
|
|
40
|
+
return new UploadValidationErrorModel(
|
|
41
|
+
Array.isArray(item?.invalidFiles) ? item.invalidFiles.map((f: any) => InvalidFileInfoModel.adapt(f)) : [],
|
|
42
|
+
item?.validFilesCount,
|
|
43
|
+
item?.totalFilesCount
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
}
|