Skip to content

Commit

Permalink
Merge pull request #1634 from GluuFederation/admin-ui-test-1630
Browse files Browse the repository at this point in the history
feat(admin-ui): include jans kc link feature to webhook #1630
  • Loading branch information
duttarnab committed Mar 29, 2024
2 parents 65487d8 + 0ebbe59 commit d5d702c
Show file tree
Hide file tree
Showing 27 changed files with 225 additions and 36 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import GluuSuspenseLoader from 'Routes/Apps/Gluu/GluuSuspenseLoader'
import { useSelector } from 'react-redux'
import { Skeleton } from '@mui/material'
import PropTypes from 'prop-types'
import { adminUiFeatures } from 'Plugins/admin/helper/utils'

const GluuScriptErrorModal = lazy(() => import('Routes/Apps/Gluu/GluuScriptErrorModal'))
const Counter = lazy(() => import('Components/Widgets/GroupedButtons/Counter'))
Expand Down Expand Up @@ -619,7 +620,7 @@ function CustomScriptForm({ item, handleSubmit, viewOnly }) {
onAccept={submitForm}
formik={formik}
disabled={viewOnly}
feature='custom_script_write'
feature={adminUiFeatures.custom_script_write}
/>
</Form>
</>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ import { useTranslation } from 'react-i18next'
import SetTitle from 'Utils/SetTitle'
import { ThemeContext } from 'Context/theme/themeContext'
import getThemeColor from 'Context/theme/config'
import { adminUiFeatures } from 'Plugins/admin/helper/utils'

function ScriptListTable() {
const { t } = useTranslation()
Expand Down Expand Up @@ -303,7 +304,7 @@ function ScriptListTable() {
modal={modal}
subject='script'
onAccept={onDeletionConfirmed}
feature='custom_script_delete'
feature={adminUiFeatures.custom_script_delete}
/>
)}
</CardBody>
Expand Down
139 changes: 139 additions & 0 deletions admin-ui/plugins/admin/helper/shortCodes.json
Original file line number Diff line number Diff line change
Expand Up @@ -1119,5 +1119,144 @@
"description": "documentation.saml.idp_entity_id"
}
]
},
"jans_keycloak_link_write": {
"fields": [
{
"key": "sourceConfigs",
"label": "menus.sources",
"description": "documentation.jans_kc_link.sourceConfigs"
},
{
"key": "targetConfig",
"label": "menus.target_configuration",
"description": "documentation.jans_kc_link.targetConfig"
},
{
"key": "inumConfig",
"label": "menus.inum_configuration",
"description": "documentation.jans_kc_link.targetConfig"
},
{
"key": "keycloakConfiguration",
"label": "menus.keycloack_configuration",
"description": "documentation.jans_kc_link.keycloakConfiguration"
},
{
"key": "keycloakLinkEnabled",
"label": "fields.enable_kc",
"description": "documentation.jans_kc_link.keycloakLinkEnabled"
},
{
"key": "ldapSearchSizeLimit",
"label": "fields.ldap_search_limit",
"description": "documentation.jans_kc_link.ldapSearchSizeLimit"
},
{
"key": "customLdapFilter",
"label": "fields.custom_ldap_filter",
"description": "documentation.jans_kc_link.customLdapFilter"
},
{
"key": "keyAttributes",
"label": "fields.key_attribute",
"description": "documentation.jans_kc_link.keyAttributes"
},
{
"key": "sourceAttributes",
"label": "fields.source_attribute",
"description": "documentation.jans_kc_link.sourceAttributes"
},
{
"key": "snapshotFolder",
"label": "fields.snapshot_folder",
"description": "documentation.jans_kc_link.snapshotFolder"
},
{
"key": "updateMethod",
"label": "fields.update_method",
"description": "documentation.jans_kc_link.update_method"
},
{
"key": "defaultInumServer",
"label": "fields.default_inum_server",
"description": "documentation.jans_kc_link.defaultInumServer"
},
{
"key": "keepExternalPerson",
"label": "fields.keep_external_persons",
"description": "documentation.jans_kc_link.keepExternalPerson"
},
{
"key": "useSearchLimit",
"label": "fields.use_search_limit",
"description": "documentation.jans_kc_link.useSearchLimit"
},
{
"key": "allowPersonModification",
"label": "fields.allow_person_modification",
"description": "documentation.jans_kc_link.allowPersonModification"
},
{
"key": "attributeMapping",
"label": "fields.attribute_mappings",
"description": "documentation.jans_kc_link.attributeMapping"
},
{
"key": "metricReporterInterval",
"label": "fields.metric_reporter_interval",
"description": "documentation.jans_kc_link.metric_reporter_interval"
},
{
"key": "metricReporterKeepDataDays",
"label": "fields.metric_reporter_keep_data_days",
"description": "documentation.jans_kc_link.metric_reporter_keep_data_days"
},
{
"key": "cleanServiceInterval",
"label": "fields.clean_service_interval",
"description": "documentation.jans_kc_link.cleanServiceInterval"
},
{
"key": "disableJdkLogger",
"label": "fields.disable_jdk_logger",
"description": "documentation.jans_kc_link.disableJdkLogger"
},
{
"key": "useLocalCache",
"label": "fields.use_local_cache",
"description": "documentation.jans_kc_link.useLocalCache"
},
{
"key": "keycloakLinkServerIpAddress",
"label": "fields.kc_server_ip",
"description": "documentation.jans_kc_link.keycloakLinkServerIpAddress"
},
{
"key": "keycloakLinkPollingInterval",
"label": "fields.kc_polling_interval",
"description": "documentation.jans_kc_link.keycloakLinkPollingInterval"
},
{
"key": "keycloakLinkLastUpdate",
"label": "fields.kc_link_last_update",
"description": "documentation.jans_kc_link.keycloakLinkLastUpdate"
},
{
"key": "keycloakLinkLastUpdateCount",
"label": "fields.kc_last_update_count",
"description": "documentation.jans_kc_link.keycloakLinkLastUpdateCount"
},
{
"key": "keycloakLinkProblemCount",
"label": "fields.kc_problem_count",
"description": "documentation.jans_kc_link.keycloakLinkProblemCount"
},
{
"key": "loggingLevel",
"label": "fields.logging_level",
"description": "documentation.jans_kc_link.loggingLevel"
}
]
}
}
20 changes: 20 additions & 0 deletions admin-ui/plugins/admin/helper/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,24 @@ function getNestedProperty(obj, path) {
}

