Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
theme.keycloak.v2.admin.resources.assets.ImportForm-00b17b49.js.map Maven / Gradle / Ivy
Go to download
The user inferface to administrate the Keycloak server.
{"version":3,"file":"ImportForm-00b17b49.js","sources":["../../src/clients/import/ImportForm.tsx"],"sourcesContent":["import type ClientRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/clientRepresentation\";\nimport { Language } from \"@patternfly/react-code-editor\";\nimport {\n ActionGroup,\n AlertVariant,\n Button,\n FormGroup,\n PageSection,\n} from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useNavigate } from \"react-router-dom\";\n\nimport { adminClient } from \"../../admin-client\";\nimport { useAlerts } from \"../../components/alert/Alerts\";\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport { FileUploadForm } from \"../../components/json-file-upload/FileUploadForm\";\nimport { KeycloakTextInput } from \"../../components/keycloak-text-input/KeycloakTextInput\";\nimport { ViewHeader } from \"../../components/view-header/ViewHeader\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\nimport {\n addTrailingSlash,\n convertFormValuesToObject,\n convertToFormValues,\n} from \"../../util\";\nimport { getAuthorizationHeaders } from \"../../utils/getAuthorizationHeaders\";\nimport { ClientDescription } from \"../ClientDescription\";\nimport { FormFields } from \"../ClientDetails\";\nimport { CapabilityConfig } from \"../add/CapabilityConfig\";\nimport { toClient } from \"../routes/Client\";\nimport { toClients } from \"../routes/Clients\";\n\nconst isXml = (text: string) => text.match(/(<.[^(><.)]+>)/g);\n\nexport default function ImportForm() {\n const { t } = useTranslation(\"clients\");\n const navigate = useNavigate();\n const { realm } = useRealm();\n const form = useForm();\n const { register, handleSubmit, setValue } = form;\n const [imported, setImported] = useState({});\n\n const { addAlert, addError } = useAlerts();\n\n const handleFileChange = async (contents: string) => {\n try {\n const parsed = await parseFileContents(contents);\n\n convertToFormValues(parsed, setValue);\n setImported(parsed);\n } catch (error) {\n addError(\"clients:importParseError\", error);\n }\n };\n\n async function parseFileContents(\n contents: string\n ): Promise {\n if (!isXml(contents)) {\n return JSON.parse(contents);\n }\n\n const response = await fetch(\n `${addTrailingSlash(\n adminClient.baseUrl\n )}admin/realms/${realm}/client-description-converter`,\n {\n method: \"POST\",\n body: contents,\n headers: getAuthorizationHeaders(await adminClient.getAccessToken()),\n }\n );\n\n if (!response.ok) {\n throw new Error(\n `Server responded with invalid status: ${response.statusText}`\n );\n }\n\n return response.json();\n }\n\n const save = async (client: ClientRepresentation) => {\n try {\n const newClient = await adminClient.clients.create({\n ...imported,\n ...convertFormValuesToObject({\n ...client,\n attributes: client.attributes || {},\n }),\n });\n addAlert(t(\"clientImportSuccess\"), AlertVariant.success);\n navigate(toClient({ realm, clientId: newClient.id, tab: \"settings\" }));\n } catch (error) {\n addError(\"clients:clientImportError\", error);\n }\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n {t(\"common:save\")}\n \n (\n \n )}\n >\n {t(\"common:cancel\")}\n \n \n \n \n \n >\n );\n}\n"],"names":["isXml","text","ImportForm","t","useTranslation","navigate","useNavigate","realm","useRealm","form","useForm","register","handleSubmit","setValue","imported","setImported","useState","addAlert","addError","useAlerts","handleFileChange","contents","parsed","parseFileContents","convertToFormValues","error","response","addTrailingSlash","adminClient","getAuthorizationHeaders","save","client","newClient","convertFormValuesToObject","AlertVariant","toClient","jsxs","Fragment","jsx","ViewHeader","PageSection","FormAccess","FormProvider","FileUploadForm","Language","ClientDescription","FormGroup","KeycloakTextInput","CapabilityConfig","ActionGroup","Button","props","Link","toClients"],"mappings":"k6BAiCA,MAAMA,EAASC,GAAiBA,EAAK,MAAM,iBAAiB,EAE5D,SAAwBC,IAAa,CACnC,KAAM,CAAE,EAAAC,CAAA,EAAMC,EAAe,SAAS,EAChCC,EAAWC,IACX,CAAE,MAAAC,GAAUC,IACZC,EAAOC,IACP,CAAE,SAAAC,EAAU,aAAAC,EAAc,SAAAC,CAAA,EAAaJ,EACvC,CAACK,EAAUC,CAAW,EAAIC,EAAA,SAA+B,CAAE,CAAA,EAE3D,CAAE,SAAAC,EAAU,SAAAC,CAAS,EAAIC,EAAU,EAEnCC,EAAmB,MAAOC,GAAqB,CAC/C,GAAA,CACI,MAAAC,EAAS,MAAMC,EAAkBF,CAAQ,EAE/CG,EAAoBF,EAAQT,CAAQ,EACpCE,EAAYO,CAAM,QACXG,EAAO,CACdP,EAAS,2BAA4BO,CAAK,CAC5C,CAAA,EAGF,eAAeF,EACbF,EAC+B,CAC3B,GAAA,CAACrB,EAAMqB,CAAQ,EACV,OAAA,KAAK,MAAMA,CAAQ,EAG5B,MAAMK,EAAW,MAAM,MACrB,GAAGC,EACDC,EAAY,OAAA,CACb,gBAAgBrB,CAAK,gCACtB,CACE,OAAQ,OACR,KAAMc,EACN,QAASQ,EAAwB,MAAMD,EAAY,gBAAgB,CACrE,CAAA,EAGE,GAAA,CAACF,EAAS,GACZ,MAAM,IAAI,MACR,yCAAyCA,EAAS,UAAU,EAAA,EAIhE,OAAOA,EAAS,MAClB,CAEM,MAAAI,EAAO,MAAOC,GAAiC,CAC/C,GAAA,CACF,MAAMC,EAAY,MAAMJ,EAAY,QAAQ,OAAO,CACjD,GAAGd,EACH,GAAGmB,EAA0B,CAC3B,GAAGF,EACH,WAAYA,EAAO,YAAc,CAAC,CAAA,CACnC,CAAA,CACF,EACDd,EAASd,EAAE,qBAAqB,EAAG+B,EAAa,OAAO,EAC9C7B,EAAA8B,EAAS,CAAE,MAAA5B,EAAO,SAAUyB,EAAU,GAAI,IAAK,UAAY,CAAA,CAAC,QAC9DP,EAAO,CACdP,EAAS,4BAA6BO,CAAK,CAC7C,CAAA,EAGF,OAEIW,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAAC,EAAA,IAACC,EAAA,CACC,SAAS,uBACT,OAAO,wBAAA,CACT,EACAD,EAAAA,IAACE,EAAY,CAAA,QAAQ,QACnB,SAAAF,EAAA,IAACG,EAAA,CACC,aAAY,GACZ,SAAU7B,EAAakB,CAAI,EAC3B,KAAK,iBAEL,SAAAM,EAAAA,KAACM,EAAc,CAAA,GAAGjC,EAChB,SAAA,CAAA6B,EAAA,IAACK,EAAA,CACC,GAAG,aACH,SAAUC,EAAS,KACnB,UAAU,aACV,SAAUzC,EAAE,kCAAkC,EAC9C,SAAUiB,CAAA,CACZ,EACAkB,EAAAA,IAACO,EAAkB,CAAA,mBAAkB,EAAC,CAAA,QACrCC,EAAU,CAAA,MAAO3C,EAAE,aAAa,EAAG,QAAQ,UAC1C,SAAAmC,EAAA,IAACS,EAAA,CACC,GAAG,UACH,WAAU,GACT,GAAGpC,EAAS,UAAU,CAAA,CAAA,EAE3B,EACA2B,EAAAA,IAACU,EAAiB,CAAA,OAAQ,EAAM,CAAA,SAC/BC,EACC,CAAA,SAAA,CAAAX,EAAAA,IAACY,GAAO,QAAQ,UAAU,KAAK,SAC5B,SAAA/C,EAAE,aAAa,EAClB,EACAmC,EAAA,IAACY,EAAA,CACC,QAAQ,OACR,UAAYC,GACVb,EAAA,IAACc,EAAM,CAAA,GAAGD,EAAO,GAAIE,EAAU,CAAE,MAAA9C,CAAM,CAAC,CAAG,CAAA,EAG5C,WAAE,eAAe,CAAA,CACpB,CAAA,EACF,CAAA,EACF,CAAA,CAAA,EAEJ,CACF,CAAA,CAAA,CAEJ"}