diff --git a/client/components/editor/editor-modal-media.vue b/client/components/editor/editor-modal-media.vue index 100a36df..05861455 100644 --- a/client/components/editor/editor-modal-media.vue +++ b/client/components/editor/editor-modal-media.vue @@ -150,7 +150,7 @@ ) v-divider v-card-actions.pa-3 - .caption.grey--text.text-darken-2 Max 10 files, 5 MB each + .caption.grey--text.text-darken-2 Max {{uploadConfig.uploadMaxFiles}} files, {{uploadConfig.uploadMaxFileSize | prettyBytes}} each v-spacer v-btn.px-4(color='teal', dark, @click='upload') {{$t('common:actions.upload')}} @@ -239,6 +239,7 @@ import listFolderAssetQuery from 'gql/editor/editor-media-query-folder-list.gql' import createAssetFolderMutation from 'gql/editor/editor-media-mutation-folder-create.gql' import renameAssetMutation from 'gql/editor/editor-media-mutation-asset-rename.gql' import deleteAssetMutation from 'gql/editor/editor-media-mutation-asset-delete.gql' +import gql from 'graphql-tag' const FilePond = vueFilePond() const localeSegmentRegex = /^[A-Z]{2}(-[A-Z]{2})?$/i @@ -278,7 +279,11 @@ export default { renameAssetName: '', renameAssetLoading: false, deleteDialog: false, - deleteAssetLoading: false + deleteAssetLoading: false, + uploadConfig: { + uploadMaxFileSize: 0, + uploadMaxFiles: 0 + } } }, computed: { @@ -546,6 +551,23 @@ export default { this.loading = isLoading this.$store.commit(`loading${isLoading ? 'Start' : 'Stop'}`, 'editor-media-list-refresh') } + }, + uploadConfig: { + query: gql` + { + site { + uploadConfig { + uploadMaxFileSize + uploadMaxFiles + } + } + } + `, + fetchPolicy: 'network-only', + update: (data) => data.site.uploadConfig, + watchLoading (isLoading) { + this.$store.commit(`loading${isLoading ? 'Start' : 'Stop'}`, 'editor-media-config-refresh') + } } } } diff --git a/server/graph/resolvers/site.js b/server/graph/resolvers/site.js index 27cd340c..89f1e31b 100644 --- a/server/graph/resolvers/site.js +++ b/server/graph/resolvers/site.js @@ -36,6 +36,12 @@ module.exports = { uploadScanSVG: WIKI.config.uploads.scanSVG, uploadForceDownload: WIKI.config.uploads.forceDownload } + }, + async uploadConfig(obj, args, context, info) { + return { + uploadMaxFileSize: WIKI.config.uploads.maxFileSize, + uploadMaxFiles: WIKI.config.uploads.maxFiles, + } } }, SiteMutation: { diff --git a/server/graph/schemas/site.graphql b/server/graph/schemas/site.graphql index 29370f20..94e3e07c 100644 --- a/server/graph/schemas/site.graphql +++ b/server/graph/schemas/site.graphql @@ -16,6 +16,7 @@ extend type Mutation { type SiteQuery { config: SiteConfig @auth(requires: ["manage:system"]) + uploadConfig: UploadConfig @auth(requires: ["manage:system", "manage:assets", "read:assets", "write:assets"]) } # ----------------------------------------------- @@ -116,3 +117,8 @@ type SiteConfig { uploadScanSVG: Boolean uploadForceDownload: Boolean } + +type UploadConfig { + uploadMaxFileSize: Int @auth(requires: ["manage:system", "manage:assets", "read:assets", "write:assets"]) + uploadMaxFiles: Int @auth(requires: ["manage:system", "manage:assets", "read:assets", "write:assets"]) +}