mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Service accounts: Refactor to make roleOptions act as Users for service accounts (#66107)
add fetchAC for licenseenabled
This commit is contained in:
parent
5df33c0dc1
commit
2eed889ab7
@ -19,7 +19,7 @@ interface Props {
|
|||||||
export function ServiceAccountProfile({ serviceAccount, timeZone, onChange }: Props): JSX.Element {
|
export function ServiceAccountProfile({ serviceAccount, timeZone, onChange }: Props): JSX.Element {
|
||||||
const styles = useStyles2(getStyles);
|
const styles = useStyles2(getStyles);
|
||||||
const ableToWrite = contextSrv.hasPermission(AccessControlAction.ServiceAccountsWrite);
|
const ableToWrite = contextSrv.hasPermission(AccessControlAction.ServiceAccountsWrite);
|
||||||
const [roles, setRoles] = React.useState<Role[]>([]);
|
const [roles, setRoleOptions] = React.useState<Role[]>([]);
|
||||||
|
|
||||||
const onRoleChange = (role: OrgRole) => {
|
const onRoleChange = (role: OrgRole) => {
|
||||||
onChange({ ...serviceAccount, role: role });
|
onChange({ ...serviceAccount, role: role });
|
||||||
@ -28,21 +28,21 @@ export function ServiceAccountProfile({ serviceAccount, timeZone, onChange }: Pr
|
|||||||
const onNameChange = (newValue: string) => {
|
const onNameChange = (newValue: string) => {
|
||||||
onChange({ ...serviceAccount, name: newValue });
|
onChange({ ...serviceAccount, name: newValue });
|
||||||
};
|
};
|
||||||
// TODO: this is a temporary solution to fetch roles for service accounts
|
|
||||||
// until we make use of the state from the serviceaccountspage
|
|
||||||
// and pass it down to the serviceaccountprofile
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
if (contextSrv.licensedAccessControlEnabled()) {
|
async function fetchOptions() {
|
||||||
if (contextSrv.hasPermission(AccessControlAction.ActionRolesList)) {
|
try {
|
||||||
fetchRoleOptions(serviceAccount.orgId)
|
if (contextSrv.hasPermission(AccessControlAction.ActionRolesList)) {
|
||||||
.then((roles) => {
|
let options = await fetchRoleOptions(serviceAccount.orgId);
|
||||||
setRoles(roles);
|
setRoleOptions(options);
|
||||||
})
|
}
|
||||||
.catch((err) => {
|
} catch (e) {
|
||||||
console.log('fetchRoleOptions error: ', err);
|
console.error('Error loading options for service account');
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (contextSrv.licensedAccessControlEnabled()) {
|
||||||
|
fetchOptions();
|
||||||
|
}
|
||||||
}, [serviceAccount.orgId]);
|
}, [serviceAccount.orgId]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
Loading…
Reference in New Issue
Block a user