@testdracul/media-frontend 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.development +4 -0
- package/.env.example +3 -0
- package/.eslintrc.json +25 -0
- package/babel.config.js +5 -0
- package/dist/dracul-media-frontend.es.js +16238 -0
- package/dist/dracul-media-frontend.umd.js +586 -0
- package/dist/media-frontend.css +1 -0
- package/docs-en.md +45 -0
- package/docs-es.md +45 -0
- package/package.json +56 -0
- package/readme.md +36 -0
- package/src/components/CsvWebViewer/CsvWebViewer.vue +81 -0
- package/src/components/CsvWebViewer/index.ts +4 -0
- package/src/components/FileUpload/FileUpload.vue +94 -0
- package/src/components/FileUpload/index.ts +4 -0
- package/src/components/FileUploadButton/FileUploadButton.vue +127 -0
- package/src/components/FileUploadButton/index.ts +4 -0
- package/src/components/FileUploadExpiration/FileUploadExpiration.vue +274 -0
- package/src/components/FileUploadExpiration/index.ts +4 -0
- package/src/components/FileUploadExpress/FileUploadExpress.vue +208 -0
- package/src/components/FileUploadExpress/index.ts +4 -0
- package/src/components/FileView/FileView.vue +336 -0
- package/src/components/FileView/index.ts +4 -0
- package/src/components/GroupsShow/GroupsShow.vue +40 -0
- package/src/components/GroupsShow/index.ts +4 -0
- package/src/components/MediaField/MediaField.vue +62 -0
- package/src/components/MediaField/index.ts +4 -0
- package/src/components/PdfWebViewer/PdfWebViewer.vue +81 -0
- package/src/components/PdfWebViewer/index.ts +4 -0
- package/src/components/UsersShow/UsersShow.vue +39 -0
- package/src/components/UsersShow/index.ts +4 -0
- package/src/components/XlsxWebViewer/XlsxWebViewer.vue +70 -0
- package/src/components/XlsxWebViewer/index.ts +4 -0
- package/src/helpers/redeableBytes.ts +9 -0
- package/src/i18n/index.ts +22 -0
- package/src/i18n/messages/DocMessages.ts +31 -0
- package/src/i18n/messages/ExtraMessages.ts +29 -0
- package/src/i18n/messages/FileMessages.ts +223 -0
- package/src/i18n/messages/UserStorageMessages.ts +145 -0
- package/src/i18n/permissions/FilePermissionMessages.ts +50 -0
- package/src/i18n/permissions/OldPermissionMessages.ts +59 -0
- package/src/i18n/permissions/UserStoragePermissionMessages.ts +40 -0
- package/src/index.ts +70 -0
- package/src/mixins/readableBytesMixin.ts +9 -0
- package/src/pages/FileManagementPage/FileCreate/FileCreate.vue +108 -0
- package/src/pages/FileManagementPage/FileCreate/index.ts +3 -0
- package/src/pages/FileManagementPage/FileCrud/FileCrud.vue +133 -0
- package/src/pages/FileManagementPage/FileCrud/index.ts +4 -0
- package/src/pages/FileManagementPage/FileDelete/FileDelete.vue +61 -0
- package/src/pages/FileManagementPage/FileDelete/index.ts +3 -0
- package/src/pages/FileManagementPage/FileFilters/FileFilters.vue +150 -0
- package/src/pages/FileManagementPage/FileFilters/index.ts +3 -0
- package/src/pages/FileManagementPage/FileForm/FileForm.vue +184 -0
- package/src/pages/FileManagementPage/FileForm/UserCombobox.vue +66 -0
- package/src/pages/FileManagementPage/FileForm/index.ts +3 -0
- package/src/pages/FileManagementPage/FileList/FileEditButton.vue +410 -0
- package/src/pages/FileManagementPage/FileList/FileList.vue +178 -0
- package/src/pages/FileManagementPage/FileList/index.ts +4 -0
- package/src/pages/FileManagementPage/FileShow/FileShow.vue +23 -0
- package/src/pages/FileManagementPage/FileShow/FileShowData.vue +35 -0
- package/src/pages/FileManagementPage/FileShow/index.ts +3 -0
- package/src/pages/FileManagementPage/FileUpdate/FileUpdate.vue +107 -0
- package/src/pages/FileManagementPage/FileUpdate/index.ts +4 -0
- package/src/pages/FileManagementPage/index.vue +20 -0
- package/src/pages/MediaDocPage/MediaDocCard.vue +35 -0
- package/src/pages/MediaDocPage/MediaDocPage.vue +78 -0
- package/src/pages/UserStoragePage/UserStorage.vue +311 -0
- package/src/pages/UserStoragePage/UserStorageForm/UserStorageForm.vue +172 -0
- package/src/pages/UserStoragePage/UserStorageUpdate/UserStorageUpdate.vue +91 -0
- package/src/pages/UserStoragePage/index.vue +14 -0
- package/src/providers/FileMetricsProvider.ts +47 -0
- package/src/providers/FileProvider.ts +60 -0
- package/src/providers/UploadProvider.ts +32 -0
- package/src/providers/UserStorageProvider.ts +47 -0
- package/src/providers/gql/almacenamientoPorUsuario.graphql +10 -0
- package/src/providers/gql/cantidadArchivosPorUsuario.graphql +10 -0
- package/src/providers/gql/fetchMediaVariables.graphql +6 -0
- package/src/providers/gql/fileCreate.graphql +27 -0
- package/src/providers/gql/fileDelete.graphql +7 -0
- package/src/providers/gql/fileFetch.graphql +29 -0
- package/src/providers/gql/fileFind.graphql +29 -0
- package/src/providers/gql/fileGlobalMetrics.graphql +6 -0
- package/src/providers/gql/filePaginate.graphql +38 -0
- package/src/providers/gql/fileUpdate.graphql +29 -0
- package/src/providers/gql/fileUpload.graphql +29 -0
- package/src/providers/gql/fileUploadAnonymous.graphql +25 -0
- package/src/providers/gql/fileUserMetrics.graphql +9 -0
- package/src/providers/gql/userStorageFetch.graphql +17 -0
- package/src/providers/gql/userStorageFindByUser.graphql +17 -0
- package/src/providers/gql/userStorageUpdate.graphql +31 -0
- package/src/routes/index.ts +32 -0
- package/vite.config.ts +65 -0
- package/vue.config.js +22 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
mutation fileUpload( $file: Upload!, $expirationDate: String, $isPublic: Boolean, $description: String, $tags: [String], $groups: [ID], $users: [ID] ){
|
|
2
|
+
fileUpload(file: $file, expirationDate: $expirationDate, isPublic: $isPublic, description: $description, tags: $tags, groups: $groups, users: $users){
|
|
3
|
+
id
|
|
4
|
+
filename
|
|
5
|
+
description
|
|
6
|
+
tags
|
|
7
|
+
mimetype
|
|
8
|
+
type
|
|
9
|
+
extension
|
|
10
|
+
relativePath
|
|
11
|
+
absolutePath
|
|
12
|
+
size
|
|
13
|
+
url
|
|
14
|
+
createdAt
|
|
15
|
+
createdBy{
|
|
16
|
+
user {
|
|
17
|
+
id
|
|
18
|
+
username
|
|
19
|
+
}
|
|
20
|
+
username
|
|
21
|
+
}
|
|
22
|
+
lastAccess
|
|
23
|
+
expirationDate
|
|
24
|
+
isPublic
|
|
25
|
+
hits
|
|
26
|
+
groups
|
|
27
|
+
users
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
mutation fileUploadAnonymous( $file: Upload!){
|
|
2
|
+
fileUploadAnonymous(file: $file){
|
|
3
|
+
id
|
|
4
|
+
filename
|
|
5
|
+
description
|
|
6
|
+
tags
|
|
7
|
+
mimetype
|
|
8
|
+
type
|
|
9
|
+
extension
|
|
10
|
+
relativePath
|
|
11
|
+
absolutePath
|
|
12
|
+
size
|
|
13
|
+
url
|
|
14
|
+
createdAt
|
|
15
|
+
createdBy{
|
|
16
|
+
user {
|
|
17
|
+
id
|
|
18
|
+
username
|
|
19
|
+
}
|
|
20
|
+
username
|
|
21
|
+
}
|
|
22
|
+
lastAccess
|
|
23
|
+
expirationDate
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
mutation userStorageUpdate(
|
|
2
|
+
$id: ID!,
|
|
3
|
+
$name:String!,
|
|
4
|
+
$capacity:Float!,
|
|
5
|
+
$usedSpace:Float,
|
|
6
|
+
$maxFileSize: Float,
|
|
7
|
+
$fileExpirationTime: Int,
|
|
8
|
+
$deleteByLastAccess: Boolean,
|
|
9
|
+
$deleteByCreatedAt: Boolean
|
|
10
|
+
$filesPrivacy: userStorageFilesPrivacyValues
|
|
11
|
+
){
|
|
12
|
+
userStorageUpdate(id: $id, input: {
|
|
13
|
+
name: $name,
|
|
14
|
+
capacity: $capacity,
|
|
15
|
+
usedSpace: $usedSpace,
|
|
16
|
+
maxFileSize: $maxFileSize,
|
|
17
|
+
fileExpirationTime: $fileExpirationTime,
|
|
18
|
+
deleteByLastAccess: $deleteByLastAccess,
|
|
19
|
+
deleteByCreatedAt: $deleteByCreatedAt,
|
|
20
|
+
filesPrivacy: $filesPrivacy
|
|
21
|
+
}){
|
|
22
|
+
id
|
|
23
|
+
name
|
|
24
|
+
capacity
|
|
25
|
+
usedSpace
|
|
26
|
+
fileExpirationTime
|
|
27
|
+
deleteByLastAccess
|
|
28
|
+
deleteByCreatedAt
|
|
29
|
+
filesPrivacy
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import FileManagementPage from '../pages/FileManagementPage'
|
|
2
|
+
import UserStoragePage from '../pages/UserStoragePage'
|
|
3
|
+
import MediaDocPage from '../pages/MediaDocPage/MediaDocPage.vue'
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
const routes = [
|
|
7
|
+
{
|
|
8
|
+
name: 'FileManagementPage',
|
|
9
|
+
path: '/file-management',
|
|
10
|
+
component: FileManagementPage
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'UserStoragePage',
|
|
14
|
+
path: '/user-storage',
|
|
15
|
+
component: UserStoragePage,
|
|
16
|
+
meta: {
|
|
17
|
+
requeresAuth: true,
|
|
18
|
+
permission: "USER_STORAGE_SHOW_ALL"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'MediaDocPage',
|
|
23
|
+
path: '/media-doc',
|
|
24
|
+
component: MediaDocPage,
|
|
25
|
+
meta: {
|
|
26
|
+
requiresAuth: true
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
export default routes;
|
package/vite.config.ts
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { defineConfig } from 'vite'
|
|
2
|
+
import vue from '@vitejs/plugin-vue'
|
|
3
|
+
import vuetify from 'vite-plugin-vuetify'
|
|
4
|
+
import graphql from 'vite-plugin-graphql-loader'
|
|
5
|
+
import { nodePolyfills } from 'vite-plugin-node-polyfills'
|
|
6
|
+
import { fileURLToPath, URL } from 'node:url'
|
|
7
|
+
import path from 'node:path'
|
|
8
|
+
|
|
9
|
+
export default defineConfig({
|
|
10
|
+
plugins: [
|
|
11
|
+
vue(),
|
|
12
|
+
vuetify({ autoImport: true }),
|
|
13
|
+
graphql(),
|
|
14
|
+
nodePolyfills()
|
|
15
|
+
],
|
|
16
|
+
resolve: {
|
|
17
|
+
alias: {
|
|
18
|
+
'@': fileURLToPath(new URL('./src', import.meta.url))
|
|
19
|
+
},
|
|
20
|
+
extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
|
|
21
|
+
},
|
|
22
|
+
build: {
|
|
23
|
+
lib: {
|
|
24
|
+
entry: path.resolve(__dirname, 'src/index.ts'),
|
|
25
|
+
name: 'DraculMediaFrontend',
|
|
26
|
+
fileName: (format) => `dracul-media-frontend.${format}.js`
|
|
27
|
+
},
|
|
28
|
+
rollupOptions: {
|
|
29
|
+
external: [
|
|
30
|
+
'vue',
|
|
31
|
+
/^vuetify(\/.*)?$/,
|
|
32
|
+
'vuex',
|
|
33
|
+
'vue-i18n',
|
|
34
|
+
'vue-router',
|
|
35
|
+
'@apollo/client',
|
|
36
|
+
'apollo-upload-client',
|
|
37
|
+
'graphql',
|
|
38
|
+
'graphql-tag',
|
|
39
|
+
'deepmerge',
|
|
40
|
+
'vue-pdf-embed',
|
|
41
|
+
'papaparse',
|
|
42
|
+
'xlsx',
|
|
43
|
+
'buffer',
|
|
44
|
+
/^@dracul\/.*$/
|
|
45
|
+
],
|
|
46
|
+
output: {
|
|
47
|
+
globals: {
|
|
48
|
+
vue: 'Vue',
|
|
49
|
+
vuetify: 'Vuetify',
|
|
50
|
+
vuex: 'Vuex',
|
|
51
|
+
'vue-i18n': 'VueI18n',
|
|
52
|
+
'vue-router': 'VueRouter',
|
|
53
|
+
'@apollo/client': 'ApolloClient',
|
|
54
|
+
'apollo-upload-client': 'ApolloUploadClient',
|
|
55
|
+
'graphql': 'graphql',
|
|
56
|
+
'graphql-tag': 'gql',
|
|
57
|
+
'deepmerge': 'merge',
|
|
58
|
+
'@testdracul/common-frontend': 'commonFrontend',
|
|
59
|
+
'@testdracul/dayjs-frontend': 'dayjsFrontend',
|
|
60
|
+
'@testdracul/user-frontend': 'userFrontend'
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
})
|
package/vue.config.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const { IgnorePlugin } = require("webpack")
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
"transpileDependencies": [
|
|
5
|
+
"vuetify"
|
|
6
|
+
],
|
|
7
|
+
configureWebpack: {
|
|
8
|
+
plugins: [
|
|
9
|
+
new IgnorePlugin({
|
|
10
|
+
resourceRegExp: /moment$/,
|
|
11
|
+
})
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
chainWebpack: (config) => {
|
|
15
|
+
config.module
|
|
16
|
+
.rule('gql')
|
|
17
|
+
.test(/\.(graphql|gql)$/)
|
|
18
|
+
.use('graphql-tag/loader')
|
|
19
|
+
.loader('graphql-tag/loader')
|
|
20
|
+
.end();
|
|
21
|
+
}
|
|
22
|
+
}
|