chore(files_sharing): lint & refactor fixes

Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
pull/46007/head
skjnldsv 2024-07-12 15:11:10 +07:00 committed by John Molakvoæ
parent 9b84831c8d
commit df42a10e56
22 changed files with 34 additions and 33 deletions

@ -24,7 +24,7 @@ export const getQueue = () => {
} }
type ShareAttribute = { type ShareAttribute = {
value: any value: boolean|string|number|null|object|Array<unknown>
key: string key: string
scope: string scope: string
} }

@ -2059,7 +2059,7 @@ class ShareAPIController extends OCSController {
* Send a mail notification again for a share. * Send a mail notification again for a share.
* The mail_send option must be enabled for the given share. * The mail_send option must be enabled for the given share.
* @param string $id the share ID * @param string $id the share ID
* @param string $password optional, the password to check against. Necessary for password protected shares. * @param string $password the password to check against. Necessary for password protected shares.
* @throws OCSNotFoundException Share not found * @throws OCSNotFoundException Share not found
* @throws OCSForbiddenException You are not allowed to send mail notifications * @throws OCSForbiddenException You are not allowed to send mail notifications
* @throws OCSBadRequestException Invalid request or wrong password * @throws OCSBadRequestException Invalid request or wrong password

@ -2562,7 +2562,7 @@
"password": { "password": {
"type": "string", "type": "string",
"default": "", "default": "",
"description": "optional, the password to check against. Necessary for password protected shares." "description": "the password to check against. Necessary for password protected shares."
} }
} }
} }

