{"version":3,"file":"federation-settings-admin.mjs","sources":["../build/frontend/apps/federation/src/services/api.ts","../build/frontend/apps/federation/src/services/logger.ts","../build/frontend/apps/federation/src/components/AddTrustedServerForm.vue","../build/frontend/apps/federation/src/components/TrustedServer.vue","../build/frontend/apps/federation/src/views/AdminSettings.vue","../build/frontend/apps/federation/src/settings-admin.ts"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { OCSResponse } from '@nextcloud/typings/ocs'\n\nimport axios, { isAxiosError } from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nexport const TrustedServerStatus = Object.freeze({\n\t/** after a user list was exchanged at least once successfully */\n\tSTATUS_OK: 1,\n\t/** waiting for shared secret or initial user list exchange */\n\tSTATUS_PENDING: 2,\n\t/** something went wrong, misconfigured server, software bug,... user interaction needed */\n\tSTATUS_FAILURE: 3,\n\t/** remote server revoked access */\n\tSTATUS_ACCESS_REVOKED: 4,\n})\n\nexport interface ITrustedServer {\n\tid: number\n\turl: string\n\tstatus: typeof TrustedServerStatus[keyof typeof TrustedServerStatus]\n}\n\nexport class ApiError extends Error {}\n\n/**\n * Add a new trusted server\n *\n * @param url - The new URL to add\n */\nexport async function addServer(url: string): Promise {\n\ttry {\n\t\tconst { data } = await axios.post>>(\n\t\t\tgenerateOcsUrl('apps/federation/trusted-servers'),\n\t\t\t{ url },\n\t\t)\n\n\t\tconst serverData = data.ocs.data\n\t\treturn {\n\t\t\tid: serverData.id,\n\t\t\turl: serverData.url,\n\t\t\tstatus: TrustedServerStatus.STATUS_PENDING,\n\t\t}\n\t} catch (error) {\n\t\tthrow mapError(error)\n\t}\n}\n\n/**\n * @param id - The id of the trusted server to remove\n */\nexport async function deleteServer(id: number): Promise {\n\ttry {\n\t\tawait axios.delete(generateOcsUrl(`apps/federation/trusted-servers/${id}`))\n\t} catch (error) {\n\t\tthrow mapError(error)\n\t}\n}\n\n/**\n * Error handling for API calls\n *\n * @param error - The catch error\n */\nfunction mapError(error: unknown): ApiError | unknown {\n\tif (isAxiosError(error) && error.response?.data?.ocs) {\n\t\treturn new ApiError((error.response.data as OCSResponse).ocs.meta.message, { cause: error })\n\t}\n\treturn error\n}\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport const logger = getLoggerBuilder().setApp('federation').build()\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n\n\n","/*!\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { createApp } from 'vue'\nimport AdminSettings from './views/AdminSettings.vue'\n\nconst app = createApp(AdminSettings)\napp.mount('#federation-admin-settings')\n"],"names":["TrustedServerStatus","ApiError","addServer","url","data","axios","generateOcsUrl","serverData","error","mapError","deleteServer","id","isAxiosError","logger","getLoggerBuilder","emit","__emit","formElement","useTemplateRef","newServerUrl","ref","onAdd","server","nextTick","showSuccess","t","showError","_createElementBlock","_createElementVNode","_normalizeClass","$style","_unref","_createVNode","NcTextField","$event","NcButton","NcIconSvgWrapper","mdiPlus","props","__props","isLoading","hasError","computed","serverIcon","mdiCheckNetworkOutline","mdiHelpNetworkOutline","mdiCloseNetworkOutline","serverStatus","onDelete","_toDisplayString","_createBlock","NcLoadingIcon","mdiTrashCanOutline","adminSettings","loadState","trustedServers","showPendingServerInfo","s","NcSettingsSection","NcNoteCard","_TransitionGroup","_Fragment","_renderList","TrustedServer","AddTrustedServerForm","app","createApp","AdminSettings"],"mappings":"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"}