@en-solutions/tgm-client-sdk 1.6.21
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/LICENSE +19 -0
- package/README.md +788 -0
- package/esm2022/en-solutions-tgm-client-sdk.mjs +5 -0
- package/esm2022/lib/components/database-manager/database-manager/database-manager.component.mjs +308 -0
- package/esm2022/lib/components/database-manager/database-manager.module.mjs +66 -0
- package/esm2022/lib/components/database-manager/object-browser/object-browser.component.mjs +98 -0
- package/esm2022/lib/components/database-manager/query-editor/query-editor.component.mjs +196 -0
- package/esm2022/lib/components/database-manager/query-toolbar/query-toolbar.component.mjs +70 -0
- package/esm2022/lib/components/database-manager/record-detail/record-detail.component.mjs +112 -0
- package/esm2022/lib/components/database-manager/registry/entity-registry.mjs +512 -0
- package/esm2022/lib/components/database-manager/results-grid/results-grid.component.mjs +165 -0
- package/esm2022/lib/components/database-manager/services/entity-schema.service.mjs +91 -0
- package/esm2022/lib/components/database-manager/services/query-executor.service.mjs +204 -0
- package/esm2022/lib/components/database-manager/table-data-viewer/table-data-viewer.component.mjs +166 -0
- package/esm2022/lib/components/database-manager/table-structure/table-structure.component.mjs +42 -0
- package/esm2022/lib/components/database-manager/types/database-manager.types.mjs +6 -0
- package/esm2022/lib/components/reporting/export-button/export-button.component.mjs +203 -0
- package/esm2022/lib/components/reporting/generated-report-list/generated-report-list.component.mjs +285 -0
- package/esm2022/lib/components/reporting/report-definition-form/report-definition-form.component.mjs +206 -0
- package/esm2022/lib/components/reporting/report-definition-list/report-definition-list.component.mjs +252 -0
- package/esm2022/lib/components/reporting/report-generate-dialog/report-generate-dialog.component.mjs +122 -0
- package/esm2022/lib/components/reporting/report-stats/report-stats.component.mjs +164 -0
- package/esm2022/lib/components/reporting/report-template-list/report-template-list.component.mjs +114 -0
- package/esm2022/lib/components/reporting/reporting.module.mjs +60 -0
- package/esm2022/lib/components/video-call/incoming-call/incoming-call.component.mjs +80 -0
- package/esm2022/lib/components/video-call/services/livekit-room.service.mjs +142 -0
- package/esm2022/lib/components/video-call/services/video-call-signaling.service.mjs +42 -0
- package/esm2022/lib/components/video-call/services/video-call-state.service.mjs +52 -0
- package/esm2022/lib/components/video-call/types/video-call.types.mjs +2 -0
- package/esm2022/lib/components/video-call/video-call.module.mjs +42 -0
- package/esm2022/lib/components/video-call/video-controls/video-controls.component.mjs +33 -0
- package/esm2022/lib/components/video-call/video-participant/video-participant.component.mjs +68 -0
- package/esm2022/lib/components/video-call/video-room/video-room.component.mjs +89 -0
- package/esm2022/lib/core/auth-interceptor.mjs +33 -0
- package/esm2022/lib/core/client-interceptor.mjs +34 -0
- package/esm2022/lib/core/error-handler.mjs +32 -0
- package/esm2022/lib/core/http-client.service.mjs +254 -0
- package/esm2022/lib/core/websocket.service.mjs +185 -0
- package/esm2022/lib/models/admin/audit.models.mjs +2 -0
- package/esm2022/lib/models/admin/backup.models.mjs +2 -0
- package/esm2022/lib/models/admin/client.models.mjs +2 -0
- package/esm2022/lib/models/admin/email-provider.models.mjs +2 -0
- package/esm2022/lib/models/admin/erp.models.mjs +2 -0
- package/esm2022/lib/models/admin/identity-provider.models.mjs +2 -0
- package/esm2022/lib/models/admin/index.mjs +14 -0
- package/esm2022/lib/models/admin/messaging-provider.models.mjs +2 -0
- package/esm2022/lib/models/admin/platform-admin.models.mjs +2 -0
- package/esm2022/lib/models/admin/queue.models.mjs +2 -0
- package/esm2022/lib/models/admin/role.models.mjs +2 -0
- package/esm2022/lib/models/admin/sandbox.models.mjs +2 -0
- package/esm2022/lib/models/admin/ticket.models.mjs +2 -0
- package/esm2022/lib/models/admin/webhook.models.mjs +2 -0
- package/esm2022/lib/models/api/ai.models.mjs +2 -0
- package/esm2022/lib/models/api/aip.models.mjs +2 -0
- package/esm2022/lib/models/api/cat.models.mjs +2 -0
- package/esm2022/lib/models/api/company.models.mjs +2 -0
- package/esm2022/lib/models/api/compliance.models.mjs +2 -0
- package/esm2022/lib/models/api/component.models.mjs +2 -0
- package/esm2022/lib/models/api/cortex-edge.models.mjs +2 -0
- package/esm2022/lib/models/api/cortex-event.models.mjs +2 -0
- package/esm2022/lib/models/api/cortex-insight.models.mjs +2 -0
- package/esm2022/lib/models/api/cortex-node.models.mjs +2 -0
- package/esm2022/lib/models/api/custom-field.models.mjs +2 -0
- package/esm2022/lib/models/api/deferral.models.mjs +2 -0
- package/esm2022/lib/models/api/diagnostic-report.models.mjs +2 -0
- package/esm2022/lib/models/api/document.models.mjs +2 -0
- package/esm2022/lib/models/api/energy.models.mjs +2 -0
- package/esm2022/lib/models/api/failure.models.mjs +2 -0
- package/esm2022/lib/models/api/fleet.models.mjs +2 -0
- package/esm2022/lib/models/api/inspection.models.mjs +2 -0
- package/esm2022/lib/models/api/intervention.models.mjs +2 -0
- package/esm2022/lib/models/api/iot.models.mjs +2 -0
- package/esm2022/lib/models/api/knowledge.models.mjs +2 -0
- package/esm2022/lib/models/api/loto.models.mjs +2 -0
- package/esm2022/lib/models/api/maintenance-record.models.mjs +2 -0
- package/esm2022/lib/models/api/maintenance.models.mjs +2 -0
- package/esm2022/lib/models/api/material.models.mjs +2 -0
- package/esm2022/lib/models/api/media.models.mjs +2 -0
- package/esm2022/lib/models/api/misc.models.mjs +2 -0
- package/esm2022/lib/models/api/project.models.mjs +2 -0
- package/esm2022/lib/models/api/quality.models.mjs +2 -0
- package/esm2022/lib/models/api/reporting.models.mjs +3 -0
- package/esm2022/lib/models/api/reservoir-websocket.models.mjs +17 -0
- package/esm2022/lib/models/api/reservoir.models.mjs +2 -0
- package/esm2022/lib/models/api/search.models.mjs +2 -0
- package/esm2022/lib/models/api/sensor.models.mjs +2 -0
- package/esm2022/lib/models/api/unit.models.mjs +2 -0
- package/esm2022/lib/models/api/user.models.mjs +2 -0
- package/esm2022/lib/models/api/warranty.models.mjs +2 -0
- package/esm2022/lib/models/api/work-permit.models.mjs +2 -0
- package/esm2022/lib/models/api/workflow.models.mjs +2 -0
- package/esm2022/lib/models/auth/index.mjs +4 -0
- package/esm2022/lib/models/auth/login.models.mjs +2 -0
- package/esm2022/lib/models/auth/sso.models.mjs +2 -0
- package/esm2022/lib/models/auth/totp.models.mjs +2 -0
- package/esm2022/lib/models/base.models.mjs +99 -0
- package/esm2022/lib/models/chat/chat.models.mjs +2 -0
- package/esm2022/lib/models/enums/cat.enums.mjs +17 -0
- package/esm2022/lib/models/enums/energy.enums.mjs +8 -0
- package/esm2022/lib/models/enums/erp.enums.mjs +5 -0
- package/esm2022/lib/models/enums/index.mjs +15 -0
- package/esm2022/lib/models/enums/inspection.enums.mjs +7 -0
- package/esm2022/lib/models/enums/loto.enums.mjs +25 -0
- package/esm2022/lib/models/enums/misc.enums.mjs +19 -0
- package/esm2022/lib/models/enums/quality.enums.mjs +22 -0
- package/esm2022/lib/models/enums/reservoir.enums.mjs +13 -0
- package/esm2022/lib/models/enums/sso.enums.mjs +3 -0
- package/esm2022/lib/models/enums/status.enums.mjs +41 -0
- package/esm2022/lib/models/enums/time.enums.mjs +5 -0
- package/esm2022/lib/models/enums/type.enums.mjs +45 -0
- package/esm2022/lib/models/enums/user.enums.mjs +6 -0
- package/esm2022/lib/models/enums/work-permit.enums.mjs +33 -0
- package/esm2022/lib/models/index.mjs +42 -0
- package/esm2022/lib/models/realtime/realtime-event.models.mjs +9 -0
- package/esm2022/lib/models/video/video-call.models.mjs +2 -0
- package/esm2022/lib/services/admin/activity-log.service.mjs +28 -0
- package/esm2022/lib/services/admin/announcement.service.mjs +37 -0
- package/esm2022/lib/services/admin/article-admin.service.mjs +37 -0
- package/esm2022/lib/services/admin/audit-log.service.mjs +53 -0
- package/esm2022/lib/services/admin/backup.service.mjs +28 -0
- package/esm2022/lib/services/admin/cache-admin.service.mjs +64 -0
- package/esm2022/lib/services/admin/client-admin.service.mjs +101 -0
- package/esm2022/lib/services/admin/client-api-key.service.mjs +31 -0
- package/esm2022/lib/services/admin/client-ocr.service.mjs +28 -0
- package/esm2022/lib/services/admin/client-usage.service.mjs +31 -0
- package/esm2022/lib/services/admin/data-export.service.mjs +19 -0
- package/esm2022/lib/services/admin/document-admin.service.mjs +40 -0
- package/esm2022/lib/services/admin/email-admin.service.mjs +28 -0
- package/esm2022/lib/services/admin/email-provider.service.mjs +58 -0
- package/esm2022/lib/services/admin/erp-admin.service.mjs +111 -0
- package/esm2022/lib/services/admin/identity-provider.service.mjs +46 -0
- package/esm2022/lib/services/admin/impersonation.service.mjs +19 -0
- package/esm2022/lib/services/admin/index.mjs +31 -0
- package/esm2022/lib/services/admin/messaging-provider.service.mjs +55 -0
- package/esm2022/lib/services/admin/notification.service.mjs +31 -0
- package/esm2022/lib/services/admin/platform-admin.service.mjs +34 -0
- package/esm2022/lib/services/admin/platform-webhook.service.mjs +34 -0
- package/esm2022/lib/services/admin/queue-admin.service.mjs +55 -0
- package/esm2022/lib/services/admin/role-admin.service.mjs +81 -0
- package/esm2022/lib/services/admin/sandbox-admin.service.mjs +34 -0
- package/esm2022/lib/services/admin/scheduler-admin.service.mjs +34 -0
- package/esm2022/lib/services/admin/subscription.service.mjs +28 -0
- package/esm2022/lib/services/admin/system-health.service.mjs +22 -0
- package/esm2022/lib/services/admin/user-admin.service.mjs +67 -0
- package/esm2022/lib/services/admin/user-permission.service.mjs +40 -0
- package/esm2022/lib/services/admin/webhook-admin.service.mjs +61 -0
- package/esm2022/lib/services/api/agent.service.mjs +29 -0
- package/esm2022/lib/services/api/ai-feedback.service.mjs +17 -0
- package/esm2022/lib/services/api/ai.service.mjs +66 -0
- package/esm2022/lib/services/api/aip-analysis.service.mjs +20 -0
- package/esm2022/lib/services/api/aip-financial.service.mjs +29 -0
- package/esm2022/lib/services/api/aip-geographic.service.mjs +30 -0
- package/esm2022/lib/services/api/aip-network.service.mjs +29 -0
- package/esm2022/lib/services/api/aip-performance.service.mjs +29 -0
- package/esm2022/lib/services/api/aip-resource.service.mjs +23 -0
- package/esm2022/lib/services/api/aip-workflow.service.mjs +32 -0
- package/esm2022/lib/services/api/aip.service.mjs +158 -0
- package/esm2022/lib/services/api/alert.service.mjs +26 -0
- package/esm2022/lib/services/api/anomaly-detection.service.mjs +40 -0
- package/esm2022/lib/services/api/asset-lifecycle.service.mjs +78 -0
- package/esm2022/lib/services/api/audit-entry.service.mjs +22 -0
- package/esm2022/lib/services/api/base-crud.service.mjs +37 -0
- package/esm2022/lib/services/api/bid.service.mjs +17 -0
- package/esm2022/lib/services/api/budget.service.mjs +17 -0
- package/esm2022/lib/services/api/bulk-operation.service.mjs +65 -0
- package/esm2022/lib/services/api/capex-project.service.mjs +17 -0
- package/esm2022/lib/services/api/cat.service.mjs +77 -0
- package/esm2022/lib/services/api/client-article.service.mjs +23 -0
- package/esm2022/lib/services/api/community.service.mjs +41 -0
- package/esm2022/lib/services/api/company-material-type.service.mjs +17 -0
- package/esm2022/lib/services/api/company-material.service.mjs +17 -0
- package/esm2022/lib/services/api/company.service.mjs +30 -0
- package/esm2022/lib/services/api/compliance.service.mjs +74 -0
- package/esm2022/lib/services/api/component-info.service.mjs +17 -0
- package/esm2022/lib/services/api/component-location.service.mjs +17 -0
- package/esm2022/lib/services/api/component.service.mjs +53 -0
- package/esm2022/lib/services/api/cortex-event.service.mjs +17 -0
- package/esm2022/lib/services/api/cortex-insight.service.mjs +23 -0
- package/esm2022/lib/services/api/cortex-node.service.mjs +17 -0
- package/esm2022/lib/services/api/cortex.service.mjs +29 -0
- package/esm2022/lib/services/api/custom-field.service.mjs +70 -0
- package/esm2022/lib/services/api/custom.service.mjs +43 -0
- package/esm2022/lib/services/api/dashboard.service.mjs +44 -0
- package/esm2022/lib/services/api/deferral.service.mjs +54 -0
- package/esm2022/lib/services/api/department.service.mjs +17 -0
- package/esm2022/lib/services/api/device-gateway.service.mjs +33 -0
- package/esm2022/lib/services/api/diagnostic-report.service.mjs +23 -0
- package/esm2022/lib/services/api/digital-twin.service.mjs +56 -0
- package/esm2022/lib/services/api/document.service.mjs +53 -0
- package/esm2022/lib/services/api/dynamic-crud.service.mjs +67 -0
- package/esm2022/lib/services/api/energy-analytics.service.mjs +42 -0
- package/esm2022/lib/services/api/energy-production.service.mjs +17 -0
- package/esm2022/lib/services/api/energy.service.mjs +91 -0
- package/esm2022/lib/services/api/entity-comment.service.mjs +31 -0
- package/esm2022/lib/services/api/event.service.mjs +17 -0
- package/esm2022/lib/services/api/export.service.mjs +216 -0
- package/esm2022/lib/services/api/extension.service.mjs +56 -0
- package/esm2022/lib/services/api/failure.service.mjs +53 -0
- package/esm2022/lib/services/api/fleet.service.mjs +140 -0
- package/esm2022/lib/services/api/inactive-component.service.mjs +17 -0
- package/esm2022/lib/services/api/index.mjs +101 -0
- package/esm2022/lib/services/api/inspection.service.mjs +29 -0
- package/esm2022/lib/services/api/intervention-request.service.mjs +17 -0
- package/esm2022/lib/services/api/intervention.service.mjs +17 -0
- package/esm2022/lib/services/api/knowledge.service.mjs +209 -0
- package/esm2022/lib/services/api/license.service.mjs +25 -0
- package/esm2022/lib/services/api/location.service.mjs +17 -0
- package/esm2022/lib/services/api/log.service.mjs +17 -0
- package/esm2022/lib/services/api/login-history.service.mjs +17 -0
- package/esm2022/lib/services/api/maintenance-plan.service.mjs +17 -0
- package/esm2022/lib/services/api/maintenance-record.service.mjs +17 -0
- package/esm2022/lib/services/api/material-consumable.service.mjs +41 -0
- package/esm2022/lib/services/api/material-instrument.service.mjs +29 -0
- package/esm2022/lib/services/api/material-item.service.mjs +53 -0
- package/esm2022/lib/services/api/material-tooling.service.mjs +41 -0
- package/esm2022/lib/services/api/measurement-unit.service.mjs +17 -0
- package/esm2022/lib/services/api/misc-crud.service.mjs +329 -0
- package/esm2022/lib/services/api/note.service.mjs +37 -0
- package/esm2022/lib/services/api/outage-resource.service.mjs +28 -0
- package/esm2022/lib/services/api/plant-data.service.mjs +31 -0
- package/esm2022/lib/services/api/procurement.service.mjs +53 -0
- package/esm2022/lib/services/api/project.service.mjs +17 -0
- package/esm2022/lib/services/api/property-template.service.mjs +17 -0
- package/esm2022/lib/services/api/quality.service.mjs +29 -0
- package/esm2022/lib/services/api/recurring-event.service.mjs +17 -0
- package/esm2022/lib/services/api/reporting.service.mjs +117 -0
- package/esm2022/lib/services/api/reservoir-data.service.mjs +19 -0
- package/esm2022/lib/services/api/reservoir.service.mjs +209 -0
- package/esm2022/lib/services/api/room.service.mjs +17 -0
- package/esm2022/lib/services/api/sandbox.service.mjs +62 -0
- package/esm2022/lib/services/api/scheduled-report.service.mjs +17 -0
- package/esm2022/lib/services/api/search.service.mjs +77 -0
- package/esm2022/lib/services/api/sensor.service.mjs +36 -0
- package/esm2022/lib/services/api/sla-policy.service.mjs +17 -0
- package/esm2022/lib/services/api/sla.service.mjs +17 -0
- package/esm2022/lib/services/api/threshold-alert-rule.service.mjs +17 -0
- package/esm2022/lib/services/api/ticket.service.mjs +73 -0
- package/esm2022/lib/services/api/time-entry.service.mjs +17 -0
- package/esm2022/lib/services/api/todo.service.mjs +17 -0
- package/esm2022/lib/services/api/unit.service.mjs +17 -0
- package/esm2022/lib/services/api/upload.service.mjs +84 -0
- package/esm2022/lib/services/api/user.service.mjs +107 -0
- package/esm2022/lib/services/api/warehouse.service.mjs +29 -0
- package/esm2022/lib/services/api/warranty.service.mjs +29 -0
- package/esm2022/lib/services/api/work-order.service.mjs +28 -0
- package/esm2022/lib/services/api/work-permit.service.mjs +17 -0
- package/esm2022/lib/services/api/workflow.service.mjs +86 -0
- package/esm2022/lib/services/auth/auth.service.mjs +97 -0
- package/esm2022/lib/services/auth/index.mjs +5 -0
- package/esm2022/lib/services/auth/platform-auth.service.mjs +39 -0
- package/esm2022/lib/services/auth/sso-auth.service.mjs +46 -0
- package/esm2022/lib/services/auth/totp.service.mjs +34 -0
- package/esm2022/lib/services/chat/chat-rest.service.mjs +104 -0
- package/esm2022/lib/services/chat/chat-websocket.service.mjs +70 -0
- package/esm2022/lib/services/chat/index.mjs +3 -0
- package/esm2022/lib/services/index.mjs +8 -0
- package/esm2022/lib/services/realtime/index.mjs +2 -0
- package/esm2022/lib/services/realtime/realtime-event.service.mjs +187 -0
- package/esm2022/lib/services/reservoir/index.mjs +2 -0
- package/esm2022/lib/services/reservoir/reservoir-websocket.service.mjs +105 -0
- package/esm2022/lib/services/video/index.mjs +3 -0
- package/esm2022/lib/services/video/video-call-rest.service.mjs +42 -0
- package/esm2022/lib/services/video/video-call-websocket.service.mjs +55 -0
- package/esm2022/lib/tgm-sdk.config.mjs +32 -0
- package/esm2022/lib/tgm-sdk.module.mjs +38 -0
- package/esm2022/public-api.mjs +52 -0
- package/fesm2022/en-solutions-tgm-client-sdk.mjs +11029 -0
- package/fesm2022/en-solutions-tgm-client-sdk.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/database-manager/database-manager/database-manager.component.d.ts +70 -0
- package/lib/components/database-manager/database-manager.module.d.ts +15 -0
- package/lib/components/database-manager/object-browser/object-browser.component.d.ts +35 -0
- package/lib/components/database-manager/query-editor/query-editor.component.d.ts +31 -0
- package/lib/components/database-manager/query-toolbar/query-toolbar.component.d.ts +23 -0
- package/lib/components/database-manager/record-detail/record-detail.component.d.ts +35 -0
- package/lib/components/database-manager/registry/entity-registry.d.ts +16 -0
- package/lib/components/database-manager/results-grid/results-grid.component.d.ts +62 -0
- package/lib/components/database-manager/services/entity-schema.service.d.ts +37 -0
- package/lib/components/database-manager/services/query-executor.service.d.ts +57 -0
- package/lib/components/database-manager/table-data-viewer/table-data-viewer.component.d.ts +54 -0
- package/lib/components/database-manager/table-structure/table-structure.component.d.ts +16 -0
- package/lib/components/database-manager/types/database-manager.types.d.ts +71 -0
- package/lib/components/reporting/export-button/export-button.component.d.ts +50 -0
- package/lib/components/reporting/generated-report-list/generated-report-list.component.d.ts +93 -0
- package/lib/components/reporting/report-definition-form/report-definition-form.component.d.ts +65 -0
- package/lib/components/reporting/report-definition-list/report-definition-list.component.d.ts +90 -0
- package/lib/components/reporting/report-generate-dialog/report-generate-dialog.component.d.ts +46 -0
- package/lib/components/reporting/report-stats/report-stats.component.d.ts +47 -0
- package/lib/components/reporting/report-template-list/report-template-list.component.d.ts +39 -0
- package/lib/components/reporting/reporting.module.d.ts +14 -0
- package/lib/components/video-call/incoming-call/incoming-call.component.d.ts +20 -0
- package/lib/components/video-call/services/livekit-room.service.d.ts +28 -0
- package/lib/components/video-call/services/video-call-signaling.service.d.ts +21 -0
- package/lib/components/video-call/services/video-call-state.service.d.ts +25 -0
- package/lib/components/video-call/types/video-call.types.d.ts +49 -0
- package/lib/components/video-call/video-call.module.d.ts +11 -0
- package/lib/components/video-call/video-controls/video-controls.component.d.ts +13 -0
- package/lib/components/video-call/video-participant/video-participant.component.d.ts +17 -0
- package/lib/components/video-call/video-room/video-room.component.d.ts +30 -0
- package/lib/core/auth-interceptor.d.ts +13 -0
- package/lib/core/client-interceptor.d.ts +14 -0
- package/lib/core/error-handler.d.ts +13 -0
- package/lib/core/http-client.service.d.ts +61 -0
- package/lib/core/websocket.service.d.ts +37 -0
- package/lib/models/admin/audit.models.d.ts +73 -0
- package/lib/models/admin/backup.models.d.ts +101 -0
- package/lib/models/admin/client.models.d.ts +99 -0
- package/lib/models/admin/email-provider.models.d.ts +56 -0
- package/lib/models/admin/erp.models.d.ts +188 -0
- package/lib/models/admin/identity-provider.models.d.ts +1 -0
- package/lib/models/admin/index.d.ts +13 -0
- package/lib/models/admin/messaging-provider.models.d.ts +49 -0
- package/lib/models/admin/platform-admin.models.d.ts +33 -0
- package/lib/models/admin/queue.models.d.ts +54 -0
- package/lib/models/admin/role.models.d.ts +50 -0
- package/lib/models/admin/sandbox.models.d.ts +54 -0
- package/lib/models/admin/ticket.models.d.ts +48 -0
- package/lib/models/admin/webhook.models.d.ts +65 -0
- package/lib/models/api/ai.models.d.ts +75 -0
- package/lib/models/api/aip.models.d.ts +545 -0
- package/lib/models/api/cat.models.d.ts +260 -0
- package/lib/models/api/company.models.d.ts +125 -0
- package/lib/models/api/compliance.models.d.ts +74 -0
- package/lib/models/api/component.models.d.ts +294 -0
- package/lib/models/api/cortex-edge.models.d.ts +14 -0
- package/lib/models/api/cortex-event.models.d.ts +12 -0
- package/lib/models/api/cortex-insight.models.d.ts +25 -0
- package/lib/models/api/cortex-node.models.d.ts +10 -0
- package/lib/models/api/custom-field.models.d.ts +37 -0
- package/lib/models/api/deferral.models.d.ts +81 -0
- package/lib/models/api/diagnostic-report.models.d.ts +29 -0
- package/lib/models/api/document.models.d.ts +95 -0
- package/lib/models/api/energy.models.d.ts +210 -0
- package/lib/models/api/failure.models.d.ts +171 -0
- package/lib/models/api/fleet.models.d.ts +193 -0
- package/lib/models/api/inspection.models.d.ts +110 -0
- package/lib/models/api/intervention.models.d.ts +254 -0
- package/lib/models/api/iot.models.d.ts +15 -0
- package/lib/models/api/knowledge.models.d.ts +340 -0
- package/lib/models/api/loto.models.d.ts +51 -0
- package/lib/models/api/maintenance-record.models.d.ts +100 -0
- package/lib/models/api/maintenance.models.d.ts +188 -0
- package/lib/models/api/material.models.d.ts +261 -0
- package/lib/models/api/media.models.d.ts +106 -0
- package/lib/models/api/misc.models.d.ts +929 -0
- package/lib/models/api/project.models.d.ts +118 -0
- package/lib/models/api/quality.models.d.ts +153 -0
- package/lib/models/api/reporting.models.d.ts +76 -0
- package/lib/models/api/reservoir-websocket.models.d.ts +48 -0
- package/lib/models/api/reservoir.models.d.ts +274 -0
- package/lib/models/api/search.models.d.ts +30 -0
- package/lib/models/api/sensor.models.d.ts +117 -0
- package/lib/models/api/unit.models.d.ts +82 -0
- package/lib/models/api/user.models.d.ts +253 -0
- package/lib/models/api/warranty.models.d.ts +51 -0
- package/lib/models/api/work-permit.models.d.ts +70 -0
- package/lib/models/api/workflow.models.d.ts +52 -0
- package/lib/models/auth/index.d.ts +3 -0
- package/lib/models/auth/login.models.d.ts +134 -0
- package/lib/models/auth/sso.models.d.ts +136 -0
- package/lib/models/auth/totp.models.d.ts +19 -0
- package/lib/models/base.models.d.ts +90 -0
- package/lib/models/chat/chat.models.d.ts +171 -0
- package/lib/models/enums/cat.enums.d.ts +114 -0
- package/lib/models/enums/energy.enums.d.ts +50 -0
- package/lib/models/enums/erp.enums.d.ts +49 -0
- package/lib/models/enums/index.d.ts +14 -0
- package/lib/models/enums/inspection.enums.d.ts +61 -0
- package/lib/models/enums/loto.enums.d.ts +41 -0
- package/lib/models/enums/misc.enums.d.ts +151 -0
- package/lib/models/enums/quality.enums.d.ts +25 -0
- package/lib/models/enums/reservoir.enums.d.ts +80 -0
- package/lib/models/enums/sso.enums.d.ts +15 -0
- package/lib/models/enums/status.enums.d.ts +296 -0
- package/lib/models/enums/time.enums.d.ts +51 -0
- package/lib/models/enums/type.enums.d.ts +324 -0
- package/lib/models/enums/user.enums.d.ts +31 -0
- package/lib/models/enums/work-permit.enums.d.ts +56 -0
- package/lib/models/index.d.ts +41 -0
- package/lib/models/realtime/realtime-event.models.d.ts +95 -0
- package/lib/models/video/video-call.models.d.ts +65 -0
- package/lib/services/admin/activity-log.service.d.ts +13 -0
- package/lib/services/admin/announcement.service.d.ts +17 -0
- package/lib/services/admin/article-admin.service.d.ts +17 -0
- package/lib/services/admin/audit-log.service.d.ts +22 -0
- package/lib/services/admin/backup.service.d.ts +15 -0
- package/lib/services/admin/cache-admin.service.d.ts +26 -0
- package/lib/services/admin/client-admin.service.d.ts +38 -0
- package/lib/services/admin/client-api-key.service.d.ts +15 -0
- package/lib/services/admin/client-ocr.service.d.ts +14 -0
- package/lib/services/admin/client-usage.service.d.ts +15 -0
- package/lib/services/admin/data-export.service.d.ts +10 -0
- package/lib/services/admin/document-admin.service.d.ts +18 -0
- package/lib/services/admin/email-admin.service.d.ts +14 -0
- package/lib/services/admin/email-provider.service.d.ts +25 -0
- package/lib/services/admin/erp-admin.service.d.ts +41 -0
- package/lib/services/admin/identity-provider.service.d.ts +21 -0
- package/lib/services/admin/impersonation.service.d.ts +11 -0
- package/lib/services/admin/index.d.ts +30 -0
- package/lib/services/admin/messaging-provider.service.d.ts +24 -0
- package/lib/services/admin/notification.service.d.ts +15 -0
- package/lib/services/admin/platform-admin.service.d.ts +17 -0
- package/lib/services/admin/platform-webhook.service.d.ts +16 -0
- package/lib/services/admin/queue-admin.service.d.ts +24 -0
- package/lib/services/admin/role-admin.service.d.ts +37 -0
- package/lib/services/admin/sandbox-admin.service.d.ts +17 -0
- package/lib/services/admin/scheduler-admin.service.d.ts +61 -0
- package/lib/services/admin/subscription.service.d.ts +15 -0
- package/lib/services/admin/system-health.service.d.ts +11 -0
- package/lib/services/admin/user-admin.service.d.ts +27 -0
- package/lib/services/admin/user-permission.service.d.ts +18 -0
- package/lib/services/admin/webhook-admin.service.d.ts +26 -0
- package/lib/services/api/agent.service.d.ts +16 -0
- package/lib/services/api/ai-feedback.service.d.ts +9 -0
- package/lib/services/api/ai.service.d.ts +36 -0
- package/lib/services/api/aip-analysis.service.d.ts +13 -0
- package/lib/services/api/aip-financial.service.d.ts +16 -0
- package/lib/services/api/aip-geographic.service.d.ts +16 -0
- package/lib/services/api/aip-network.service.d.ts +16 -0
- package/lib/services/api/aip-performance.service.d.ts +16 -0
- package/lib/services/api/aip-resource.service.d.ts +14 -0
- package/lib/services/api/aip-workflow.service.d.ts +24 -0
- package/lib/services/api/aip.service.d.ts +73 -0
- package/lib/services/api/alert.service.d.ts +15 -0
- package/lib/services/api/anomaly-detection.service.d.ts +26 -0
- package/lib/services/api/asset-lifecycle.service.d.ts +29 -0
- package/lib/services/api/audit-entry.service.d.ts +13 -0
- package/lib/services/api/base-crud.service.d.ts +18 -0
- package/lib/services/api/bid.service.d.ts +10 -0
- package/lib/services/api/budget.service.d.ts +10 -0
- package/lib/services/api/bulk-operation.service.d.ts +26 -0
- package/lib/services/api/capex-project.service.d.ts +10 -0
- package/lib/services/api/cat.service.d.ts +40 -0
- package/lib/services/api/client-article.service.d.ts +14 -0
- package/lib/services/api/community.service.d.ts +21 -0
- package/lib/services/api/company-material-type.service.d.ts +10 -0
- package/lib/services/api/company-material.service.d.ts +9 -0
- package/lib/services/api/company.service.d.ts +15 -0
- package/lib/services/api/compliance.service.d.ts +35 -0
- package/lib/services/api/component-info.service.d.ts +10 -0
- package/lib/services/api/component-location.service.d.ts +10 -0
- package/lib/services/api/component.service.d.ts +32 -0
- package/lib/services/api/cortex-event.service.d.ts +10 -0
- package/lib/services/api/cortex-insight.service.d.ts +14 -0
- package/lib/services/api/cortex-node.service.d.ts +10 -0
- package/lib/services/api/cortex.service.d.ts +15 -0
- package/lib/services/api/custom-field.service.d.ts +33 -0
- package/lib/services/api/custom.service.d.ts +23 -0
- package/lib/services/api/dashboard.service.d.ts +18 -0
- package/lib/services/api/deferral.service.d.ts +29 -0
- package/lib/services/api/department.service.d.ts +9 -0
- package/lib/services/api/device-gateway.service.d.ts +16 -0
- package/lib/services/api/diagnostic-report.service.d.ts +14 -0
- package/lib/services/api/digital-twin.service.d.ts +29 -0
- package/lib/services/api/document.service.d.ts +28 -0
- package/lib/services/api/dynamic-crud.service.d.ts +41 -0
- package/lib/services/api/energy-analytics.service.d.ts +16 -0
- package/lib/services/api/energy-production.service.d.ts +10 -0
- package/lib/services/api/energy.service.d.ts +46 -0
- package/lib/services/api/entity-comment.service.d.ts +16 -0
- package/lib/services/api/event.service.d.ts +10 -0
- package/lib/services/api/export.service.d.ts +48 -0
- package/lib/services/api/extension.service.d.ts +24 -0
- package/lib/services/api/failure.service.d.ts +28 -0
- package/lib/services/api/fleet.service.d.ts +71 -0
- package/lib/services/api/inactive-component.service.d.ts +10 -0
- package/lib/services/api/index.d.ts +101 -0
- package/lib/services/api/inspection.service.d.ts +16 -0
- package/lib/services/api/intervention-request.service.d.ts +10 -0
- package/lib/services/api/intervention.service.d.ts +10 -0
- package/lib/services/api/knowledge.service.d.ts +106 -0
- package/lib/services/api/license.service.d.ts +14 -0
- package/lib/services/api/location.service.d.ts +9 -0
- package/lib/services/api/log.service.d.ts +9 -0
- package/lib/services/api/login-history.service.d.ts +10 -0
- package/lib/services/api/maintenance-plan.service.d.ts +10 -0
- package/lib/services/api/maintenance-record.service.d.ts +10 -0
- package/lib/services/api/material-consumable.service.d.ts +22 -0
- package/lib/services/api/material-instrument.service.d.ts +16 -0
- package/lib/services/api/material-item.service.d.ts +28 -0
- package/lib/services/api/material-tooling.service.d.ts +22 -0
- package/lib/services/api/measurement-unit.service.d.ts +10 -0
- package/lib/services/api/misc-crud.service.d.ts +167 -0
- package/lib/services/api/note.service.d.ts +14 -0
- package/lib/services/api/outage-resource.service.d.ts +15 -0
- package/lib/services/api/plant-data.service.d.ts +14 -0
- package/lib/services/api/procurement.service.d.ts +27 -0
- package/lib/services/api/project.service.d.ts +10 -0
- package/lib/services/api/property-template.service.d.ts +10 -0
- package/lib/services/api/quality.service.d.ts +16 -0
- package/lib/services/api/recurring-event.service.d.ts +10 -0
- package/lib/services/api/reporting.service.d.ts +38 -0
- package/lib/services/api/reservoir-data.service.d.ts +10 -0
- package/lib/services/api/reservoir.service.d.ts +109 -0
- package/lib/services/api/room.service.d.ts +10 -0
- package/lib/services/api/sandbox.service.d.ts +26 -0
- package/lib/services/api/scheduled-report.service.d.ts +10 -0
- package/lib/services/api/search.service.d.ts +54 -0
- package/lib/services/api/sensor.service.d.ts +17 -0
- package/lib/services/api/sla-policy.service.d.ts +10 -0
- package/lib/services/api/sla.service.d.ts +10 -0
- package/lib/services/api/threshold-alert-rule.service.d.ts +10 -0
- package/lib/services/api/ticket.service.d.ts +60 -0
- package/lib/services/api/time-entry.service.d.ts +10 -0
- package/lib/services/api/todo.service.d.ts +10 -0
- package/lib/services/api/unit.service.d.ts +10 -0
- package/lib/services/api/upload.service.d.ts +50 -0
- package/lib/services/api/user.service.d.ts +59 -0
- package/lib/services/api/warehouse.service.d.ts +15 -0
- package/lib/services/api/warranty.service.d.ts +16 -0
- package/lib/services/api/work-order.service.d.ts +17 -0
- package/lib/services/api/work-permit.service.d.ts +10 -0
- package/lib/services/api/workflow.service.d.ts +33 -0
- package/lib/services/auth/auth.service.d.ts +33 -0
- package/lib/services/auth/index.d.ts +4 -0
- package/lib/services/auth/platform-auth.service.d.ts +16 -0
- package/lib/services/auth/sso-auth.service.d.ts +21 -0
- package/lib/services/auth/totp.service.d.ts +18 -0
- package/lib/services/chat/chat-rest.service.d.ts +40 -0
- package/lib/services/chat/chat-websocket.service.d.ts +34 -0
- package/lib/services/chat/index.d.ts +2 -0
- package/lib/services/index.d.ts +7 -0
- package/lib/services/realtime/index.d.ts +1 -0
- package/lib/services/realtime/realtime-event.service.d.ts +137 -0
- package/lib/services/reservoir/index.d.ts +1 -0
- package/lib/services/reservoir/reservoir-websocket.service.d.ts +47 -0
- package/lib/services/video/index.d.ts +2 -0
- package/lib/services/video/video-call-rest.service.d.ts +19 -0
- package/lib/services/video/video-call-websocket.service.d.ts +31 -0
- package/lib/tgm-sdk.config.d.ts +36 -0
- package/lib/tgm-sdk.module.d.ts +13 -0
- package/package.json +40 -0
- package/public-api.d.ts +42 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BaseCrudService } from './base-crud.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../core/http-client.service";
|
|
5
|
+
export class WarrantyContractService extends BaseCrudService {
|
|
6
|
+
resourcePath = '/api/warranties';
|
|
7
|
+
constructor(http) {
|
|
8
|
+
super(http);
|
|
9
|
+
}
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WarrantyContractService, deps: [{ token: i1.TgmHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WarrantyContractService, providedIn: 'root' });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WarrantyContractService, decorators: [{
|
|
14
|
+
type: Injectable,
|
|
15
|
+
args: [{ providedIn: 'root' }]
|
|
16
|
+
}], ctorParameters: () => [{ type: i1.TgmHttpClient }] });
|
|
17
|
+
export class WarrantyClaimService extends BaseCrudService {
|
|
18
|
+
resourcePath = '/api/warranty-claims';
|
|
19
|
+
constructor(http) {
|
|
20
|
+
super(http);
|
|
21
|
+
}
|
|
22
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WarrantyClaimService, deps: [{ token: i1.TgmHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WarrantyClaimService, providedIn: 'root' });
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WarrantyClaimService, decorators: [{
|
|
26
|
+
type: Injectable,
|
|
27
|
+
args: [{ providedIn: 'root' }]
|
|
28
|
+
}], ctorParameters: () => [{ type: i1.TgmHttpClient }] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FycmFudHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvYXBpL3dhcnJhbnR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUl0RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZUFBaUM7SUFDbEUsWUFBWSxHQUFHLGlCQUFpQixDQUFDO0lBRTNDLFlBQVksSUFBbUI7UUFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2QsQ0FBQzt3R0FMVSx1QkFBdUI7NEdBQXZCLHVCQUF1QixjQURWLE1BQU07OzRGQUNuQix1QkFBdUI7a0JBRG5DLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQVVsQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBOEI7SUFDNUQsWUFBWSxHQUFHLHNCQUFzQixDQUFDO0lBRWhELFlBQVksSUFBbUI7UUFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2QsQ0FBQzt3R0FMVSxvQkFBb0I7NEdBQXBCLG9CQUFvQixjQURQLE1BQU07OzRGQUNuQixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGdtSHR0cENsaWVudCB9IGZyb20gJy4uLy4uL2NvcmUvaHR0cC1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlQ3J1ZFNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtY3J1ZC5zZXJ2aWNlJztcbmltcG9ydCB7IFdhcnJhbnR5Q29udHJhY3QsIFdhcnJhbnR5Q2xhaW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBpL3dhcnJhbnR5Lm1vZGVscyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgV2FycmFudHlDb250cmFjdFNlcnZpY2UgZXh0ZW5kcyBCYXNlQ3J1ZFNlcnZpY2U8V2FycmFudHlDb250cmFjdD4ge1xuICBwcm90ZWN0ZWQgcmVzb3VyY2VQYXRoID0gJy9hcGkvd2FycmFudGllcyc7XG5cbiAgY29uc3RydWN0b3IoaHR0cDogVGdtSHR0cENsaWVudCkge1xuICAgIHN1cGVyKGh0dHApO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgV2FycmFudHlDbGFpbVNlcnZpY2UgZXh0ZW5kcyBCYXNlQ3J1ZFNlcnZpY2U8V2FycmFudHlDbGFpbT4ge1xuICBwcm90ZWN0ZWQgcmVzb3VyY2VQYXRoID0gJy9hcGkvd2FycmFudHktY2xhaW1zJztcblxuICBjb25zdHJ1Y3RvcihodHRwOiBUZ21IdHRwQ2xpZW50KSB7XG4gICAgc3VwZXIoaHR0cCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BaseCrudService } from './base-crud.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../core/http-client.service";
|
|
5
|
+
/**
|
|
6
|
+
* WorkOrderService — alias for MaintenanceRecordService.
|
|
7
|
+
* Work Orders were migrated to Maintenance Records in the backend.
|
|
8
|
+
* This service provides backward compatibility + custom query methods.
|
|
9
|
+
*/
|
|
10
|
+
export class WorkOrderService extends BaseCrudService {
|
|
11
|
+
resourcePath = '/api/maintenance-records';
|
|
12
|
+
constructor(http) {
|
|
13
|
+
super(http);
|
|
14
|
+
}
|
|
15
|
+
getByUnit(unitId) {
|
|
16
|
+
return this.getAll({ 'unit.id': String(unitId) });
|
|
17
|
+
}
|
|
18
|
+
getByStatus(status) {
|
|
19
|
+
return this.getAll({ status });
|
|
20
|
+
}
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkOrderService, deps: [{ token: i1.TgmHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkOrderService, providedIn: 'root' });
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkOrderService, decorators: [{
|
|
25
|
+
type: Injectable,
|
|
26
|
+
args: [{ providedIn: 'root' }]
|
|
27
|
+
}], ctorParameters: () => [{ type: i1.TgmHttpClient }] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1vcmRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hcGkvd29yay1vcmRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFdEQ7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFvQjtJQUM5QyxZQUFZLEdBQUcsMEJBQTBCLENBQUM7SUFFcEQsWUFBWSxJQUFtQjtRQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQXVCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxXQUFXLENBQUMsTUFBYztRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7d0dBYlUsZ0JBQWdCOzRHQUFoQixnQkFBZ0IsY0FESCxNQUFNOzs0RkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRnbUh0dHBDbGllbnQgfSBmcm9tICcuLi8uLi9jb3JlL2h0dHAtY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZUNydWRTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLWNydWQuc2VydmljZSc7XG5cbi8qKlxuICogV29ya09yZGVyU2VydmljZSDigJQgYWxpYXMgZm9yIE1haW50ZW5hbmNlUmVjb3JkU2VydmljZS5cbiAqIFdvcmsgT3JkZXJzIHdlcmUgbWlncmF0ZWQgdG8gTWFpbnRlbmFuY2UgUmVjb3JkcyBpbiB0aGUgYmFja2VuZC5cbiAqIFRoaXMgc2VydmljZSBwcm92aWRlcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5ICsgY3VzdG9tIHF1ZXJ5IG1ldGhvZHMuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgV29ya09yZGVyU2VydmljZSBleHRlbmRzIEJhc2VDcnVkU2VydmljZTxhbnk+IHtcbiAgcHJvdGVjdGVkIHJlc291cmNlUGF0aCA9ICcvYXBpL21haW50ZW5hbmNlLXJlY29yZHMnO1xuXG4gIGNvbnN0cnVjdG9yKGh0dHA6IFRnbUh0dHBDbGllbnQpIHtcbiAgICBzdXBlcihodHRwKTtcbiAgfVxuXG4gIGdldEJ5VW5pdCh1bml0SWQ6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsKHsgJ3VuaXQuaWQnOiBTdHJpbmcodW5pdElkKSB9IGFzIGFueSk7XG4gIH1cblxuICBnZXRCeVN0YXR1cyhzdGF0dXM6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsKHsgc3RhdHVzIH0gYXMgYW55KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BaseCrudService } from './base-crud.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../core/http-client.service";
|
|
5
|
+
export class WorkPermitService extends BaseCrudService {
|
|
6
|
+
resourcePath = '/api/work-permits';
|
|
7
|
+
constructor(http) {
|
|
8
|
+
super(http);
|
|
9
|
+
}
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkPermitService, deps: [{ token: i1.TgmHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkPermitService, providedIn: 'root' });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WorkPermitService, decorators: [{
|
|
14
|
+
type: Injectable,
|
|
15
|
+
args: [{ providedIn: 'root' }]
|
|
16
|
+
}], ctorParameters: () => [{ type: i1.TgmHttpClient }] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1wZXJtaXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvYXBpL3dvcmstcGVybWl0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUl0RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBMkI7SUFDdEQsWUFBWSxHQUFHLG1CQUFtQixDQUFDO0lBRTdDLFlBQVksSUFBbUI7UUFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2QsQ0FBQzt3R0FMVSxpQkFBaUI7NEdBQWpCLGlCQUFpQixjQURKLE1BQU07OzRGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGdtSHR0cENsaWVudCB9IGZyb20gJy4uLy4uL2NvcmUvaHR0cC1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlQ3J1ZFNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtY3J1ZC5zZXJ2aWNlJztcbmltcG9ydCB7IFdvcmtQZXJtaXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBpL3dvcmstcGVybWl0Lm1vZGVscyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgV29ya1Blcm1pdFNlcnZpY2UgZXh0ZW5kcyBCYXNlQ3J1ZFNlcnZpY2U8V29ya1Blcm1pdD4ge1xuICBwcm90ZWN0ZWQgcmVzb3VyY2VQYXRoID0gJy9hcGkvd29yay1wZXJtaXRzJztcblxuICBjb25zdHJ1Y3RvcihodHRwOiBUZ21IdHRwQ2xpZW50KSB7XG4gICAgc3VwZXIoaHR0cCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../core/http-client.service";
|
|
4
|
+
export class ApprovalWorkflowService {
|
|
5
|
+
http;
|
|
6
|
+
basePath = '/workflows';
|
|
7
|
+
constructor(http) {
|
|
8
|
+
this.http = http;
|
|
9
|
+
}
|
|
10
|
+
create(data) {
|
|
11
|
+
return this.http.post(this.basePath, data);
|
|
12
|
+
}
|
|
13
|
+
getById(id) {
|
|
14
|
+
return this.http.get(`${this.basePath}/${id}`);
|
|
15
|
+
}
|
|
16
|
+
getSteps(id) {
|
|
17
|
+
return this.http.get(`${this.basePath}/${id}/steps`);
|
|
18
|
+
}
|
|
19
|
+
approve(id) {
|
|
20
|
+
return this.http.post(`${this.basePath}/${id}/approve`);
|
|
21
|
+
}
|
|
22
|
+
reject(id) {
|
|
23
|
+
return this.http.post(`${this.basePath}/${id}/reject`);
|
|
24
|
+
}
|
|
25
|
+
requestInfo(id) {
|
|
26
|
+
return this.http.post(`${this.basePath}/${id}/request-info`);
|
|
27
|
+
}
|
|
28
|
+
delegate(id, body) {
|
|
29
|
+
return this.http.post(`${this.basePath}/${id}/delegate`, body);
|
|
30
|
+
}
|
|
31
|
+
escalate(id) {
|
|
32
|
+
return this.http.post(`${this.basePath}/${id}/escalate`);
|
|
33
|
+
}
|
|
34
|
+
cancel(id) {
|
|
35
|
+
return this.http.post(`${this.basePath}/${id}/cancel`);
|
|
36
|
+
}
|
|
37
|
+
getMyPending() {
|
|
38
|
+
return this.http.get(`${this.basePath}/my-pending`);
|
|
39
|
+
}
|
|
40
|
+
getMyRequests() {
|
|
41
|
+
return this.http.get(`${this.basePath}/my-requests`);
|
|
42
|
+
}
|
|
43
|
+
getByStatus(status) {
|
|
44
|
+
return this.http.get(`${this.basePath}/by-status`, {
|
|
45
|
+
params: { status },
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
getByType(type) {
|
|
49
|
+
return this.http.get(`${this.basePath}/by-type`, {
|
|
50
|
+
params: { type },
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
getByEntity(entityType, entityId) {
|
|
54
|
+
return this.http.get(`${this.basePath}/by-entity`, {
|
|
55
|
+
params: { entityType, entityId },
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
getEscalated() {
|
|
59
|
+
return this.http.get(`${this.basePath}/escalated`);
|
|
60
|
+
}
|
|
61
|
+
getOverdue() {
|
|
62
|
+
return this.http.get(`${this.basePath}/overdue`);
|
|
63
|
+
}
|
|
64
|
+
getDashboard() {
|
|
65
|
+
return this.http.get(`${this.basePath}/dashboard`);
|
|
66
|
+
}
|
|
67
|
+
getEscalationRules() {
|
|
68
|
+
return this.http.get(`${this.basePath}/escalation-rules`);
|
|
69
|
+
}
|
|
70
|
+
createEscalationRule(data) {
|
|
71
|
+
return this.http.post(`${this.basePath}/escalation-rules`, data);
|
|
72
|
+
}
|
|
73
|
+
updateEscalationRule(id, data) {
|
|
74
|
+
return this.http.patch(`${this.basePath}/escalation-rules/${id}`, data);
|
|
75
|
+
}
|
|
76
|
+
deleteEscalationRule(id) {
|
|
77
|
+
return this.http.delete(`${this.basePath}/escalation-rules/${id}`);
|
|
78
|
+
}
|
|
79
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApprovalWorkflowService, deps: [{ token: i1.TgmHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
80
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApprovalWorkflowService, providedIn: 'root' });
|
|
81
|
+
}
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApprovalWorkflowService, decorators: [{
|
|
83
|
+
type: Injectable,
|
|
84
|
+
args: [{ providedIn: 'root' }]
|
|
85
|
+
}], ctorParameters: () => [{ type: i1.TgmHttpClient }] });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvYXBpL3dvcmtmbG93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzNDLE1BQU0sT0FBTyx1QkFBdUI7SUFHZDtJQUZaLFFBQVEsR0FBRyxZQUFZLENBQUM7SUFFaEMsWUFBb0IsSUFBbUI7UUFBbkIsU0FBSSxHQUFKLElBQUksQ0FBZTtJQUFHLENBQUM7SUFFM0MsTUFBTSxDQUFDLElBQStCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWdDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWdDLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUE4QixHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQVU7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBZ0MsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBZ0MsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFV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QkFBb0IsQ0FBQyxFQUFVO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQW9CLEdBQUcsSUFBSSxDQUFDLFFBQVEscUJBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEYsQ0FBQzt3R0E3RlUsdUJBQXVCOzRHQUF2Qix1QkFBdUIsY0FEVixNQUFNOzs0RkFDbkIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRnbUh0dHBDbGllbnQgfSBmcm9tICcuLi8uLi9jb3JlL2h0dHAtY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBpUmVzcG9uc2UsIFBhZ2VkUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvYmFzZS5tb2RlbHMnO1xuaW1wb3J0IHsgQXBwcm92YWxXb3JrZmxvdywgQXBwcm92YWxTdGVwLCBFc2NhbGF0aW9uUnVsZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcGkvd29ya2Zsb3cubW9kZWxzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBcHByb3ZhbFdvcmtmbG93U2VydmljZSB7XG4gIHByaXZhdGUgYmFzZVBhdGggPSAnL3dvcmtmbG93cyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBUZ21IdHRwQ2xpZW50KSB7fVxuXG4gIGNyZWF0ZShkYXRhOiBQYXJ0aWFsPEFwcHJvdmFsV29ya2Zsb3c+KTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTxBcHByb3ZhbFdvcmtmbG93Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlSZXNwb25zZTxBcHByb3ZhbFdvcmtmbG93Pj4odGhpcy5iYXNlUGF0aCwgZGF0YSk7XG4gIH1cblxuICBnZXRCeUlkKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3c+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpUmVzcG9uc2U8QXBwcm92YWxXb3JrZmxvdz4+KGAke3RoaXMuYmFzZVBhdGh9LyR7aWR9YCk7XG4gIH1cblxuICBnZXRTdGVwcyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTxBcHByb3ZhbFN0ZXBbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlSZXNwb25zZTxBcHByb3ZhbFN0ZXBbXT4+KGAke3RoaXMuYmFzZVBhdGh9LyR7aWR9L3N0ZXBzYCk7XG4gIH1cblxuICBhcHByb3ZlKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3c+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3c+PihgJHt0aGlzLmJhc2VQYXRofS8ke2lkfS9hcHByb3ZlYCk7XG4gIH1cblxuICByZWplY3QoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8QXBwcm92YWxXb3JrZmxvdz4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpUmVzcG9uc2U8QXBwcm92YWxXb3JrZmxvdz4+KGAke3RoaXMuYmFzZVBhdGh9LyR7aWR9L3JlamVjdGApO1xuICB9XG5cbiAgcmVxdWVzdEluZm8oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8QXBwcm92YWxXb3JrZmxvdz4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpUmVzcG9uc2U8QXBwcm92YWxXb3JrZmxvdz4+KGAke3RoaXMuYmFzZVBhdGh9LyR7aWR9L3JlcXVlc3QtaW5mb2ApO1xuICB9XG5cbiAgZGVsZWdhdGUoaWQ6IG51bWJlciwgYm9keTogYW55KTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTxBcHByb3ZhbFdvcmtmbG93Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlSZXNwb25zZTxBcHByb3ZhbFdvcmtmbG93Pj4oYCR7dGhpcy5iYXNlUGF0aH0vJHtpZH0vZGVsZWdhdGVgLCBib2R5KTtcbiAgfVxuXG4gIGVzY2FsYXRlKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3c+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3c+PihgJHt0aGlzLmJhc2VQYXRofS8ke2lkfS9lc2NhbGF0ZWApO1xuICB9XG5cbiAgY2FuY2VsKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3c+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3c+PihgJHt0aGlzLmJhc2VQYXRofS8ke2lkfS9jYW5jZWxgKTtcbiAgfVxuXG4gIGdldE15UGVuZGluZygpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3dbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlSZXNwb25zZTxBcHByb3ZhbFdvcmtmbG93W10+PihgJHt0aGlzLmJhc2VQYXRofS9teS1wZW5kaW5nYCk7XG4gIH1cblxuICBnZXRNeVJlcXVlc3RzKCk6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8QXBwcm92YWxXb3JrZmxvd1tdPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3dbXT4+KGAke3RoaXMuYmFzZVBhdGh9L215LXJlcXVlc3RzYCk7XG4gIH1cblxuICBnZXRCeVN0YXR1cyhzdGF0dXM6IHN0cmluZyk6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8QXBwcm92YWxXb3JrZmxvd1tdPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3dbXT4+KGAke3RoaXMuYmFzZVBhdGh9L2J5LXN0YXR1c2AsIHtcbiAgICAgIHBhcmFtczogeyBzdGF0dXMgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldEJ5VHlwZSh0eXBlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3dbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlSZXNwb25zZTxBcHByb3ZhbFdvcmtmbG93W10+PihgJHt0aGlzLmJhc2VQYXRofS9ieS10eXBlYCwge1xuICAgICAgcGFyYW1zOiB7IHR5cGUgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldEJ5RW50aXR5KGVudGl0eVR5cGU6IHN0cmluZywgZW50aXR5SWQ6IG51bWJlcik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8QXBwcm92YWxXb3JrZmxvd1tdPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3dbXT4+KGAke3RoaXMuYmFzZVBhdGh9L2J5LWVudGl0eWAsIHtcbiAgICAgIHBhcmFtczogeyBlbnRpdHlUeXBlLCBlbnRpdHlJZCB9LFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0RXNjYWxhdGVkKCk6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8QXBwcm92YWxXb3JrZmxvd1tdPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3dbXT4+KGAke3RoaXMuYmFzZVBhdGh9L2VzY2FsYXRlZGApO1xuICB9XG5cbiAgZ2V0T3ZlcmR1ZSgpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPEFwcHJvdmFsV29ya2Zsb3dbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcGlSZXNwb25zZTxBcHByb3ZhbFdvcmtmbG93W10+PihgJHt0aGlzLmJhc2VQYXRofS9vdmVyZHVlYCk7XG4gIH1cblxuICBnZXREYXNoYm9hcmQoKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBpUmVzcG9uc2U8YW55Pj4oYCR7dGhpcy5iYXNlUGF0aH0vZGFzaGJvYXJkYCk7XG4gIH1cblxuICBnZXRFc2NhbGF0aW9uUnVsZXMoKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTxFc2NhbGF0aW9uUnVsZVtdPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVJlc3BvbnNlPEVzY2FsYXRpb25SdWxlW10+PihgJHt0aGlzLmJhc2VQYXRofS9lc2NhbGF0aW9uLXJ1bGVzYCk7XG4gIH1cblxuICBjcmVhdGVFc2NhbGF0aW9uUnVsZShkYXRhOiBQYXJ0aWFsPEVzY2FsYXRpb25SdWxlPik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8RXNjYWxhdGlvblJ1bGU+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVJlc3BvbnNlPEVzY2FsYXRpb25SdWxlPj4oYCR7dGhpcy5iYXNlUGF0aH0vZXNjYWxhdGlvbi1ydWxlc2AsIGRhdGEpO1xuICB9XG5cbiAgdXBkYXRlRXNjYWxhdGlvblJ1bGUoaWQ6IG51bWJlciwgZGF0YTogUGFydGlhbDxFc2NhbGF0aW9uUnVsZT4pOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPEVzY2FsYXRpb25SdWxlPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8QXBpUmVzcG9uc2U8RXNjYWxhdGlvblJ1bGU+PihgJHt0aGlzLmJhc2VQYXRofS9lc2NhbGF0aW9uLXJ1bGVzLyR7aWR9YCwgZGF0YSk7XG4gIH1cblxuICBkZWxldGVFc2NhbGF0aW9uUnVsZShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTx2b2lkPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPEFwaVJlc3BvbnNlPHZvaWQ+PihgJHt0aGlzLmJhc2VQYXRofS9lc2NhbGF0aW9uLXJ1bGVzLyR7aWR9YCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, tap } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../core/http-client.service";
|
|
5
|
+
export class AuthService {
|
|
6
|
+
http;
|
|
7
|
+
currentUser$ = new BehaviorSubject(null);
|
|
8
|
+
authenticated$ = new BehaviorSubject(false);
|
|
9
|
+
user$ = this.currentUser$.asObservable();
|
|
10
|
+
isAuthenticated$ = this.authenticated$.asObservable();
|
|
11
|
+
constructor(http) {
|
|
12
|
+
this.http = http;
|
|
13
|
+
}
|
|
14
|
+
login(credentials) {
|
|
15
|
+
return this.http.post('/auth/local', credentials, { skipAuth: true }).pipe(tap((res) => this.handleAuthResponse(res)));
|
|
16
|
+
}
|
|
17
|
+
badgeLogin(credentials) {
|
|
18
|
+
return this.http.post('/auth/badge', credentials, { skipAuth: true }).pipe(tap((res) => this.handleAuthResponse(res)));
|
|
19
|
+
}
|
|
20
|
+
register(data) {
|
|
21
|
+
return this.http.post('/auth/local/register', data, { skipAuth: true }).pipe(tap((res) => this.handleAuthResponse(res)));
|
|
22
|
+
}
|
|
23
|
+
forgotPassword(data) {
|
|
24
|
+
return this.http.post('/auth/forgot-password', data, { skipAuth: true });
|
|
25
|
+
}
|
|
26
|
+
resetPassword(data) {
|
|
27
|
+
return this.http.post('/auth/reset-password', data, { skipAuth: true });
|
|
28
|
+
}
|
|
29
|
+
refreshToken() {
|
|
30
|
+
const refreshToken = this.http.getRefreshToken();
|
|
31
|
+
return this.http.post('/auth/refresh-token', null, {
|
|
32
|
+
skipAuth: true,
|
|
33
|
+
params: { refreshToken: refreshToken ?? '' },
|
|
34
|
+
}).pipe(tap((res) => this.handleAuthResponse(res)));
|
|
35
|
+
}
|
|
36
|
+
getCurrentUser() {
|
|
37
|
+
return this.http.get('/auth/me').pipe(tap((res) => {
|
|
38
|
+
if (res.user) {
|
|
39
|
+
this.currentUser$.next(res.user);
|
|
40
|
+
}
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
logout() {
|
|
44
|
+
this.http.clearTokens();
|
|
45
|
+
this.currentUser$.next(null);
|
|
46
|
+
this.authenticated$.next(false);
|
|
47
|
+
}
|
|
48
|
+
getToken() {
|
|
49
|
+
return this.http.getToken();
|
|
50
|
+
}
|
|
51
|
+
isAuthenticated() {
|
|
52
|
+
return this.authenticated$.value;
|
|
53
|
+
}
|
|
54
|
+
getUser() {
|
|
55
|
+
return this.currentUser$.value;
|
|
56
|
+
}
|
|
57
|
+
getAnnouncements() {
|
|
58
|
+
return this.http.get('/auth/announcements', { skipAuth: true });
|
|
59
|
+
}
|
|
60
|
+
getSandboxes() {
|
|
61
|
+
return this.http.get('/auth/sandboxes', { skipAuth: true });
|
|
62
|
+
}
|
|
63
|
+
getSandboxesByEmail(email) {
|
|
64
|
+
return this.http.get('/auth/sandboxes/by-email', { skipAuth: true, params: { email } });
|
|
65
|
+
}
|
|
66
|
+
sendVerificationEmail() {
|
|
67
|
+
return this.http.post('/auth/send-verification');
|
|
68
|
+
}
|
|
69
|
+
verifyEmail(token) {
|
|
70
|
+
return this.http.get('/auth/verify-email', { skipAuth: true, params: { token } });
|
|
71
|
+
}
|
|
72
|
+
validateInviteToken(token) {
|
|
73
|
+
return this.http.get('/auth/accept-invite', { skipAuth: true, params: { token } });
|
|
74
|
+
}
|
|
75
|
+
acceptInvite(data) {
|
|
76
|
+
return this.http.post('/auth/accept-invite', data, { skipAuth: true }).pipe(tap((res) => this.handleAuthResponse(res)));
|
|
77
|
+
}
|
|
78
|
+
handleAuthResponse(res) {
|
|
79
|
+
if (res.jwt) {
|
|
80
|
+
this.http.setToken(res.jwt);
|
|
81
|
+
}
|
|
82
|
+
if (res.refreshToken) {
|
|
83
|
+
this.http.setRefreshToken(res.refreshToken);
|
|
84
|
+
}
|
|
85
|
+
if (res.user) {
|
|
86
|
+
this.currentUser$.next(res.user);
|
|
87
|
+
this.authenticated$.next(true);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthService, deps: [{ token: i1.TgmHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
91
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthService, decorators: [{
|
|
94
|
+
type: Injectable,
|
|
95
|
+
args: [{ providedIn: 'root' }]
|
|
96
|
+
}], ctorParameters: () => [{ type: i1.TgmHttpClient }] });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxlQUFlLEVBQUUsR0FBRyxFQUFPLE1BQU0sTUFBTSxDQUFDOzs7QUFjN0QsTUFBTSxPQUFPLFdBQVc7SUFPRjtJQU5aLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBaUIsSUFBSSxDQUFDLENBQUM7SUFDekQsY0FBYyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRXBELEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFL0QsWUFBb0IsSUFBbUI7UUFBbkIsU0FBSSxHQUFKLElBQUksQ0FBZTtJQUFHLENBQUM7SUFFM0MsS0FBSyxDQUFDLFdBQXlCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWUsYUFBYSxFQUFFLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDdEYsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsV0FBaUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBZSxhQUFhLEVBQUUsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN0RixHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFxQjtRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFlLHNCQUFzQixFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDeEYsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBMkI7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQTBCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELFlBQVk7UUFDVixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWUscUJBQXFCLEVBQUUsSUFBSSxFQUFFO1lBQy9ELFFBQVEsRUFBRSxJQUFJO1lBQ2QsTUFBTSxFQUFFLEVBQUUsWUFBWSxFQUFFLFlBQVksSUFBSSxFQUFFLEVBQUU7U0FDN0MsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFlLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDakQsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDVixJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUSxxQkFBcUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUSxpQkFBaUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVEsMEJBQTBCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVM7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBZSxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3ZGLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsR0FBaUI7UUFDMUMsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7d0dBbEhVLFdBQVc7NEdBQVgsV0FBVyxjQURFLE1BQU07OzRGQUNuQixXQUFXO2tCQUR2QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgdGFwLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRnbUh0dHBDbGllbnQgfSBmcm9tICcuLi8uLi9jb3JlL2h0dHAtY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgTG9naW5SZXF1ZXN0LFxuICBCYWRnZVBpbkxvZ2luUmVxdWVzdCxcbiAgUmVnaXN0ZXJSZXF1ZXN0LFxuICBGb3Jnb3RQYXNzd29yZFJlcXVlc3QsXG4gIFJlc2V0UGFzc3dvcmRSZXF1ZXN0LFxuICBBdXRoUmVzcG9uc2UsXG4gIFVzZXJEdG8sXG59IGZyb20gJy4uLy4uL21vZGVscy9hdXRoL2xvZ2luLm1vZGVscyc7XG5pbXBvcnQgeyBBcGlSZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlLm1vZGVscyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuICBwcml2YXRlIGN1cnJlbnRVc2VyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VXNlckR0byB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIGF1dGhlbnRpY2F0ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcmVhZG9ubHkgdXNlciQgPSB0aGlzLmN1cnJlbnRVc2VyJC5hc09ic2VydmFibGUoKTtcbiAgcmVhZG9ubHkgaXNBdXRoZW50aWNhdGVkJCA9IHRoaXMuYXV0aGVudGljYXRlZCQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBUZ21IdHRwQ2xpZW50KSB7fVxuXG4gIGxvZ2luKGNyZWRlbnRpYWxzOiBMb2dpblJlcXVlc3QpOiBPYnNlcnZhYmxlPEF1dGhSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBdXRoUmVzcG9uc2U+KCcvYXV0aC9sb2NhbCcsIGNyZWRlbnRpYWxzLCB7IHNraXBBdXRoOiB0cnVlIH0pLnBpcGUoXG4gICAgICB0YXAoKHJlcykgPT4gdGhpcy5oYW5kbGVBdXRoUmVzcG9uc2UocmVzKSlcbiAgICApO1xuICB9XG5cbiAgYmFkZ2VMb2dpbihjcmVkZW50aWFsczogQmFkZ2VQaW5Mb2dpblJlcXVlc3QpOiBPYnNlcnZhYmxlPEF1dGhSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBdXRoUmVzcG9uc2U+KCcvYXV0aC9iYWRnZScsIGNyZWRlbnRpYWxzLCB7IHNraXBBdXRoOiB0cnVlIH0pLnBpcGUoXG4gICAgICB0YXAoKHJlcykgPT4gdGhpcy5oYW5kbGVBdXRoUmVzcG9uc2UocmVzKSlcbiAgICApO1xuICB9XG5cbiAgcmVnaXN0ZXIoZGF0YTogUmVnaXN0ZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBdXRoUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aFJlc3BvbnNlPignL2F1dGgvbG9jYWwvcmVnaXN0ZXInLCBkYXRhLCB7IHNraXBBdXRoOiB0cnVlIH0pLnBpcGUoXG4gICAgICB0YXAoKHJlcykgPT4gdGhpcy5oYW5kbGVBdXRoUmVzcG9uc2UocmVzKSlcbiAgICApO1xuICB9XG5cbiAgZm9yZ290UGFzc3dvcmQoZGF0YTogRm9yZ290UGFzc3dvcmRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoJy9hdXRoL2ZvcmdvdC1wYXNzd29yZCcsIGRhdGEsIHsgc2tpcEF1dGg6IHRydWUgfSk7XG4gIH1cblxuICByZXNldFBhc3N3b3JkKGRhdGE6IFJlc2V0UGFzc3dvcmRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoJy9hdXRoL3Jlc2V0LXBhc3N3b3JkJywgZGF0YSwgeyBza2lwQXV0aDogdHJ1ZSB9KTtcbiAgfVxuXG4gIHJlZnJlc2hUb2tlbigpOiBPYnNlcnZhYmxlPEF1dGhSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IHRoaXMuaHR0cC5nZXRSZWZyZXNoVG9rZW4oKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aFJlc3BvbnNlPignL2F1dGgvcmVmcmVzaC10b2tlbicsIG51bGwsIHtcbiAgICAgIHNraXBBdXRoOiB0cnVlLFxuICAgICAgcGFyYW1zOiB7IHJlZnJlc2hUb2tlbjogcmVmcmVzaFRva2VuID8/ICcnIH0sXG4gICAgfSkucGlwZShcbiAgICAgIHRhcCgocmVzKSA9PiB0aGlzLmhhbmRsZUF1dGhSZXNwb25zZShyZXMpKVxuICAgICk7XG4gIH1cblxuICBnZXRDdXJyZW50VXNlcigpOiBPYnNlcnZhYmxlPEF1dGhSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEF1dGhSZXNwb25zZT4oJy9hdXRoL21lJykucGlwZShcbiAgICAgIHRhcCgocmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXMudXNlcikge1xuICAgICAgICAgIHRoaXMuY3VycmVudFVzZXIkLm5leHQocmVzLnVzZXIpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBsb2dvdXQoKTogdm9pZCB7XG4gICAgdGhpcy5odHRwLmNsZWFyVG9rZW5zKCk7XG4gICAgdGhpcy5jdXJyZW50VXNlciQubmV4dChudWxsKTtcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgZ2V0VG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXRUb2tlbigpO1xuICB9XG5cbiAgaXNBdXRoZW50aWNhdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0ZWQkLnZhbHVlO1xuICB9XG5cbiAgZ2V0VXNlcigpOiBVc2VyRHRvIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFVzZXIkLnZhbHVlO1xuICB9XG5cbiAgZ2V0QW5ub3VuY2VtZW50cygpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KCcvYXV0aC9hbm5vdW5jZW1lbnRzJywgeyBza2lwQXV0aDogdHJ1ZSB9KTtcbiAgfVxuXG4gIGdldFNhbmRib3hlcygpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KCcvYXV0aC9zYW5kYm94ZXMnLCB7IHNraXBBdXRoOiB0cnVlIH0pO1xuICB9XG5cbiAgZ2V0U2FuZGJveGVzQnlFbWFpbChlbWFpbDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPignL2F1dGgvc2FuZGJveGVzL2J5LWVtYWlsJywgeyBza2lwQXV0aDogdHJ1ZSwgcGFyYW1zOiB7IGVtYWlsIH0gfSk7XG4gIH1cblxuICBzZW5kVmVyaWZpY2F0aW9uRW1haWwoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoJy9hdXRoL3NlbmQtdmVyaWZpY2F0aW9uJyk7XG4gIH1cblxuICB2ZXJpZnlFbWFpbCh0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCgnL2F1dGgvdmVyaWZ5LWVtYWlsJywgeyBza2lwQXV0aDogdHJ1ZSwgcGFyYW1zOiB7IHRva2VuIH0gfSk7XG4gIH1cblxuICB2YWxpZGF0ZUludml0ZVRva2VuKHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KCcvYXV0aC9hY2NlcHQtaW52aXRlJywgeyBza2lwQXV0aDogdHJ1ZSwgcGFyYW1zOiB7IHRva2VuIH0gfSk7XG4gIH1cblxuICBhY2NlcHRJbnZpdGUoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxBdXRoUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aFJlc3BvbnNlPignL2F1dGgvYWNjZXB0LWludml0ZScsIGRhdGEsIHsgc2tpcEF1dGg6IHRydWUgfSkucGlwZShcbiAgICAgIHRhcCgocmVzKSA9PiB0aGlzLmhhbmRsZUF1dGhSZXNwb25zZShyZXMpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUF1dGhSZXNwb25zZShyZXM6IEF1dGhSZXNwb25zZSk6IHZvaWQge1xuICAgIGlmIChyZXMuand0KSB7XG4gICAgICB0aGlzLmh0dHAuc2V0VG9rZW4ocmVzLmp3dCk7XG4gICAgfVxuICAgIGlmIChyZXMucmVmcmVzaFRva2VuKSB7XG4gICAgICB0aGlzLmh0dHAuc2V0UmVmcmVzaFRva2VuKHJlcy5yZWZyZXNoVG9rZW4pO1xuICAgIH1cbiAgICBpZiAocmVzLnVzZXIpIHtcbiAgICAgIHRoaXMuY3VycmVudFVzZXIkLm5leHQocmVzLnVzZXIpO1xuICAgICAgdGhpcy5hdXRoZW50aWNhdGVkJC5uZXh0KHRydWUpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { AuthService } from './auth.service';
|
|
2
|
+
export { SsoAuthService } from './sso-auth.service';
|
|
3
|
+
export { TotpService } from './totp.service';
|
|
4
|
+
export { PlatformAuthService } from './platform-auth.service';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2F1dGgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmV4cG9ydCB7IFNzb0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi9zc28tYXV0aC5zZXJ2aWNlJztcbmV4cG9ydCB7IFRvdHBTZXJ2aWNlIH0gZnJvbSAnLi90b3RwLnNlcnZpY2UnO1xuZXhwb3J0IHsgUGxhdGZvcm1BdXRoU2VydmljZSB9IGZyb20gJy4vcGxhdGZvcm0tYXV0aC5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, tap } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../core/http-client.service";
|
|
5
|
+
export class PlatformAuthService {
|
|
6
|
+
http;
|
|
7
|
+
currentAdmin$ = new BehaviorSubject(null);
|
|
8
|
+
admin$ = this.currentAdmin$.asObservable();
|
|
9
|
+
constructor(http) {
|
|
10
|
+
this.http = http;
|
|
11
|
+
}
|
|
12
|
+
login(credentials) {
|
|
13
|
+
return this.http.post('/auth/platform/login', credentials, { skipAuth: true }).pipe(tap((res) => {
|
|
14
|
+
if (res.accessToken) {
|
|
15
|
+
this.http.setToken(res.accessToken);
|
|
16
|
+
}
|
|
17
|
+
if (res.admin) {
|
|
18
|
+
this.currentAdmin$.next(res.admin);
|
|
19
|
+
}
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
getCurrentAdmin() {
|
|
23
|
+
return this.http.get('/auth/platform/me').pipe(tap((admin) => this.currentAdmin$.next(admin)));
|
|
24
|
+
}
|
|
25
|
+
logout() {
|
|
26
|
+
this.http.clearTokens();
|
|
27
|
+
this.currentAdmin$.next(null);
|
|
28
|
+
}
|
|
29
|
+
getAdmin() {
|
|
30
|
+
return this.currentAdmin$.value;
|
|
31
|
+
}
|
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PlatformAuthService, deps: [{ token: i1.TgmHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PlatformAuthService, providedIn: 'root' });
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PlatformAuthService, decorators: [{
|
|
36
|
+
type: Injectable,
|
|
37
|
+
args: [{ providedIn: 'root' }]
|
|
38
|
+
}], ctorParameters: () => [{ type: i1.TgmHttpClient }] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoL3BsYXRmb3JtLWF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxlQUFlLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFLeEQsTUFBTSxPQUFPLG1CQUFtQjtJQUlWO0lBSFosYUFBYSxHQUFHLElBQUksZUFBZSxDQUErQixJQUFJLENBQUMsQ0FBQztJQUN2RSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVwRCxZQUFvQixJQUFtQjtRQUFuQixTQUFJLEdBQUosSUFBSSxDQUFlO0lBQUcsQ0FBQztJQUUzQyxLQUFLLENBQUMsV0FBaUM7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBdUIsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN2RyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNWLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdEMsQ0FBQztZQUNELElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBd0IsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQ25FLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDL0MsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQzt3R0FoQ1UsbUJBQW1COzRHQUFuQixtQkFBbUIsY0FETixNQUFNOzs0RkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUZ21IdHRwQ2xpZW50IH0gZnJvbSAnLi4vLi4vY29yZS9odHRwLWNsaWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFBsYXRmb3JtTG9naW5SZXF1ZXN0LCBQbGF0Zm9ybUF1dGhSZXNwb25zZSwgUGxhdGZvcm1BZG1pblJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkbWluL3BsYXRmb3JtLWFkbWluLm1vZGVscyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUGxhdGZvcm1BdXRoU2VydmljZSB7XG4gIHByaXZhdGUgY3VycmVudEFkbWluJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGxhdGZvcm1BZG1pblJlc3BvbnNlIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGFkbWluJCA9IHRoaXMuY3VycmVudEFkbWluJC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IFRnbUh0dHBDbGllbnQpIHt9XG5cbiAgbG9naW4oY3JlZGVudGlhbHM6IFBsYXRmb3JtTG9naW5SZXF1ZXN0KTogT2JzZXJ2YWJsZTxQbGF0Zm9ybUF1dGhSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQbGF0Zm9ybUF1dGhSZXNwb25zZT4oJy9hdXRoL3BsYXRmb3JtL2xvZ2luJywgY3JlZGVudGlhbHMsIHsgc2tpcEF1dGg6IHRydWUgfSkucGlwZShcbiAgICAgIHRhcCgocmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXMuYWNjZXNzVG9rZW4pIHtcbiAgICAgICAgICB0aGlzLmh0dHAuc2V0VG9rZW4ocmVzLmFjY2Vzc1Rva2VuKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzLmFkbWluKSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50QWRtaW4kLm5leHQocmVzLmFkbWluKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0Q3VycmVudEFkbWluKCk6IE9ic2VydmFibGU8UGxhdGZvcm1BZG1pblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGxhdGZvcm1BZG1pblJlc3BvbnNlPignL2F1dGgvcGxhdGZvcm0vbWUnKS5waXBlKFxuICAgICAgdGFwKChhZG1pbikgPT4gdGhpcy5jdXJyZW50QWRtaW4kLm5leHQoYWRtaW4pKVxuICAgICk7XG4gIH1cblxuICBsb2dvdXQoKTogdm9pZCB7XG4gICAgdGhpcy5odHRwLmNsZWFyVG9rZW5zKCk7XG4gICAgdGhpcy5jdXJyZW50QWRtaW4kLm5leHQobnVsbCk7XG4gIH1cblxuICBnZXRBZG1pbigpOiBQbGF0Zm9ybUFkbWluUmVzcG9uc2UgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50QWRtaW4kLnZhbHVlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../core/http-client.service";
|
|
4
|
+
export class SsoAuthService {
|
|
5
|
+
http;
|
|
6
|
+
constructor(http) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
}
|
|
9
|
+
getProviders() {
|
|
10
|
+
return this.http.get('/auth/sso/providers', { skipAuth: true });
|
|
11
|
+
}
|
|
12
|
+
authorize(request) {
|
|
13
|
+
return this.http.post('/auth/sso/authorize', request, { skipAuth: true });
|
|
14
|
+
}
|
|
15
|
+
handleCallback(providerId, params) {
|
|
16
|
+
return this.http.get(`/auth/sso/callback/${providerId}`, {
|
|
17
|
+
skipAuth: true,
|
|
18
|
+
params: params,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
handleSamlCallback(data) {
|
|
22
|
+
return this.http.post('/auth/sso/saml/acs', data, { skipAuth: true });
|
|
23
|
+
}
|
|
24
|
+
getSamlMetadata() {
|
|
25
|
+
return this.http.get('/auth/sso/saml/metadata', { skipAuth: true, responseType: 'text' });
|
|
26
|
+
}
|
|
27
|
+
linkAccount(request) {
|
|
28
|
+
return this.http.post('/auth/sso/link', request);
|
|
29
|
+
}
|
|
30
|
+
unlinkAccount(providerId) {
|
|
31
|
+
return this.http.delete(`/auth/sso/link/${providerId}`);
|
|
32
|
+
}
|
|
33
|
+
getLinkedAccounts() {
|
|
34
|
+
return this.http.get('/auth/sso/linked-accounts');
|
|
35
|
+
}
|
|
36
|
+
setPrimaryProvider(providerId) {
|
|
37
|
+
return this.http.post(`/auth/sso/primary-provider/${providerId}`);
|
|
38
|
+
}
|
|
39
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SsoAuthService, deps: [{ token: i1.TgmHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SsoAuthService, providedIn: 'root' });
|
|
41
|
+
}
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SsoAuthService, decorators: [{
|
|
43
|
+
type: Injectable,
|
|
44
|
+
args: [{ providedIn: 'root' }]
|
|
45
|
+
}], ctorParameters: () => [{ type: i1.TgmHttpClient }] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NvLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvYXV0aC9zc28tYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWlCM0MsTUFBTSxPQUFPLGNBQWM7SUFDTDtJQUFwQixZQUFvQixJQUFtQjtRQUFuQixTQUFJLEdBQUosSUFBSSxDQUFlO0lBQUcsQ0FBQztJQUUzQyxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMEIscUJBQXFCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQXdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTJCLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBa0IsRUFBRSxNQUEwQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFlLHNCQUFzQixVQUFVLEVBQUUsRUFBRTtZQUNyRSxRQUFRLEVBQUUsSUFBSTtZQUNkLE1BQU0sRUFBRSxNQUFhO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUF5QjtRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFlLG9CQUFvQixFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQWEsRUFBRSxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUEyQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFtQixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQWtCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQW1CLGtCQUFrQixVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUEwQiwyQkFBMkIsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxVQUFrQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFtQiw4QkFBOEIsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN0RixDQUFDO3dHQXhDVSxjQUFjOzRHQUFkLGNBQWMsY0FERCxNQUFNOzs0RkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUZ21IdHRwQ2xpZW50IH0gZnJvbSAnLi4vLi4vY29yZS9odHRwLWNsaWVudC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIFNzb0xvZ2luUmVxdWVzdCxcbiAgU3NvQ2FsbGJhY2tSZXF1ZXN0LFxuICBTYW1sQ2FsbGJhY2tSZXF1ZXN0LFxuICBMaW5rQWNjb3VudFJlcXVlc3QsXG4gIFNzb0F1dGhvcml6YXRpb25SZXNwb25zZSxcbiAgU3NvUHJvdmlkZXJMaXN0UmVzcG9uc2UsXG4gIExpbmtlZEFjY291bnRSZXNwb25zZSxcbiAgSWRlbnRpdHlQcm92aWRlclJlc3BvbnNlLFxufSBmcm9tICcuLi8uLi9tb2RlbHMvYXV0aC9zc28ubW9kZWxzJztcbmltcG9ydCB7IEF1dGhSZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscy9hdXRoL2xvZ2luLm1vZGVscyc7XG5pbXBvcnQgeyBBcGlSZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlLm1vZGVscyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3NvQXV0aFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IFRnbUh0dHBDbGllbnQpIHt9XG5cbiAgZ2V0UHJvdmlkZXJzKCk6IE9ic2VydmFibGU8U3NvUHJvdmlkZXJMaXN0UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTc29Qcm92aWRlckxpc3RSZXNwb25zZT4oJy9hdXRoL3Nzby9wcm92aWRlcnMnLCB7IHNraXBBdXRoOiB0cnVlIH0pO1xuICB9XG5cbiAgYXV0aG9yaXplKHJlcXVlc3Q6IFNzb0xvZ2luUmVxdWVzdCk6IE9ic2VydmFibGU8U3NvQXV0aG9yaXphdGlvblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNzb0F1dGhvcml6YXRpb25SZXNwb25zZT4oJy9hdXRoL3Nzby9hdXRob3JpemUnLCByZXF1ZXN0LCB7IHNraXBBdXRoOiB0cnVlIH0pO1xuICB9XG5cbiAgaGFuZGxlQ2FsbGJhY2socHJvdmlkZXJJZDogbnVtYmVyLCBwYXJhbXM6IFNzb0NhbGxiYWNrUmVxdWVzdCk6IE9ic2VydmFibGU8QXV0aFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXV0aFJlc3BvbnNlPihgL2F1dGgvc3NvL2NhbGxiYWNrLyR7cHJvdmlkZXJJZH1gLCB7XG4gICAgICBza2lwQXV0aDogdHJ1ZSxcbiAgICAgIHBhcmFtczogcGFyYW1zIGFzIGFueSxcbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZVNhbWxDYWxsYmFjayhkYXRhOiBTYW1sQ2FsbGJhY2tSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBdXRoUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aFJlc3BvbnNlPignL2F1dGgvc3NvL3NhbWwvYWNzJywgZGF0YSwgeyBza2lwQXV0aDogdHJ1ZSB9KTtcbiAgfVxuXG4gIGdldFNhbWxNZXRhZGF0YSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZz4oJy9hdXRoL3Nzby9zYW1sL21ldGFkYXRhJywgeyBza2lwQXV0aDogdHJ1ZSwgcmVzcG9uc2VUeXBlOiAndGV4dCcgYXMgYW55IH0pO1xuICB9XG5cbiAgbGlua0FjY291bnQocmVxdWVzdDogTGlua0FjY291bnRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTxhbnk+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVJlc3BvbnNlPGFueT4+KCcvYXV0aC9zc28vbGluaycsIHJlcXVlc3QpO1xuICB9XG5cbiAgdW5saW5rQWNjb3VudChwcm92aWRlcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxBcGlSZXNwb25zZTxhbnk+PihgL2F1dGgvc3NvL2xpbmsvJHtwcm92aWRlcklkfWApO1xuICB9XG5cbiAgZ2V0TGlua2VkQWNjb3VudHMoKTogT2JzZXJ2YWJsZTxMaW5rZWRBY2NvdW50UmVzcG9uc2VbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PExpbmtlZEFjY291bnRSZXNwb25zZVtdPignL2F1dGgvc3NvL2xpbmtlZC1hY2NvdW50cycpO1xuICB9XG5cbiAgc2V0UHJpbWFyeVByb3ZpZGVyKHByb3ZpZGVySWQ6IG51bWJlcik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8YW55Pj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlSZXNwb25zZTxhbnk+PihgL2F1dGgvc3NvL3ByaW1hcnktcHJvdmlkZXIvJHtwcm92aWRlcklkfWApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../core/http-client.service";
|
|
4
|
+
export class TotpService {
|
|
5
|
+
http;
|
|
6
|
+
constructor(http) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
}
|
|
9
|
+
getStatus() {
|
|
10
|
+
return this.http.get('/auth/totp/status');
|
|
11
|
+
}
|
|
12
|
+
setup() {
|
|
13
|
+
return this.http.post('/auth/totp/setup');
|
|
14
|
+
}
|
|
15
|
+
verifySetup(data) {
|
|
16
|
+
return this.http.post('/auth/totp/setup/verify', data);
|
|
17
|
+
}
|
|
18
|
+
disable(data) {
|
|
19
|
+
return this.http.post('/auth/totp/disable', data);
|
|
20
|
+
}
|
|
21
|
+
verify(data) {
|
|
22
|
+
return this.http.post('/auth/totp/verify', data, { skipAuth: true });
|
|
23
|
+
}
|
|
24
|
+
regenerateRecoveryCodes() {
|
|
25
|
+
return this.http.post('/auth/totp/recovery-codes/regenerate');
|
|
26
|
+
}
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TotpService, deps: [{ token: i1.TgmHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TotpService, providedIn: 'root' });
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TotpService, decorators: [{
|
|
31
|
+
type: Injectable,
|
|
32
|
+
args: [{ providedIn: 'root' }]
|
|
33
|
+
}], ctorParameters: () => [{ type: i1.TgmHttpClient }] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG90cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoL3RvdHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRM0MsTUFBTSxPQUFPLFdBQVc7SUFDRjtJQUFwQixZQUFvQixJQUFtQjtRQUFuQixTQUFJLEdBQUosSUFBSSxDQUFlO0lBQUcsQ0FBQztJQUUzQyxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBcUIsbUJBQW1CLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQW9CLGtCQUFrQixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFzQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFtQix5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQXNCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQW1CLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBdUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBZSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXdCLHNDQUFzQyxDQUFDLENBQUM7SUFDdkYsQ0FBQzt3R0F6QlUsV0FBVzs0R0FBWCxXQUFXLGNBREUsTUFBTTs7NEZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUZ21IdHRwQ2xpZW50IH0gZnJvbSAnLi4vLi4vY29yZS9odHRwLWNsaWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvdHBTZXR1cFJlcXVlc3QsIFRvdHBWZXJpZnlSZXF1ZXN0LCBUb3RwU2V0dXBSZXNwb25zZSwgVG90cFN0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dGgvdG90cC5tb2RlbHMnO1xuaW1wb3J0IHsgQXV0aFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dGgvbG9naW4ubW9kZWxzJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Jhc2UubW9kZWxzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUb3RwU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogVGdtSHR0cENsaWVudCkge31cblxuICBnZXRTdGF0dXMoKTogT2JzZXJ2YWJsZTxUb3RwU3RhdHVzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUb3RwU3RhdHVzUmVzcG9uc2U+KCcvYXV0aC90b3RwL3N0YXR1cycpO1xuICB9XG5cbiAgc2V0dXAoKTogT2JzZXJ2YWJsZTxUb3RwU2V0dXBSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUb3RwU2V0dXBSZXNwb25zZT4oJy9hdXRoL3RvdHAvc2V0dXAnKTtcbiAgfVxuXG4gIHZlcmlmeVNldHVwKGRhdGE6IFRvdHBTZXR1cFJlcXVlc3QpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpUmVzcG9uc2U8YW55Pj4oJy9hdXRoL3RvdHAvc2V0dXAvdmVyaWZ5JywgZGF0YSk7XG4gIH1cblxuICBkaXNhYmxlKGRhdGE6IFRvdHBTZXR1cFJlcXVlc3QpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpUmVzcG9uc2U8YW55Pj4oJy9hdXRoL3RvdHAvZGlzYWJsZScsIGRhdGEpO1xuICB9XG5cbiAgdmVyaWZ5KGRhdGE6IFRvdHBWZXJpZnlSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBdXRoUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXV0aFJlc3BvbnNlPignL2F1dGgvdG90cC92ZXJpZnknLCBkYXRhLCB7IHNraXBBdXRoOiB0cnVlIH0pO1xuICB9XG5cbiAgcmVnZW5lcmF0ZVJlY292ZXJ5Q29kZXMoKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTxzdHJpbmdbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpUmVzcG9uc2U8c3RyaW5nW10+PignL2F1dGgvdG90cC9yZWNvdmVyeS1jb2Rlcy9yZWdlbmVyYXRlJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../core/http-client.service";
|
|
4
|
+
export class ChatRestService {
|
|
5
|
+
http;
|
|
6
|
+
basePath = '/api/chat';
|
|
7
|
+
constructor(http) {
|
|
8
|
+
this.http = http;
|
|
9
|
+
}
|
|
10
|
+
// --- Conversations ---
|
|
11
|
+
getConversations(params) {
|
|
12
|
+
return this.http.get(`${this.basePath}/conversations`, { params: params });
|
|
13
|
+
}
|
|
14
|
+
getConversation(id) {
|
|
15
|
+
return this.http.get(`${this.basePath}/conversations/${id}`);
|
|
16
|
+
}
|
|
17
|
+
createConversation(data) {
|
|
18
|
+
return this.http.post(`${this.basePath}/conversations`, data);
|
|
19
|
+
}
|
|
20
|
+
updateConversation(id, data) {
|
|
21
|
+
return this.http.put(`${this.basePath}/conversations/${id}`, data);
|
|
22
|
+
}
|
|
23
|
+
deleteConversation(id) {
|
|
24
|
+
return this.http.delete(`${this.basePath}/conversations/${id}`);
|
|
25
|
+
}
|
|
26
|
+
archiveConversation(id) {
|
|
27
|
+
return this.http.post(`${this.basePath}/conversations/${id}/archive`);
|
|
28
|
+
}
|
|
29
|
+
unarchiveConversation(id) {
|
|
30
|
+
return this.http.post(`${this.basePath}/conversations/${id}/unarchive`);
|
|
31
|
+
}
|
|
32
|
+
muteConversation(id) {
|
|
33
|
+
return this.http.post(`${this.basePath}/conversations/${id}/mute`);
|
|
34
|
+
}
|
|
35
|
+
unmuteConversation(id) {
|
|
36
|
+
return this.http.post(`${this.basePath}/conversations/${id}/unmute`);
|
|
37
|
+
}
|
|
38
|
+
pinConversation(id) {
|
|
39
|
+
return this.http.post(`${this.basePath}/conversations/${id}/pin`);
|
|
40
|
+
}
|
|
41
|
+
unpinConversation(id) {
|
|
42
|
+
return this.http.post(`${this.basePath}/conversations/${id}/unpin`);
|
|
43
|
+
}
|
|
44
|
+
// --- Messages ---
|
|
45
|
+
getMessages(conversationId, params) {
|
|
46
|
+
return this.http.get(`${this.basePath}/conversations/${conversationId}/messages`, { params: params });
|
|
47
|
+
}
|
|
48
|
+
sendMessage(data) {
|
|
49
|
+
return this.http.post(`${this.basePath}/messages`, data);
|
|
50
|
+
}
|
|
51
|
+
editMessage(messageId, data) {
|
|
52
|
+
return this.http.put(`${this.basePath}/messages/${messageId}`, data);
|
|
53
|
+
}
|
|
54
|
+
deleteMessage(messageId) {
|
|
55
|
+
return this.http.delete(`${this.basePath}/messages/${messageId}`);
|
|
56
|
+
}
|
|
57
|
+
getReplies(messageId, params) {
|
|
58
|
+
return this.http.get(`${this.basePath}/messages/${messageId}/replies`, { params: params });
|
|
59
|
+
}
|
|
60
|
+
searchMessages(conversationId, query) {
|
|
61
|
+
return this.http.get(`${this.basePath}/conversations/${conversationId}/messages/search`, { params: { query } });
|
|
62
|
+
}
|
|
63
|
+
// --- Participants ---
|
|
64
|
+
getParticipants(conversationId) {
|
|
65
|
+
return this.http.get(`${this.basePath}/conversations/${conversationId}/participants`);
|
|
66
|
+
}
|
|
67
|
+
addParticipants(conversationId, data) {
|
|
68
|
+
return this.http.post(`${this.basePath}/conversations/${conversationId}/participants`, data);
|
|
69
|
+
}
|
|
70
|
+
removeParticipant(conversationId, userId) {
|
|
71
|
+
return this.http.delete(`${this.basePath}/conversations/${conversationId}/participants/${userId}`);
|
|
72
|
+
}
|
|
73
|
+
leaveConversation(conversationId) {
|
|
74
|
+
return this.http.post(`${this.basePath}/conversations/${conversationId}/leave`);
|
|
75
|
+
}
|
|
76
|
+
// --- Reactions ---
|
|
77
|
+
addReaction(messageId, emoji) {
|
|
78
|
+
return this.http.post(`${this.basePath}/messages/${messageId}/reactions`, { emoji });
|
|
79
|
+
}
|
|
80
|
+
removeReaction(messageId, emoji) {
|
|
81
|
+
return this.http.delete(`${this.basePath}/messages/${messageId}/reactions`, { params: { emoji } });
|
|
82
|
+
}
|
|
83
|
+
// --- Read Receipts ---
|
|
84
|
+
markAsRead(conversationId, lastMessageId) {
|
|
85
|
+
return this.http.post(`${this.basePath}/conversations/${conversationId}/read`, {
|
|
86
|
+
conversationId,
|
|
87
|
+
lastReadMessageId: lastMessageId,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
// --- Presence ---
|
|
91
|
+
getPresence() {
|
|
92
|
+
return this.http.get(`${this.basePath}/presence`);
|
|
93
|
+
}
|
|
94
|
+
getUserPresence(userId) {
|
|
95
|
+
return this.http.get(`${this.basePath}/presence/${userId}`);
|
|
96
|
+
}
|
|
97
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatRestService, deps: [{ token: i1.TgmHttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
98
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatRestService, providedIn: 'root' });
|
|
99
|
+
}
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatRestService, decorators: [{
|
|
101
|
+
type: Injectable,
|
|
102
|
+
args: [{ providedIn: 'root' }]
|
|
103
|
+
}], ctorParameters: () => [{ type: i1.TgmHttpClient }] });
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1yZXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2NoYXQvY2hhdC1yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBaUIzQyxNQUFNLE9BQU8sZUFBZTtJQUdOO0lBRkgsUUFBUSxHQUFHLFdBQVcsQ0FBQztJQUV4QyxZQUFvQixJQUFtQjtRQUFuQixTQUFJLEdBQUosSUFBSSxDQUFlO0lBQUcsQ0FBQztJQUUzQyx3QkFBd0I7SUFFeEIsZ0JBQWdCLENBQUMsTUFBK0M7UUFDOUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBOEIsR0FBRyxJQUFJLENBQUMsUUFBUSxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFRCxlQUFlLENBQUMsRUFBVTtRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUE0QixHQUFHLElBQUksQ0FBQyxRQUFRLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUErQjtRQUNoRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUE0QixHQUFHLElBQUksQ0FBQyxRQUFRLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxFQUFVLEVBQUUsSUFBK0I7UUFDNUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBNEIsR0FBRyxJQUFJLENBQUMsUUFBUSxrQkFBa0IsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQVU7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1B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Q2QsaUJBQWlCLEVBQUUsYUFBYTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CO0lBRW5CLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFxQixHQUFHLElBQUksQ0FBQyxRQUFRLFdBQVcsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBYztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLGFBQWEsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDO3dHQTFIVSxlQUFlOzRHQUFmLGVBQWUsY0FERixNQUFNOzs0RkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUZ21IdHRwQ2xpZW50IH0gZnJvbSAnLi4vLi4vY29yZS9odHRwLWNsaWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlLCBQYWdlZFJlc3BvbnNlLCBQYWdpbmF0aW9uUGFyYW1zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Jhc2UubW9kZWxzJztcbmltcG9ydCB7XG4gIENvbnZlcnNhdGlvbixcbiAgQ2hhdE1lc3NhZ2UsXG4gIENoYXRQYXJ0aWNpcGFudCxcbiAgUHJlc2VuY2VSZXNwb25zZSxcbiAgQ3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdCxcbiAgU2VuZE1lc3NhZ2VSZXF1ZXN0LFxuICBVcGRhdGVDb252ZXJzYXRpb25SZXF1ZXN0LFxuICBBZGRQYXJ0aWNpcGFudFJlcXVlc3QsXG4gIEVkaXRNZXNzYWdlUmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoYXQvY2hhdC5tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENoYXRSZXN0U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFzZVBhdGggPSAnL2FwaS9jaGF0JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IFRnbUh0dHBDbGllbnQpIHt9XG5cbiAgLy8gLS0tIENvbnZlcnNhdGlvbnMgLS0tXG5cbiAgZ2V0Q29udmVyc2F0aW9ucyhwYXJhbXM/OiBQYWdpbmF0aW9uUGFyYW1zICYgeyBzZWFyY2g/OiBzdHJpbmcgfSk6IE9ic2VydmFibGU8UGFnZWRSZXNwb25zZTxDb252ZXJzYXRpb24+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGFnZWRSZXNwb25zZTxDb252ZXJzYXRpb24+PihgJHt0aGlzLmJhc2VQYXRofS9jb252ZXJzYXRpb25zYCwgeyBwYXJhbXM6IHBhcmFtcyBhcyBhbnkgfSk7XG4gIH1cblxuICBnZXRDb252ZXJzYXRpb24oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8Q29udmVyc2F0aW9uPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwaVJlc3BvbnNlPENvbnZlcnNhdGlvbj4+KGAke3RoaXMuYmFzZVBhdGh9L2NvbnZlcnNhdGlvbnMvJHtpZH1gKTtcbiAgfVxuXG4gIGNyZWF0ZUNvbnZlcnNhdGlvbihkYXRhOiBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0KTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTxDb252ZXJzYXRpb24+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVJlc3BvbnNlPENvbnZlcnNhdGlvbj4+KGAke3RoaXMuYmFzZVBhdGh9L2NvbnZlcnNhdGlvbnNgLCBkYXRhKTtcbiAgfVxuXG4gIHVwZGF0ZUNvbnZlcnNhdGlvbihpZDogbnVtYmVyLCBkYXRhOiBVcGRhdGVDb252ZXJzYXRpb25SZXF1ZXN0KTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTxDb252ZXJzYXRpb24+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8QXBpUmVzcG9uc2U8Q29udmVyc2F0aW9uPj4oYCR7dGhpcy5iYXNlUGF0aH0vY29udmVyc2F0aW9ucy8ke2lkfWAsIGRhdGEpO1xuICB9XG5cbiAgZGVsZXRlQ29udmVyc2F0aW9uKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPHZvaWQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8QXBpUmVzcG9uc2U8dm9pZD4+KGAke3RoaXMuYmFzZVBhdGh9L2NvbnZlcnNhdGlvbnMvJHtpZH1gKTtcbiAgfVxuXG4gIGFyY2hpdmVDb252ZXJzYXRpb24oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8dm9pZD4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpUmVzcG9uc2U8dm9pZD4+KGAke3RoaXMuYmFzZVBhdGh9L2NvbnZlcnNhdGlvbnMvJHtpZH0vYXJjaGl2ZWApO1xuICB9XG5cbiAgdW5hcmNoaXZlQ29udmVyc2F0aW9uKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPHZvaWQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVJlc3BvbnNlPHZvaWQ+PihgJHt0aGlzLmJhc2VQYXRofS9jb252ZXJzYXRpb25zLyR7aWR9L3VuYXJjaGl2ZWApO1xuICB9XG5cbiAgbXV0ZUNvbnZlcnNhdGlvbihpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTx2b2lkPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlSZXNwb25zZTx2b2lkPj4oYCR7dGhpcy5iYXNlUGF0aH0vY29udmVyc2F0aW9ucy8ke2lkfS9tdXRlYCk7XG4gIH1cblxuICB1bm11dGVDb252ZXJzYXRpb24oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8dm9pZD4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpUmVzcG9uc2U8dm9pZD4+KGAke3RoaXMuYmFzZVBhdGh9L2NvbnZlcnNhdGlvbnMvJHtpZH0vdW5tdXRlYCk7XG4gIH1cblxuICBwaW5Db252ZXJzYXRpb24oaWQ6IG51bWJlcik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8dm9pZD4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpUmVzcG9uc2U8dm9pZD4+KGAke3RoaXMuYmFzZVBhdGh9L2NvbnZlcnNhdGlvbnMvJHtpZH0vcGluYCk7XG4gIH1cblxuICB1bnBpbkNvbnZlcnNhdGlvbihpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTx2b2lkPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcGlSZXNwb25zZTx2b2lkPj4oYCR7dGhpcy5iYXNlUGF0aH0vY29udmVyc2F0aW9ucy8ke2lkfS91bnBpbmApO1xuICB9XG5cbiAgLy8gLS0tIE1lc3NhZ2VzIC0tLVxuXG4gIGdldE1lc3NhZ2VzKGNvbnZlcnNhdGlvbklkOiBudW1iZXIsIHBhcmFtcz86IFBhZ2luYXRpb25QYXJhbXMpOiBPYnNlcnZhYmxlPFBhZ2VkUmVzcG9uc2U8Q2hhdE1lc3NhZ2U+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGFnZWRSZXNwb25zZTxDaGF0TWVzc2FnZT4+KGAke3RoaXMuYmFzZVBhdGh9L2NvbnZlcnNhdGlvbnMvJHtjb252ZXJzYXRpb25JZH0vbWVzc2FnZXNgLCB7IHBhcmFtczogcGFyYW1zIGFzIGFueSB9KTtcbiAgfVxuXG4gIHNlbmRNZXNzYWdlKGRhdGE6IFNlbmRNZXNzYWdlUmVxdWVzdCk6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8Q2hhdE1lc3NhZ2U+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVJlc3BvbnNlPENoYXRNZXNzYWdlPj4oYCR7dGhpcy5iYXNlUGF0aH0vbWVzc2FnZXNgLCBkYXRhKTtcbiAgfVxuXG4gIGVkaXRNZXNzYWdlKG1lc3NhZ2VJZDogbnVtYmVyLCBkYXRhOiBFZGl0TWVzc2FnZVJlcXVlc3QpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPENoYXRNZXNzYWdlPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PEFwaVJlc3BvbnNlPENoYXRNZXNzYWdlPj4oYCR7dGhpcy5iYXNlUGF0aH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9YCwgZGF0YSk7XG4gIH1cblxuICBkZWxldGVNZXNzYWdlKG1lc3NhZ2VJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTx2b2lkPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPEFwaVJlc3BvbnNlPHZvaWQ+PihgJHt0aGlzLmJhc2VQYXRofS9tZXNzYWdlcy8ke21lc3NhZ2VJZH1gKTtcbiAgfVxuXG4gIGdldFJlcGxpZXMobWVzc2FnZUlkOiBudW1iZXIsIHBhcmFtcz86IFBhZ2luYXRpb25QYXJhbXMpOiBPYnNlcnZhYmxlPFBhZ2VkUmVzcG9uc2U8Q2hhdE1lc3NhZ2U+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGFnZWRSZXNwb25zZTxDaGF0TWVzc2FnZT4+KGAke3RoaXMuYmFzZVBhdGh9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS9yZXBsaWVzYCwgeyBwYXJhbXM6IHBhcmFtcyBhcyBhbnkgfSk7XG4gIH1cblxuICBzZWFyY2hNZXNzYWdlcyhjb252ZXJzYXRpb25JZDogbnVtYmVyLCBxdWVyeTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDaGF0TWVzc2FnZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q2hhdE1lc3NhZ2VbXT4oYCR7dGhpcy5iYXNlUGF0aH0vY29udmVyc2F0aW9ucy8ke2NvbnZlcnNhdGlvbklkfS9tZXNzYWdlcy9zZWFyY2hgLCB7IHBhcmFtczogeyBxdWVyeSB9IH0pO1xuICB9XG5cbiAgLy8gLS0tIFBhcnRpY2lwYW50cyAtLS1cblxuICBnZXRQYXJ0aWNpcGFudHMoY29udmVyc2F0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q2hhdFBhcnRpY2lwYW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDaGF0UGFydGljaXBhbnRbXT4oYCR7dGhpcy5iYXNlUGF0aH0vY29udmVyc2F0aW9ucy8ke2NvbnZlcnNhdGlvbklkfS9wYXJ0aWNpcGFudHNgKTtcbiAgfVxuXG4gIGFkZFBhcnRpY2lwYW50cyhjb252ZXJzYXRpb25JZDogbnVtYmVyLCBkYXRhOiBBZGRQYXJ0aWNpcGFudFJlcXVlc3QpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPHZvaWQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVJlc3BvbnNlPHZvaWQ+PihgJHt0aGlzLmJhc2VQYXRofS9jb252ZXJzYXRpb25zLyR7Y29udmVyc2F0aW9uSWR9L3BhcnRpY2lwYW50c2AsIGRhdGEpO1xuICB9XG5cbiAgcmVtb3ZlUGFydGljaXBhbnQoY29udmVyc2F0aW9uSWQ6IG51bWJlciwgdXNlcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPHZvaWQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8QXBpUmVzcG9uc2U8dm9pZD4+KGAke3RoaXMuYmFzZVBhdGh9L2NvbnZlcnNhdGlvbnMvJHtjb252ZXJzYXRpb25JZH0vcGFydGljaXBhbnRzLyR7dXNlcklkfWApO1xuICB9XG5cbiAgbGVhdmVDb252ZXJzYXRpb24oY29udmVyc2F0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8dm9pZD4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpUmVzcG9uc2U8dm9pZD4+KGAke3RoaXMuYmFzZVBhdGh9L2NvbnZlcnNhdGlvbnMvJHtjb252ZXJzYXRpb25JZH0vbGVhdmVgKTtcbiAgfVxuXG4gIC8vIC0tLSBSZWFjdGlvbnMgLS0tXG5cbiAgYWRkUmVhY3Rpb24obWVzc2FnZUlkOiBudW1iZXIsIGVtb2ppOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFwaVJlc3BvbnNlPHZvaWQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFwaVJlc3BvbnNlPHZvaWQ+PihgJHt0aGlzLmJhc2VQYXRofS9tZXNzYWdlcy8ke21lc3NhZ2VJZH0vcmVhY3Rpb25zYCwgeyBlbW9qaSB9KTtcbiAgfVxuXG4gIHJlbW92ZVJlYWN0aW9uKG1lc3NhZ2VJZDogbnVtYmVyLCBlbW9qaTogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcGlSZXNwb25zZTx2b2lkPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPEFwaVJlc3BvbnNlPHZvaWQ+PihgJHt0aGlzLmJhc2VQYXRofS9tZXNzYWdlcy8ke21lc3NhZ2VJZH0vcmVhY3Rpb25zYCwgeyBwYXJhbXM6IHsgZW1vamkgfSB9KTtcbiAgfVxuXG4gIC8vIC0tLSBSZWFkIFJlY2VpcHRzIC0tLVxuXG4gIG1hcmtBc1JlYWQoY29udmVyc2F0aW9uSWQ6IG51bWJlciwgbGFzdE1lc3NhZ2VJZD86IG51bWJlcik6IE9ic2VydmFibGU8QXBpUmVzcG9uc2U8dm9pZD4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXBpUmVzcG9uc2U8dm9pZD4+KGAke3RoaXMuYmFzZVBhdGh9L2NvbnZlcnNhdGlvbnMvJHtjb252ZXJzYXRpb25JZH0vcmVhZGAsIHtcbiAgICAgIGNvbnZlcnNhdGlvbklkLFxuICAgICAgbGFzdFJlYWRNZXNzYWdlSWQ6IGxhc3RNZXNzYWdlSWQsXG4gICAgfSk7XG4gIH1cblxuICAvLyAtLS0gUHJlc2VuY2UgLS0tXG5cbiAgZ2V0UHJlc2VuY2UoKTogT2JzZXJ2YWJsZTxQcmVzZW5jZVJlc3BvbnNlW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQcmVzZW5jZVJlc3BvbnNlW10+KGAke3RoaXMuYmFzZVBhdGh9L3ByZXNlbmNlYCk7XG4gIH1cblxuICBnZXRVc2VyUHJlc2VuY2UodXNlcklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFByZXNlbmNlUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQcmVzZW5jZVJlc3BvbnNlPihgJHt0aGlzLmJhc2VQYXRofS9wcmVzZW5jZS8ke3VzZXJJZH1gKTtcbiAgfVxufVxuIl19
|