@ -14,7 +14,7 @@
<!-- Header --> <!-- Header -->
<NcNoteCard v-show="currentStep === STEP.FIRST" type="info" class="file-request-dialog__header"> <NcNoteCard v-show="currentStep === STEP.FIRST" type="info" class="file-request-dialog__header">
<p id="file-request-dialog-description" class="file-request-dialog__description"> <p id="file-request-dialog-description" class="file-request-dialog__description">
{{ t('files_sharing', 'Collect files from others even if they don\'t have an account.') }} {{ t('files_sharing', 'Collect files from others even if they do not have an account.') }}
{{ t('files_sharing', 'To ensure you can receive files, verify you have enough storage available.') }} {{ t('files_sharing', 'To ensure you can receive files, verify you have enough storage available.') }}
</p> </p>
</NcNoteCard> </NcNoteCard>
@ -103,8 +103,7 @@
</template> </template>
<script lang="ts"> <script lang="ts">
// eslint-disable-next-line n/no-extraneous-import import type { AxiosError } from '@nextcloud/axios'
import type { AxiosError } from 'axios'
import type { Folder, Node } from '@nextcloud/files' import type { Folder, Node } from '@nextcloud/files'
import type { OCSResponse } from '@nextcloud/typings/ocs' import type { OCSResponse } from '@nextcloud/typings/ocs'
import type { PropType } from 'vue' import type { PropType } from 'vue'
@ -112,7 +111,6 @@ import type { PropType } from 'vue'
import { defineComponent } from 'vue' import { defineComponent } from 'vue'
import { emit } from '@nextcloud/event-bus' import { emit } from '@nextcloud/event-bus'
import { generateOcsUrl } from '@nextcloud/router' import { generateOcsUrl } from '@nextcloud/router'
import { getCapabilities } from '@nextcloud/capabilities'
import { Permission } from '@nextcloud/files' import { Permission } from '@nextcloud/files'
import { ShareType } from '@nextcloud/sharing' import { ShareType } from '@nextcloud/sharing'
import { showError, showSuccess } from '@nextcloud/dialogs' import { showError, showSuccess } from '@nextcloud/dialogs'
@ -127,11 +125,12 @@ import NcNoteCard from '@nextcloud/vue/dist/Components/NcNoteCard.js'
import IconCheck from 'vue-material-design-icons/Check.vue' import IconCheck from 'vue-material-design-icons/Check.vue'
import IconNext from 'vue-material-design-icons/ArrowRight.vue' import IconNext from 'vue-material-design-icons/ArrowRight.vue'
import Config from '../services/ConfigService'
import FileRequestDatePassword from './NewFileRequestDialog/NewFileRequestDialogDatePassword.vue' import FileRequestDatePassword from './NewFileRequestDialog/NewFileRequestDialogDatePassword.vue'
import FileRequestFinish from './NewFileRequestDialog/NewFileRequestDialogFinish.vue' import FileRequestFinish from './NewFileRequestDialog/NewFileRequestDialogFinish.vue'
import FileRequestIntro from './NewFileRequestDialog/NewFileRequestDialogIntro.vue' import FileRequestIntro from './NewFileRequestDialog/NewFileRequestDialogIntro.vue'
import Share from '../models/Share'
import logger from '../services/logger' import logger from '../services/logger'
import Share from '../models/Share'
enum STEP { enum STEP {
FIRST = 0, FIRST = 0,
@ -139,6 +138,8 @@ enum STEP {
LAST = 2, LAST = 2,
} }
const sharingConfig = new Config()
export default defineComponent({ export default defineComponent({
name: 'NewFileRequestDialog', name: 'NewFileRequestDialog',
@ -172,7 +173,7 @@ export default defineComponent({
n: translatePlural, n: translatePlural,
t: translate, t: translate,
isShareByMailEnabled: getCapabilities()?.files_sharing?.sharebymail?.enabled === true, isShareByMailEnabled: sharingConfig.isMailShareAllowed,
} }
}, },
@ -310,7 +311,7 @@ export default defineComponent({
throw new Error('Share ID is missing') throw new Error('Share ID is missing')
} }
const shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares/' + this.share.id) const shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares/{id}', { id: this.share.id })
try { try {
// Convert link share to email share // Convert link share to email share
const request = await axios.put<OCSResponse>(shareUrl, { const request = await axios.put<OCSResponse>(shareUrl, {
@ -341,7 +342,7 @@ export default defineComponent({
throw new Error('Share ID is missing') throw new Error('Share ID is missing')
} }
const shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares/' + this.share.id + '/send-email') const shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares/{id}/send-email', { id: this.share.id })
try { try {
// Convert link share to email share // Convert link share to email share
const request = await axios.post<OCSResponse>(shareUrl, { const request = await axios.post<OCSResponse>(shareUrl, {

@ -17,7 +17,7 @@
</NcNoteCard> </NcNoteCard>
<!-- Enable expiration --> <!-- Enable expiration -->
<legend>{{ t('files_sharing', 'When should the request expire ?') }}</legend> <legend>{{ t('files_sharing', 'When should the request expire?') }}</legend>
<NcCheckboxRadioSwitch v-show="!defaultExpireDateEnforced" <NcCheckboxRadioSwitch v-show="!defaultExpireDateEnforced"
:checked="defaultExpireDateEnforced || expirationDate !== null" :checked="defaultExpireDateEnforced || expirationDate !== null"
:disabled="disabled || defaultExpireDateEnforced" :disabled="disabled || defaultExpireDateEnforced"
@ -47,7 +47,7 @@
</NcNoteCard> </NcNoteCard>
<!-- Enable password --> <!-- Enable password -->
<legend>{{ t('files_sharing', 'What password should be used for the request ?') }}</legend> <legend>{{ t('files_sharing', 'What password should be used for the request?') }}</legend>
<NcCheckboxRadioSwitch v-show="!enforcePasswordForPublicLink" <NcCheckboxRadioSwitch v-show="!enforcePasswordForPublicLink"
:checked="enforcePasswordForPublicLink || password !== null" :checked="enforcePasswordForPublicLink || password !== null"
:disabled="disabled || enforcePasswordForPublicLink" :disabled="disabled || enforcePasswordForPublicLink"

@ -59,7 +59,7 @@ import type { PropType } from 'vue'
import Share from '../../models/Share' import Share from '../../models/Share'
import { defineComponent } from 'vue' import { defineComponent } from 'vue'
import { generateUrl } from '@nextcloud/router' import { generateUrl, getBaseUrl } from '@nextcloud/router'
import { showError, showSuccess } from '@nextcloud/dialogs' import { showError, showSuccess } from '@nextcloud/dialogs'
import { translate, translatePlural } from '@nextcloud/l10n' import { translate, translatePlural } from '@nextcloud/l10n'
@ -118,7 +118,7 @@ export default defineComponent({
computed: { computed: {
shareLink() { shareLink() {
return window.location.protocol + '//' + window.location.host + generateUrl('/s/') + this.share.token return generateUrl('/s/{token}', { token: this.share.token }, { baseURL: getBaseUrl() })
}, },
}, },

@ -8,7 +8,7 @@
<!-- Request label --> <!-- Request label -->
<fieldset class="file-request-dialog__label" data-cy-file-request-dialog-fieldset="label"> <fieldset class="file-request-dialog__label" data-cy-file-request-dialog-fieldset="label">
<legend> <legend>
{{ t('files_sharing', 'What are you requesting ?') }} {{ t('files_sharing', 'What are you requesting?') }}
</legend> </legend>
<NcTextField :value="label" <NcTextField :value="label"
:disabled="disabled" :disabled="disabled"
@ -22,7 +22,7 @@
<!-- Request destination --> <!-- Request destination -->
<fieldset class="file-request-dialog__destination" data-cy-file-request-dialog-fieldset="destination"> <fieldset class="file-request-dialog__destination" data-cy-file-request-dialog-fieldset="destination">
<legend> <legend>
{{ t('files_sharing', 'Where should these files go ?') }} {{ t('files_sharing', 'Where should these files go?') }}
</legend> </legend>
<NcTextField :value="destination" <NcTextField :value="destination"
:disabled="disabled" :disabled="disabled"

2
dist/5693-5693.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
5693-5693.js.license

2
dist/6303-6303.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +0,0 @@
6303-6303.js.license

@ -1,2 +1,2 @@
!function(t){const i=function(t){const i=this;_.each(t,(function(t,e){_.isFunction(t)||(i[e]=t)})),_.isUndefined(this.id)||(this.id=parseInt(t.id,10)),this.path=t.path||"","dir"===this.type?this.mimetype="httpd/unix-directory":this.mimetype=this.mimetype||"application/octet-stream",this.type||("httpd/unix-directory"===this.mimetype?this.type="dir":this.type="file")};i.prototype={id:null,name:null,path:null,mimetype:null,icon:null,type:null,permissions:null,mtime:null,etag:null,mountType:null,hasPreview:!0,sharePermissions:null,shareAttributes:[],quotaAvailableBytes:-1,canDownload:function(){for(const t in this.shareAttributes){const i=this.shareAttributes[t];if("permissions"===i.scope&&"download"===i.key)return i.enabled}return!0}},t.Files||(t.Files={}),t.Files.FileInfo=i}(OC); !function(t){const i=function(t){const i=this;_.each(t,(function(t,e){_.isFunction(t)||(i[e]=t)})),_.isUndefined(this.id)||(this.id=parseInt(t.id,10)),this.path=t.path||"","dir"===this.type?this.mimetype="httpd/unix-directory":this.mimetype=this.mimetype||"application/octet-stream",this.type||("httpd/unix-directory"===this.mimetype?this.type="dir":this.type="file")};i.prototype={id:null,name:null,path:null,mimetype:null,icon:null,type:null,permissions:null,mtime:null,etag:null,mountType:null,hasPreview:!0,sharePermissions:null,shareAttributes:[],quotaAvailableBytes:-1,canDownload:function(){for(const t in this.shareAttributes){const i=this.shareAttributes[t];if("permissions"===i.scope&&"download"===i.key)return!0===i.value}return!0}},t.Files||(t.Files={}),t.Files.FileInfo=i}(OC);
//# sourceMappingURL=core-files_fileinfo.js.map?v=80d9cfb2471485e36856 //# sourceMappingURL=core-files_fileinfo.js.map?v=16f4586b2c1226dce4bb

@ -1 +1 @@
{"version":3,"file":"core-files_fileinfo.js?v=80d9cfb2471485e36856","mappings":"CAOA,SAAUA,GAUT,MAAMC,EAAW,SAASC,GACzB,MAAMC,EAAOC,KACbC,EAAEC,KAAKJ,GAAM,SAASK,EAAOC,GACvBH,EAAEI,WAAWF,KACjBJ,EAAKK,GAAOD,EAEd,IAEKF,EAAEK,YAAYN,KAAKO,MACvBP,KAAKO,GAAKC,SAASV,EAAKS,GAAI,KAI7BP,KAAKS,KAAOX,EAAKW,MAAQ,GAEP,QAAdT,KAAKU,KACRV,KAAKW,SAAW,uBAEhBX,KAAKW,SAAWX,KAAKW,UAAY,2BAG7BX,KAAKU,OACa,yBAAlBV,KAAKW,SACRX,KAAKU,KAAO,MAEZV,KAAKU,KAAO,OAGf,EAKAb,EAASe,UAAY,CAMpBL,GAAI,KAOJM,KAAM,KAQNJ,KAAM,KAONE,SAAU,KASVG,KAAM,KAQNJ,KAAM,KAQNK,YAAa,KAObC,MAAO,KAOPC,KAAM,KASNC,UAAW,KAKXC,YAAY,EAKZC,iBAAkB,KAKlBC,gBAAiB,GAEjBC,qBAAsB,EAEtBC,YAAa,WACZ,IAAK,MAAMC,KAAKxB,KAAKqB,gBAAiB,CACrC,MAAMI,EAAOzB,KAAKqB,gBAAgBG,GAClC,GAAmB,gBAAfC,EAAKC,OAAwC,aAAbD,EAAKrB,IACxC,OAAOqB,EAAKE,OAEd,CAEA,OAAO,CACR,GAGI/B,EAAGgC,QACPhC,EAAGgC,MAAQ,CAAC,GAEbhC,EAAGgC,MAAM/B,SAAWA,CACpB,CA1JD,CA0JGD","sources":["webpack:///nextcloud/core/src/files/fileinfo.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2016 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable */\n(function(OC) {\n\n\t/**\n\t * @class OC.Files.FileInfo\n\t * @classdesc File information\n\t *\n\t * @param {Object} data file data, see attributes for details\n\t *\n\t * @since 8.2\n\t */\n\tconst FileInfo = function(data) {\n\t\tconst self = this\n\t\t_.each(data, function(value, key) {\n\t\t\tif (!_.isFunction(value)) {\n\t\t\t\tself[key] = value\n\t\t\t}\n\t\t})\n\n\t\tif (!_.isUndefined(this.id)) {\n\t\t\tthis.id = parseInt(data.id, 10)\n\t\t}\n\n\t\t// TODO: normalize path\n\t\tthis.path = data.path || ''\n\n\t\tif (this.type === 'dir') {\n\t\t\tthis.mimetype = 'httpd/unix-directory'\n\t\t} else {\n\t\t\tthis.mimetype = this.mimetype || 'application/octet-stream'\n\t\t}\n\n\t\tif (!this.type) {\n\t\t\tif (this.mimetype === 'httpd/unix-directory') {\n\t\t\t\tthis.type = 'dir'\n\t\t\t} else {\n\t\t\t\tthis.type = 'file'\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @memberof OC.Files\n\t */\n\tFileInfo.prototype = {\n\t\t/**\n\t\t * File id\n\t\t *\n\t\t * @type int\n\t\t */\n\t\tid: null,\n\n\t\t/**\n\t\t * File name\n\t\t *\n\t\t * @type String\n\t\t */\n\t\tname: null,\n\n\t\t/**\n\t\t * Path leading to the file, without the file name,\n\t\t * and with a leading slash.\n\t\t *\n\t\t * @type String\n\t\t */\n\t\tpath: null,\n\n\t\t/**\n\t\t * Mime type\n\t\t *\n\t\t * @type String\n\t\t */\n\t\tmimetype: null,\n\n\t\t/**\n\t\t * Icon URL.\n\t\t *\n\t\t * Can be used to override the mime type icon.\n\t\t *\n\t\t * @type String\n\t\t */\n\t\ticon: null,\n\n\t\t/**\n\t\t * File type. 'file' for files, 'dir' for directories.\n\t\t *\n\t\t * @type String\n\t\t * @deprecated rely on mimetype instead\n\t\t */\n\t\ttype: null,\n\n\t\t/**\n\t\t * Permissions.\n\t\t *\n\t\t * @see OC#PERMISSION_ALL for permissions\n\t\t * @type int\n\t\t */\n\t\tpermissions: null,\n\n\t\t/**\n\t\t * Modification time\n\t\t *\n\t\t * @type int\n\t\t */\n\t\tmtime: null,\n\n\t\t/**\n\t\t * Etag\n\t\t *\n\t\t * @type String\n\t\t */\n\t\tetag: null,\n\n\t\t/**\n\t\t * Mount type.\n\t\t *\n\t\t * One of null, \"external-root\", \"shared\" or \"shared-root\"\n\t\t *\n\t\t * @type string\n\t\t */\n\t\tmountType: null,\n\n\t\t/**\n\t\t * @type boolean\n\t\t */\n\t\thasPreview: true,\n\n\t\t/**\n\t\t * @type int\n\t\t */\n\t\tsharePermissions: null,\n\n\t\t/**\n\t\t * @type Array\n\t\t */\n\t\tshareAttributes: [],\n\n\t\tquotaAvailableBytes: -1,\n\n\t\tcanDownload: function() {\n\t\t\tfor (const i in this.shareAttributes) {\n\t\t\t\tconst attr = this.shareAttributes[i]\n\t\t\t\tif (attr.scope === 'permissions' && attr.key === 'download') {\n\t\t\t\t\treturn attr.enabled\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true\n\t\t},\n\t}\n\n\tif (!OC.Files) {\n\t\tOC.Files = {}\n\t}\n\tOC.Files.FileInfo = FileInfo\n})(OC)\n"],"names":["OC","FileInfo","data","self","this","_","each","value","key","isFunction","isUndefined","id","parseInt","path","type","mimetype","prototype","name","icon","permissions","mtime","etag","mountType","hasPreview","sharePermissions","shareAttributes","quotaAvailableBytes","canDownload","i","attr","scope","enabled","Files"],"sourceRoot":""} {"version":3,"file":"core-files_fileinfo.js?v=16f4586b2c1226dce4bb","mappings":"CAOA,SAAUA,GAUT,MAAMC,EAAW,SAASC,GACzB,MAAMC,EAAOC,KACbC,EAAEC,KAAKJ,GAAM,SAASK,EAAOC,GACvBH,EAAEI,WAAWF,KACjBJ,EAAKK,GAAOD,EAEd,IAEKF,EAAEK,YAAYN,KAAKO,MACvBP,KAAKO,GAAKC,SAASV,EAAKS,GAAI,KAI7BP,KAAKS,KAAOX,EAAKW,MAAQ,GAEP,QAAdT,KAAKU,KACRV,KAAKW,SAAW,uBAEhBX,KAAKW,SAAWX,KAAKW,UAAY,2BAG7BX,KAAKU,OACa,yBAAlBV,KAAKW,SACRX,KAAKU,KAAO,MAEZV,KAAKU,KAAO,OAGf,EAKAb,EAASe,UAAY,CAMpBL,GAAI,KAOJM,KAAM,KAQNJ,KAAM,KAONE,SAAU,KASVG,KAAM,KAQNJ,KAAM,KAQNK,YAAa,KAObC,MAAO,KAOPC,KAAM,KASNC,UAAW,KAKXC,YAAY,EAKZC,iBAAkB,KAKlBC,gBAAiB,GAEjBC,qBAAsB,EAEtBC,YAAa,WACZ,IAAK,MAAMC,KAAKxB,KAAKqB,gBAAiB,CACrC,MAAMI,EAAOzB,KAAKqB,gBAAgBG,GAClC,GAAmB,gBAAfC,EAAKC,OAAwC,aAAbD,EAAKrB,IACxC,OAAsB,IAAfqB,EAAKtB,KAEd,CAEA,OAAO,CACR,GAGIP,EAAG+B,QACP/B,EAAG+B,MAAQ,CAAC,GAEb/B,EAAG+B,MAAM9B,SAAWA,CACpB,CA1JD,CA0JGD","sources":["webpack:///nextcloud/core/src/files/fileinfo.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-FileCopyrightText: 2016 ownCloud, Inc.\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/* eslint-disable */\n(function(OC) {\n\n\t/**\n\t * @class OC.Files.FileInfo\n\t * @classdesc File information\n\t *\n\t * @param {Object} data file data, see attributes for details\n\t *\n\t * @since 8.2\n\t */\n\tconst FileInfo = function(data) {\n\t\tconst self = this\n\t\t_.each(data, function(value, key) {\n\t\t\tif (!_.isFunction(value)) {\n\t\t\t\tself[key] = value\n\t\t\t}\n\t\t})\n\n\t\tif (!_.isUndefined(this.id)) {\n\t\t\tthis.id = parseInt(data.id, 10)\n\t\t}\n\n\t\t// TODO: normalize path\n\t\tthis.path = data.path || ''\n\n\t\tif (this.type === 'dir') {\n\t\t\tthis.mimetype = 'httpd/unix-directory'\n\t\t} else {\n\t\t\tthis.mimetype = this.mimetype || 'application/octet-stream'\n\t\t}\n\n\t\tif (!this.type) {\n\t\t\tif (this.mimetype === 'httpd/unix-directory') {\n\t\t\t\tthis.type = 'dir'\n\t\t\t} else {\n\t\t\t\tthis.type = 'file'\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @memberof OC.Files\n\t */\n\tFileInfo.prototype = {\n\t\t/**\n\t\t * File id\n\t\t *\n\t\t * @type int\n\t\t */\n\t\tid: null,\n\n\t\t/**\n\t\t * File name\n\t\t *\n\t\t * @type String\n\t\t */\n\t\tname: null,\n\n\t\t/**\n\t\t * Path leading to the file, without the file name,\n\t\t * and with a leading slash.\n\t\t *\n\t\t * @type String\n\t\t */\n\t\tpath: null,\n\n\t\t/**\n\t\t * Mime type\n\t\t *\n\t\t * @type String\n\t\t */\n\t\tmimetype: null,\n\n\t\t/**\n\t\t * Icon URL.\n\t\t *\n\t\t * Can be used to override the mime type icon.\n\t\t *\n\t\t * @type String\n\t\t */\n\t\ticon: null,\n\n\t\t/**\n\t\t * File type. 'file' for files, 'dir' for directories.\n\t\t *\n\t\t * @type String\n\t\t * @deprecated rely on mimetype instead\n\t\t */\n\t\ttype: null,\n\n\t\t/**\n\t\t * Permissions.\n\t\t *\n\t\t * @see OC#PERMISSION_ALL for permissions\n\t\t * @type int\n\t\t */\n\t\tpermissions: null,\n\n\t\t/**\n\t\t * Modification time\n\t\t *\n\t\t * @type int\n\t\t */\n\t\tmtime: null,\n\n\t\t/**\n\t\t * Etag\n\t\t *\n\t\t * @type String\n\t\t */\n\t\tetag: null,\n\n\t\t/**\n\t\t * Mount type.\n\t\t *\n\t\t * One of null, \"external-root\", \"shared\" or \"shared-root\"\n\t\t *\n\t\t * @type string\n\t\t */\n\t\tmountType: null,\n\n\t\t/**\n\t\t * @type boolean\n\t\t */\n\t\thasPreview: true,\n\n\t\t/**\n\t\t * @type int\n\t\t */\n\t\tsharePermissions: null,\n\n\t\t/**\n\t\t * @type Array\n\t\t */\n\t\tshareAttributes: [],\n\n\t\tquotaAvailableBytes: -1,\n\n\t\tcanDownload: function() {\n\t\t\tfor (const i in this.shareAttributes) {\n\t\t\t\tconst attr = this.shareAttributes[i]\n\t\t\t\tif (attr.scope === 'permissions' && attr.key === 'download') {\n\t\t\t\t\treturn attr.value === true\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true\n\t\t},\n\t}\n\n\tif (!OC.Files) {\n\t\tOC.Files = {}\n\t}\n\tOC.Files.FileInfo = FileInfo\n})(OC)\n"],"names":["OC","FileInfo","data","self","this","_","each","value","key","isFunction","isUndefined","id","parseInt","path","type","mimetype","prototype","name","icon","permissions","mtime","etag","mountType","hasPreview","sharePermissions","shareAttributes","quotaAvailableBytes","canDownload","i","attr","scope","Files"],"sourceRoot":""}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long