Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2021-12-03 00:39:00 +0300
committerJohn Molakvoæ <skjnldsv@protonmail.com>2022-01-08 12:14:52 +0300
commitfc536de25cb93292639c6258bd631f9aaf685565 (patch)
treeb8f171bc9d4b01858ab70080adf873850eb425e8 /dist/settings-vue-settings-personal-security.js
parent87d0904b6f6209a553efd5d405c917012a91e259 (diff)
Ensure mapfile consistency
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'dist/settings-vue-settings-personal-security.js')
-rw-r--r--dist/settings-vue-settings-personal-security.js4
1 files changed, 2 insertions, 2 deletions
diff --git a/dist/settings-vue-settings-personal-security.js b/dist/settings-vue-settings-personal-security.js
index 97b24b503af..5985a5b7526 100644
--- a/dist/settings-vue-settings-personal-security.js
+++ b/dist/settings-vue-settings-personal-security.js
@@ -1,3 +1,3 @@
/*! For license information please see settings-vue-settings-personal-security.js.LICENSE.txt */
-(()=>{"use strict";var n,e={60062:(n,e,o)=>{var i=o(16453),a=o(20144),s=o(72268),r=o.n(s),p=o(34741),d=o(4820),c=o(10128),l=o.n(c),u=o(79753),A=o(33476);const h={ie:/(?:MSIE|Trident|Trident\/7.0; rv)[ :](\d+)/,edge:/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/[0-9.]+ (?:Mobile Safari|Safari)\/[0-9.]+ Edge\/[0-9.]+$/,firefox:/^Mozilla\/5\.0 \([^)]*(Windows|OS X|Linux)[^)]+\) Gecko\/[0-9.]+ Firefox\/(\d+)(?:\.\d)?$/,chrome:/^Mozilla\/5\.0 \([^)]*(Windows|OS X|Linux)[^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/(\d+)[0-9.]+ (?:Mobile Safari|Safari)\/[0-9.]+$/,safari:/^Mozilla\/5\.0 \([^)]*(Windows|OS X)[^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\)(?: Version\/([0-9]+)[0-9.]+)? Safari\/[0-9.A-Z]+$/,androidChrome:/Android.*(?:; (.*) Build\/).*Chrome\/(\d+)[0-9.]+/,iphone:/ *CPU +iPhone +OS +([0-9]+)_(?:[0-9_])+ +like +Mac +OS +X */,ipad:/\(iPad; *CPU +OS +([0-9]+)_(?:[0-9_])+ +like +Mac +OS +X */,iosClient:/^Mozilla\/5\.0 \(iOS\) (?:ownCloud|Nextcloud)-iOS.*$/,androidClient:/^Mozilla\/5\.0 \(Android\) ownCloud-android.*$/,iosTalkClient:/^Mozilla\/5\.0 \(iOS\) Nextcloud-Talk.*$/,androidTalkClient:/^Mozilla\/5\.0 \(Android\) Nextcloud-Talk.*$/,davx5:/DAV(?:droid|x5)\/([^ ]+)/,webPirate:/(Sailfish).*WebPirate\/(\d+)/,sailfishBrowser:/(Sailfish).*SailfishBrowser\/(\d+)/},m={ie:t("setting","Internet Explorer"),edge:t("setting","Edge"),firefox:t("setting","Firefox"),chrome:t("setting","Google Chrome"),safari:t("setting","Safari"),androidChrome:t("setting","Google Chrome for Android"),iphone:t("setting","iPhone"),ipad:t("setting","iPad"),iosClient:t("setting","{productName} iOS app",{productName:window.oc_defaults.productName}),androidClient:t("setting","{productName} Android app",{productName:window.oc_defaults.productName}),iosTalkClient:t("setting","{productName} Talk for iOS",{productName:window.oc_defaults.productName}),androidTalkClient:t("setting","{productName} Talk for Android",{productName:window.oc_defaults.productName}),davx5:"DAVx5",webPirate:"WebPirate",sailfishBrowser:"SailfishBrowser"},g={ie:"icon-desktop",edge:"icon-desktop",firefox:"icon-desktop",chrome:"icon-desktop",safari:"icon-desktop",androidChrome:"icon-phone",iphone:"icon-phone",ipad:"icon-tablet",iosClient:"icon-phone",androidClient:"icon-phone",iosTalkClient:"icon-phone",androidTalkClient:"icon-phone",davx5:"icon-phone",webPirate:"icon-link",sailfishBrowser:"icon-link"},v={name:"AuthToken",components:{Actions:A.Actions,ActionButton:A.ActionButton,ActionCheckbox:A.ActionCheckbox},props:{token:{type:Object,required:!0}},data(){return{showMore:this.token.canScope||this.token.canDelete,renaming:!1,newName:"",actionOpen:!1}},computed:{lastActivityRelative(){return OC.Util.relativeModifiedDate(1e3*this.token.lastActivity)},lastActivity(){return OC.Util.formatDate(1e3*this.token.lastActivity,"LLL")},iconName(){const n=this.token.name.match(/Mozilla\/5\.0 \((\w+)\) (?:mirall|csyncoC)\/(\d+\.\d+\.\d+)/);let e="";n&&(this.token.name=t("settings","Sync client - {os}",{os:n[1],version:n[2]}),e="icon-desktop");const o=this.token.name;let i=this.token.name;for(const n in h){const t=o.match(h[n]);t&&(i=t[2]&&t[1]?m[n]+" "+t[2]+" - "+t[1]:t[1]?m[n]+" "+t[1]:m[n],e=g[n])}return this.token.current&&(i=t("settings","This session")),{icon:e,name:i}},wiping(){return 2===this.token.type}},methods:{startRename(){this.actionOpen=!1,this.newName=this.token.name,this.renaming=!0,this.$nextTick((()=>{this.$refs.input.select()}))},cancelRename(){this.renaming=!1},revoke(){this.actionOpen=!1,this.$emit("delete",this.token)},rename(){this.renaming=!1,this.$emit("rename",this.token,this.newName)},wipe(){this.actionOpen=!1,this.$emit("wipe",this.token)}}};var C=o(93379),k=o.n(C),w=o(22209);k()(w.Z,{insert:"head",singleton:!1}),w.Z.locals;var f=o(51900);const y={name:"AuthTokenList",components:{AuthToken:(0,f.Z)(v,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("tr",{class:n.wiping,attrs:{"data-id":n.token.id}},[e("td",{staticClass:"client"},[e("div",{class:n.iconName.icon})]),n._v(" "),e("td",{staticClass:"token-name"},[n.token.canRename&&n.renaming?e("input",{directives:[{name:"model",rawName:"v-model",value:n.newName,expression:"newName"}],ref:"input",attrs:{type:"text"},domProps:{value:n.newName},on:{keyup:[function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"enter",13,t.key,"Enter")?null:n.rename.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:n.cancelRename.apply(null,arguments)}],blur:n.cancelRename,input:function(t){t.target.composing||(n.newName=t.target.value)}}}):e("span",[n._v(n._s(n.iconName.name))]),n._v(" "),n.wiping?e("span",{staticClass:"wiping-warning"},[n._v("("+n._s(n.t("settings","Marked for remote wipe"))+")")]):n._e()]),n._v(" "),e("td",[e("span",{directives:[{name:"tooltip",rawName:"v-tooltip",value:n.lastActivity,expression:"lastActivity"}],staticClass:"last-activity"},[n._v(n._s(n.lastActivityRelative))])]),n._v(" "),e("td",{staticClass:"more"},[n.token.current?n._e():e("Actions",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:{content:n.t("settings","Device settings"),container:"body"},expression:"{\n\t\t\t\tcontent: t('settings', 'Device settings'),\n\t\t\t\tcontainer: 'body'\n\t\t\t}",modifiers:{auto:!0}}],attrs:{open:n.actionOpen},on:{"update:open":function(t){n.actionOpen=t}}},[1===n.token.type?e("ActionCheckbox",{attrs:{checked:n.token.scope.filesystem},on:{change:function(t){return t.stopPropagation(),t.preventDefault(),n.$emit("toggle-scope",n.token,"filesystem",!n.token.scope.filesystem)}}},[n._v("\n\t\t\t\t"+n._s(n.t("settings","Allow filesystem access"))+"\n\t\t\t")]):n._e(),n._v(" "),n.token.canRename?e("ActionButton",{attrs:{icon:"icon-rename"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.startRename.apply(null,arguments)}}},[n._v("\n\t\t\t\t"+n._s(n.t("settings","Rename"))+"\n\t\t\t")]):n._e(),n._v(" "),n.token.canDelete?[2!==n.token.type?[e("ActionButton",{attrs:{icon:"icon-delete"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.revoke.apply(null,arguments)}}},[n._v("\n\t\t\t\t\t\t"+n._s(n.t("settings","Revoke"))+"\n\t\t\t\t\t")]),n._v(" "),e("ActionButton",{attrs:{icon:"icon-delete"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.wipe.apply(null,arguments)}}},[n._v("\n\t\t\t\t\t\t"+n._s(n.t("settings","Wipe device"))+"\n\t\t\t\t\t")])]:2===n.token.type?e("ActionButton",{attrs:{icon:"icon-delete",title:n.t("settings","Revoke")},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.revoke.apply(null,arguments)}}},[n._v("\n\t\t\t\t\t"+n._s(n.t("settings","Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet."))+"\n\t\t\t\t")]):n._e()]:n._e()],2)],1)])}),[],!1,null,"3280a606",null).exports},props:{tokens:{type:Array,required:!0}},computed:{sortedTokens(){return this.tokens.slice().sort(((n,t)=>{const e=parseInt(n.lastActivity,10);return parseInt(t.lastActivity,10)-e}))}},methods:{toggleScope(n,t,e){this.$emit("toggle-scope",n,t,e)},rename(n,t){this.$emit("rename",n,t)},onDelete(n){this.$emit("delete",n)},onWipe(n){this.$emit("wipe",n)}}};var b=o(24061);k()(b.Z,{insert:"head",singleton:!1}),b.Z.locals;var x=o(47719);k()(x.Z,{insert:"head",singleton:!1}),x.Z.locals;const _=(0,f.Z)(y,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("table",{attrs:{id:"app-tokens-table"}},[n.tokens.length?e("thead",[e("tr",[e("th"),n._v(" "),e("th",[n._v(n._s(n.t("settings","Device")))]),n._v(" "),e("th",[n._v(n._s(n.t("settings","Last activity")))]),n._v(" "),e("th")])]):n._e(),n._v(" "),e("tbody",{staticClass:"token-list"},n._l(n.sortedTokens,(function(t){return e("AuthToken",{key:t.id,attrs:{token:t},on:{toggleScope:n.toggleScope,rename:n.rename,delete:n.onDelete,wipe:n.onWipe}})})),1)])}),[],!1,null,"0c8e7146",null).exports;var T=o(147);const N={name:"AuthTokenSetupDialogue",components:{QR:o.n(T)()},props:{add:{type:Function,required:!0}},data:()=>({adding:!1,loading:!1,deviceName:"",appPassword:"",loginName:"",passwordCopied:!1,showQR:!1,qrUrl:"",hoveringCopyButton:!1}),computed:{copyTooltipOptions(){const n={hideOnTargetClick:!1,trigger:"manual"};return this.passwordCopied?{...n,content:t("core","Copied!"),show:!0}:{...n,content:t("core","Copy"),show:this.hoveringCopyButton}}},methods:{selectInput(n){n.currentTarget.select()},submit(){l()().then((()=>(this.loading=!0,this.add(this.deviceName)))).then((n=>{this.adding=!0,this.loginName=n.loginName,this.appPassword=n.token;const t=window.location.protocol+"//"+window.location.host+(0,u.getRootUrl)();this.qrUrl="nc://login/user:".concat(n.loginName,"&password:").concat(n.token,"&server:").concat(t),this.$nextTick((()=>{this.$refs.appPassword.select()}))})).catch((n=>{console.error("could not create a new app password",n),OC.Notification.showTemporary(t("core","Error while creating device token")),this.reset()}))},onCopyPassword(){this.passwordCopied=!0,this.$refs.clipboardButton.blur(),setTimeout((()=>{this.passwordCopied=!1}),3e3)},onCopyPasswordFailed(){OC.Notification.showTemporary(t("core","Could not copy app password. Please copy it manually."))},reset(){this.adding=!1,this.loading=!1,this.showQR=!1,this.qrUrl="",this.deviceName="",this.appPassword="",this.loginName=""}}};var O=o(42103);k()(O.Z,{insert:"head",singleton:!1}),O.Z.locals;const B=(0,f.Z)(N,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return n.adding?e("div",[n._v("\n\t"+n._s(n.t("settings","Use the credentials below to configure your app or device."))+"\n\t"+n._s(n.t("settings","For security reasons this password will only be shown once."))+"\n\t"),e("div",{staticClass:"app-password-row"},[e("span",{staticClass:"app-password-label"},[n._v(n._s(n.t("settings","Username")))]),n._v(" "),e("input",{staticClass:"monospaced",attrs:{type:"text",readonly:"readonly"},domProps:{value:n.loginName},on:{focus:n.selectInput}})]),n._v(" "),e("div",{staticClass:"app-password-row"},[e("span",{staticClass:"app-password-label"},[n._v(n._s(n.t("settings","Password")))]),n._v(" "),e("input",{ref:"appPassword",staticClass:"monospaced",attrs:{type:"text",readonly:"readonly"},domProps:{value:n.appPassword},on:{focus:n.selectInput}}),n._v(" "),e("a",{directives:[{name:"tooltip",rawName:"v-tooltip",value:n.copyTooltipOptions,expression:"copyTooltipOptions"},{name:"clipboard",rawName:"v-clipboard:copy",value:n.appPassword,expression:"appPassword",arg:"copy"},{name:"clipboard",rawName:"v-clipboard:success",value:n.onCopyPassword,expression:"onCopyPassword",arg:"success"},{name:"clipboard",rawName:"v-clipboard:error",value:n.onCopyPasswordFailed,expression:"onCopyPasswordFailed",arg:"error"}],ref:"clipboardButton",staticClass:"icon icon-clippy",on:{mouseover:function(t){n.hoveringCopyButton=!0},mouseleave:function(t){n.hoveringCopyButton=!1}}}),n._v(" "),e("button",{staticClass:"button",on:{click:n.reset}},[n._v("\n\t\t\t"+n._s(n.t("settings","Done"))+"\n\t\t")])]),n._v(" "),e("div",{staticClass:"app-password-row"},[e("span",{staticClass:"app-password-label"}),n._v(" "),n.showQR?e("QR",{attrs:{value:n.qrUrl}}):e("a",{on:{click:function(t){n.showQR=!0}}},[n._v("\n\t\t\t"+n._s(n.t("settings","Show QR code for mobile apps"))+"\n\t\t")])],1)]):e("div",[e("input",{directives:[{name:"model",rawName:"v-model",value:n.deviceName,expression:"deviceName"}],attrs:{type:"text",disabled:n.loading,placeholder:n.t("settings","App name")},domProps:{value:n.deviceName},on:{keydown:function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"enter",13,t.key,"Enter")?null:n.submit.apply(null,arguments)},input:function(t){t.target.composing||(n.deviceName=t.target.value)}}}),n._v(" "),e("button",{staticClass:"button",attrs:{disabled:n.loading},on:{click:n.submit}},[n._v("\n\t\t"+n._s(n.t("settings","Create new app password"))+"\n\t")])])}),[],!1,null,"2a53687f",null).exports,S=n=>t=>(n(t),t),P={name:"AuthTokenSection",components:{AuthTokenSetupDialogue:B,AuthTokenList:_},props:{tokens:{type:Array,required:!0},canCreateToken:{type:Boolean,required:!0}},data:()=>({baseUrl:(0,u.generateUrl)("/settings/personal/authtokens")}),methods:{addNewToken(n){console.debug("creating a new app token",n);const e={name:n};return d.default.post(this.baseUrl,e).then((n=>n.data)).then(S((()=>console.debug("app token created")))).then(S((n=>this.tokens.push(n.deviceToken)))).catch((n=>{throw console.error.bind("could not create app password",n),OC.Notification.showTemporary(t("core","Error while creating device token")),n}))},toggleTokenScope(n,e,o){console.debug("updating app token scope",n.id,e,o);const i=n.scope[e];return n.scope[e]=o,this.updateToken(n).then(S((()=>console.debug("app token scope updated")))).catch((o=>{throw console.error.bind("could not update app token scope",o),OC.Notification.showTemporary(t("core","Error while updating device token scope")),n.scope[e]=i,o}))},rename(n,e){console.debug("renaming app token",n.id,n.name,e);const o=n.name;return n.name=e,this.updateToken(n).then(S((()=>console.debug("app token name updated")))).catch((e=>{console.error.bind("could not update app token name",e),OC.Notification.showTemporary(t("core","Error while updating device token name")),n.name=o}))},updateToken(n){return d.default.put(this.baseUrl+"/"+n.id,n).then((n=>n.data))},deleteToken(n){return console.debug("deleting app token",n),this.tokens=this.tokens.filter((t=>t!==n)),d.default.delete(this.baseUrl+"/"+n.id).then((n=>n.data)).then(S((()=>console.debug("app token deleted")))).catch((e=>{console.error.bind("could not delete app token",e),OC.Notification.showTemporary(t("core","Error while deleting the token")),this.tokens.push(n)}))},async wipeToken(n){console.debug("wiping app token",n);try{if(await l()(),!await new Promise((n=>{OC.dialogs.confirm(t("settings","Do you really want to wipe your data from this device?"),t("settings","Confirm wipe"),n,!0)})))return void console.debug("wipe aborted by user");await d.default.post(this.baseUrl+"/wipe/"+n.id),console.debug("app token marked for wipe"),n.type=2}catch(n){console.error("could not wipe app token",n),OC.Notification.showTemporary(t("core","Error while wiping the device with the token"))}}}},D=(0,f.Z)(P,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",{staticClass:"section",attrs:{id:"security"}},[e("h2",[n._v(n._s(n.t("settings","Devices & sessions",{},void 0,{sanitize:!1})))]),n._v(" "),e("p",{staticClass:"settings-hint hidden-when-empty"},[n._v("\n\t\t"+n._s(n.t("settings","Web, desktop and mobile clients currently logged in to your account."))+"\n\t")]),n._v(" "),e("AuthTokenList",{attrs:{tokens:n.tokens},on:{toggleScope:n.toggleTokenScope,rename:n.rename,delete:n.deleteToken,wipe:n.wipeToken}}),n._v(" "),n.canCreateToken?e("AuthTokenSetupDialogue",{attrs:{add:n.addNewToken}}):n._e()],1)}),[],!1,null,"58d190ac",null).exports;o.nc=btoa(OC.requestToken),a.default.use(r()),a.default.use(p.default,{defaultHtml:!1}),a.default.prototype.t=t,new(a.default.extend(D))({propsData:{tokens:(0,i.loadState)("settings","app_tokens"),canCreateToken:(0,i.loadState)("settings","can_create_app_token")}}).$mount("#security-authtokens")},22209:(n,t,e)=>{e.d(t,{Z:()=>r});var o=e(94015),i=e.n(o),a=e(23645),s=e.n(a)()(i());s.push([n.id,".wiping[data-v-3280a606]{background-color:var(--color-background-darker)}td[data-v-3280a606]{border-top:1px solid var(--color-border);max-width:200px;white-space:normal;vertical-align:middle;position:relative}td.client[data-v-3280a606],td.more[data-v-3280a606]{overflow:visible;position:relative;width:44px;height:44px}td.token-name[data-v-3280a606]{padding:10px 6px}td.token-name.token-rename[data-v-3280a606]{padding:0}td.token-name input[data-v-3280a606]{width:100%;margin:0}td.token-name .wiping-warning[data-v-3280a606]{color:var(--color-text-lighter)}td.more[data-v-3280a606]{padding:0 10px}td.client div[data-v-3280a606]{opacity:.57;width:44px;height:44px}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthToken.vue"],names:[],mappings:"AAiQA,yBACC,+CAAA,CAGD,oBACC,wCAAA,CACA,eAAA,CACA,kBAAA,CACA,qBAAA,CACA,iBAAA,CAEA,oDACC,gBAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CAGD,+BACC,gBAAA,CAEA,4CACC,SAAA,CAGD,qCACC,UAAA,CACA,QAAA,CAGF,+CACC,+BAAA,CAGD,yBAEC,cAAA,CAMA,+BACC,WAAA,CACA,UAAA,CACA,WAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.wiping {\n\tbackground-color: var(--color-background-darker);\n}\n\ntd {\n\tborder-top: 1px solid var(--color-border);\n\tmax-width: 200px;\n\twhite-space: normal;\n\tvertical-align: middle;\n\tposition: relative;\n\n\t&%icon {\n\t\toverflow: visible;\n\t\tposition: relative;\n\t\twidth: 44px;\n\t\theight: 44px;\n\t}\n\n\t&.token-name {\n\t\tpadding: 10px 6px;\n\n\t\t&.token-rename {\n\t\t\tpadding: 0;\n\t\t}\n\n\t\tinput {\n\t\t\twidth: 100%;\n\t\t\tmargin: 0;\n\t\t}\n\t}\n\t&.token-name .wiping-warning {\n\t\tcolor: var(--color-text-lighter);\n\t}\n\n\t&.more {\n\t\t@extend %icon;\n\t\tpadding: 0 10px;\n\t}\n\n\t&.client {\n\t\t@extend %icon;\n\n\t\tdiv {\n\t\t\topacity: 0.57;\n\t\t\twidth: 44px;\n\t\t\theight: 44px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const r=s},24061:(n,t,e)=>{e.d(t,{Z:()=>r});var o=e(94015),i=e.n(o),a=e(23645),s=e.n(a)()(i());s.push([n.id,"table[data-v-0c8e7146]{width:100%;min-height:50px;padding-top:5px;max-width:580px}table th[data-v-0c8e7146]{opacity:.5;padding:10px 10px 10px 0}.token-list td>a.icon-more[data-v-0c8e7146]{transition:opacity var(--animation-quick)}.token-list a.icon-more[data-v-0c8e7146]{padding:14px;display:block;width:44px;height:44px;opacity:.5}.token-list tr:hover td>a.icon[data-v-0c8e7146],.token-list tr td>a.icon[data-v-0c8e7146]:focus,.token-list tr.active td>a.icon[data-v-0c8e7146]{opacity:1}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenList.vue"],names:[],mappings:"AAwFA,uBACC,UAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CAEA,0BACC,UAAA,CACA,wBAAA,CAKD,4CACC,yCAAA,CAGD,yCACC,YAAA,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CAIA,iJAGC,SAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\ntable {\n\twidth: 100%;\n\tmin-height: 50px;\n\tpadding-top: 5px;\n\tmax-width: 580px;\n\n\tth {\n\t\topacity: .5;\n\t\tpadding: 10px 10px 10px 0;\n\t}\n}\n\n.token-list {\n\ttd > a.icon-more {\n\t\ttransition: opacity var(--animation-quick);\n\t}\n\n\ta.icon-more {\n\t\tpadding: 14px;\n\t\tdisplay: block;\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\topacity: .5;\n\t}\n\n\ttr {\n\t\t&:hover td > a.icon,\n\t\ttd > a.icon:focus,\n\t\t&.active td > a.icon {\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const r=s},47719:(n,t,e)=>{e.d(t,{Z:()=>r});var o=e(94015),i=e.n(o),a=e(23645),s=e.n(a)()(i());s.push([n.id,"#app-tokens-table tr>*:nth-child(2){padding-left:6px}#app-tokens-table tr>*:nth-child(3){text-align:right}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenList.vue"],names:[],mappings:"AA8HC,oCACC,gBAAA,CAGD,oCACC,gBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n#app-tokens-table {\n\ttr > *:nth-child(2) {\n\t\tpadding-left: 6px;\n\t}\n\n\ttr > *:nth-child(3) {\n\t\ttext-align: right;\n\t}\n}\n"],sourceRoot:""}]);const r=s},42103:(n,t,e)=>{e.d(t,{Z:()=>r});var o=e(94015),i=e.n(o),a=e(23645),s=e.n(a)()(i());s.push([n.id,".app-password-row[data-v-2a53687f]{display:table-row}.app-password-row .icon[data-v-2a53687f]{background-size:16px 16px;display:inline-block;position:relative;top:3px;margin-left:5px;margin-right:8px}.app-password-label[data-v-2a53687f]{display:table-cell;padding-right:1em;text-align:right;vertical-align:middle}.monospaced[data-v-2a53687f]{width:245px;font-family:monospace}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenSetupDialogue.vue"],names:[],mappings:"AAoLA,mCACC,iBAAA,CAEA,yCACC,yBAAA,CACA,oBAAA,CACA,iBAAA,CACA,OAAA,CACA,eAAA,CACA,gBAAA,CAKF,qCACC,kBAAA,CACA,iBAAA,CACA,gBAAA,CACA,qBAAA,CAGD,6BACC,WAAA,CACA,qBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.app-password-row {\n\tdisplay: table-row;\n\n\t.icon {\n\t\tbackground-size: 16px 16px;\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t\ttop: 3px;\n\t\tmargin-left: 5px;\n\t\tmargin-right: 8px;\n\t}\n\n}\n\n.app-password-label {\n\tdisplay: table-cell;\n\tpadding-right: 1em;\n\ttext-align: right;\n\tvertical-align: middle;\n}\n\n.monospaced {\n\twidth: 245px;\n\tfont-family: monospace;\n}\n"],sourceRoot:""}]);const r=s}},o={};function i(n){var t=o[n];if(void 0!==t)return t.exports;var a=o[n]={id:n,loaded:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}i.m=e,i.amdD=function(){throw new Error("define cannot be used indirect")},i.amdO={},n=[],i.O=(t,e,o,a)=>{if(!e){var s=1/0;for(c=0;c<n.length;c++){e=n[c][0],o=n[c][1],a=n[c][2];for(var r=!0,p=0;p<e.length;p++)(!1&a||s>=a)&&Object.keys(i.O).every((n=>i.O[n](e[p])))?e.splice(p--,1):(r=!1,a<s&&(s=a));if(r){n.splice(c--,1);var d=o();void 0!==d&&(t=d)}}return t}a=a||0;for(var c=n.length;c>0&&n[c-1][2]>a;c--)n[c]=n[c-1];n[c]=[e,o,a]},i.n=n=>{var t=n&&n.__esModule?()=>n.default:()=>n;return i.d(t,{a:t}),t},i.d=(n,t)=>{for(var e in t)i.o(t,e)&&!i.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:t[e]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),i.o=(n,t)=>Object.prototype.hasOwnProperty.call(n,t),i.r=n=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},i.nmd=n=>(n.paths=[],n.children||(n.children=[]),n),i.j=783,(()=>{var n={783:0};i.O.j=t=>0===n[t];var t=(t,e)=>{var o,a,s=e[0],r=e[1],p=e[2],d=0;if(s.some((t=>0!==n[t]))){for(o in r)i.o(r,o)&&(i.m[o]=r[o]);if(p)var c=p(i)}for(t&&t(e);d<s.length;d++)a=s[d],i.o(n,a)&&n[a]&&n[a][0](),n[s[d]]=0;return i.O(c)},e=self.webpackChunknextcloud=self.webpackChunknextcloud||[];e.forEach(t.bind(null,0)),e.push=t.bind(null,e.push.bind(e))})();var a=i.O(void 0,[820],(()=>i(60062)));a=i.O(a)})();
-//# sourceMappingURL=settings-vue-settings-personal-security.js.map?v=0d3f645eddb0cf717087 \ No newline at end of file
+(()=>{"use strict";var n,e={60062:(n,e,o)=>{var i=o(16453),a=o(20144),s=o(72268),r=o.n(s),p=o(34741),d=o(4820),c=o(10128),l=o.n(c),u=o(79753),A=o(33476);const h={ie:/(?:MSIE|Trident|Trident\/7.0; rv)[ :](\d+)/,edge:/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/[0-9.]+ (?:Mobile Safari|Safari)\/[0-9.]+ Edge\/[0-9.]+$/,firefox:/^Mozilla\/5\.0 \([^)]*(Windows|OS X|Linux)[^)]+\) Gecko\/[0-9.]+ Firefox\/(\d+)(?:\.\d)?$/,chrome:/^Mozilla\/5\.0 \([^)]*(Windows|OS X|Linux)[^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/(\d+)[0-9.]+ (?:Mobile Safari|Safari)\/[0-9.]+$/,safari:/^Mozilla\/5\.0 \([^)]*(Windows|OS X)[^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\)(?: Version\/([0-9]+)[0-9.]+)? Safari\/[0-9.A-Z]+$/,androidChrome:/Android.*(?:; (.*) Build\/).*Chrome\/(\d+)[0-9.]+/,iphone:/ *CPU +iPhone +OS +([0-9]+)_(?:[0-9_])+ +like +Mac +OS +X */,ipad:/\(iPad; *CPU +OS +([0-9]+)_(?:[0-9_])+ +like +Mac +OS +X */,iosClient:/^Mozilla\/5\.0 \(iOS\) (?:ownCloud|Nextcloud)-iOS.*$/,androidClient:/^Mozilla\/5\.0 \(Android\) ownCloud-android.*$/,iosTalkClient:/^Mozilla\/5\.0 \(iOS\) Nextcloud-Talk.*$/,androidTalkClient:/^Mozilla\/5\.0 \(Android\) Nextcloud-Talk.*$/,davx5:/DAV(?:droid|x5)\/([^ ]+)/,webPirate:/(Sailfish).*WebPirate\/(\d+)/,sailfishBrowser:/(Sailfish).*SailfishBrowser\/(\d+)/},m={ie:t("setting","Internet Explorer"),edge:t("setting","Edge"),firefox:t("setting","Firefox"),chrome:t("setting","Google Chrome"),safari:t("setting","Safari"),androidChrome:t("setting","Google Chrome for Android"),iphone:t("setting","iPhone"),ipad:t("setting","iPad"),iosClient:t("setting","{productName} iOS app",{productName:window.oc_defaults.productName}),androidClient:t("setting","{productName} Android app",{productName:window.oc_defaults.productName}),iosTalkClient:t("setting","{productName} Talk for iOS",{productName:window.oc_defaults.productName}),androidTalkClient:t("setting","{productName} Talk for Android",{productName:window.oc_defaults.productName}),davx5:"DAVx5",webPirate:"WebPirate",sailfishBrowser:"SailfishBrowser"},g={ie:"icon-desktop",edge:"icon-desktop",firefox:"icon-desktop",chrome:"icon-desktop",safari:"icon-desktop",androidChrome:"icon-phone",iphone:"icon-phone",ipad:"icon-tablet",iosClient:"icon-phone",androidClient:"icon-phone",iosTalkClient:"icon-phone",androidTalkClient:"icon-phone",davx5:"icon-phone",webPirate:"icon-link",sailfishBrowser:"icon-link"},v={name:"AuthToken",components:{Actions:A.Actions,ActionButton:A.ActionButton,ActionCheckbox:A.ActionCheckbox},props:{token:{type:Object,required:!0}},data(){return{showMore:this.token.canScope||this.token.canDelete,renaming:!1,newName:"",actionOpen:!1}},computed:{lastActivityRelative(){return OC.Util.relativeModifiedDate(1e3*this.token.lastActivity)},lastActivity(){return OC.Util.formatDate(1e3*this.token.lastActivity,"LLL")},iconName(){const n=this.token.name.match(/Mozilla\/5\.0 \((\w+)\) (?:mirall|csyncoC)\/(\d+\.\d+\.\d+)/);let e="";n&&(this.token.name=t("settings","Sync client - {os}",{os:n[1],version:n[2]}),e="icon-desktop");const o=this.token.name;let i=this.token.name;for(const n in h){const t=o.match(h[n]);t&&(i=t[2]&&t[1]?m[n]+" "+t[2]+" - "+t[1]:t[1]?m[n]+" "+t[1]:m[n],e=g[n])}return this.token.current&&(i=t("settings","This session")),{icon:e,name:i}},wiping(){return 2===this.token.type}},methods:{startRename(){this.actionOpen=!1,this.newName=this.token.name,this.renaming=!0,this.$nextTick((()=>{this.$refs.input.select()}))},cancelRename(){this.renaming=!1},revoke(){this.actionOpen=!1,this.$emit("delete",this.token)},rename(){this.renaming=!1,this.$emit("rename",this.token,this.newName)},wipe(){this.actionOpen=!1,this.$emit("wipe",this.token)}}};var C=o(93379),k=o.n(C),w=o(22209);k()(w.Z,{insert:"head",singleton:!1}),w.Z.locals;var f=o(51900);const y={name:"AuthTokenList",components:{AuthToken:(0,f.Z)(v,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("tr",{class:n.wiping,attrs:{"data-id":n.token.id}},[e("td",{staticClass:"client"},[e("div",{class:n.iconName.icon})]),n._v(" "),e("td",{staticClass:"token-name"},[n.token.canRename&&n.renaming?e("input",{directives:[{name:"model",rawName:"v-model",value:n.newName,expression:"newName"}],ref:"input",attrs:{type:"text"},domProps:{value:n.newName},on:{keyup:[function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"enter",13,t.key,"Enter")?null:n.rename.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:n.cancelRename.apply(null,arguments)}],blur:n.cancelRename,input:function(t){t.target.composing||(n.newName=t.target.value)}}}):e("span",[n._v(n._s(n.iconName.name))]),n._v(" "),n.wiping?e("span",{staticClass:"wiping-warning"},[n._v("("+n._s(n.t("settings","Marked for remote wipe"))+")")]):n._e()]),n._v(" "),e("td",[e("span",{directives:[{name:"tooltip",rawName:"v-tooltip",value:n.lastActivity,expression:"lastActivity"}],staticClass:"last-activity"},[n._v(n._s(n.lastActivityRelative))])]),n._v(" "),e("td",{staticClass:"more"},[n.token.current?n._e():e("Actions",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:{content:n.t("settings","Device settings"),container:"body"},expression:"{\n\t\t\t\tcontent: t('settings', 'Device settings'),\n\t\t\t\tcontainer: 'body'\n\t\t\t}",modifiers:{auto:!0}}],attrs:{open:n.actionOpen},on:{"update:open":function(t){n.actionOpen=t}}},[1===n.token.type?e("ActionCheckbox",{attrs:{checked:n.token.scope.filesystem},on:{change:function(t){return t.stopPropagation(),t.preventDefault(),n.$emit("toggle-scope",n.token,"filesystem",!n.token.scope.filesystem)}}},[n._v("\n\t\t\t\t"+n._s(n.t("settings","Allow filesystem access"))+"\n\t\t\t")]):n._e(),n._v(" "),n.token.canRename?e("ActionButton",{attrs:{icon:"icon-rename"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.startRename.apply(null,arguments)}}},[n._v("\n\t\t\t\t"+n._s(n.t("settings","Rename"))+"\n\t\t\t")]):n._e(),n._v(" "),n.token.canDelete?[2!==n.token.type?[e("ActionButton",{attrs:{icon:"icon-delete"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.revoke.apply(null,arguments)}}},[n._v("\n\t\t\t\t\t\t"+n._s(n.t("settings","Revoke"))+"\n\t\t\t\t\t")]),n._v(" "),e("ActionButton",{attrs:{icon:"icon-delete"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.wipe.apply(null,arguments)}}},[n._v("\n\t\t\t\t\t\t"+n._s(n.t("settings","Wipe device"))+"\n\t\t\t\t\t")])]:2===n.token.type?e("ActionButton",{attrs:{icon:"icon-delete",title:n.t("settings","Revoke")},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.revoke.apply(null,arguments)}}},[n._v("\n\t\t\t\t\t"+n._s(n.t("settings","Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet."))+"\n\t\t\t\t")]):n._e()]:n._e()],2)],1)])}),[],!1,null,"3280a606",null).exports},props:{tokens:{type:Array,required:!0}},computed:{sortedTokens(){return this.tokens.slice().sort(((n,t)=>{const e=parseInt(n.lastActivity,10);return parseInt(t.lastActivity,10)-e}))}},methods:{toggleScope(n,t,e){this.$emit("toggle-scope",n,t,e)},rename(n,t){this.$emit("rename",n,t)},onDelete(n){this.$emit("delete",n)},onWipe(n){this.$emit("wipe",n)}}};var b=o(24061);k()(b.Z,{insert:"head",singleton:!1}),b.Z.locals;var x=o(47719);k()(x.Z,{insert:"head",singleton:!1}),x.Z.locals;const _=(0,f.Z)(y,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("table",{attrs:{id:"app-tokens-table"}},[n.tokens.length?e("thead",[e("tr",[e("th"),n._v(" "),e("th",[n._v(n._s(n.t("settings","Device")))]),n._v(" "),e("th",[n._v(n._s(n.t("settings","Last activity")))]),n._v(" "),e("th")])]):n._e(),n._v(" "),e("tbody",{staticClass:"token-list"},n._l(n.sortedTokens,(function(t){return e("AuthToken",{key:t.id,attrs:{token:t},on:{toggleScope:n.toggleScope,rename:n.rename,delete:n.onDelete,wipe:n.onWipe}})})),1)])}),[],!1,null,"0c8e7146",null).exports;var T=o(147);const N={name:"AuthTokenSetupDialogue",components:{QR:o.n(T)()},props:{add:{type:Function,required:!0}},data:()=>({adding:!1,loading:!1,deviceName:"",appPassword:"",loginName:"",passwordCopied:!1,showQR:!1,qrUrl:"",hoveringCopyButton:!1}),computed:{copyTooltipOptions(){const n={hideOnTargetClick:!1,trigger:"manual"};return this.passwordCopied?{...n,content:t("core","Copied!"),show:!0}:{...n,content:t("core","Copy"),show:this.hoveringCopyButton}}},methods:{selectInput(n){n.currentTarget.select()},submit(){l()().then((()=>(this.loading=!0,this.add(this.deviceName)))).then((n=>{this.adding=!0,this.loginName=n.loginName,this.appPassword=n.token;const t=window.location.protocol+"//"+window.location.host+(0,u.getRootUrl)();this.qrUrl="nc://login/user:".concat(n.loginName,"&password:").concat(n.token,"&server:").concat(t),this.$nextTick((()=>{this.$refs.appPassword.select()}))})).catch((n=>{console.error("could not create a new app password",n),OC.Notification.showTemporary(t("core","Error while creating device token")),this.reset()}))},onCopyPassword(){this.passwordCopied=!0,this.$refs.clipboardButton.blur(),setTimeout((()=>{this.passwordCopied=!1}),3e3)},onCopyPasswordFailed(){OC.Notification.showTemporary(t("core","Could not copy app password. Please copy it manually."))},reset(){this.adding=!1,this.loading=!1,this.showQR=!1,this.qrUrl="",this.deviceName="",this.appPassword="",this.loginName=""}}};var O=o(42103);k()(O.Z,{insert:"head",singleton:!1}),O.Z.locals;const B=(0,f.Z)(N,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return n.adding?e("div",[n._v("\n\t"+n._s(n.t("settings","Use the credentials below to configure your app or device."))+"\n\t"+n._s(n.t("settings","For security reasons this password will only be shown once."))+"\n\t"),e("div",{staticClass:"app-password-row"},[e("span",{staticClass:"app-password-label"},[n._v(n._s(n.t("settings","Username")))]),n._v(" "),e("input",{staticClass:"monospaced",attrs:{type:"text",readonly:"readonly"},domProps:{value:n.loginName},on:{focus:n.selectInput}})]),n._v(" "),e("div",{staticClass:"app-password-row"},[e("span",{staticClass:"app-password-label"},[n._v(n._s(n.t("settings","Password")))]),n._v(" "),e("input",{ref:"appPassword",staticClass:"monospaced",attrs:{type:"text",readonly:"readonly"},domProps:{value:n.appPassword},on:{focus:n.selectInput}}),n._v(" "),e("a",{directives:[{name:"tooltip",rawName:"v-tooltip",value:n.copyTooltipOptions,expression:"copyTooltipOptions"},{name:"clipboard",rawName:"v-clipboard:copy",value:n.appPassword,expression:"appPassword",arg:"copy"},{name:"clipboard",rawName:"v-clipboard:success",value:n.onCopyPassword,expression:"onCopyPassword",arg:"success"},{name:"clipboard",rawName:"v-clipboard:error",value:n.onCopyPasswordFailed,expression:"onCopyPasswordFailed",arg:"error"}],ref:"clipboardButton",staticClass:"icon icon-clippy",on:{mouseover:function(t){n.hoveringCopyButton=!0},mouseleave:function(t){n.hoveringCopyButton=!1}}}),n._v(" "),e("button",{staticClass:"button",on:{click:n.reset}},[n._v("\n\t\t\t"+n._s(n.t("settings","Done"))+"\n\t\t")])]),n._v(" "),e("div",{staticClass:"app-password-row"},[e("span",{staticClass:"app-password-label"}),n._v(" "),n.showQR?e("QR",{attrs:{value:n.qrUrl}}):e("a",{on:{click:function(t){n.showQR=!0}}},[n._v("\n\t\t\t"+n._s(n.t("settings","Show QR code for mobile apps"))+"\n\t\t")])],1)]):e("div",[e("input",{directives:[{name:"model",rawName:"v-model",value:n.deviceName,expression:"deviceName"}],attrs:{type:"text",disabled:n.loading,placeholder:n.t("settings","App name")},domProps:{value:n.deviceName},on:{keydown:function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"enter",13,t.key,"Enter")?null:n.submit.apply(null,arguments)},input:function(t){t.target.composing||(n.deviceName=t.target.value)}}}),n._v(" "),e("button",{staticClass:"button",attrs:{disabled:n.loading},on:{click:n.submit}},[n._v("\n\t\t"+n._s(n.t("settings","Create new app password"))+"\n\t")])])}),[],!1,null,"2a53687f",null).exports,S=n=>t=>(n(t),t),P={name:"AuthTokenSection",components:{AuthTokenSetupDialogue:B,AuthTokenList:_},props:{tokens:{type:Array,required:!0},canCreateToken:{type:Boolean,required:!0}},data:()=>({baseUrl:(0,u.generateUrl)("/settings/personal/authtokens")}),methods:{addNewToken(n){console.debug("creating a new app token",n);const e={name:n};return d.default.post(this.baseUrl,e).then((n=>n.data)).then(S((()=>console.debug("app token created")))).then(S((n=>this.tokens.push(n.deviceToken)))).catch((n=>{throw console.error.bind("could not create app password",n),OC.Notification.showTemporary(t("core","Error while creating device token")),n}))},toggleTokenScope(n,e,o){console.debug("updating app token scope",n.id,e,o);const i=n.scope[e];return n.scope[e]=o,this.updateToken(n).then(S((()=>console.debug("app token scope updated")))).catch((o=>{throw console.error.bind("could not update app token scope",o),OC.Notification.showTemporary(t("core","Error while updating device token scope")),n.scope[e]=i,o}))},rename(n,e){console.debug("renaming app token",n.id,n.name,e);const o=n.name;return n.name=e,this.updateToken(n).then(S((()=>console.debug("app token name updated")))).catch((e=>{console.error.bind("could not update app token name",e),OC.Notification.showTemporary(t("core","Error while updating device token name")),n.name=o}))},updateToken(n){return d.default.put(this.baseUrl+"/"+n.id,n).then((n=>n.data))},deleteToken(n){return console.debug("deleting app token",n),this.tokens=this.tokens.filter((t=>t!==n)),d.default.delete(this.baseUrl+"/"+n.id).then((n=>n.data)).then(S((()=>console.debug("app token deleted")))).catch((e=>{console.error.bind("could not delete app token",e),OC.Notification.showTemporary(t("core","Error while deleting the token")),this.tokens.push(n)}))},async wipeToken(n){console.debug("wiping app token",n);try{if(await l()(),!await new Promise((n=>{OC.dialogs.confirm(t("settings","Do you really want to wipe your data from this device?"),t("settings","Confirm wipe"),n,!0)})))return void console.debug("wipe aborted by user");await d.default.post(this.baseUrl+"/wipe/"+n.id),console.debug("app token marked for wipe"),n.type=2}catch(n){console.error("could not wipe app token",n),OC.Notification.showTemporary(t("core","Error while wiping the device with the token"))}}}},D=(0,f.Z)(P,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",{staticClass:"section",attrs:{id:"security"}},[e("h2",[n._v(n._s(n.t("settings","Devices & sessions",{},void 0,{sanitize:!1})))]),n._v(" "),e("p",{staticClass:"settings-hint hidden-when-empty"},[n._v("\n\t\t"+n._s(n.t("settings","Web, desktop and mobile clients currently logged in to your account."))+"\n\t")]),n._v(" "),e("AuthTokenList",{attrs:{tokens:n.tokens},on:{toggleScope:n.toggleTokenScope,rename:n.rename,delete:n.deleteToken,wipe:n.wipeToken}}),n._v(" "),n.canCreateToken?e("AuthTokenSetupDialogue",{attrs:{add:n.addNewToken}}):n._e()],1)}),[],!1,null,"58d190ac",null).exports;o.nc=btoa(OC.requestToken),a.default.use(r()),a.default.use(p.default,{defaultHtml:!1}),a.default.prototype.t=t,new(a.default.extend(D))({propsData:{tokens:(0,i.loadState)("settings","app_tokens"),canCreateToken:(0,i.loadState)("settings","can_create_app_token")}}).$mount("#security-authtokens")},22209:(n,t,e)=>{e.d(t,{Z:()=>r});var o=e(94015),i=e.n(o),a=e(23645),s=e.n(a)()(i());s.push([n.id,".wiping[data-v-3280a606]{background-color:var(--color-background-darker)}td[data-v-3280a606]{border-top:1px solid var(--color-border);max-width:200px;white-space:normal;vertical-align:middle;position:relative}td.client[data-v-3280a606],td.more[data-v-3280a606]{overflow:visible;position:relative;width:44px;height:44px}td.token-name[data-v-3280a606]{padding:10px 6px}td.token-name.token-rename[data-v-3280a606]{padding:0}td.token-name input[data-v-3280a606]{width:100%;margin:0}td.token-name .wiping-warning[data-v-3280a606]{color:var(--color-text-lighter)}td.more[data-v-3280a606]{padding:0 10px}td.client div[data-v-3280a606]{opacity:.57;width:44px;height:44px}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthToken.vue"],names:[],mappings:"AAiQA,yBACC,+CAAA,CAGD,oBACC,wCAAA,CACA,eAAA,CACA,kBAAA,CACA,qBAAA,CACA,iBAAA,CAEA,oDACC,gBAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CAGD,+BACC,gBAAA,CAEA,4CACC,SAAA,CAGD,qCACC,UAAA,CACA,QAAA,CAGF,+CACC,+BAAA,CAGD,yBAEC,cAAA,CAMA,+BACC,WAAA,CACA,UAAA,CACA,WAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.wiping {\n\tbackground-color: var(--color-background-darker);\n}\n\ntd {\n\tborder-top: 1px solid var(--color-border);\n\tmax-width: 200px;\n\twhite-space: normal;\n\tvertical-align: middle;\n\tposition: relative;\n\n\t&%icon {\n\t\toverflow: visible;\n\t\tposition: relative;\n\t\twidth: 44px;\n\t\theight: 44px;\n\t}\n\n\t&.token-name {\n\t\tpadding: 10px 6px;\n\n\t\t&.token-rename {\n\t\t\tpadding: 0;\n\t\t}\n\n\t\tinput {\n\t\t\twidth: 100%;\n\t\t\tmargin: 0;\n\t\t}\n\t}\n\t&.token-name .wiping-warning {\n\t\tcolor: var(--color-text-lighter);\n\t}\n\n\t&.more {\n\t\t@extend %icon;\n\t\tpadding: 0 10px;\n\t}\n\n\t&.client {\n\t\t@extend %icon;\n\n\t\tdiv {\n\t\t\topacity: 0.57;\n\t\t\twidth: 44px;\n\t\t\theight: 44px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const r=s},24061:(n,t,e)=>{e.d(t,{Z:()=>r});var o=e(94015),i=e.n(o),a=e(23645),s=e.n(a)()(i());s.push([n.id,"table[data-v-0c8e7146]{width:100%;min-height:50px;padding-top:5px;max-width:580px}table th[data-v-0c8e7146]{opacity:.5;padding:10px 10px 10px 0}.token-list td>a.icon-more[data-v-0c8e7146]{transition:opacity var(--animation-quick)}.token-list a.icon-more[data-v-0c8e7146]{padding:14px;display:block;width:44px;height:44px;opacity:.5}.token-list tr:hover td>a.icon[data-v-0c8e7146],.token-list tr td>a.icon[data-v-0c8e7146]:focus,.token-list tr.active td>a.icon[data-v-0c8e7146]{opacity:1}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenList.vue"],names:[],mappings:"AAwFA,uBACC,UAAA,CACA,eAAA,CACA,eAAA,CACA,eAAA,CAEA,0BACC,UAAA,CACA,wBAAA,CAKD,4CACC,yCAAA,CAGD,yCACC,YAAA,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CAIA,iJAGC,SAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\ntable {\n\twidth: 100%;\n\tmin-height: 50px;\n\tpadding-top: 5px;\n\tmax-width: 580px;\n\n\tth {\n\t\topacity: .5;\n\t\tpadding: 10px 10px 10px 0;\n\t}\n}\n\n.token-list {\n\ttd > a.icon-more {\n\t\ttransition: opacity var(--animation-quick);\n\t}\n\n\ta.icon-more {\n\t\tpadding: 14px;\n\t\tdisplay: block;\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\topacity: .5;\n\t}\n\n\ttr {\n\t\t&:hover td > a.icon,\n\t\ttd > a.icon:focus,\n\t\t&.active td > a.icon {\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const r=s},47719:(n,t,e)=>{e.d(t,{Z:()=>r});var o=e(94015),i=e.n(o),a=e(23645),s=e.n(a)()(i());s.push([n.id,"#app-tokens-table tr>*:nth-child(2){padding-left:6px}#app-tokens-table tr>*:nth-child(3){text-align:right}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenList.vue"],names:[],mappings:"AA8HC,oCACC,gBAAA,CAGD,oCACC,gBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n#app-tokens-table {\n\ttr > *:nth-child(2) {\n\t\tpadding-left: 6px;\n\t}\n\n\ttr > *:nth-child(3) {\n\t\ttext-align: right;\n\t}\n}\n"],sourceRoot:""}]);const r=s},42103:(n,t,e)=>{e.d(t,{Z:()=>r});var o=e(94015),i=e.n(o),a=e(23645),s=e.n(a)()(i());s.push([n.id,".app-password-row[data-v-2a53687f]{display:table-row}.app-password-row .icon[data-v-2a53687f]{background-size:16px 16px;display:inline-block;position:relative;top:3px;margin-left:5px;margin-right:8px}.app-password-label[data-v-2a53687f]{display:table-cell;padding-right:1em;text-align:right;vertical-align:middle}.monospaced[data-v-2a53687f]{width:245px;font-family:monospace}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenSetupDialogue.vue"],names:[],mappings:"AAoLA,mCACC,iBAAA,CAEA,yCACC,yBAAA,CACA,oBAAA,CACA,iBAAA,CACA,OAAA,CACA,eAAA,CACA,gBAAA,CAKF,qCACC,kBAAA,CACA,iBAAA,CACA,gBAAA,CACA,qBAAA,CAGD,6BACC,WAAA,CACA,qBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.app-password-row {\n\tdisplay: table-row;\n\n\t.icon {\n\t\tbackground-size: 16px 16px;\n\t\tdisplay: inline-block;\n\t\tposition: relative;\n\t\ttop: 3px;\n\t\tmargin-left: 5px;\n\t\tmargin-right: 8px;\n\t}\n\n}\n\n.app-password-label {\n\tdisplay: table-cell;\n\tpadding-right: 1em;\n\ttext-align: right;\n\tvertical-align: middle;\n}\n\n.monospaced {\n\twidth: 245px;\n\tfont-family: monospace;\n}\n"],sourceRoot:""}]);const r=s}},o={};function i(n){var t=o[n];if(void 0!==t)return t.exports;var a=o[n]={id:n,loaded:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}i.m=e,i.amdD=function(){throw new Error("define cannot be used indirect")},i.amdO={},n=[],i.O=(t,e,o,a)=>{if(!e){var s=1/0;for(c=0;c<n.length;c++){e=n[c][0],o=n[c][1],a=n[c][2];for(var r=!0,p=0;p<e.length;p++)(!1&a||s>=a)&&Object.keys(i.O).every((n=>i.O[n](e[p])))?e.splice(p--,1):(r=!1,a<s&&(s=a));if(r){n.splice(c--,1);var d=o();void 0!==d&&(t=d)}}return t}a=a||0;for(var c=n.length;c>0&&n[c-1][2]>a;c--)n[c]=n[c-1];n[c]=[e,o,a]},i.n=n=>{var t=n&&n.__esModule?()=>n.default:()=>n;return i.d(t,{a:t}),t},i.d=(n,t)=>{for(var e in t)i.o(t,e)&&!i.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:t[e]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),i.o=(n,t)=>Object.prototype.hasOwnProperty.call(n,t),i.r=n=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},i.nmd=n=>(n.paths=[],n.children||(n.children=[]),n),i.j=783,(()=>{var n={783:0};i.O.j=t=>0===n[t];var t=(t,e)=>{var o,a,s=e[0],r=e[1],p=e[2],d=0;if(s.some((t=>0!==n[t]))){for(o in r)i.o(r,o)&&(i.m[o]=r[o]);if(p)var c=p(i)}for(t&&t(e);d<s.length;d++)a=s[d],i.o(n,a)&&n[a]&&n[a][0](),n[s[d]]=0;return i.O(c)},e=self.webpackChunknextcloud=self.webpackChunknextcloud||[];e.forEach(t.bind(null,0)),e.push=t.bind(null,e.push.bind(e))})();var a=i.O(void 0,[874],(()=>i(60062)));a=i.O(a)})();
+//# sourceMappingURL=settings-vue-settings-personal-security.js.map?v=0486161ad28e7d8cd5be \ No newline at end of file