{"version":3,"file":"TokenValidation-Vhcj526H.chunk.mjs","sources":["../node_modules/vue-material-design-icons/LinkVariant.vue","../node_modules/@nextcloud/sharing/dist/index.mjs","../src/mixins/RequestMixin.ts","../src/mixins/TokenValidation.ts"],"sourcesContent":["<template>\n  <span v-bind=\"$attrs\"\n        :aria-hidden=\"title ? null : 'true'\"\n        :aria-label=\"title\"\n        class=\"material-design-icon link-variant-icon\"\n        role=\"img\"\n        @click=\"$emit('click', $event)\">\n    <svg :fill=\"fillColor\"\n         class=\"material-design-icon__svg\"\n         :width=\"size\"\n         :height=\"size\"\n         viewBox=\"0 0 24 24\">\n      <path d=\"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\">\n        <title v-if=\"title\">{{ title }}</title>\n      </path>\n    </svg>\n  </span>\n</template>\n\n<script>\nexport default {\n  name: \"LinkVariantIcon\",\n  emits: ['click'],\n  props: {\n    title: {\n      type: String,\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n}\n</script>","var Type = /* @__PURE__ */ ((Type2) => {\n  Type2[Type2[\"SHARE_TYPE_USER\"] = 0] = \"SHARE_TYPE_USER\";\n  Type2[Type2[\"SHARE_TYPE_GROUP\"] = 1] = \"SHARE_TYPE_GROUP\";\n  Type2[Type2[\"SHARE_TYPE_LINK\"] = 3] = \"SHARE_TYPE_LINK\";\n  Type2[Type2[\"SHARE_TYPE_EMAIL\"] = 4] = \"SHARE_TYPE_EMAIL\";\n  Type2[Type2[\"SHARE_TYPE_REMOTE\"] = 6] = \"SHARE_TYPE_REMOTE\";\n  Type2[Type2[\"SHARE_TYPE_CIRCLE\"] = 7] = \"SHARE_TYPE_CIRCLE\";\n  Type2[Type2[\"SHARE_TYPE_GUEST\"] = 8] = \"SHARE_TYPE_GUEST\";\n  Type2[Type2[\"SHARE_TYPE_REMOTE_GROUP\"] = 9] = \"SHARE_TYPE_REMOTE_GROUP\";\n  Type2[Type2[\"SHARE_TYPE_ROOM\"] = 10] = \"SHARE_TYPE_ROOM\";\n  Type2[Type2[\"SHARE_TYPE_DECK\"] = 12] = \"SHARE_TYPE_DECK\";\n  Type2[Type2[\"SHARE_TYPE_FEDERATED_GROUP\"] = 14] = \"SHARE_TYPE_FEDERATED_GROUP\";\n  return Type2;\n})(Type || {});\nvar ShareType = /* @__PURE__ */ ((ShareType2) => {\n  ShareType2[ShareType2[\"User\"] = 0] = \"User\";\n  ShareType2[ShareType2[\"Group\"] = 1] = \"Group\";\n  ShareType2[ShareType2[\"Link\"] = 3] = \"Link\";\n  ShareType2[ShareType2[\"Email\"] = 4] = \"Email\";\n  ShareType2[ShareType2[\"Remote\"] = 6] = \"Remote\";\n  ShareType2[ShareType2[\"Team\"] = 7] = \"Team\";\n  ShareType2[ShareType2[\"Guest\"] = 8] = \"Guest\";\n  ShareType2[ShareType2[\"RemoteGroup\"] = 9] = \"RemoteGroup\";\n  ShareType2[ShareType2[\"Room\"] = 10] = \"Room\";\n  ShareType2[ShareType2[\"Deck\"] = 12] = \"Deck\";\n  ShareType2[ShareType2[\"FederatedGroup\"] = 14] = \"FederatedGroup\";\n  ShareType2[ShareType2[\"ScienceMesh\"] = 15] = \"ScienceMesh\";\n  return ShareType2;\n})(ShareType || {});\nexport {\n  ShareType,\n  Type\n};\n","import '@nextcloud/dialogs/style.css'\nimport axios from '@nextcloud/axios'\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { t } from '@nextcloud/l10n'\nimport { generateUrl } from '@nextcloud/router'\nimport { ShareType } from '@nextcloud/sharing'\nimport type { CreateLinkRequest } from '../interfaces/requests/CreateLinkRequest'\nimport type { RenameByTokenRequest } from '../interfaces/requests/RenameByTokenRequest'\nimport type { ApiError } from '../interfaces/responses/ApiError'\nimport type { CustomShare } from '../interfaces/responses/CustomShare'\nimport type { ShareResponse } from '../interfaces/responses/ShareResponse'\n\nexport default {\n\tmethods: {\n\t\trefreshSidebar(fileInfo: unknown): void {\n\t\t\tconst shareTab = OCA.Files.Sidebar.state.tabs.find(\n\t\t\t\t(e) => e.id === 'sharing',\n\t\t\t)\n\t\t\tif (shareTab) {\n\t\t\t\tshareTab.update(fileInfo)\n\t\t\t\tconsole.debug('CfgShareLinks: Updated share tab')\n\t\t\t} else {\n\t\t\t\tconsole.debug('CfgShareLinks: No share tab to update')\n\t\t\t}\n\t\t},\n\t\tasync createLink(\n\t\t\tpath: string,\n\t\t\ttoken: string,\n\t\t\tpassword: string | null = '',\n\t\t): Promise<ShareResponse | ApiError> {\n\t\t\tconst data: CreateLinkRequest = {\n\t\t\t\tpath,\n\t\t\t\tshareType: ShareType.Link,\n\t\t\t\ttokenCandidate: token,\n\t\t\t\tpassword: password?.trim() ?? '',\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst response: CustomShare = await axios.post(\n\t\t\t\t\tgenerateUrl('/apps/cfg_share_links/new'),\n\t\t\t\t\tdata,\n\t\t\t\t)\n\t\t\t\tconst returnValue: ShareResponse = { ret: 0, data: response.data }\n\t\t\t\tconsole.debug('CfgShareLinks: Custom public link created')\n\t\t\t\tshowSuccess(t('cfg_share_links', 'Custom public link created'))\n\t\t\t\treturn returnValue\n\t\t\t} catch (e) {\n\t\t\t\tconst returnValue: ApiError = {\n\t\t\t\t\tret: 1,\n\t\t\t\t\tmessage: e.response.data?.message,\n\t\t\t\t}\n\t\t\t\tif (e.response.data && e.response.data.message) {\n\t\t\t\t\tshowError(t('cfg_share_links', e.response.data.message))\n\t\t\t\t} else {\n\t\t\t\t\tshowError(\n\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t'cfg_share_links',\n\t\t\t\t\t\t\t'Error occurred while creating public link',\n\t\t\t\t\t\t),\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tconsole.error(\n\t\t\t\t\t'CfgShareLinks: Error occurred while creating public link',\n\t\t\t\t)\n\t\t\t\tconsole.error(e.response)\n\t\t\t\treturn returnValue\n\t\t\t}\n\t\t},\n\t\tasync renameLink(\n\t\t\tcurrentToken: string,\n\t\t\ttokenCandidate: string,\n\t\t): Promise<void> {\n\t\t\tconst data: RenameByTokenRequest = {\n\t\t\t\tcurrentToken,\n\t\t\t\ttokenCandidate,\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tawait axios.put(\n\t\t\t\t\tgenerateUrl('/apps/cfg_share_links/update-by-token'),\n\t\t\t\t\tdata,\n\t\t\t\t)\n\t\t\t\tconsole.debug('CfgShareLinks: Public link renamed')\n\t\t\t\tshowSuccess(t('cfg_share_links', 'Custom public link renamed'))\n\t\t\t} catch (e) {\n\t\t\t\tif (e.response.data && e.response.data.message) {\n\t\t\t\t\tshowError(t('cfg_share_links', e.response.data.message))\n\t\t\t\t} else {\n\t\t\t\t\tshowError(\n\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t'cfg_share_links',\n\t\t\t\t\t\t\t'Error occurred while renaming public link',\n\t\t\t\t\t\t),\n\t\t\t\t\t)\n\t\t\t\t\tconsole.error('CfgShareLinks: Error while renaming public link')\n\t\t\t\t\tconsole.error(e.response)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n}\n","import { t } from '@nextcloud/l10n'\nimport SettingsMixin from './SettingsMixin'\n\nexport default {\n\tmixins: [SettingsMixin],\n\n\tdata() {\n\t\treturn {\n\t\t\tminLength: 3,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync fetchTokenConfig(): Promise<void> {\n\t\t\tthis.minLength = await this.getMinTokenLengthInt()\n\t\t},\n\t\tisTokenValidString(token?: string | null): string {\n\t\t\tswitch (this.tokenValidityCheck(token)) {\n\t\t\t\tcase 1:\n\t\t\t\t\treturn t('cfg_share_links', 'Token is not long enough')\n\t\t\t\tcase 2:\n\t\t\t\t\treturn t('cfg_share_links', 'Token contains invalid characters')\n\t\t\t\tcase 3:\n\t\t\t\t\treturn ''\n\t\t\t\tcase 0:\n\t\t\t\t\treturn ''\n\t\t\t\tdefault:\n\t\t\t\t\treturn ''\n\t\t\t}\n\t\t},\n\t\tisTokenValid(token?: string | null): boolean {\n\t\t\treturn this.tokenValidityCheck(token) === 0\n\t\t},\n\t\ttokenValidityCheck(token?: string | null): number {\n\t\t\tif (!token || token.length === 0) {\n\t\t\t\treturn 3\n\t\t\t}\n\n\t\t\tif (token.length > 0 && token.length < this.minLength) {\n\t\t\t\treturn 1\n\t\t\t}\n\n\t\t\tif (token.match(/^[a-zA-Z0-9_]+$/) == null) {\n\t\t\t\treturn 2\n\t\t\t}\n\n\t\t\treturn 0\n\t\t},\n\t},\n}\n"],"names":["_sfc_main","ShareType","ShareType2","RequestMixin","fileInfo","shareTab","e","path","token","password","data","returnValue","axios","generateUrl","showSuccess","t","showError","currentToken","tokenCandidate","TokenValidation","SettingsMixin"],"mappings":"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","x_google_ignoreList":[0,1]}