Skip to content

Commit 0c9d265

Browse files
authored
fix: fetch telegraf name using telegraf get api (#3233)
1 parent 282bcb5 commit 0c9d265

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed

src/authorizations/components/redesigned/EditTokenOverlay.tsx

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Libraries
2-
import React, {FC, useState} from 'react'
2+
import React, {FC, useEffect, useState} from 'react'
33
import {connect, ConnectedProps} from 'react-redux'
44
import 'src/authorizations/components/redesigned/customApiTokenOverlay.scss'
55

@@ -27,9 +27,11 @@ import {Authorization} from 'src/types'
2727

2828
// Actions
2929
import {updateAuthorization} from 'src/authorizations/actions/thunks'
30+
import {getTelegraf} from 'src/telegrafs/actions/thunks'
3031

3132
// Utills
3233
import {formatPermissionsObj} from 'src/authorizations/utils/permissions'
34+
import _ from 'lodash'
3335
interface OwnProps {
3436
auth: Authorization
3537
onDismissOverlay: () => void
@@ -51,6 +53,32 @@ const EditTokenOverlay: FC<Props> = props => {
5153
props.auth.status === 'active'
5254
)
5355
const [label, setlabel] = useState(props.auth.status)
56+
const [permissions, setPermissions] = useState([])
57+
58+
useEffect(() => {
59+
if (_.isEmpty(permissions)) {
60+
formatPermissions()
61+
}
62+
}, [])
63+
64+
const formatPermissions = async () => {
65+
const {
66+
auth: {permissions},
67+
} = props
68+
const newPerms = permissions
69+
70+
for (let i = 0; i < permissions.length; i++) {
71+
const name = permissions[i].resource.name
72+
if (!name) {
73+
if (permissions[i].resource.type === 'telegrafs') {
74+
const telegraf = await props.getTelegraf(permissions[i].resource.id)
75+
newPerms[i].resource.name = telegraf
76+
}
77+
}
78+
}
79+
80+
setPermissions(newPerms)
81+
}
5482

5583
const handleInputChange = event => {
5684
setDescription(event.target.value)
@@ -148,7 +176,7 @@ const EditTokenOverlay: FC<Props> = props => {
148176
</FlexBox.Child>
149177
</FlexBox>
150178
<EditResourceAccordion
151-
permissions={formatPermissionsObj(props.auth.permissions)}
179+
permissions={formatPermissionsObj(permissions)}
152180
/>
153181
</FlexBox.Child>
154182
<Page.ControlBarCenter>
@@ -176,6 +204,7 @@ const EditTokenOverlay: FC<Props> = props => {
176204

177205
const mdtp = {
178206
updateAuthorization,
207+
getTelegraf,
179208
}
180209

181210
const connector = connect(null, mdtp)

src/telegrafs/actions/thunks.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,3 +194,13 @@ export const getTelegrafConfigToml = (telegrafConfigID: string) => async (
194194
dispatch(notify(getTelegrafConfigFailed()))
195195
}
196196
}
197+
198+
export const getTelegraf = (telegrafConfigID: string) => async () => {
199+
try {
200+
const config = await client.telegrafConfigs.get(telegrafConfigID)
201+
return config.name
202+
} catch (error) {
203+
console.error(error)
204+
throw error
205+
}
206+
}

0 commit comments

Comments
 (0)