@hahnpro/hpc-api 2025.2.0 → 2025.2.1

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.
Files changed (137) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/package.json +7 -10
  3. package/src/index.js +20 -27
  4. package/src/lib/Queue.js +10 -21
  5. package/src/lib/api-base.js +3 -15
  6. package/src/lib/api.js +42 -53
  7. package/src/lib/asset.interface.js +1 -6
  8. package/src/lib/asset.service.js +20 -45
  9. package/src/lib/assettypes.service.js +12 -26
  10. package/src/lib/content.interface.js +3 -15
  11. package/src/lib/content.service.js +32 -62
  12. package/src/lib/data.interface.js +1 -13
  13. package/src/lib/data.service.js +24 -45
  14. package/src/lib/endpoint.interface.js +1 -6
  15. package/src/lib/endpoint.service.js +4 -16
  16. package/src/lib/events.interface.js +1 -6
  17. package/src/lib/events.service.js +4 -16
  18. package/src/lib/flow-deployment.interface.js +1 -6
  19. package/src/lib/flow-deployment.service.js +25 -58
  20. package/src/lib/flow-function.interface.js +1 -6
  21. package/src/lib/flow-function.service.js +6 -20
  22. package/src/lib/flow-module.interface.js +1 -6
  23. package/src/lib/flow-module.service.js +6 -20
  24. package/src/lib/flow.interface.js +1 -6
  25. package/src/lib/flow.service.js +13 -27
  26. package/src/lib/http.service.d.ts +1 -2
  27. package/src/lib/http.service.js +66 -101
  28. package/src/lib/label.interface.js +1 -6
  29. package/src/lib/label.service.js +5 -17
  30. package/src/lib/mock/api-base.mock.js +6 -17
  31. package/src/lib/mock/api.mock.d.ts +24 -22
  32. package/src/lib/mock/api.mock.js +195 -205
  33. package/src/lib/mock/asset.mock.service.js +38 -55
  34. package/src/lib/mock/assetTypes.mock.service.js +27 -45
  35. package/src/lib/mock/content.mock.service.js +37 -45
  36. package/src/lib/mock/data.mock.service.js +40 -49
  37. package/src/lib/mock/endpoint.mock.service.js +5 -17
  38. package/src/lib/mock/events.mock.service.js +4 -16
  39. package/src/lib/mock/flow-deployment.mock.service.js +36 -81
  40. package/src/lib/mock/flow-functions.mock.service.js +20 -33
  41. package/src/lib/mock/flow-modules.mock.service.js +6 -18
  42. package/src/lib/mock/flow.mock.service.js +29 -44
  43. package/src/lib/mock/http.mock.service.d.ts +28 -0
  44. package/src/lib/mock/http.mock.service.js +35 -0
  45. package/src/lib/mock/index.d.ts +1 -0
  46. package/src/lib/mock/index.js +12 -18
  47. package/src/lib/mock/label.mock.service.js +5 -17
  48. package/src/lib/mock/notification.mock.service.js +4 -16
  49. package/src/lib/mock/secret.mock.service.js +12 -24
  50. package/src/lib/mock/task.mock.service.js +12 -24
  51. package/src/lib/mock/timeseries.mock.service.js +43 -88
  52. package/src/lib/mock/trash.mock.service.js +14 -28
  53. package/src/lib/mock/user.mock.service.js +6 -17
  54. package/src/lib/mock/vault.mock.service.js +5 -17
  55. package/src/lib/notification.interface.js +1 -6
  56. package/src/lib/notification.service.js +4 -16
  57. package/src/lib/proxy.service.js +7 -19
  58. package/src/lib/resource.interface.js +1 -6
  59. package/src/lib/schema.interface.js +1 -6
  60. package/src/lib/secret.interface.js +1 -6
  61. package/src/lib/secret.service.js +11 -23
  62. package/src/lib/storage.interface.js +1 -6
  63. package/src/lib/task.interface.js +1 -6
  64. package/src/lib/task.service.js +11 -23
  65. package/src/lib/timeseries.interface.js +1 -6
  66. package/src/lib/timeseries.service.js +66 -97
  67. package/src/lib/token-set.js +3 -15
  68. package/src/lib/trash.service.js +5 -23
  69. package/src/lib/user-settings.interface.js +1 -6
  70. package/src/lib/user.service.js +7 -18
  71. package/src/lib/vault.interface.js +1 -6
  72. package/src/lib/vault.service.js +6 -23
  73. package/src/index.js.map +0 -1
  74. package/src/lib/Queue.js.map +0 -1
  75. package/src/lib/api-base.js.map +0 -1
  76. package/src/lib/api.js.map +0 -1
  77. package/src/lib/asset.interface.js.map +0 -1
  78. package/src/lib/asset.service.js.map +0 -1
  79. package/src/lib/assettypes.service.js.map +0 -1
  80. package/src/lib/content.interface.js.map +0 -1
  81. package/src/lib/content.service.js.map +0 -1
  82. package/src/lib/data.interface.js.map +0 -1
  83. package/src/lib/data.service.js.map +0 -1
  84. package/src/lib/endpoint.interface.js.map +0 -1
  85. package/src/lib/endpoint.service.js.map +0 -1
  86. package/src/lib/events.interface.js.map +0 -1
  87. package/src/lib/events.service.js.map +0 -1
  88. package/src/lib/flow-deployment.interface.js.map +0 -1
  89. package/src/lib/flow-deployment.service.js.map +0 -1
  90. package/src/lib/flow-function.interface.js.map +0 -1
  91. package/src/lib/flow-function.service.js.map +0 -1
  92. package/src/lib/flow-module.interface.js.map +0 -1
  93. package/src/lib/flow-module.service.js.map +0 -1
  94. package/src/lib/flow.interface.js.map +0 -1
  95. package/src/lib/flow.service.js.map +0 -1
  96. package/src/lib/http.service.js.map +0 -1
  97. package/src/lib/label.interface.js.map +0 -1
  98. package/src/lib/label.service.js.map +0 -1
  99. package/src/lib/mock/api-base.mock.js.map +0 -1
  100. package/src/lib/mock/api.mock.js.map +0 -1
  101. package/src/lib/mock/asset.mock.service.js.map +0 -1
  102. package/src/lib/mock/assetTypes.mock.service.js.map +0 -1
  103. package/src/lib/mock/content.mock.service.js.map +0 -1
  104. package/src/lib/mock/data.mock.service.js.map +0 -1
  105. package/src/lib/mock/endpoint.mock.service.js.map +0 -1
  106. package/src/lib/mock/events.mock.service.js.map +0 -1
  107. package/src/lib/mock/flow-deployment.mock.service.js.map +0 -1
  108. package/src/lib/mock/flow-functions.mock.service.js.map +0 -1
  109. package/src/lib/mock/flow-modules.mock.service.js.map +0 -1
  110. package/src/lib/mock/flow.mock.service.js.map +0 -1
  111. package/src/lib/mock/index.js.map +0 -1
  112. package/src/lib/mock/label.mock.service.js.map +0 -1
  113. package/src/lib/mock/notification.mock.service.js.map +0 -1
  114. package/src/lib/mock/secret.mock.service.js.map +0 -1
  115. package/src/lib/mock/task.mock.service.js.map +0 -1
  116. package/src/lib/mock/timeseries.mock.service.js.map +0 -1
  117. package/src/lib/mock/trash.mock.service.js.map +0 -1
  118. package/src/lib/mock/user.mock.service.js.map +0 -1
  119. package/src/lib/mock/vault.mock.service.js.map +0 -1
  120. package/src/lib/notification.interface.js.map +0 -1
  121. package/src/lib/notification.service.js.map +0 -1
  122. package/src/lib/proxy.service.js.map +0 -1
  123. package/src/lib/resource.interface.js.map +0 -1
  124. package/src/lib/schema.interface.js.map +0 -1
  125. package/src/lib/secret.interface.js.map +0 -1
  126. package/src/lib/secret.service.js.map +0 -1
  127. package/src/lib/storage.interface.js.map +0 -1
  128. package/src/lib/task.interface.js.map +0 -1
  129. package/src/lib/task.service.js.map +0 -1
  130. package/src/lib/timeseries.interface.js.map +0 -1
  131. package/src/lib/timeseries.service.js.map +0 -1
  132. package/src/lib/token-set.js.map +0 -1
  133. package/src/lib/trash.service.js.map +0 -1
  134. package/src/lib/user-settings.interface.js.map +0 -1
  135. package/src/lib/user.service.js.map +0 -1
  136. package/src/lib/vault.interface.js.map +0 -1
  137. package/src/lib/vault.service.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/api.mock.ts"],"sourcesContent":["import { randomUUID } from 'crypto';\nimport { readFileSync } from 'fs';\nimport { join } from 'path';\n\nimport { API } from '../api';\nimport { Asset, AssetRevision, AssetType } from '../asset.interface';\nimport { Content } from '../content.interface';\nimport { Endpoint } from '../endpoint.interface';\nimport { Event } from '../events.interface';\nimport { FlowDeployment } from '../flow-deployment.interface';\nimport { FlowDeploymentService } from '../flow-deployment.service';\nimport { FlowFunctionDto, FlowFunctionRevision } from '../flow-function.interface';\nimport { FlowFunctionService } from '../flow-function.service';\nimport { FlowModule } from '../flow-module.interface';\nimport { FlowModuleService } from '../flow-module.service';\nimport { FlowDiagram, FlowDto, FlowRevision } from '../flow.interface';\nimport { FlowService } from '../flow.service';\nimport { Label } from '../label.interface';\nimport { Notification } from '../notification.interface';\nimport { Secret } from '../secret.interface';\nimport { Artifact } from '../storage.interface';\nimport { Task } from '../task.interface';\nimport { TimeSeries, TimeSeriesValue } from '../timeseries.interface';\nimport { VaultSecret } from '../vault.interface';\nimport { AssetMockService } from './asset.mock.service';\nimport { AssetTypesMockService } from './assetTypes.mock.service';\nimport { ContentMockService } from './content.mock.service';\nimport { EndpointMockService } from './endpoint.mock.service';\nimport { EventsMockService } from './events.mock.service';\nimport { FlowDeploymentMockService } from './flow-deployment.mock.service';\nimport { FlowFunctionsMockService } from './flow-functions.mock.service';\nimport { FlowModulesMockService } from './flow-modules.mock.service';\nimport { FlowMockService } from './flow.mock.service';\nimport { LabelMockService } from './label.mock.service';\nimport { NotificationMockService } from './notification.mock.service';\nimport { SecretMockService } from './secret.mock.service';\nimport { TaskMockService } from './task.mock.service';\nimport { TimeseriesMockService } from './timeseries.mock.service';\nimport { UserMockService } from './user.mock.service';\nimport { VaultMockService } from './vault.mock.service';\n\nexport class MockAPI implements API {\n public httpClient = null;\n\n public assets: AssetMockService;\n public assetTypes: AssetTypesMockService;\n public contents: ContentMockService;\n public endpoints: EndpointMockService;\n public events: EventsMockService;\n public flows: FlowService;\n public flowDeployments: FlowDeploymentService;\n public flowFunctions: FlowFunctionService;\n public flowModules: FlowModuleService;\n public labels: LabelMockService;\n public proxy = null;\n public secrets: SecretMockService;\n public tasks: TaskMockService;\n public timeSeries: TimeseriesMockService;\n public users: UserMockService;\n public vault: VaultMockService;\n public notifications: NotificationMockService;\n\n constructor(initData: {\n assets?: AssetInit[];\n assetRevisions?: AssetRevisionInit[];\n contents?: ContentInit[];\n endpoints?: EndpointInit[];\n secrets?: SecretInit[];\n timeSeries?: TimeSeriesInit[];\n tasks?: TaskInit[];\n events?: EventInit[];\n users?: UserInit;\n flows?: FlowInit[];\n flowRevisions?: FlowRevisionInit[];\n deployments?: FlowDeploymentInit[];\n functions?: FlowFunctionInit[];\n functionRevisions?: FlowFunctionRevisionInit[];\n modules?: FlowModuleInit[];\n diagrams?: FlowDiagramInit[];\n labels?: LabelInit[];\n vault?: VaultSecretInit[];\n notifications?: NotificationInit[];\n }) {\n const {\n assets = [],\n assetRevisions = [],\n contents = [],\n endpoints = [],\n secrets = [],\n timeSeries = [],\n tasks = [],\n events = [],\n users,\n flows = [],\n flowRevisions = [],\n deployments = [],\n functions = [],\n functionRevisions = [],\n modules = [],\n diagrams = [],\n labels = [],\n vault = [],\n notifications = [],\n } = initData;\n // convert init data to normal data that the services usually use\n const assetTypes: Array<AssetType | string> = assets\n .map((v) => v.type)\n .map((v) => {\n return typeof v === 'string'\n ? v\n : {\n ...v,\n readPermissions: v.readPermissions || [],\n readWritePermissions: v.readWritePermissions || [],\n typeSchema: v.typeSchema ?? {},\n uiSchema: v.uiSchema ?? {},\n };\n });\n const assets1: Asset[] = assets.map((v, index) => ({\n ...v,\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n type: assetTypes[index],\n }));\n const assetRevisions1: AssetRevision[] = assetRevisions.map((v, index) => ({\n ...v,\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n type: assetTypes[index],\n }));\n const contents1: Content[] = contents.map((v) => ({\n ...v,\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n size: v.size ?? 0,\n fileId: v.fileId ?? '',\n mimetype: v.mimetype ?? '',\n }));\n const contentData: any[] = contents.map((v) => (v.data ? v.data : readFileSync(join(v.filePath, v.filename))));\n const secrets1: Secret[] = secrets.map((v) => ({\n ...v,\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n }));\n const timeSeries1: TimeSeries[] = timeSeries.map((v) => ({\n ...v,\n description: v.description ?? '',\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n maxBucketTimeRange: v.maxBucketTimeRange ?? 0,\n maxDate: v.maxDate,\n minDate: v.minDate,\n autoDelData: v.autoDelData ?? new Date(),\n autoDelBucket: v.autoDelBucket ?? new Date(),\n }));\n const timeSeriesValues: TimeSeriesValue[][] = timeSeries.map((v) => v.values);\n const endpoint1: Endpoint[] = endpoints.map((v) => ({\n ...v,\n status: v.status,\n config: v.config,\n notificationCheckInterval: v.notificationCheckInterval,\n notificationPauseInterval: v.notificationPauseInterval,\n nbOfNotificationsBetweenPauseInterval: v.nbOfNotificationsBetweenPauseInterval,\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n }));\n // TODO: ...\n const tasks1: Task[] = tasks.map((v) => ({\n ...v,\n id: v.id,\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n subTasks: v.subTasks ?? [],\n }));\n const events1: Event[] = events.map((v) => ({\n ...v,\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n cause: v.cause,\n level: v.level,\n }));\n const diagrams1: FlowDiagram[] = diagrams.map((v) => ({\n ...v,\n json: v.json ?? '',\n author: 'nobody',\n }));\n const flows1: FlowDto[] = flows.map((v) => ({\n ...v,\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n diagram: diagrams.find((v1) => v1.flow === v.id).id,\n name: `flow-${v.id}`,\n deployments: v.deployments ?? [],\n }));\n const flowRevisions1: FlowRevision[] = flowRevisions.map((v) => ({\n ...v,\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n diagram: diagrams.find((v1) => v1.flow === v.originalId).id,\n name: `flow-${v.id}`,\n deployments: v.deployments ?? [],\n }));\n const deployments1: FlowDeployment[] = deployments.map((v) => ({\n ...v,\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n diagram: v.diagram ?? '',\n artifact: v.artifact ?? null,\n flowModel: v.flowModel ?? { connections: [], elements: [] },\n desiredStatus: 'running',\n actualStatus: 'generating queued',\n target: 'executor',\n name: `deployment-${v.id}`,\n }));\n const functions1: Array<FlowFunctionDto> = functions.map((v) => ({\n ...v,\n category: 'task',\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n author: 'nobody',\n }));\n const functionRevisions1: Array<FlowFunctionRevision> = functionRevisions.map((v) => ({\n ...v,\n category: 'task',\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n author: 'nobody',\n }));\n const modules1: Replace<FlowModule, 'artifacts', Array<Artifact & { path: string }>>[] = modules.map((v, index) => ({\n ...v,\n artifacts:\n modules[index].artifacts.map((art) => ({\n ...art,\n version: '0.0.0',\n id: randomUUID(),\n mimetype: '',\n size: 0,\n createdAt: '' + Date.now(),\n })) ?? [],\n author: 'nobody',\n functions: v.functions ?? [],\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n }));\n const labels1: Label[] = labels.map((v) => ({\n ...v,\n color: v.color ?? '',\n description: v.description ?? '',\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n }));\n const vaultSecrets1: VaultSecret[] = vault.map((v) => ({\n ...v,\n readPermissions: v.readPermissions ?? [],\n readWritePermissions: v.readWritePermissions ?? [],\n }));\n const notifications1: Notification[] = notifications.map((v) => ({\n ...v,\n link: v.link ?? '',\n description: v.description ?? '',\n read: v.read ?? false,\n }));\n\n this.assets = new AssetMockService(this, assets1, assetRevisions1);\n this.assetTypes = new AssetTypesMockService(assetTypes, []);\n this.contents = new ContentMockService(contents1, contentData);\n this.endpoints = new EndpointMockService(endpoint1);\n this.secrets = new SecretMockService(secrets1);\n this.timeSeries = new TimeseriesMockService(timeSeries1, timeSeriesValues);\n this.tasks = new TaskMockService(tasks1);\n this.events = new EventsMockService(events1);\n this.users = new UserMockService(users);\n this.flows = new FlowMockService(flows1, diagrams1, flowRevisions1);\n this.flowDeployments = new FlowDeploymentMockService(deployments1, this);\n this.flowFunctions = new FlowFunctionsMockService(functions1, functionRevisions1);\n this.flowModules = new FlowModulesMockService(modules1);\n this.labels = new LabelMockService(labels1);\n this.vault = new VaultMockService(vaultSecrets1);\n this.notifications = new NotificationMockService(notifications1);\n }\n}\n\nexport type Identity<T> = { [P in keyof T]: T[P] };\nexport type AtLeast<T, K extends keyof T> = Identity<Partial<T> & Pick<T, K>>;\nexport type Replace<T, K extends keyof T, TReplace> = Identity<\n Pick<T, Exclude<keyof T, K>> & {\n [P in K]: TReplace;\n }\n>;\n\nexport type AssetInit = Replace<AtLeast<Asset, 'id' | 'name' | 'type'>, 'type', AssetTypeInit | string>;\nexport type AssetRevisionInit = Replace<AtLeast<AssetRevision, 'id' | 'name' | 'type' | 'originalId'>, 'type', AssetTypeInit | string>;\nexport type AssetTypeInit = AtLeast<AssetType, 'id' | 'name'>;\nexport type ContentInit = Identity<AtLeast<Content, 'id' | 'filename'> & { filePath?: string; data?: any }>;\nexport type EndpointInit = AtLeast<Endpoint, 'name'>;\nexport type SecretInit = AtLeast<Secret, 'name' | 'key'>;\nexport type TimeSeriesInit = Identity<AtLeast<TimeSeries, 'id' | 'name'> & { values: TimeSeriesValue[] }>;\nexport type TaskInit = AtLeast<Task, 'name' | 'assignedTo'>;\nexport type EventInit = AtLeast<Event, 'name'>;\nexport type FlowInit = AtLeast<FlowDto, 'id'>;\nexport type FlowRevisionInit = AtLeast<FlowRevision, 'id' | 'originalId'>;\nexport type FlowDeploymentInit = AtLeast<FlowDeployment, 'id' | 'flow'>;\nexport type FlowFunctionInit = AtLeast<FlowFunctionDto, 'fqn'>;\nexport type FlowFunctionRevisionInit = AtLeast<FlowFunctionRevision, 'fqn' | 'id' | 'originalId'>;\nexport type FlowModuleInit = Replace<AtLeast<FlowModule, 'name'>, 'artifacts', ArtifactInit[]>;\nexport type ArtifactInit = AtLeast<Artifact & { path: string }, 'filename' | 'path'>;\nexport type FlowDiagramInit = AtLeast<FlowDiagram, 'id' | 'flow'>;\nexport type LabelInit = AtLeast<Label, 'id' | 'name'>;\nexport type VaultSecretInit = AtLeast<VaultSecret, 'name' | 'secret'>;\nexport type NotificationInit = AtLeast<Notification, 'id' | 'name' | 'userId' | 'notificationType'>;\n\nexport interface UserInit {\n roles: string[];\n}\n"],"names":["MockAPI","constructor","initData","httpClient","proxy","assets","assetRevisions","contents","endpoints","secrets","timeSeries","tasks","events","users","flows","flowRevisions","deployments","functions","functionRevisions","modules","diagrams","labels","vault","notifications","assetTypes","map","v","type","readPermissions","readWritePermissions","typeSchema","uiSchema","assets1","index","assetRevisions1","contents1","size","fileId","mimetype","contentData","data","readFileSync","join","filePath","filename","secrets1","timeSeries1","description","maxBucketTimeRange","maxDate","minDate","autoDelData","Date","autoDelBucket","timeSeriesValues","values","endpoint1","status","config","notificationCheckInterval","notificationPauseInterval","nbOfNotificationsBetweenPauseInterval","tasks1","id","subTasks","events1","cause","level","diagrams1","json","author","flows1","diagram","find","v1","flow","name","flowRevisions1","originalId","deployments1","artifact","flowModel","connections","elements","desiredStatus","actualStatus","target","functions1","category","functionRevisions1","modules1","artifacts","art","version","randomUUID","createdAt","now","labels1","color","vaultSecrets1","notifications1","link","read","AssetMockService","AssetTypesMockService","ContentMockService","EndpointMockService","SecretMockService","TimeseriesMockService","TaskMockService","EventsMockService","UserMockService","FlowMockService","flowDeployments","FlowDeploymentMockService","flowFunctions","FlowFunctionsMockService","flowModules","FlowModulesMockService","LabelMockService","VaultMockService","NotificationMockService"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/asset.mock.service.ts"],"sourcesContent":["import FormData from 'form-data';\nimport { mix } from 'ts-mixer';\n\nimport { Asset, AssetRevision, Attachment, EventCause, EventLevelOverride } from '../asset.interface';\nimport { AssetService } from '../asset.service';\nimport { Paginated, RequestParameter } from '../data.interface';\nimport { APIBaseMock } from './api-base.mock';\nimport { MockAPI } from './api.mock';\nimport { DataMockService } from './data.mock.service';\nimport { TrashMockService } from './trash.mock.service';\n\ninterface BaseService extends DataMockService<Asset>, TrashMockService<Asset> {}\n@mix(DataMockService, TrashMockService)\nclass BaseService extends APIBaseMock<Asset> {}\n\nexport class AssetMockService extends BaseService implements AssetService {\n constructor(\n private api: MockAPI,\n assets: Asset[],\n private revisions: AssetRevision[],\n ) {\n super(assets);\n }\n\n private getAssets(params: RequestParameter, deleted = false) {\n const data = this.data.filter((asset) => !!asset.deletedAt === deleted);\n const page: Paginated<Asset[]> = {\n docs: data,\n limit: params && params.limit ? params.limit : Number.MAX_SAFE_INTEGER,\n total: data.length,\n };\n return page;\n }\n\n addOne(dto: Asset): Promise<Asset> {\n this.revisions.push({ ...dto, originalId: dto.id });\n return super.addOne(dto);\n }\n\n deleteOne(assetId: string, force = false): Promise<Asset> {\n const asset = this.data.find((v) => v.id === assetId);\n if (!asset?.deletedAt && !force) {\n // put asset in paper bin by setting deletedAt prop\n asset.deletedAt = new Date().toISOString();\n return Promise.resolve(asset);\n }\n this.revisions\n .filter((revision) => revision.originalId === assetId)\n .forEach((revision) => {\n const index = this.revisions.indexOf(revision);\n this.revisions.splice(index, 1);\n });\n return super.deleteOne(assetId);\n }\n\n getMany(params?: RequestParameter): Promise<Paginated<Asset[]>> {\n const page = this.getAssets(params, false);\n return Promise.resolve(page);\n }\n\n async updateOne(assetId: string, dto: Asset): Promise<Asset> {\n await super.deleteOne(assetId);\n const asset = await this.addOne(dto);\n return Promise.resolve(asset);\n }\n\n async addAttachment(id: string, form: FormData): Promise<Asset> {\n const asset = this.data.find((v) => v.id === id);\n const content = await this.api.contents.upload(form);\n asset.attachments.push(content.id);\n return Promise.resolve(asset);\n }\n\n public async getAttachments(assetId: string): Promise<Paginated<Attachment[]>> {\n const contents = await this.api.contents.getMany();\n const docs = contents.docs.filter((c) => c.assets?.includes?.(assetId));\n return { docs, total: docs.length, limit: 0 };\n }\n\n public getChildren(assetId: string, params: RequestParameter = {}): Promise<Paginated<Asset[]>> {\n return this.getManyFiltered({ parent: assetId }, params);\n }\n\n public getEventLevelOverride(ids: string[], causes: string[]): Promise<EventLevelOverride> {\n const eventCausesAssets = this.data.filter((v) => v.name.startsWith('hpc-event-causes-'));\n return Promise.resolve(\n ids.reduce(\n (acc, id) => ({\n ...acc,\n [id]: eventCausesAssets.find((v) => v.name.includes(id))?.data ?? {},\n }),\n {},\n ),\n );\n }\n\n public updateEventCausesAsset(id: string, dto: EventCause): Promise<Asset> {\n // simplified id and data\n const asset = this.data.find((v) => v.id === id);\n const eventCausesAsset = this.data.find((v) => v.name === 'hpc-event-causes-' + asset.id);\n if (eventCausesAsset) {\n eventCausesAsset.data[dto.cause] = dto.level;\n return Promise.resolve(eventCausesAsset);\n }\n return this.addOne({\n name: 'hpc-event-causes-' + asset.id,\n type: undefined,\n readPermissions: [],\n readWritePermissions: [],\n data: {\n [dto.cause]: dto.level,\n },\n });\n }\n\n public getRevisions(assetId: string): Promise<Paginated<AssetRevision[]>> {\n const revisions = this.revisions.filter((revision) => revision.originalId === assetId);\n const page: Paginated<AssetRevision[]> = {\n docs: revisions,\n limit: Number.MAX_SAFE_INTEGER,\n total: revisions.length,\n };\n return Promise.resolve(page);\n }\n\n public rollback(assetId: string, revisionId: string): Promise<Asset> {\n const asset = this.revisions.find((revision) => revision.id === revisionId);\n return Promise.resolve(asset);\n }\n\n public deleteRevision(assetId: string, revisionId: string): Promise<any> {\n const index = this.revisions.findIndex((revision) => revision.id === revisionId);\n this.revisions.splice(index, 1);\n return Promise.resolve(revisionId);\n }\n}\n"],"names":["AssetMockService","BaseService","APIBaseMock","constructor","api","assets","revisions","getAssets","params","deleted","data","filter","asset","deletedAt","page","docs","limit","Number","MAX_SAFE_INTEGER","total","length","addOne","dto","push","originalId","id","deleteOne","assetId","force","find","v","Date","toISOString","Promise","resolve","revision","forEach","index","indexOf","splice","getMany","updateOne","addAttachment","form","content","contents","upload","attachments","getAttachments","c","includes","getChildren","getManyFiltered","parent","getEventLevelOverride","ids","causes","eventCausesAssets","name","startsWith","reduce","acc","updateEventCausesAsset","eventCausesAsset","cause","level","type","undefined","readPermissions","readWritePermissions","getRevisions","rollback","revisionId","deleteRevision","findIndex"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/assetTypes.mock.service.ts"],"sourcesContent":["import { randomUUID } from 'crypto';\n\nimport { mix } from 'ts-mixer';\n\nimport { AssetType, AssetTypeRevision } from '../asset.interface';\nimport { AssetTypesService } from '../assettypes.service';\nimport { Paginated, RequestParameter } from '../data.interface';\nimport { APIBaseMock } from './api-base.mock';\nimport { DataMockService } from './data.mock.service';\nimport { TrashMockService } from './trash.mock.service';\n\ninterface BaseService extends DataMockService<AssetType>, TrashMockService<AssetType> {}\n@mix(DataMockService, TrashMockService)\nclass BaseService extends APIBaseMock<AssetType> {}\n\nexport class AssetTypesMockService extends BaseService implements AssetTypesService {\n constructor(\n assetTypes: Array<AssetType | string>,\n private revisions: AssetTypeRevision[],\n ) {\n const defaultTyp: AssetType = {\n name: 'defaultType',\n readPermissions: [],\n readWritePermissions: [],\n typeSchema: { type: 'object' },\n uiSchema: {},\n };\n const types = assetTypes.map((type) => (typeof type === 'string' ? { id: type, ...defaultTyp } : type));\n super(types);\n }\n\n getMany(params?: RequestParameter): Promise<Paginated<AssetType[]>> {\n const page = this.getItems(params, false);\n return Promise.resolve(page);\n }\n\n addOne(dto: AssetType): Promise<AssetType> {\n const id = randomUUID();\n this.revisions.push({ ...dto, id, originalId: dto.id });\n return super.addOne(dto);\n }\n\n deleteOne(id: string, force = false): Promise<any> {\n const assettype = this.data.find((v) => v.id === id);\n if (!assettype?.deletedAt && !force) {\n // put asset in paper bin by setting deletedAt prop\n assettype.deletedAt = new Date().toISOString();\n return Promise.resolve(assettype);\n }\n this.revisions\n .filter((revision) => revision.originalId === id)\n .forEach((revision) => {\n const index = this.revisions.indexOf(revision);\n this.revisions.splice(index, 1);\n });\n return super.deleteOne(id);\n }\n\n async updateOne(id: string, dto: AssetType): Promise<AssetType> {\n await super.deleteOne(id);\n const assetType = await this.addOne(dto);\n return Promise.resolve(assetType);\n }\n\n public getRevisions(id: string): Promise<Paginated<AssetTypeRevision[]>> {\n const revisions = this.revisions.filter((revision) => revision.originalId === id);\n const page: Paginated<AssetTypeRevision[]> = {\n docs: revisions,\n limit: Number.MAX_SAFE_INTEGER,\n total: revisions.length,\n };\n return Promise.resolve(page);\n }\n\n public rollback(id: string, revisionId: string): Promise<AssetType> {\n const assetType = this.revisions.find((revision) => revision.id === revisionId);\n return Promise.resolve(assetType);\n }\n\n public deleteRevision(assetId: string, revisionId: string): Promise<any> {\n const index = this.revisions.findIndex((revision) => revision.id === revisionId);\n this.revisions.splice(index, 1);\n return Promise.resolve(revisionId);\n }\n}\n"],"names":["AssetTypesMockService","BaseService","APIBaseMock","constructor","assetTypes","revisions","defaultTyp","name","readPermissions","readWritePermissions","typeSchema","type","uiSchema","types","map","id","getMany","params","page","getItems","Promise","resolve","addOne","dto","randomUUID","push","originalId","deleteOne","force","assettype","data","find","v","deletedAt","Date","toISOString","filter","revision","forEach","index","indexOf","splice","updateOne","assetType","getRevisions","docs","limit","Number","MAX_SAFE_INTEGER","total","length","rollback","revisionId","deleteRevision","assetId","findIndex"],"mappings":";;;;+BAeaA;;;eAAAA;;;;wBAfc;yBAEP;6BAKQ;iCACI;kCACC;AAGjC,IAAA,AACMC,cADN,MACMA,oBAAoBC,wBAAW;AAAa;;;;AAE3C,IAAA,AAAMF,wBAAN,MAAMA,8BAA8BC;IACzCE,YACEC,UAAqC,EACrC,AAAQC,SAA8B,CACtC;QACA,MAAMC,aAAwB;YAC5BC,MAAM;YACNC,iBAAiB,EAAE;YACnBC,sBAAsB,EAAE;YACxBC,YAAY;gBAAEC,MAAM;YAAS;YAC7BC,UAAU,CAAC;QACb;QACA,MAAMC,QAAQT,WAAWU,GAAG,CAAC,CAACH,OAAU,OAAOA,SAAS,WAAW;gBAAEI,IAAIJ;gBAAM,GAAGL,UAAU;YAAC,IAAIK;QACjG,KAAK,CAACE,aAVER,YAAAA;IAWV;IAEAW,QAAQC,MAAyB,EAAmC;QAClE,MAAMC,OAAO,IAAI,CAACC,QAAQ,CAACF,QAAQ;QACnC,OAAOG,QAAQC,OAAO,CAACH;IACzB;IAEAI,OAAOC,GAAc,EAAsB;QACzC,MAAMR,KAAKS,IAAAA,kBAAU;QACrB,IAAI,CAACnB,SAAS,CAACoB,IAAI,CAAC;YAAE,GAAGF,GAAG;YAAER;YAAIW,YAAYH,IAAIR,EAAE;QAAC;QACrD,OAAO,KAAK,CAACO,OAAOC;IACtB;IAEAI,UAAUZ,EAAU,EAAEa,QAAQ,KAAK,EAAgB;QACjD,MAAMC,YAAY,IAAI,CAACC,IAAI,CAACC,IAAI,CAAC,CAACC,IAAMA,EAAEjB,EAAE,KAAKA;QACjD,IAAI,CAACc,WAAWI,aAAa,CAACL,OAAO;YACnC,mDAAmD;YACnDC,UAAUI,SAAS,GAAG,IAAIC,OAAOC,WAAW;YAC5C,OAAOf,QAAQC,OAAO,CAACQ;QACzB;QACA,IAAI,CAACxB,SAAS,CACX+B,MAAM,CAAC,CAACC,WAAaA,SAASX,UAAU,KAAKX,IAC7CuB,OAAO,CAAC,CAACD;YACR,MAAME,QAAQ,IAAI,CAAClC,SAAS,CAACmC,OAAO,CAACH;YACrC,IAAI,CAAChC,SAAS,CAACoC,MAAM,CAACF,OAAO;QAC/B;QACF,OAAO,KAAK,CAACZ,UAAUZ;IACzB;IAEA,MAAM2B,UAAU3B,EAAU,EAAEQ,GAAc,EAAsB;QAC9D,MAAM,KAAK,CAACI,UAAUZ;QACtB,MAAM4B,YAAY,MAAM,IAAI,CAACrB,MAAM,CAACC;QACpC,OAAOH,QAAQC,OAAO,CAACsB;IACzB;IAEOC,aAAa7B,EAAU,EAA2C;QACvE,MAAMV,YAAY,IAAI,CAACA,SAAS,CAAC+B,MAAM,CAAC,CAACC,WAAaA,SAASX,UAAU,KAAKX;QAC9E,MAAMG,OAAuC;YAC3C2B,MAAMxC;YACNyC,OAAOC,OAAOC,gBAAgB;YAC9BC,OAAO5C,UAAU6C,MAAM;QACzB;QACA,OAAO9B,QAAQC,OAAO,CAACH;IACzB;IAEOiC,SAASpC,EAAU,EAAEqC,UAAkB,EAAsB;QAClE,MAAMT,YAAY,IAAI,CAACtC,SAAS,CAAC0B,IAAI,CAAC,CAACM,WAAaA,SAAStB,EAAE,KAAKqC;QACpE,OAAOhC,QAAQC,OAAO,CAACsB;IACzB;IAEOU,eAAeC,OAAe,EAAEF,UAAkB,EAAgB;QACvE,MAAMb,QAAQ,IAAI,CAAClC,SAAS,CAACkD,SAAS,CAAC,CAAClB,WAAaA,SAAStB,EAAE,KAAKqC;QACrE,IAAI,CAAC/C,SAAS,CAACoC,MAAM,CAACF,OAAO;QAC7B,OAAOnB,QAAQC,OAAO,CAAC+B;IACzB;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/content.mock.service.ts"],"sourcesContent":["import { Readable } from 'stream';\n\nimport FormData from 'form-data';\nimport { mix } from 'ts-mixer';\n\nimport { Content, ReturnType } from '../content.interface';\nimport { ContentService } from '../content.service';\nimport { Paginated, RequestParameter } from '../data.interface';\nimport { APIBaseMock } from './api-base.mock';\nimport { DataMockService } from './data.mock.service';\nimport { TrashMockService } from './trash.mock.service';\n\ninterface BaseService extends DataMockService<Content>, TrashMockService<Content> {}\n@mix(DataMockService, TrashMockService)\nclass BaseService extends APIBaseMock<Content> {}\n\nexport class ContentMockService extends BaseService implements ContentService {\n private contentData: Map<string, any> = new Map();\n\n constructor(contents: Content[], contentData: any[]) {\n super(contents);\n for (let i = 0; i < contents.length; i++) {\n this.contentData.set(contents[i].id, contentData[i]);\n }\n }\n\n download(id: string, raw?: boolean): Promise<Blob | ArrayBuffer>;\n\n download(id: string, returnType: ReturnType.TEXT): Promise<string>;\n download(id: string, returnType: ReturnType.JSON): Promise<Record<string, unknown>>;\n download(id: string, returnType: ReturnType.NODEBUFFER): Promise<Buffer>;\n download(id: string, returnType: ReturnType.BLOB): Promise<Blob>;\n download(id: string, returnType: ReturnType.ARRAYBUFFER): Promise<ArrayBuffer>;\n download(id: string, returnType: ReturnType.NODESTREAM): Promise<Readable>;\n\n download(id: string, second: any): Promise<string | Record<string, unknown> | Buffer | Blob | ArrayBuffer | Readable> {\n let returnType: ReturnType;\n if (typeof second === 'boolean' || second == null) {\n returnType = second ? ReturnType.ARRAYBUFFER : ReturnType.BLOB;\n } else {\n returnType = second;\n }\n const content = this.contentData.get(id);\n switch (returnType) {\n case ReturnType.TEXT:\n if (typeof content === 'string') {\n return Promise.resolve(content);\n } else {\n return Promise.resolve(JSON.stringify(content));\n }\n case ReturnType.JSON:\n if (typeof content !== 'string') {\n return Promise.resolve(content);\n } else {\n return Promise.resolve(JSON.parse(content));\n }\n case ReturnType.NODEBUFFER:\n return Promise.resolve(Buffer.from(this.contentData.get(id)));\n case ReturnType.BLOB:\n if (global.Blob) {\n return Promise.resolve(new Blob([Buffer.from(this.contentData.get(id)).buffer]));\n } else {\n if (typeof content === 'string') {\n return Promise.resolve(content);\n } else {\n return Promise.resolve(JSON.stringify(content));\n }\n }\n case ReturnType.ARRAYBUFFER:\n return Promise.resolve(Buffer.from(this.contentData.get(id)).buffer);\n case ReturnType.NODESTREAM:\n return Promise.resolve(Readable.from(this.contentData.get(id)));\n }\n }\n\n deleteOne(contentId: string, force = false): Promise<Content> {\n const content = this.data.find((v) => v.id === contentId);\n if (!content?.deletedAt && !force) {\n // put content in paper bin by setting deletedAt prop\n content.deletedAt = new Date().toISOString();\n return Promise.resolve(content);\n }\n return super.deleteOne(contentId);\n }\n\n getMany(params?: RequestParameter): Promise<Paginated<Content[]>> {\n const page = this.getItems(params, false);\n return Promise.resolve(page);\n }\n\n upload(form: FormData): Promise<Content> {\n return Promise.resolve(undefined);\n }\n}\n"],"names":["ContentMockService","BaseService","APIBaseMock","constructor","contents","contentData","Map","i","length","set","id","download","second","returnType","ReturnType","ARRAYBUFFER","BLOB","content","get","TEXT","Promise","resolve","JSON","stringify","parse","NODEBUFFER","Buffer","from","global","Blob","buffer","NODESTREAM","Readable","deleteOne","contentId","force","data","find","v","deletedAt","Date","toISOString","getMany","params","page","getItems","upload","form","undefined"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/data.mock.service.ts"],"sourcesContent":["import { Filter, instanceOfTimePeriod, Paginated, RequestParameter } from '../data.interface';\nimport { DataService } from '../data.service';\nimport { APIBaseMock } from './api-base.mock';\n\nexport class DataMockService<T> extends DataService<T> implements APIBaseMock<T> {\n data: T[] = [];\n\n constructor() {\n super(null, null);\n }\n\n async addMany(dto: any[]): Promise<T[]> {\n const map = dto.map((v) => this.addOne(v));\n return Promise.all(map);\n }\n\n addOne(dto: any): Promise<T> {\n this.data.push(dto as T);\n return Promise.resolve(dto as T);\n }\n\n deleteOne(id: string): Promise<any> {\n const index = this.data.findIndex((v: any) => v.id === id);\n const obj = this.data[index];\n this.data.splice(index, 1);\n return Promise.resolve(obj);\n }\n\n getMany(params?: RequestParameter): Promise<Paginated<T[]>> {\n const data = this.data;\n if (params?.sort) {\n this.sortData(data, params.sort);\n }\n const page: Paginated<T[]> = {\n docs: data,\n limit: params?.limit ?? Number.MAX_SAFE_INTEGER,\n total: data.length,\n };\n return Promise.resolve(page);\n }\n\n /**\n * Filters the elements by the passed properties. The object with these properties has to be of the form:\n * {\n * propertyName: string | string[] | { from: Date, to: Date },\n * ...\n * }.\n * @param filter The Object with the properties to filter by.\n * @param params Other request parameters.\n */\n async getManyFiltered(filter: Filter, params: RequestParameter = {}): Promise<Paginated<T[]>> {\n const paginated = await this.getMany(params);\n const newData = paginated.docs.filter((doc: any) =>\n Object.entries(filter).every(([filterKey, filterValue]): boolean => {\n const docValue = doc[filterKey];\n\n if (!docValue) {\n return false;\n }\n\n return (\n (typeof docValue === 'object' && (filterValue === docValue.name || filterValue === docValue.id)) || // data object\n (typeof filterValue === 'object' &&\n instanceOfTimePeriod(filterValue) &&\n new Date(docValue) >= filterValue.from &&\n new Date(docValue) <= filterValue.to) || // TimePeriod\n (docValue instanceof Date && filterValue === docValue.toISOString()) || // Date\n (Array.isArray(filterValue) && Array.isArray(docValue) && filterValue.some((fv) => docValue.includes(fv))) || // string[]\n (Array.isArray(filterValue) && filterValue.includes(docValue)) ||\n (Array.isArray(docValue) && docValue.includes(filterValue)) ||\n docValue === filterValue // string\n );\n }),\n );\n const page: Paginated<T[]> = {\n docs: newData,\n limit: paginated.limit ?? Number.MAX_SAFE_INTEGER,\n total: newData.length,\n };\n return Promise.resolve(page);\n }\n\n getOne(id: string, options: Record<string, any> & { idKey?: string } = {}): Promise<T> {\n const idKey = options.idKey || 'id';\n const t = this.data.find((v: any) => v[idKey] === id);\n return Promise.resolve(t);\n }\n\n async updateOne(id: string, dto: any): Promise<T> {\n await this.deleteOne(id);\n const t = await this.addOne(dto);\n return Promise.resolve(t);\n }\n\n private sortData(data: T[], sort: string) {\n const descending = sort.startsWith('-');\n const sortString = descending ? sort.substring(1) : sort;\n const compareFn = (a: any, b: any) => {\n let aValue = a[sortString];\n let bValue = b[sortString];\n if (['updatedAt', 'createdAt', 'deletedAt'].includes(sortString)) {\n aValue = new Date(a[sortString]).valueOf();\n bValue = new Date(b[sortString]).valueOf();\n }\n return descending ? bValue - aValue : aValue - bValue;\n };\n data.sort(compareFn);\n }\n}\n"],"names":["DataMockService","DataService","constructor","data","addMany","dto","map","v","addOne","Promise","all","push","resolve","deleteOne","id","index","findIndex","obj","splice","getMany","params","sort","sortData","page","docs","limit","Number","MAX_SAFE_INTEGER","total","length","getManyFiltered","filter","paginated","newData","doc","Object","entries","every","filterKey","filterValue","docValue","name","instanceOfTimePeriod","Date","from","to","toISOString","Array","isArray","some","fv","includes","getOne","options","idKey","t","find","updateOne","descending","startsWith","sortString","substring","compareFn","a","b","aValue","bValue","valueOf"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/endpoint.mock.service.ts"],"sourcesContent":["import { Endpoint, NotificationPayload } from '../endpoint.interface';\nimport { EndpointService } from '../endpoint.service';\nimport { DataMockService } from './data.mock.service';\n\nexport class EndpointMockService extends DataMockService<Endpoint> implements EndpointService {\n constructor(endpoints: Endpoint[]) {\n super();\n this.data = endpoints;\n }\n\n sendNotification(endpointId: string, payload: NotificationPayload) {\n return Promise.resolve();\n }\n\n readLastLogByGroup(endpointId: string, group: string) {\n return Promise.resolve({\n id: 'endpointlog1',\n endpoint: '',\n group: 'test',\n data: 'OK',\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n });\n }\n}\n"],"names":["EndpointMockService","DataMockService","constructor","endpoints","data","sendNotification","endpointId","payload","Promise","resolve","readLastLogByGroup","group","id","endpoint","createdAt","Date","toISOString","updatedAt"],"mappings":";;;;+BAIaA;;;eAAAA;;;iCAFmB;AAEzB,IAAA,AAAMA,sBAAN,MAAMA,4BAA4BC,gCAAe;IACtDC,YAAYC,SAAqB,CAAE;QACjC,KAAK;QACL,IAAI,CAACC,IAAI,GAAGD;IACd;IAEAE,iBAAiBC,UAAkB,EAAEC,OAA4B,EAAE;QACjE,OAAOC,QAAQC,OAAO;IACxB;IAEAC,mBAAmBJ,UAAkB,EAAEK,KAAa,EAAE;QACpD,OAAOH,QAAQC,OAAO,CAAC;YACrBG,IAAI;YACJC,UAAU;YACVF,OAAO;YACPP,MAAM;YACNU,WAAW,IAAIC,OAAOC,WAAW;YACjCC,WAAW,IAAIF,OAAOC,WAAW;QACnC;IACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/events.mock.service.ts"],"sourcesContent":["import { Event } from '../events.interface';\nimport { EventsService } from '../events.service';\nimport { DataMockService } from './data.mock.service';\n\nexport class EventsMockService extends DataMockService<Event> implements EventsService {\n constructor(events: Event[]) {\n super();\n this.data = events;\n }\n\n getLastEventByAssetAndGroup(assetId: string, group: string): Promise<Event> {\n return Promise.resolve(this.data[this.data.length - 1]);\n }\n}\n"],"names":["EventsMockService","DataMockService","constructor","events","data","getLastEventByAssetAndGroup","assetId","group","Promise","resolve","length"],"mappings":";;;;+BAIaA;;;eAAAA;;;iCAFmB;AAEzB,IAAA,AAAMA,oBAAN,MAAMA,0BAA0BC,gCAAe;IACpDC,YAAYC,MAAe,CAAE;QAC3B,KAAK;QACL,IAAI,CAACC,IAAI,GAAGD;IACd;IAEAE,4BAA4BC,OAAe,EAAEC,KAAa,EAAkB;QAC1E,OAAOC,QAAQC,OAAO,CAAC,IAAI,CAACL,IAAI,CAAC,IAAI,CAACA,IAAI,CAACM,MAAM,GAAG,EAAE;IACxD;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/flow-deployment.mock.service.ts"],"sourcesContent":["import { randomUUID } from 'crypto';\n\nimport { mix } from 'ts-mixer';\n\nimport { FlowDeployment, FlowDeploymentMetrics, FlowDeploymentStatistic, FlowLog } from '../flow-deployment.interface';\nimport { FlowDeploymentService } from '../flow-deployment.service';\nimport { ResourceReference } from '../resource.interface';\nimport { APIBaseMock } from './api-base.mock';\nimport { MockAPI } from './api.mock';\nimport { DataMockService } from './data.mock.service';\nimport { TrashMockService } from './trash.mock.service';\n\ninterface BaseService extends DataMockService<FlowDeployment>, TrashMockService<FlowDeployment> {}\n@mix(DataMockService, TrashMockService)\nclass BaseService extends APIBaseMock<FlowDeployment> {}\n\nexport class FlowDeploymentMockService extends BaseService implements FlowDeploymentService {\n constructor(\n deployments: FlowDeployment[],\n private api: MockAPI,\n ) {\n super(deployments);\n }\n\n public subscribeToStatus(\n id: string,\n listener: (event: MessageEvent<any>) => void,\n errorListener?: (event: MessageEvent<any>) => void,\n ): Promise<string> {\n listener(new MessageEvent('message', { data: 'running' }));\n return Promise.resolve(randomUUID());\n }\n\n public subscribeToLogs(\n id: string,\n listener: (event: MessageEvent<any>) => void,\n errorListener?: (event: MessageEvent) => void,\n ): Promise<string> {\n listener(new MessageEvent('message', { data: 'foo' }));\n return Promise.resolve(randomUUID());\n }\n\n public async waitForRunningStatus(id: string): Promise<void> {\n const flowDeployment = this.data.find((v) => v.id === id);\n flowDeployment.actualStatus = 'running';\n }\n\n public async updateStatus(id: string, desiredStatus: 'running' | 'stopped' | 'deleted' | 'paused'): Promise<FlowDeployment> {\n const deployment = await this.getOne(id);\n deployment.desiredStatus = desiredStatus;\n deployment.actualStatus = desiredStatus;\n return Promise.resolve(deployment);\n }\n\n public async resolveReferences(id: string, recursive?: boolean, types?: string[]): Promise<ResourceReference[]> {\n const depl = await this.getOne(id);\n return depl.refs ?? [];\n }\n\n public getDeploymentStatistics(id: string): Promise<FlowDeploymentStatistic> {\n return Promise.resolve({\n totalErrorCount: 0,\n errorCountWeek: 0,\n eventCountWeek: 0,\n errorCounts: [],\n metrics: {\n cpu: 0,\n memory: 97931264,\n ctime: 16770,\n elapsed: 172850950,\n timestamp: 1648199692625,\n deploymentId: id,\n },\n });\n }\n\n public getDeploymentMetrics(id: string, range?: string, interval?: string): Promise<FlowDeploymentMetrics> {\n return Promise.resolve({\n metrics: [{ timestamp: Date.now(), cpu: 0, memory: Math.random() * 1000000 }],\n stats: {\n cpu: { count: 123, avg: 0, max: 0, min: 0, sum: 0 },\n memory: { count: 123, avg: 0, max: 0, min: 0, sum: 0 },\n },\n });\n }\n\n public async getDeploymentLogs(id: string): Promise<FlowLog[]> {\n const depl = await this.getOne(id);\n return Promise.resolve([\n {\n type: 'flow.log.info',\n deploymentId: id,\n subject: 'FlowApplication',\n data: 'Flow Deployment is running',\n '@timestamp': '2022-03-23T09:14:03.129Z',\n eventId: 'c68b7674-b8da-46c5-85f0-8e4279d74a78',\n datacontenttype: 'text/plain',\n elementId: 'none',\n time: '2022-03-23T09:14:03.129Z',\n flowId: depl.flow as string,\n },\n ]);\n }\n\n public async addOne(dto: {\n diagramId: string;\n name: string;\n properties?: Record<string, any>;\n readPermissions?: string[];\n readWritePermissions?: string[];\n tags?: string[];\n }): Promise<FlowDeployment> {\n const flow = await this.api.flows.getFlowWithDiagram(dto.diagramId);\n\n const refs = await this.getReferences(dto.properties);\n const id = randomUUID();\n const newDepl: FlowDeployment = {\n actualStatus: 'generating queued',\n artifact: undefined,\n desiredStatus: 'running',\n diagram: dto.diagramId,\n flow: flow.id,\n flowModel: { elements: [], connections: [], properties: dto.properties },\n id,\n name: dto.name,\n readPermissions: [],\n readWritePermissions: [],\n target: 'executor',\n refs,\n };\n await this.api.flows.updateOne(flow.id, { ...flow, deployments: [...flow.deployments, id] });\n return super.addOne(newDepl);\n }\n\n public async deleteOne(id: string): Promise<FlowDeployment> {\n const depl = await this.getOne(id);\n const flow = await this.api.flows.getOne(depl.flow as string);\n const index = (flow.deployments as string[]).findIndex((v) => v === id);\n flow.deployments.splice(index, 1);\n await this.api.flows.updateOne(flow.id, flow);\n return super.deleteOne(id);\n }\n\n private async getReferences(properties: Record<string, any>): Promise<ResourceReference[]> {\n // super simplified version of real resolver\n return Promise.all(\n Object.keys(properties).map(async (prop) => {\n if (prop !== 'assetId') throw new Error('not implemented');\n return { id: (await this.api.assets.getOne(properties[prop])).id, resourceType: 'asset' };\n }),\n );\n }\n}\n"],"names":["FlowDeploymentMockService","BaseService","APIBaseMock","constructor","deployments","api","subscribeToStatus","id","listener","errorListener","MessageEvent","data","Promise","resolve","randomUUID","subscribeToLogs","waitForRunningStatus","flowDeployment","find","v","actualStatus","updateStatus","desiredStatus","deployment","getOne","resolveReferences","recursive","types","depl","refs","getDeploymentStatistics","totalErrorCount","errorCountWeek","eventCountWeek","errorCounts","metrics","cpu","memory","ctime","elapsed","timestamp","deploymentId","getDeploymentMetrics","range","interval","Date","now","Math","random","stats","count","avg","max","min","sum","getDeploymentLogs","type","subject","eventId","datacontenttype","elementId","time","flowId","flow","addOne","dto","flows","getFlowWithDiagram","diagramId","getReferences","properties","newDepl","artifact","undefined","diagram","flowModel","elements","connections","name","readPermissions","readWritePermissions","target","updateOne","deleteOne","index","findIndex","splice","all","Object","keys","map","prop","Error","assets","resourceType"],"mappings":";;;;+BAgBaA;;;eAAAA;;;;wBAhBc;yBAEP;6BAKQ;iCAEI;kCACC;AAGjC,IAAA,AACMC,cADN,MACMA,oBAAoBC,wBAAW;AAAkB;;;;AAEhD,IAAA,AAAMF,4BAAN,MAAMA,kCAAkCC;IAC7CE,YACEC,WAA6B,EAC7B,AAAQC,GAAY,CACpB;QACA,KAAK,CAACD,mBAFEC,MAAAA;IAGV;IAEOC,kBACLC,EAAU,EACVC,QAA4C,EAC5CC,aAAkD,EACjC;QACjBD,SAAS,IAAIE,aAAa,WAAW;YAAEC,MAAM;QAAU;QACvD,OAAOC,QAAQC,OAAO,CAACC,IAAAA,kBAAU;IACnC;IAEOC,gBACLR,EAAU,EACVC,QAA4C,EAC5CC,aAA6C,EAC5B;QACjBD,SAAS,IAAIE,aAAa,WAAW;YAAEC,MAAM;QAAM;QACnD,OAAOC,QAAQC,OAAO,CAACC,IAAAA,kBAAU;IACnC;IAEA,MAAaE,qBAAqBT,EAAU,EAAiB;QAC3D,MAAMU,iBAAiB,IAAI,CAACN,IAAI,CAACO,IAAI,CAAC,CAACC,IAAMA,EAAEZ,EAAE,KAAKA;QACtDU,eAAeG,YAAY,GAAG;IAChC;IAEA,MAAaC,aAAad,EAAU,EAAEe,aAA2D,EAA2B;QAC1H,MAAMC,aAAa,MAAM,IAAI,CAACC,MAAM,CAACjB;QACrCgB,WAAWD,aAAa,GAAGA;QAC3BC,WAAWH,YAAY,GAAGE;QAC1B,OAAOV,QAAQC,OAAO,CAACU;IACzB;IAEA,MAAaE,kBAAkBlB,EAAU,EAAEmB,SAAmB,EAAEC,KAAgB,EAAgC;QAC9G,MAAMC,OAAO,MAAM,IAAI,CAACJ,MAAM,CAACjB;QAC/B,OAAOqB,KAAKC,IAAI,IAAI,EAAE;IACxB;IAEOC,wBAAwBvB,EAAU,EAAoC;QAC3E,OAAOK,QAAQC,OAAO,CAAC;YACrBkB,iBAAiB;YACjBC,gBAAgB;YAChBC,gBAAgB;YAChBC,aAAa,EAAE;YACfC,SAAS;gBACPC,KAAK;gBACLC,QAAQ;gBACRC,OAAO;gBACPC,SAAS;gBACTC,WAAW;gBACXC,cAAclC;YAChB;QACF;IACF;IAEOmC,qBAAqBnC,EAAU,EAAEoC,KAAc,EAAEC,QAAiB,EAAkC;QACzG,OAAOhC,QAAQC,OAAO,CAAC;YACrBsB,SAAS;gBAAC;oBAAEK,WAAWK,KAAKC,GAAG;oBAAIV,KAAK;oBAAGC,QAAQU,KAAKC,MAAM,KAAK;gBAAQ;aAAE;YAC7EC,OAAO;gBACLb,KAAK;oBAAEc,OAAO;oBAAKC,KAAK;oBAAGC,KAAK;oBAAGC,KAAK;oBAAGC,KAAK;gBAAE;gBAClDjB,QAAQ;oBAAEa,OAAO;oBAAKC,KAAK;oBAAGC,KAAK;oBAAGC,KAAK;oBAAGC,KAAK;gBAAE;YACvD;QACF;IACF;IAEA,MAAaC,kBAAkBhD,EAAU,EAAsB;QAC7D,MAAMqB,OAAO,MAAM,IAAI,CAACJ,MAAM,CAACjB;QAC/B,OAAOK,QAAQC,OAAO,CAAC;YACrB;gBACE2C,MAAM;gBACNf,cAAclC;gBACdkD,SAAS;gBACT9C,MAAM;gBACN,cAAc;gBACd+C,SAAS;gBACTC,iBAAiB;gBACjBC,WAAW;gBACXC,MAAM;gBACNC,QAAQlC,KAAKmC,IAAI;YACnB;SACD;IACH;IAEA,MAAaC,OAAOC,GAOnB,EAA2B;QAC1B,MAAMF,OAAO,MAAM,IAAI,CAAC1D,GAAG,CAAC6D,KAAK,CAACC,kBAAkB,CAACF,IAAIG,SAAS;QAElE,MAAMvC,OAAO,MAAM,IAAI,CAACwC,aAAa,CAACJ,IAAIK,UAAU;QACpD,MAAM/D,KAAKO,IAAAA,kBAAU;QACrB,MAAMyD,UAA0B;YAC9BnD,cAAc;YACdoD,UAAUC;YACVnD,eAAe;YACfoD,SAAST,IAAIG,SAAS;YACtBL,MAAMA,KAAKxD,EAAE;YACboE,WAAW;gBAAEC,UAAU,EAAE;gBAAEC,aAAa,EAAE;gBAAEP,YAAYL,IAAIK,UAAU;YAAC;YACvE/D;YACAuE,MAAMb,IAAIa,IAAI;YACdC,iBAAiB,EAAE;YACnBC,sBAAsB,EAAE;YACxBC,QAAQ;YACRpD;QACF;QACA,MAAM,IAAI,CAACxB,GAAG,CAAC6D,KAAK,CAACgB,SAAS,CAACnB,KAAKxD,EAAE,EAAE;YAAE,GAAGwD,IAAI;YAAE3D,aAAa;mBAAI2D,KAAK3D,WAAW;gBAAEG;aAAG;QAAC;QAC1F,OAAO,KAAK,CAACyD,OAAOO;IACtB;IAEA,MAAaY,UAAU5E,EAAU,EAA2B;QAC1D,MAAMqB,OAAO,MAAM,IAAI,CAACJ,MAAM,CAACjB;QAC/B,MAAMwD,OAAO,MAAM,IAAI,CAAC1D,GAAG,CAAC6D,KAAK,CAAC1C,MAAM,CAACI,KAAKmC,IAAI;QAClD,MAAMqB,QAAQ,AAACrB,KAAK3D,WAAW,CAAciF,SAAS,CAAC,CAAClE,IAAMA,MAAMZ;QACpEwD,KAAK3D,WAAW,CAACkF,MAAM,CAACF,OAAO;QAC/B,MAAM,IAAI,CAAC/E,GAAG,CAAC6D,KAAK,CAACgB,SAAS,CAACnB,KAAKxD,EAAE,EAAEwD;QACxC,OAAO,KAAK,CAACoB,UAAU5E;IACzB;IAEA,MAAc8D,cAAcC,UAA+B,EAAgC;QACzF,4CAA4C;QAC5C,OAAO1D,QAAQ2E,GAAG,CAChBC,OAAOC,IAAI,CAACnB,YAAYoB,GAAG,CAAC,OAAOC;YACjC,IAAIA,SAAS,WAAW,MAAM,IAAIC,MAAM;YACxC,OAAO;gBAAErF,IAAI,AAAC,CAAA,MAAM,IAAI,CAACF,GAAG,CAACwF,MAAM,CAACrE,MAAM,CAAC8C,UAAU,CAACqB,KAAK,CAAA,EAAGpF,EAAE;gBAAEuF,cAAc;YAAQ;QAC1F;IAEJ;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/flow-functions.mock.service.ts"],"sourcesContent":["import { randomUUID } from 'crypto';\n\nimport { Paginated } from '../data.interface';\nimport { FlowFunctionDto, FlowFunctionRevision } from '../flow-function.interface';\nimport { FlowFunctionService } from '../flow-function.service';\nimport { DataMockService } from './data.mock.service';\n\nexport class FlowFunctionsMockService extends DataMockService<FlowFunctionDto> implements FlowFunctionService {\n constructor(\n functions: FlowFunctionDto[],\n private revisions: FlowFunctionRevision[],\n ) {\n super();\n this.data = functions;\n }\n\n addOne(dto: FlowFunctionDto): Promise<FlowFunctionDto> {\n const id = randomUUID();\n this.revisions.push({ ...dto, id, originalId: dto.fqn });\n return super.addOne(dto);\n }\n\n deleteOne(fqn: string): Promise<any> {\n const index = this.data.findIndex((v) => v.fqn === fqn);\n this.data.splice(index, 1);\n this.revisions\n .filter((revision) => revision.originalId === fqn)\n .forEach((revision) => {\n const index1 = this.revisions.indexOf(revision);\n this.revisions.splice(index1, 1);\n });\n return Promise.resolve(undefined);\n }\n\n async updateOne(fqn: string, dto: FlowFunctionDto): Promise<FlowFunctionDto> {\n const index = this.data.findIndex((v) => v.fqn === fqn);\n this.data.splice(index, 1);\n const flowFunction = await this.addOne(dto);\n return Promise.resolve(flowFunction);\n }\n\n getOne(fqn: string, options?: any): Promise<FlowFunctionDto> {\n const t = this.data.find((v: any) => v.fqn === fqn);\n return Promise.resolve(t);\n }\n\n private async getOneById(id: string) {\n return this.data.find((v: any) => v.id === id);\n }\n\n public getRevisions(fqn: string): Promise<Paginated<FlowFunctionRevision[]>> {\n const revisions = this.revisions.filter((revision) => revision.originalId === fqn);\n const page: Paginated<FlowFunctionRevision[]> = {\n docs: revisions,\n limit: Number.MAX_SAFE_INTEGER,\n total: revisions.length,\n };\n return Promise.resolve(page);\n }\n\n public rollback(fqn: string, revisionId: string): Promise<FlowFunctionDto> {\n const assetType = this.revisions.find((revision) => revision.id === revisionId);\n return Promise.resolve(assetType);\n }\n\n public deleteRevision(fqn: string, revisionId: string): Promise<any> {\n const index = this.revisions.findIndex((revision) => revision.id === revisionId);\n this.revisions.splice(index, 1);\n return Promise.resolve(revisionId);\n }\n}\n"],"names":["FlowFunctionsMockService","DataMockService","constructor","functions","revisions","data","addOne","dto","id","randomUUID","push","originalId","fqn","deleteOne","index","findIndex","v","splice","filter","revision","forEach","index1","indexOf","Promise","resolve","undefined","updateOne","flowFunction","getOne","options","t","find","getOneById","getRevisions","page","docs","limit","Number","MAX_SAFE_INTEGER","total","length","rollback","revisionId","assetType","deleteRevision"],"mappings":";;;;+BAOaA;;;eAAAA;;;wBAPc;iCAKK;AAEzB,IAAA,AAAMA,2BAAN,MAAMA,iCAAiCC,gCAAe;IAC3DC,YACEC,SAA4B,EAC5B,AAAQC,SAAiC,CACzC;QACA,KAAK,SAFGA,YAAAA;QAGR,IAAI,CAACC,IAAI,GAAGF;IACd;IAEAG,OAAOC,GAAoB,EAA4B;QACrD,MAAMC,KAAKC,IAAAA,kBAAU;QACrB,IAAI,CAACL,SAAS,CAACM,IAAI,CAAC;YAAE,GAAGH,GAAG;YAAEC;YAAIG,YAAYJ,IAAIK,GAAG;QAAC;QACtD,OAAO,KAAK,CAACN,OAAOC;IACtB;IAEAM,UAAUD,GAAW,EAAgB;QACnC,MAAME,QAAQ,IAAI,CAACT,IAAI,CAACU,SAAS,CAAC,CAACC,IAAMA,EAAEJ,GAAG,KAAKA;QACnD,IAAI,CAACP,IAAI,CAACY,MAAM,CAACH,OAAO;QACxB,IAAI,CAACV,SAAS,CACXc,MAAM,CAAC,CAACC,WAAaA,SAASR,UAAU,KAAKC,KAC7CQ,OAAO,CAAC,CAACD;YACR,MAAME,SAAS,IAAI,CAACjB,SAAS,CAACkB,OAAO,CAACH;YACtC,IAAI,CAACf,SAAS,CAACa,MAAM,CAACI,QAAQ;QAChC;QACF,OAAOE,QAAQC,OAAO,CAACC;IACzB;IAEA,MAAMC,UAAUd,GAAW,EAAEL,GAAoB,EAA4B;QAC3E,MAAMO,QAAQ,IAAI,CAACT,IAAI,CAACU,SAAS,CAAC,CAACC,IAAMA,EAAEJ,GAAG,KAAKA;QACnD,IAAI,CAACP,IAAI,CAACY,MAAM,CAACH,OAAO;QACxB,MAAMa,eAAe,MAAM,IAAI,CAACrB,MAAM,CAACC;QACvC,OAAOgB,QAAQC,OAAO,CAACG;IACzB;IAEAC,OAAOhB,GAAW,EAAEiB,OAAa,EAA4B;QAC3D,MAAMC,IAAI,IAAI,CAACzB,IAAI,CAAC0B,IAAI,CAAC,CAACf,IAAWA,EAAEJ,GAAG,KAAKA;QAC/C,OAAOW,QAAQC,OAAO,CAACM;IACzB;IAEA,MAAcE,WAAWxB,EAAU,EAAE;QACnC,OAAO,IAAI,CAACH,IAAI,CAAC0B,IAAI,CAAC,CAACf,IAAWA,EAAER,EAAE,KAAKA;IAC7C;IAEOyB,aAAarB,GAAW,EAA8C;QAC3E,MAAMR,YAAY,IAAI,CAACA,SAAS,CAACc,MAAM,CAAC,CAACC,WAAaA,SAASR,UAAU,KAAKC;QAC9E,MAAMsB,OAA0C;YAC9CC,MAAM/B;YACNgC,OAAOC,OAAOC,gBAAgB;YAC9BC,OAAOnC,UAAUoC,MAAM;QACzB;QACA,OAAOjB,QAAQC,OAAO,CAACU;IACzB;IAEOO,SAAS7B,GAAW,EAAE8B,UAAkB,EAA4B;QACzE,MAAMC,YAAY,IAAI,CAACvC,SAAS,CAAC2B,IAAI,CAAC,CAACZ,WAAaA,SAASX,EAAE,KAAKkC;QACpE,OAAOnB,QAAQC,OAAO,CAACmB;IACzB;IAEOC,eAAehC,GAAW,EAAE8B,UAAkB,EAAgB;QACnE,MAAM5B,QAAQ,IAAI,CAACV,SAAS,CAACW,SAAS,CAAC,CAACI,WAAaA,SAASX,EAAE,KAAKkC;QACrE,IAAI,CAACtC,SAAS,CAACa,MAAM,CAACH,OAAO;QAC7B,OAAOS,QAAQC,OAAO,CAACkB;IACzB;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/flow-modules.mock.service.ts"],"sourcesContent":["import FormData from 'form-data';\n\nimport { FlowModule } from '../flow-module.interface';\nimport { FlowModuleService } from '../flow-module.service';\nimport { Artifact } from '../storage.interface';\nimport { Replace } from './api.mock';\nimport { DataMockService } from './data.mock.service';\n\ntype ExtendedFlowModule = Replace<FlowModule, 'artifacts', Array<Artifact & { path: string }>>;\n\nexport class FlowModulesMockService extends DataMockService<ExtendedFlowModule> implements FlowModuleService {\n constructor(modules: ExtendedFlowModule[]) {\n super();\n this.data = modules;\n }\n\n async deleteArtifact(name: string, version: string): Promise<FlowModule> {\n const module = await this.getOne(name);\n const index = module.artifacts.findIndex((art) => art.version === version);\n module.artifacts.splice(index, 1);\n return Promise.resolve(module);\n }\n\n publish(form: FormData): Promise<unknown> {\n return Promise.resolve(undefined);\n }\n\n getOne(name: string, options: any = {}): Promise<ExtendedFlowModule> {\n const t = this.data.find((v: any) => v.name === name);\n return Promise.resolve(t);\n }\n}\n"],"names":["FlowModulesMockService","DataMockService","constructor","modules","data","deleteArtifact","name","version","module","getOne","index","artifacts","findIndex","art","splice","Promise","resolve","publish","form","undefined","options","t","find","v"],"mappings":";;;;+BAUaA;;;eAAAA;;;iCAJmB;AAIzB,IAAA,AAAMA,yBAAN,MAAMA,+BAA+BC,gCAAe;IACzDC,YAAYC,OAA6B,CAAE;QACzC,KAAK;QACL,IAAI,CAACC,IAAI,GAAGD;IACd;IAEA,MAAME,eAAeC,IAAY,EAAEC,OAAe,EAAuB;QACvE,MAAMC,SAAS,MAAM,IAAI,CAACC,MAAM,CAACH;QACjC,MAAMI,QAAQF,OAAOG,SAAS,CAACC,SAAS,CAAC,CAACC,MAAQA,IAAIN,OAAO,KAAKA;QAClEC,OAAOG,SAAS,CAACG,MAAM,CAACJ,OAAO;QAC/B,OAAOK,QAAQC,OAAO,CAACR;IACzB;IAEAS,QAAQC,IAAc,EAAoB;QACxC,OAAOH,QAAQC,OAAO,CAACG;IACzB;IAEAV,OAAOH,IAAY,EAAEc,UAAe,CAAC,CAAC,EAA+B;QACnE,MAAMC,IAAI,IAAI,CAACjB,IAAI,CAACkB,IAAI,CAAC,CAACC,IAAWA,EAAEjB,IAAI,KAAKA;QAChD,OAAOS,QAAQC,OAAO,CAACK;IACzB;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/flow.mock.service.ts"],"sourcesContent":["import { randomUUID } from 'crypto';\n\nimport { mix } from 'ts-mixer';\n\nimport { Paginated, RequestParameter } from '../data.interface';\nimport { FlowDeployment } from '../flow-deployment.interface';\nimport { FlowDiagram, FlowDto, FlowRevision } from '../flow.interface';\nimport { FlowService } from '../flow.service';\nimport { APIBaseMock } from './api-base.mock';\nimport { DataMockService } from './data.mock.service';\nimport { TrashMockService } from './trash.mock.service';\n\ninterface BaseService extends DataMockService<FlowDto>, TrashMockService<FlowDto> {}\n@mix(DataMockService, TrashMockService)\nclass BaseService extends APIBaseMock<FlowDto> {}\n\nexport class FlowMockService extends BaseService implements FlowService {\n constructor(\n flows: FlowDto[],\n private diagrams: FlowDiagram[],\n private revisions: FlowRevision[],\n ) {\n super(flows);\n }\n\n deleteOne(id: string, force = false): Promise<FlowDto> {\n const flow = this.data.find((v) => v.id === id);\n if (!flow?.deletedAt && !force) {\n // put flow in paper bin by setting deletedAt prop\n flow.deletedAt = new Date().toISOString();\n return Promise.resolve(flow);\n }\n this.revisions\n .filter((revision) => revision.originalId === id)\n .forEach((revision) => {\n const index = this.revisions.indexOf(revision);\n this.revisions.splice(index, 1);\n });\n return super.deleteOne(id);\n }\n\n addOne(dto: FlowDto): Promise<FlowDto> {\n const id = randomUUID();\n this.revisions.push({ ...dto, id, originalId: dto.id });\n return super.addOne(dto);\n }\n\n async updateOne(id: string, dto: FlowDto): Promise<FlowDto> {\n await super.deleteOne(id);\n const flow = await this.addOne(dto);\n return Promise.resolve(flow);\n }\n\n public async isDeploymentOnLatestDiagramVersion(depl: FlowDeployment): Promise<boolean> {\n const flowId = typeof depl.flow === 'string' ? depl.flow : depl.flow.id;\n const diagramId = typeof depl.diagram === 'string' ? depl.diagram : depl.diagram.id;\n const revisions = await this.getDiagramRevisions(flowId);\n return revisions[revisions.length - 1].id === diagramId;\n }\n\n public getDiagramRevisions(id: string): Promise<FlowDiagram[]> {\n return Promise.resolve(this.diagrams.filter((v) => v.flow === id));\n }\n\n getFlowWithDiagram(diagramId: string): Promise<FlowDto> {\n return Promise.resolve(this.data.find((v1) => v1.id === this.diagrams.find((v) => v.id === diagramId).flow));\n }\n\n async getMany(params?: RequestParameter): Promise<Paginated<FlowDto[]>> {\n const flows = this.getItems(params, false);\n return {\n docs: flows.docs.map((v) => ({ ...v, diagram: this.diagrams.find((v1) => v1.id === v.diagram) })),\n total: 0,\n limit: 0,\n };\n }\n\n public getRevisions(id: string): Promise<Paginated<FlowRevision[]>> {\n const revisions = this.revisions.filter((revision) => revision.originalId === id);\n const page: Paginated<FlowRevision[]> = {\n docs: revisions,\n limit: Number.MAX_SAFE_INTEGER,\n total: revisions.length,\n };\n return Promise.resolve(page);\n }\n\n public rollback(id: string, revisionId: string): Promise<FlowDto> {\n const flow = this.revisions.find((revision) => revision.id === revisionId);\n return Promise.resolve(flow);\n }\n\n public deleteRevision(id: string, revisionId: string): Promise<any> {\n const index = this.revisions.findIndex((revision) => revision.id === revisionId);\n this.revisions.splice(index, 1);\n return Promise.resolve(revisionId);\n }\n}\n"],"names":["FlowMockService","BaseService","APIBaseMock","constructor","flows","diagrams","revisions","deleteOne","id","force","flow","data","find","v","deletedAt","Date","toISOString","Promise","resolve","filter","revision","originalId","forEach","index","indexOf","splice","addOne","dto","randomUUID","push","updateOne","isDeploymentOnLatestDiagramVersion","depl","flowId","diagramId","diagram","getDiagramRevisions","length","getFlowWithDiagram","v1","getMany","params","getItems","docs","map","total","limit","getRevisions","page","Number","MAX_SAFE_INTEGER","rollback","revisionId","deleteRevision","findIndex"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/index.ts"],"sourcesContent":["export * from './api.mock';\nexport * from './asset.mock.service';\nexport * from './assetTypes.mock.service';\nexport * from './content.mock.service';\nexport * from './data.mock.service';\nexport * from './secret.mock.service';\nexport * from './timeseries.mock.service';\nexport * from './task.mock.service';\nexport * from './events.mock.service';\nexport * from './vault.mock.service';\nexport * from './notification.mock.service';\n"],"names":[],"mappings":";;;;;uBAAc;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/label.mock.service.ts"],"sourcesContent":["import { Label } from '../label.interface';\nimport { LabelService } from '../label.service';\nimport { DataMockService } from './data.mock.service';\n\nexport class LabelMockService extends DataMockService<Label> implements LabelService {\n constructor(labels: Label[]) {\n super();\n this.data = labels;\n }\n\n count(): Promise<number> {\n return Promise.resolve(this.data.length);\n }\n\n getOneByName(name: string): Promise<Label> {\n return Promise.resolve(this.data.find((label) => label.name === name));\n }\n}\n"],"names":["LabelMockService","DataMockService","constructor","labels","data","count","Promise","resolve","length","getOneByName","name","find","label"],"mappings":";;;;+BAIaA;;;eAAAA;;;iCAFmB;AAEzB,IAAA,AAAMA,mBAAN,MAAMA,yBAAyBC,gCAAe;IACnDC,YAAYC,MAAe,CAAE;QAC3B,KAAK;QACL,IAAI,CAACC,IAAI,GAAGD;IACd;IAEAE,QAAyB;QACvB,OAAOC,QAAQC,OAAO,CAAC,IAAI,CAACH,IAAI,CAACI,MAAM;IACzC;IAEAC,aAAaC,IAAY,EAAkB;QACzC,OAAOJ,QAAQC,OAAO,CAAC,IAAI,CAACH,IAAI,CAACO,IAAI,CAAC,CAACC,QAAUA,MAAMF,IAAI,KAAKA;IAClE;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/notification.mock.service.ts"],"sourcesContent":["import { Notification } from '../notification.interface';\nimport { NotificationService } from '../notification.service';\nimport { DataMockService } from './data.mock.service';\n\nexport class NotificationMockService extends DataMockService<Notification> implements NotificationService {\n constructor(notifications: Notification[]) {\n super();\n this.data = notifications;\n }\n}\n"],"names":["NotificationMockService","DataMockService","constructor","notifications","data"],"mappings":";;;;+BAIaA;;;eAAAA;;;iCAFmB;AAEzB,IAAA,AAAMA,0BAAN,MAAMA,gCAAgCC,gCAAe;IAC1DC,YAAYC,aAA6B,CAAE;QACzC,KAAK;QACL,IAAI,CAACC,IAAI,GAAGD;IACd;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/secret.mock.service.ts"],"sourcesContent":["import { mix } from 'ts-mixer';\n\nimport { Paginated, RequestParameter } from '../data.interface';\nimport { Secret } from '../secret.interface';\nimport { SecretService } from '../secret.service';\nimport { APIBaseMock } from './api-base.mock';\nimport { DataMockService } from './data.mock.service';\nimport { TrashMockService } from './trash.mock.service';\n\ninterface BaseService extends DataMockService<Secret>, TrashMockService<Secret> {}\n@mix(DataMockService, TrashMockService)\nclass BaseService extends APIBaseMock<Secret> {}\n\nexport class SecretMockService extends BaseService implements SecretService {\n constructor(secrets: Secret[]) {\n super(secrets);\n }\n\n deleteOne(contentId: string, force = false): Promise<Secret> {\n const content = this.data.find((v) => v.id === contentId);\n if (!content?.deletedAt && !force) {\n // put content in paper bin by setting deletedAt prop\n content.deletedAt = new Date().toISOString();\n return Promise.resolve(content);\n }\n return super.deleteOne(contentId);\n }\n\n getMany(params?: RequestParameter): Promise<Paginated<Secret[]>> {\n const page = this.getItems(params, false);\n return Promise.resolve(page);\n }\n}\n"],"names":["SecretMockService","BaseService","APIBaseMock","constructor","secrets","deleteOne","contentId","force","content","data","find","v","id","deletedAt","Date","toISOString","Promise","resolve","getMany","params","page","getItems"],"mappings":";;;;+BAaaA;;;eAAAA;;;;yBAbO;6BAKQ;iCACI;kCACC;AAGjC,IAAA,AACMC,cADN,MACMA,oBAAoBC,wBAAW;AAAU;;;;AAExC,IAAA,AAAMF,oBAAN,MAAMA,0BAA0BC;IACrCE,YAAYC,OAAiB,CAAE;QAC7B,KAAK,CAACA;IACR;IAEAC,UAAUC,SAAiB,EAAEC,QAAQ,KAAK,EAAmB;QAC3D,MAAMC,UAAU,IAAI,CAACC,IAAI,CAACC,IAAI,CAAC,CAACC,IAAMA,EAAEC,EAAE,KAAKN;QAC/C,IAAI,CAACE,SAASK,aAAa,CAACN,OAAO;YACjC,qDAAqD;YACrDC,QAAQK,SAAS,GAAG,IAAIC,OAAOC,WAAW;YAC1C,OAAOC,QAAQC,OAAO,CAACT;QACzB;QACA,OAAO,KAAK,CAACH,UAAUC;IACzB;IAEAY,QAAQC,MAAyB,EAAgC;QAC/D,MAAMC,OAAO,IAAI,CAACC,QAAQ,CAACF,QAAQ;QACnC,OAAOH,QAAQC,OAAO,CAACG;IACzB;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/task.mock.service.ts"],"sourcesContent":["import { mix } from 'ts-mixer';\n\nimport { Paginated, RequestParameter } from '../data.interface';\nimport { Task } from '../task.interface';\nimport { TaskService } from '../task.service';\nimport { APIBaseMock } from './api-base.mock';\nimport { DataMockService } from './data.mock.service';\nimport { TrashMockService } from './trash.mock.service';\n\ninterface BaseService extends DataMockService<Task>, TrashMockService<Task> {}\n@mix(DataMockService, TrashMockService)\nclass BaseService extends APIBaseMock<Task> {}\n\nexport class TaskMockService extends BaseService implements TaskService {\n constructor(tasks: Task[]) {\n super(tasks);\n }\n\n async createTaskAttachedToAsset(dto: any): Promise<Task> {\n this.data.push(dto as Task);\n return Promise.resolve(dto as Task);\n }\n\n deleteOne(taskId: string, force = false): Promise<Task> {\n const task = this.data.find((v) => v.id === taskId);\n if (!task?.deletedAt && !force) {\n // put content in paper bin by setting deletedAt prop\n task.deletedAt = new Date().toISOString();\n return Promise.resolve(task);\n }\n return super.deleteOne(taskId);\n }\n\n getMany(params?: RequestParameter): Promise<Paginated<Task[]>> {\n const page = this.getItems(params, false);\n return Promise.resolve(page);\n }\n}\n"],"names":["TaskMockService","BaseService","APIBaseMock","constructor","tasks","createTaskAttachedToAsset","dto","data","push","Promise","resolve","deleteOne","taskId","force","task","find","v","id","deletedAt","Date","toISOString","getMany","params","page","getItems"],"mappings":";;;;+BAaaA;;;eAAAA;;;;yBAbO;6BAKQ;iCACI;kCACC;AAGjC,IAAA,AACMC,cADN,MACMA,oBAAoBC,wBAAW;AAAQ;;;;AAEtC,IAAA,AAAMF,kBAAN,MAAMA,wBAAwBC;IACnCE,YAAYC,KAAa,CAAE;QACzB,KAAK,CAACA;IACR;IAEA,MAAMC,0BAA0BC,GAAQ,EAAiB;QACvD,IAAI,CAACC,IAAI,CAACC,IAAI,CAACF;QACf,OAAOG,QAAQC,OAAO,CAACJ;IACzB;IAEAK,UAAUC,MAAc,EAAEC,QAAQ,KAAK,EAAiB;QACtD,MAAMC,OAAO,IAAI,CAACP,IAAI,CAACQ,IAAI,CAAC,CAACC,IAAMA,EAAEC,EAAE,KAAKL;QAC5C,IAAI,CAACE,MAAMI,aAAa,CAACL,OAAO;YAC9B,qDAAqD;YACrDC,KAAKI,SAAS,GAAG,IAAIC,OAAOC,WAAW;YACvC,OAAOX,QAAQC,OAAO,CAACI;QACzB;QACA,OAAO,KAAK,CAACH,UAAUC;IACzB;IAEAS,QAAQC,MAAyB,EAA8B;QAC7D,MAAMC,OAAO,IAAI,CAACC,QAAQ,CAACF,QAAQ;QACnC,OAAOb,QAAQC,OAAO,CAACa;IACzB;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/timeseries.mock.service.ts"],"sourcesContent":["import { mix } from 'ts-mixer';\n\nimport { Paginated, RequestParameter } from '../data.interface';\nimport { TimeSeries, TimeSeriesValue, TS_GROUPS } from '../timeseries.interface';\nimport { TimeSeriesService } from '../timeseries.service';\nimport { APIBaseMock } from './api-base.mock';\nimport { DataMockService } from './data.mock.service';\nimport { TrashMockService } from './trash.mock.service';\n\ninterface BaseService\n extends DataMockService<TimeSeries & { data: TimeSeriesValue[] }>,\n TrashMockService<TimeSeries & { data: TimeSeriesValue[] }> {}\n@mix(DataMockService, TrashMockService)\nclass BaseService extends APIBaseMock<TimeSeries & { data: TimeSeriesValue[] }> {}\n\nexport class TimeseriesMockService extends BaseService implements TimeSeriesService {\n constructor(timeseries: TimeSeries[], timeseriesValues: TimeSeriesValue[][]) {\n const data = timeseries.map((value, index) => ({ ...value, data: timeseriesValues[index] }));\n super(data);\n }\n\n deleteOne(tsmId: string, force = false): Promise<TimeSeries> {\n const tsm = this.data.find((v) => v.id === tsmId);\n if (!tsm?.deletedAt && !force) {\n // put tsm in paper bin by setting deletedAt prop\n tsm.deletedAt = new Date().toISOString();\n return Promise.resolve(tsm);\n }\n return super.deleteOne(tsmId);\n }\n\n getMany(params?: RequestParameter): Promise<Paginated<(TimeSeries & { data: TimeSeriesValue[] })[]>> {\n const page = this.getItems(params, false);\n return Promise.resolve(page);\n }\n\n addAssetTimeSeriesValues(\n assetId: string,\n name: string,\n readPermissions: string[],\n readWritePermissions: string[],\n values: { [timestamp: string]: any },\n ): Promise<TimeSeries> {\n const ts = this.data.find((v) => v.assetRef === assetId);\n const data: TimeSeriesValue[] = Object.entries(values).map(([timestamp, value]) => {\n if (value !== null && typeof value === 'object') {\n return { timestamp, ...value };\n } else {\n return { timestamp, value };\n }\n });\n if (!ts) {\n const dto: TimeSeries & { data: TimeSeriesValue[] } = {\n autoDelBucket: undefined,\n autoDelData: undefined,\n description: '',\n maxBucketTimeRange: 0,\n minDate: undefined,\n maxDate: undefined,\n name,\n readPermissions,\n readWritePermissions,\n assetRef: assetId,\n data,\n };\n return this.addOne(dto);\n }\n ts.data = ts.data ? [...ts.data, ...data] : data;\n return Promise.resolve(ts);\n }\n\n public addManyAssetTimeSeriesValues(\n assetId: string,\n readPermissions: string[],\n readWritePermissions: string[],\n timeSeries: { [timeSeriesName: string]: { [timestamp: string]: any } },\n ): Promise<PromiseSettledResult<TimeSeries>[]> {\n const ts = this.data.find((v) => v.assetRef === assetId);\n const psr: PromiseSettledResult<TimeSeries>[] = [];\n for (const [tsName, values] of Object.entries(timeSeries)) {\n const data: TimeSeriesValue[] = Object.entries(values).map(([timestamp, value]) => {\n if (value !== null && typeof value === 'object') {\n return { timestamp, ...value };\n } else {\n return { timestamp, value };\n }\n });\n if (!ts) {\n const dto: TimeSeries & { data: TimeSeriesValue[] } = {\n autoDelBucket: undefined,\n autoDelData: undefined,\n description: '',\n maxBucketTimeRange: 0,\n minDate: undefined,\n maxDate: undefined,\n name: tsName,\n readPermissions,\n readWritePermissions,\n assetRef: assetId,\n data,\n };\n this.addOne(dto).then((v) => psr.push({ status: 'fulfilled', value: v }));\n } else {\n ts.data = ts.data ? [...ts.data, ...data] : data;\n psr.push({ status: 'fulfilled', value: ts });\n }\n }\n return Promise.resolve(psr);\n }\n\n async addValue(id: string, value: { [timestamp: string]: any }): Promise<void> {\n const ts = await this.getOne(id, {});\n for (const [timestamp, v] of Object.entries(value)) {\n if (v !== null && typeof v === 'object') {\n ts.data.push({ timestamp, ...v });\n } else {\n ts.data.push({ timestamp: parseInt(timestamp, 10), value: v });\n }\n }\n }\n\n getManyByAsset(assetId: string, names?: string[]): Promise<Paginated<TimeSeries[]>> {\n // get timeseries where assetRef is assetId\n const page: Paginated<TimeSeries[]> = { docs: [], limit: 10, total: 0 };\n for (const datum of this.data) {\n if (datum.assetRef === assetId) {\n page.docs.push(datum);\n }\n if (page.docs.length === page.limit) {\n break;\n }\n }\n page.total = page.docs.length;\n return Promise.resolve(page);\n }\n\n async getMostRecentValue(id: string, before: Date): Promise<TimeSeriesValue> {\n const ts = await this.getOne(id, {});\n for (const datum of ts.data) {\n if (datum.timestamp < before.valueOf()) {\n return datum;\n }\n }\n return null;\n }\n\n async getValues(id: string, from: number, limit?: number, group?: TS_GROUPS): Promise<TimeSeriesValue[]> {\n let timeSeriesValues: TimeSeriesValue[] = await this.getValuesOfPeriod(id, from, new Date().valueOf(), group);\n if (limit) {\n timeSeriesValues = timeSeriesValues.slice(0, limit);\n }\n return timeSeriesValues;\n }\n\n async getValuesOfPeriod(id: string, from: number, to: number, group?: TS_GROUPS): Promise<TimeSeriesValue[]> {\n const ts = await this.getOne(id, {});\n return ts.data.filter((v) => v.timestamp < to && v.timestamp > from);\n }\n}\n"],"names":["TimeseriesMockService","BaseService","APIBaseMock","constructor","timeseries","timeseriesValues","data","map","value","index","deleteOne","tsmId","force","tsm","find","v","id","deletedAt","Date","toISOString","Promise","resolve","getMany","params","page","getItems","addAssetTimeSeriesValues","assetId","name","readPermissions","readWritePermissions","values","ts","assetRef","Object","entries","timestamp","dto","autoDelBucket","undefined","autoDelData","description","maxBucketTimeRange","minDate","maxDate","addOne","addManyAssetTimeSeriesValues","timeSeries","psr","tsName","then","push","status","addValue","getOne","parseInt","getManyByAsset","names","docs","limit","total","datum","length","getMostRecentValue","before","valueOf","getValues","from","group","timeSeriesValues","getValuesOfPeriod","slice","to","filter"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/trash.mock.service.ts"],"sourcesContent":["import { Paginated, RequestParameter } from '../data.interface';\nimport { TrashService } from '../trash.service';\nimport { APIBaseMock } from './api-base.mock';\n\nexport class TrashMockService<T extends { id?: string }> extends TrashService<T> implements APIBaseMock<T> {\n data: T[] = [];\n protected deleteOnecbf;\n\n constructor() {\n super(null, null);\n }\n\n public trashRestoreAll(): Promise<T[]> {\n const deleted = this.data.filter((v) => v['deletedAt']);\n for (const asset of deleted) {\n delete asset['deletedAt'];\n }\n return Promise.resolve(deleted);\n }\n\n public trashRestoreOne(id: string): Promise<T> {\n const deleted = this.data.find((v) => v['id'] === id);\n delete deleted['deletedAt'];\n return Promise.resolve(deleted);\n }\n\n public async emptyTrash(offset: number): Promise<{ acknowledged: boolean; deletedCount: number }> {\n const dateOffsSeconds = Math.round(new Date().getTime() / 1000) - offset;\n const date = new Date(dateOffsSeconds * 1000);\n const trashIds = this.data.filter((v) => new Date(v['deletedAt']) < date).map((v) => v.id);\n this.data = this.data.filter((item) => !trashIds.includes(item.id));\n return Promise.resolve({ acknowledged: true, deletedCount: trashIds.length });\n }\n\n public getTrash(params?: RequestParameter): Promise<Paginated<T[]>> {\n const page = this.getItems(params, true);\n return Promise.resolve(page);\n }\n\n protected getItems(params: RequestParameter, deleted = false) {\n const data = this.data.filter((item) => !!item['deletedAt'] === deleted);\n const page: Paginated<T[]> = {\n docs: data,\n limit: params && params.limit ? params.limit : Number.MAX_SAFE_INTEGER,\n total: data.length,\n };\n return page;\n }\n}\n"],"names":["TrashMockService","TrashService","constructor","data","trashRestoreAll","deleted","filter","v","asset","Promise","resolve","trashRestoreOne","id","find","emptyTrash","offset","dateOffsSeconds","Math","round","Date","getTime","date","trashIds","map","item","includes","acknowledged","deletedCount","length","getTrash","params","page","getItems","docs","limit","Number","MAX_SAFE_INTEGER","total"],"mappings":";;;;+BAIaA;;;eAAAA;;;8BAHgB;AAGtB,IAAA,AAAMA,mBAAN,MAAMA,yBAAoDC,0BAAY;IAI3EC,aAAc;QACZ,KAAK,CAAC,MAAM,YAJdC,OAAY,EAAE;IAKd;IAEOC,kBAAgC;QACrC,MAAMC,UAAU,IAAI,CAACF,IAAI,CAACG,MAAM,CAAC,CAACC,IAAMA,CAAC,CAAC,YAAY;QACtD,KAAK,MAAMC,SAASH,QAAS;YAC3B,OAAOG,KAAK,CAAC,YAAY;QAC3B;QACA,OAAOC,QAAQC,OAAO,CAACL;IACzB;IAEOM,gBAAgBC,EAAU,EAAc;QAC7C,MAAMP,UAAU,IAAI,CAACF,IAAI,CAACU,IAAI,CAAC,CAACN,IAAMA,CAAC,CAAC,KAAK,KAAKK;QAClD,OAAOP,OAAO,CAAC,YAAY;QAC3B,OAAOI,QAAQC,OAAO,CAACL;IACzB;IAEA,MAAaS,WAAWC,MAAc,EAA4D;QAChG,MAAMC,kBAAkBC,KAAKC,KAAK,CAAC,IAAIC,OAAOC,OAAO,KAAK,QAAQL;QAClE,MAAMM,OAAO,IAAIF,KAAKH,kBAAkB;QACxC,MAAMM,WAAW,IAAI,CAACnB,IAAI,CAACG,MAAM,CAAC,CAACC,IAAM,IAAIY,KAAKZ,CAAC,CAAC,YAAY,IAAIc,MAAME,GAAG,CAAC,CAAChB,IAAMA,EAAEK,EAAE;QACzF,IAAI,CAACT,IAAI,GAAG,IAAI,CAACA,IAAI,CAACG,MAAM,CAAC,CAACkB,OAAS,CAACF,SAASG,QAAQ,CAACD,KAAKZ,EAAE;QACjE,OAAOH,QAAQC,OAAO,CAAC;YAAEgB,cAAc;YAAMC,cAAcL,SAASM,MAAM;QAAC;IAC7E;IAEOC,SAASC,MAAyB,EAA2B;QAClE,MAAMC,OAAO,IAAI,CAACC,QAAQ,CAACF,QAAQ;QACnC,OAAOrB,QAAQC,OAAO,CAACqB;IACzB;IAEUC,SAASF,MAAwB,EAAEzB,UAAU,KAAK,EAAE;QAC5D,MAAMF,OAAO,IAAI,CAACA,IAAI,CAACG,MAAM,CAAC,CAACkB,OAAS,CAAC,CAACA,IAAI,CAAC,YAAY,KAAKnB;QAChE,MAAM0B,OAAuB;YAC3BE,MAAM9B;YACN+B,OAAOJ,UAAUA,OAAOI,KAAK,GAAGJ,OAAOI,KAAK,GAAGC,OAAOC,gBAAgB;YACtEC,OAAOlC,KAAKyB,MAAM;QACpB;QACA,OAAOG;IACT;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/user.mock.service.ts"],"sourcesContent":["import { UserService } from '../user.service';\nimport { UserInit } from './api.mock';\n\nexport class UserMockService extends UserService {\n constructor(private users: UserInit) {\n super(null);\n }\n\n getCurrentUserRoles(): Promise<string[]> {\n return Promise.resolve(this.users.roles);\n }\n}\n"],"names":["UserMockService","UserService","constructor","users","getCurrentUserRoles","Promise","resolve","roles"],"mappings":";;;;+BAGaA;;;eAAAA;;;6BAHe;AAGrB,IAAA,AAAMA,kBAAN,MAAMA,wBAAwBC,wBAAW;IAC9CC,YAAY,AAAQC,KAAe,CAAE;QACnC,KAAK,CAAC,YADYA,QAAAA;IAEpB;IAEAC,sBAAyC;QACvC,OAAOC,QAAQC,OAAO,CAAC,IAAI,CAACH,KAAK,CAACI,KAAK;IACzC;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../lib/hpc-api/src/lib/mock/vault.mock.service.ts"],"sourcesContent":["import { VaultSecret } from '../vault.interface';\nimport { VaultService } from '../vault.service';\nimport { DataMockService } from './data.mock.service';\n\nexport class VaultMockService extends DataMockService<VaultSecret> implements VaultService {\n constructor(secrets: VaultSecret[]) {\n super();\n this.data = secrets;\n }\n\n public getSecret(name: string, version?: number): Promise<string> {\n const vaultSecret = this.data.find((v) => v.name === name);\n\n if (version && vaultSecret.version !== version) {\n return Promise.resolve('');\n }\n\n return Promise.resolve(vaultSecret.secret);\n }\n}\n"],"names":["VaultMockService","DataMockService","constructor","secrets","data","getSecret","name","version","vaultSecret","find","v","Promise","resolve","secret"],"mappings":";;;;+BAIaA;;;eAAAA;;;iCAFmB;AAEzB,IAAA,AAAMA,mBAAN,MAAMA,yBAAyBC,gCAAe;IACnDC,YAAYC,OAAsB,CAAE;QAClC,KAAK;QACL,IAAI,CAACC,IAAI,GAAGD;IACd;IAEOE,UAAUC,IAAY,EAAEC,OAAgB,EAAmB;QAChE,MAAMC,cAAc,IAAI,CAACJ,IAAI,CAACK,IAAI,CAAC,CAACC,IAAMA,EAAEJ,IAAI,KAAKA;QAErD,IAAIC,WAAWC,YAAYD,OAAO,KAAKA,SAAS;YAC9C,OAAOI,QAAQC,OAAO,CAAC;QACzB;QAEA,OAAOD,QAAQC,OAAO,CAACJ,YAAYK,MAAM;IAC3C;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/notification.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/notification.service.ts"],"sourcesContent":["import { DataService } from './data.service';\nimport { HttpClient } from './http.service';\nimport { Notification } from './notification.interface';\n\nexport class NotificationService extends DataService<Notification> {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/notifications');\n }\n}\n"],"names":["NotificationService","DataService","constructor","httpClient"],"mappings":";;;;+BAIaA;;;eAAAA;;;6BAJe;AAIrB,IAAA,AAAMA,sBAAN,MAAMA,4BAA4BC,wBAAW;IAClDC,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY;IACpB;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/proxy.service.ts"],"sourcesContent":["import { AxiosRequestConfig } from 'axios';\n\nimport { HttpClient, TokenOption } from './http.service';\n\nexport class ProxyService {\n constructor(private readonly httpClient: HttpClient) {}\n\n public delete = <T>(proxyId: string, path: string, config?: TokenOption & AxiosRequestConfig) =>\n this.httpClient.delete<T>(this.url(proxyId, path), config);\n\n public get = <T>(proxyId: string, path: string, config?: TokenOption & AxiosRequestConfig) =>\n this.httpClient.get<T>(this.url(proxyId, path), config);\n\n public post = <T>(proxyId: string, path: string, data: any, config?: TokenOption & AxiosRequestConfig) =>\n this.httpClient.post<T>(this.url(proxyId, path), data, config);\n\n public put = <T>(proxyId: string, path: string, data: any, config?: TokenOption & AxiosRequestConfig) =>\n this.httpClient.put<T>(this.url(proxyId, path), data, config);\n\n private url(proxyId: string, path = '/'): string {\n path = path.startsWith('/') ? path : `/${path}`;\n return `/proxy/${proxyId}${path}`;\n }\n}\n"],"names":["ProxyService","constructor","httpClient","delete","proxyId","path","config","url","get","post","data","put","startsWith"],"mappings":";;;;+BAIaA;;;eAAAA;;;AAAN,IAAA,AAAMA,eAAN,MAAMA;IACXC,YAAY,AAAiBC,UAAsB,CAAE;aAAxBA,aAAAA;aAEtBC,SAAS,CAAIC,SAAiBC,MAAcC,SACjD,IAAI,CAACJ,UAAU,CAACC,MAAM,CAAI,IAAI,CAACI,GAAG,CAACH,SAASC,OAAOC;aAE9CE,MAAM,CAAIJ,SAAiBC,MAAcC,SAC9C,IAAI,CAACJ,UAAU,CAACM,GAAG,CAAI,IAAI,CAACD,GAAG,CAACH,SAASC,OAAOC;aAE3CG,OAAO,CAAIL,SAAiBC,MAAcK,MAAWJ,SAC1D,IAAI,CAACJ,UAAU,CAACO,IAAI,CAAI,IAAI,CAACF,GAAG,CAACH,SAASC,OAAOK,MAAMJ;aAElDK,MAAM,CAAIP,SAAiBC,MAAcK,MAAWJ,SACzD,IAAI,CAACJ,UAAU,CAACS,GAAG,CAAI,IAAI,CAACJ,GAAG,CAACH,SAASC,OAAOK,MAAMJ;IAZF;IAc9CC,IAAIH,OAAe,EAAEC,OAAO,GAAG,EAAU;QAC/CA,OAAOA,KAAKO,UAAU,CAAC,OAAOP,OAAO,CAAC,CAAC,EAAEA,MAAM;QAC/C,OAAO,CAAC,OAAO,EAAED,UAAUC,MAAM;IACnC;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/resource.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/schema.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/secret.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/secret.service.ts"],"sourcesContent":["import { mix } from 'ts-mixer';\n\nimport { APIBase } from './api-base';\nimport { DataService } from './data.service';\nimport { HttpClient } from './http.service';\nimport { Secret } from './secret.interface';\nimport { TrashService } from './trash.service';\n\ninterface BaseService extends DataService<Secret>, TrashService<Secret> {}\n@mix(DataService, TrashService)\nclass BaseService extends APIBase {}\n\nexport class SecretService extends BaseService {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/secrets');\n }\n}\n"],"names":["SecretService","BaseService","APIBase","constructor","httpClient"],"mappings":";;;;+BAYaA;;;eAAAA;;;;yBAZO;yBAEI;6BACI;8BAGC;AAG7B,IAAA,AACMC,cADN,MACMA,oBAAoBC,gBAAO;AAAE;;;;AAE5B,IAAA,AAAMF,gBAAN,MAAMA,sBAAsBC;IACjCE,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY;IACpB;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/storage.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/task.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/task.service.ts"],"sourcesContent":["import { mix } from 'ts-mixer';\n\nimport { APIBase } from './api-base';\nimport { DataService } from './data.service';\nimport { HttpClient, TokenOption } from './http.service';\nimport { Task } from './task.interface';\nimport { TrashService } from './trash.service';\n\ninterface BaseService extends DataService<Task>, TrashService<Task> {}\n@mix(DataService, TrashService)\nclass BaseService extends APIBase {}\n\nexport class TaskService extends BaseService {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/tasks');\n }\n\n // we may not need this method (already have the addOne method from DataService)\n createTaskAttachedToAsset(dto: any, options: TokenOption = {}) {\n return this.httpClient.post<Task>(this.basePath, dto, options);\n }\n}\n"],"names":["TaskService","BaseService","APIBase","constructor","httpClient","createTaskAttachedToAsset","dto","options","post","basePath"],"mappings":";;;;+BAYaA;;;eAAAA;;;;yBAZO;yBAEI;6BACI;8BAGC;AAG7B,IAAA,AACMC,cADN,MACMA,oBAAoBC,gBAAO;AAAE;;;;AAE5B,IAAA,AAAMF,cAAN,MAAMA,oBAAoBC;IAC/BE,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY;IACpB;IAEA,gFAAgF;IAChFC,0BAA0BC,GAAQ,EAAEC,UAAuB,CAAC,CAAC,EAAE;QAC7D,OAAO,IAAI,CAACH,UAAU,CAACI,IAAI,CAAO,IAAI,CAACC,QAAQ,EAAEH,KAAKC;IACxD;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/timeseries.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/timeseries.service.ts"],"sourcesContent":["import { mix } from 'ts-mixer';\n\nimport { APIBase } from './api-base';\nimport { Paginated } from './data.interface';\nimport { DataService } from './data.service';\nimport { HttpClient, TokenOption } from './http.service';\nimport { TimeSeries, TimeSeriesValue, TS_GROUPS } from './timeseries.interface';\nimport { TrashService } from './trash.service';\n\ninterface BaseService extends DataService<TimeSeries>, TrashService<TimeSeries> {}\n@mix(DataService, TrashService)\nclass BaseService extends APIBase {}\n\nexport class TimeSeriesService extends BaseService {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/tsm');\n }\n\n public addValue(id: string, value: { [timestamp: string]: any }, options: TokenOption = {}) {\n return this.httpClient.post<void>(`${this.basePath}/${id}`, value, options);\n }\n\n /**\n * Adds time series values to an asset by the name of the time series.\n * If the time series does not exist, it is created.\n * @param assetId - The ID of the asset to which the time series values are added.\n * @param name - The name of the time series.\n * @param readPermissions - an array of permissions that allow the user to read the time series.\n * @param readWritePermissions - an array of permissions that allow the user to read and write the time series.\n * @param values - The time series values are specified as an object with the following structure:\n * {\n * [timestamp: string]: any, // The timestamp and value pairs\n * ...\n * }\n * @param options\n * @returns a promise that resolves to the time series that was added.\n */\n public addAssetTimeSeriesValues(\n assetId: string,\n name: string,\n readPermissions: string[],\n readWritePermissions: string[],\n values: { [timestamp: string]: any },\n options: TokenOption = {},\n ) {\n const dto = {\n name,\n readPermissions,\n readWritePermissions,\n values,\n };\n return this.httpClient.post<TimeSeries>(`${this.basePath}/assets/${assetId}`, dto, options);\n }\n\n /**\n * Adds multiple time series values to an asset by the name of the time series.\n * If the time series does not exist, it is created.\n * If the operation is successful, the value property contains the time series that was added.\n * If the operation fails, the reason property contains the error that caused the operation to fail.\n * @param assetId - The ID of the asset to which the time series values are added.\n * @param readPermissions - an array of permissions that allow the user to read the time series.\n * @param readWritePermissions - an array of permissions that allow the user to read and write the time series.\n * @param timeSeries - The time series values are specified as an object with the following structure:\n * {\n * [timeSeriesName: string]: { // The name of the time series\n * [timestamp: string]: any, // The timestamp and value pairs\n * ...\n * },\n * ...\n * }\n * @param options\n * @returns a promise that resolves to an array of objects containing the results of the operation.\n * Each object has the following structure:\n * {\n * status: \"fulfilled\" | \"rejected\",\n * value?: TimeSeries,\n * reason?: Error,\n * }\n */\n public addManyAssetTimeSeriesValues(\n assetId: string,\n readPermissions: string[],\n readWritePermissions: string[],\n timeSeries: { [timeSeriesName: string]: { [timestamp: string]: any } },\n options: TokenOption = {},\n ) {\n const dtos = Object.entries(timeSeries).map(([name, values]) => ({\n name,\n readPermissions,\n readWritePermissions,\n values,\n }));\n\n return this.httpClient.post<PromiseSettledResult<TimeSeries>[]>(`${this.basePath}/assets/${assetId}/bulk`, dtos, options);\n }\n\n public getMostRecentValue(id: string, before?: Date, options: TokenOption = {}): Promise<TimeSeriesValue> {\n const params = before ? { before: before.toISOString() } : {};\n return this.httpClient.get<TimeSeriesValue>(`${this.basePath}/${id}/recent`, { params, ...options });\n }\n\n public getValues(id: string, from: number, limit?: number, group?: TS_GROUPS, options: TokenOption = {}) {\n const params = { limit, group };\n return this.httpClient.get<TimeSeriesValue[]>(`${this.basePath}/${id}/${from}`, { params, ...options });\n }\n\n public getValuesOfPeriod(id: string, from: number, to: number, group?: TS_GROUPS, options: TokenOption = {}) {\n const params = { group };\n return this.httpClient.get<TimeSeriesValue[]>(`${this.basePath}/${id}/${from}/${to}`, { params, ...options });\n }\n\n public getManyByAsset(assetId: string, names?: string[], options: TokenOption = {}): Promise<Paginated<TimeSeries[]>> {\n const params = Array.isArray(names) ? { names: names.join() } : {};\n return this.httpClient.get<Paginated<TimeSeries[]>>(`${this.basePath}/asset/${assetId}`, { params, ...options });\n }\n}\n"],"names":["TimeSeriesService","BaseService","APIBase","constructor","httpClient","addValue","id","value","options","post","basePath","addAssetTimeSeriesValues","assetId","name","readPermissions","readWritePermissions","values","dto","addManyAssetTimeSeriesValues","timeSeries","dtos","Object","entries","map","getMostRecentValue","before","params","toISOString","get","getValues","from","limit","group","getValuesOfPeriod","to","getManyByAsset","names","Array","isArray","join"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/token-set.ts"],"sourcesContent":["const TOKEN_EXPIRATION_BUFFER = 20; // 20 seconds\n\nexport class TokenSet {\n private readonly _accessToken: string;\n private readonly _expiresAt: number;\n private readonly _provided: boolean;\n\n constructor(access_token: string, expires_in: number, provided = false) {\n this._accessToken = access_token;\n this._expiresAt = Math.floor(Date.now() / 1000) + Number(expires_in);\n this._provided = provided;\n }\n\n get accessToken(): string {\n return this._accessToken;\n }\n\n get expiresAt(): number {\n return this._expiresAt;\n }\n\n get expiresIn(): number {\n return Math.max(this.expiresAt - Math.ceil(Date.now() / 1000), 0);\n }\n\n get provided(): boolean {\n return this._provided;\n }\n\n public isExpired(): boolean {\n return this.expiresIn <= (this.provided ? 0 : TOKEN_EXPIRATION_BUFFER); // Use the entire time of provided token to avoid throwing 'expired' error early\n }\n}\n"],"names":["TokenSet","TOKEN_EXPIRATION_BUFFER","constructor","access_token","expires_in","provided","_accessToken","_expiresAt","Math","floor","Date","now","Number","_provided","accessToken","expiresAt","expiresIn","max","ceil","isExpired"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAFb,MAAMC,0BAA0B,IAAI,aAAa;AAE1C,IAAA,AAAMD,WAAN,MAAMA;IAKXE,YAAYC,YAAoB,EAAEC,UAAkB,EAAEC,WAAW,KAAK,CAAE;QACtE,IAAI,CAACC,YAAY,GAAGH;QACpB,IAAI,CAACI,UAAU,GAAGC,KAAKC,KAAK,CAACC,KAAKC,GAAG,KAAK,QAAQC,OAAOR;QACzD,IAAI,CAACS,SAAS,GAAGR;IACnB;IAEA,IAAIS,cAAsB;QACxB,OAAO,IAAI,CAACR,YAAY;IAC1B;IAEA,IAAIS,YAAoB;QACtB,OAAO,IAAI,CAACR,UAAU;IACxB;IAEA,IAAIS,YAAoB;QACtB,OAAOR,KAAKS,GAAG,CAAC,IAAI,CAACF,SAAS,GAAGP,KAAKU,IAAI,CAACR,KAAKC,GAAG,KAAK,OAAO;IACjE;IAEA,IAAIN,WAAoB;QACtB,OAAO,IAAI,CAACQ,SAAS;IACvB;IAEOM,YAAqB;QAC1B,OAAO,IAAI,CAACH,SAAS,IAAK,CAAA,IAAI,CAACX,QAAQ,GAAG,IAAIJ,uBAAsB,GAAI,gFAAgF;IAC1J;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/trash.service.ts"],"sourcesContent":["import { APIBase } from './api-base';\nimport { Paginated, RequestParameter } from './data.interface';\n\nexport class TrashService<T> extends APIBase {\n public trashRestoreAll(): Promise<T[]> {\n return this.httpClient.put<T[]>(`${this.basePath}/trash/restore`, {});\n }\n\n public trashRestoreOne(id: string): Promise<T> {\n return this.httpClient.put<T>(`${this.basePath}/trash/restore/${id}`, {});\n }\n\n public emptyTrash(offset: number): Promise<{ acknowledged: boolean; deletedCount: number }> {\n return this.httpClient.delete(`${this.basePath}/trash/clean`, { params: { offset } });\n }\n\n public getTrash(params: RequestParameter = {}): Promise<Paginated<T[]>> {\n params.limit = params.limit || 0;\n params.page = params.page || 1;\n return this.httpClient.get(`${this.basePath}/trash`, { params });\n }\n}\n"],"names":["TrashService","APIBase","trashRestoreAll","httpClient","put","basePath","trashRestoreOne","id","emptyTrash","offset","delete","params","getTrash","limit","page","get"],"mappings":";;;;+BAGaA;;;eAAAA;;;yBAHW;AAGjB,IAAA,AAAMA,eAAN,MAAMA,qBAAwBC,gBAAO;IACnCC,kBAAgC;QACrC,OAAO,IAAI,CAACC,UAAU,CAACC,GAAG,CAAM,GAAG,IAAI,CAACC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;IACrE;IAEOC,gBAAgBC,EAAU,EAAc;QAC7C,OAAO,IAAI,CAACJ,UAAU,CAACC,GAAG,CAAI,GAAG,IAAI,CAACC,QAAQ,CAAC,eAAe,EAAEE,IAAI,EAAE,CAAC;IACzE;IAEOC,WAAWC,MAAc,EAA4D;QAC1F,OAAO,IAAI,CAACN,UAAU,CAACO,MAAM,CAAC,GAAG,IAAI,CAACL,QAAQ,CAAC,YAAY,CAAC,EAAE;YAAEM,QAAQ;gBAAEF;YAAO;QAAE;IACrF;IAEOG,SAASD,SAA2B,CAAC,CAAC,EAA2B;QACtEA,OAAOE,KAAK,GAAGF,OAAOE,KAAK,IAAI;QAC/BF,OAAOG,IAAI,GAAGH,OAAOG,IAAI,IAAI;QAC7B,OAAO,IAAI,CAACX,UAAU,CAACY,GAAG,CAAC,GAAG,IAAI,CAACV,QAAQ,CAAC,MAAM,CAAC,EAAE;YAAEM;QAAO;IAChE;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/user-settings.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/user.service.ts"],"sourcesContent":["import { jwtDecode } from 'jwt-decode';\n\nimport { HttpClient, TokenOption } from './http.service';\nimport { UserSettings } from './user-settings.interface';\n\nexport class UserService {\n private readonly basePath: string;\n constructor(private httpClient: HttpClient) {\n this.basePath = '/user';\n }\n\n async getCurrentUserRoles(): Promise<string[]> {\n try {\n const token = await this.httpClient.getAccessToken();\n const decode = jwtDecode(token) as { realm_access: { roles: string[] } };\n return decode.realm_access.roles;\n } catch (err) {\n return null;\n }\n }\n\n public getUserSettings(options: TokenOption = {}): Promise<UserSettings> {\n return this.httpClient.get(this.basePath, options);\n }\n\n public updateUserSettings(settings: UserSettings, options: TokenOption = {}): Promise<UserSettings> {\n return this.httpClient.put(this.basePath, settings, options);\n }\n\n public deleteUserSettings(options: TokenOption = {}): Promise<UserSettings> {\n return this.httpClient.delete(this.basePath, options);\n }\n}\n"],"names":["UserService","constructor","httpClient","basePath","getCurrentUserRoles","token","getAccessToken","decode","jwtDecode","realm_access","roles","err","getUserSettings","options","get","updateUserSettings","settings","put","deleteUserSettings","delete"],"mappings":";;;;+BAKaA;;;eAAAA;;;2BALa;AAKnB,IAAA,AAAMA,cAAN,MAAMA;IAEXC,YAAY,AAAQC,UAAsB,CAAE;aAAxBA,aAAAA;QAClB,IAAI,CAACC,QAAQ,GAAG;IAClB;IAEA,MAAMC,sBAAyC;QAC7C,IAAI;YACF,MAAMC,QAAQ,MAAM,IAAI,CAACH,UAAU,CAACI,cAAc;YAClD,MAAMC,SAASC,IAAAA,oBAAS,EAACH;YACzB,OAAOE,OAAOE,YAAY,CAACC,KAAK;QAClC,EAAE,OAAOC,KAAK;YACZ,OAAO;QACT;IACF;IAEOC,gBAAgBC,UAAuB,CAAC,CAAC,EAAyB;QACvE,OAAO,IAAI,CAACX,UAAU,CAACY,GAAG,CAAC,IAAI,CAACX,QAAQ,EAAEU;IAC5C;IAEOE,mBAAmBC,QAAsB,EAAEH,UAAuB,CAAC,CAAC,EAAyB;QAClG,OAAO,IAAI,CAACX,UAAU,CAACe,GAAG,CAAC,IAAI,CAACd,QAAQ,EAAEa,UAAUH;IACtD;IAEOK,mBAAmBL,UAAuB,CAAC,CAAC,EAAyB;QAC1E,OAAO,IAAI,CAACX,UAAU,CAACiB,MAAM,CAAC,IAAI,CAAChB,QAAQ,EAAEU;IAC/C;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/vault.interface.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/hpc-api/src/lib/vault.service.ts"],"sourcesContent":["import { DataService } from './data.service';\nimport { HttpClient, TokenOption } from './http.service';\nimport { VaultSecret } from './vault.interface';\n\nexport class VaultService extends DataService<VaultSecret> {\n constructor(httpClient: HttpClient) {\n super(httpClient, '/vault/secrets');\n }\n\n public getSecret(name: string, version?: number, options: TokenOption = {}): Promise<string> {\n const params = version ? { version } : {};\n return this.httpClient.get<string>(`${this.basePath}/${name}/secret`, { params, ...options });\n }\n}\n"],"names":["VaultService","DataService","constructor","httpClient","getSecret","name","version","options","params","get","basePath"],"mappings":";;;;+BAIaA;;;eAAAA;;;6BAJe;AAIrB,IAAA,AAAMA,eAAN,MAAMA,qBAAqBC,wBAAW;IAC3CC,YAAYC,UAAsB,CAAE;QAClC,KAAK,CAACA,YAAY;IACpB;IAEOC,UAAUC,IAAY,EAAEC,OAAgB,EAAEC,UAAuB,CAAC,CAAC,EAAmB;QAC3F,MAAMC,SAASF,UAAU;YAAEA;QAAQ,IAAI,CAAC;QACxC,OAAO,IAAI,CAACH,UAAU,CAACM,GAAG,CAAS,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAEL,KAAK,OAAO,CAAC,EAAE;YAAEG;YAAQ,GAAGD,OAAO;QAAC;IAC7F;AACF"}