return current;
}

export const adminUiFeatures = {
custom_script_write: 'custom_script_write',
custom_script_delete: 'custom_script_delete',
oidc_clients_delete: 'oidc_clients_delete',
oidc_clients_write: 'oidc_clients_write',
scopes_write: 'scopes_write',
scopes_delete: 'scopes_delete',
fido_configuration_write: 'fido_configuration_write',
jans_keycloak_link_write: 'jans_keycloak_link_write',
jans_link_write: 'jans_link_write',
saml_configuration_write: 'saml_configuration_write',
saml_idp_write: 'saml_idp_write',
attributes_write: 'attributes_write',
attributes_delete: 'attributes_delete',
scim_configuration_edit: 'scim_configuration_edit',
smtp_configuration_edit: 'smtp_configuration_edit',
users_edit: 'users_edit',
users_delete: 'users_delete',
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ import {
LIMIT,
PATTERN,
PATTERN_ID,
SEARCHING_OIDC_CLIENTS,
FETCHING_OIDC_CLIENTS,
} from 'Plugins/auth-server/common/Constants'
import {
getOpenidClients,
Expand All @@ -38,6 +36,7 @@ import ClientShowScopes from './ClientShowScopes'
import SetTitle from 'Utils/SetTitle'
import { ThemeContext } from 'Context/theme/themeContext'
import getThemeColor from 'Context/theme/config'
import { adminUiFeatures } from 'Plugins/admin/helper/utils'

function ClientListPage() {
const { t } = useTranslation()
Expand Down Expand Up @@ -396,7 +395,7 @@ function ClientListPage() {
modal={modal}
subject="openid connect client"
onAccept={onDeletionConfirmed}
feature='oidc_clients_delete'
feature={adminUiFeatures.oidc_clients_delete}
/>
)}
</CardBody>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ import { setClientSelectedScopes } from 'Plugins/auth-server/redux/features/scop
import { cloneDeep } from 'lodash'
import { useDispatch } from 'react-redux'
import PropTypes from 'prop-types'
import { adminUiFeatures } from 'Plugins/admin/helper/utils'

const sequence = [
'Basic',
'Tokens',
Expand Down Expand Up @@ -484,7 +486,7 @@ function ClientWizardForm({
)}
</Formik>
</Card>
<GluuCommitDialog feature='oidc_clients_write' handler={toggle} modal={modal} onAccept={submitForm} />
<GluuCommitDialog feature={adminUiFeatures.oidc_clients_write} handler={toggle} modal={modal} onAccept={submitForm} />
</React.Fragment>
)
}
Expand Down
8 changes: 4 additions & 4 deletions admin-ui/plugins/auth-server/components/Scopes/ScopeForm.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, { useState, useEffect, useContext } from 'react'
import React, { useState, useContext } from 'react'
import { useNavigate } from 'react-router-dom'
import { useSelector, useDispatch } from 'react-redux'
import { Formik, ErrorMessage } from 'formik'
Expand All @@ -24,14 +24,14 @@ import GluuToogleRow from 'Routes/Apps/Gluu/GluuToogleRow'
import GluuTypeAheadForDn from 'Routes/Apps/Gluu/GluuTypeAheadForDn'
import GluuCommitFooter from 'Routes/Apps/Gluu/GluuCommitFooter'
import GluuCommitDialog from 'Routes/Apps/Gluu/GluuCommitDialog'
import IconButton from '@mui/material/IconButton'
import Visibility from '@mui/icons-material/Visibility'
import GluuTooltip from 'Routes/Apps/Gluu/GluuTooltip'
import { SCOPE } from 'Utils/ApiResources'
import { useTranslation } from 'react-i18next'
import { ThemeContext } from 'Context/theme/themeContext'
import { LIMIT, PATTERN } from 'Plugins/auth-server/common/Constants'
import moment from 'moment'
import { adminUiFeatures } from 'Plugins/admin/helper/utils'

function ScopeForm({ scope, scripts, attributes, handleSubmit }) {
const { t } = useTranslation()
let dynamicScopeScripts = []
Expand Down Expand Up @@ -501,7 +501,7 @@ function ScopeForm({ scope, scripts, attributes, handleSubmit }) {
<GluuCommitDialog
handler={toggle}
modal={modal}
feature={'scopes_write'}
feature={adminUiFeatures.scopes_write}
onAccept={submitForm}
formik={formik}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import {
import SetTitle from 'Utils/SetTitle'
import { ThemeContext } from 'Context/theme/themeContext'
import getThemeColor from 'Context/theme/config'
import { adminUiFeatures } from 'Plugins/admin/helper/utils'

function ScopeListPage() {
const { t } = useTranslation()
Expand Down Expand Up @@ -277,7 +278,7 @@ function ScopeListPage() {
modal={modal}
subject="scope"
onAccept={onDeletionConfirmed}
feature='scopes_delete'
feature={adminUiFeatures.scopes_delete}
/>
)}
</CardBody>
Expand Down
3 changes: 2 additions & 1 deletion admin-ui/plugins/fido/components/StaticConfiguration.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import GluuLabel from 'Routes/Apps/Gluu/GluuLabel'
import GluuProperties from 'Routes/Apps/Gluu/GluuProperties'
import { useTranslation } from 'react-i18next'
import * as Yup from 'yup'
import { adminUiFeatures } from 'Plugins/admin/helper/utils'

const staticConfigInitValues = (staticConfiguration) => {
return {
Expand Down Expand Up @@ -251,7 +252,7 @@ function StaticConfiguration({ fidoConfiguration, handleSubmit }) {
<GluuCommitDialog
handler={toggle}
modal={modal}
feature='fido_configuration_write'
feature={adminUiFeatures.fido_configuration_write}
onAccept={submitForm}
formik={formik}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import PropTypes from 'prop-types'
import { useLocation } from 'react-router'
import { useSelector } from 'react-redux'
import { hasPermission, JANS_KC_LINK_WRITE } from 'Utils/PermChecker'
import { adminUiFeatures } from 'Plugins/admin/helper/utils'

const ConfigurationForm = ({
initialValues,
Expand Down Expand Up @@ -242,7 +243,7 @@ const ConfigurationForm = ({
modal={modal}
onAccept={submitForm}
formik={formik}
feature='jans_kc_link_write'
feature={adminUiFeatures.jans_keycloak_link_write}
/>
</Form>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import {
isStringsArray,
} from 'Plugins/jans-link/components/SourceBackendServers/SourceBackendServerForm'
import SharedFooter from '../SharedFooter'
import { adminUiFeatures } from 'Plugins/admin/helper/utils'

const BasicConfiguration = () => {
const { t } = useTranslation()
Expand Down Expand Up @@ -488,7 +489,7 @@ const BasicConfiguration = () => {
</Col>
</FormGroup>

<SharedFooter disabled={disabled} toggle={toggle} formik={formik} modal={modal} submitForm={submitForm} feature='jans_kc_link_write' />
<SharedFooter disabled={disabled} toggle={toggle} formik={formik} modal={modal} submitForm={submitForm} feature={adminUiFeatures.jans_keycloak_link_write} />
</Form>
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { putConfiguration } from 'Plugins/jans-kc-link/redux/features/JansKcLink
import { Col, Form, FormGroup } from 'Components'
import GluuInputRow from 'Routes/Apps/Gluu/GluuInputRow'
import SharedFooter from '../SharedFooter'
import { adminUiFeatures } from 'Plugins/admin/helper/utils'

const KeycloackConfiguration = () => {
const dispatch = useDispatch()
Expand Down Expand Up @@ -157,7 +158,7 @@ const KeycloackConfiguration = () => {
</Col>
</FormGroup>

<SharedFooter disabled={disabled} toggle={toggle} formik={formik} modal={modal} submitForm={submitForm} feature='jans_kc_link_write' />
<SharedFooter disabled={disabled} toggle={toggle} formik={formik} modal={modal} submitForm={submitForm} feature={adminUiFeatures.jans_keycloak_link_write} />
</Form>
)
}
Expand Down
3 changes: 2 additions & 1 deletion admin-ui/plugins/jans-kc-link/components/Tabs/Sources.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import GluuViewWrapper from 'Routes/Apps/Gluu/GluuViewWrapper'
import GluuDialog from 'Routes/Apps/Gluu/GluuDialog'
import { putConfiguration } from 'Plugins/jans-kc-link/redux/features/JansKcLinkSlice'
import { buildPayload, hasPermission, JANS_KC_LINK_WRITE, JANS_KC_LINK_READ } from 'Utils/PermChecker'
import { adminUiFeatures } from 'Plugins/admin/helper/utils'

const Sources = () => {
const { t } = useTranslation()
Expand Down Expand Up @@ -144,7 +145,7 @@ const Sources = () => {
modal={modal}
subject='jans kc source'
onAccept={onDeletionConfirmed}
feature='jans_kc_link_write'
feature={adminUiFeatures.jans_keycloak_link_write}
/>
</>
)
Expand Down
Loading

0 comments on commit d5d702c

Please sign in to comment.