@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.
Files changed (93) hide show
  1. package/.env.development +4 -0
  2. package/.env.example +3 -0
  3. package/.eslintrc.json +25 -0
  4. package/babel.config.js +5 -0
  5. package/dist/dracul-media-frontend.es.js +16238 -0
  6. package/dist/dracul-media-frontend.umd.js +586 -0
  7. package/dist/media-frontend.css +1 -0
  8. package/docs-en.md +45 -0
  9. package/docs-es.md +45 -0
  10. package/package.json +56 -0
  11. package/readme.md +36 -0
  12. package/src/components/CsvWebViewer/CsvWebViewer.vue +81 -0
  13. package/src/components/CsvWebViewer/index.ts +4 -0
  14. package/src/components/FileUpload/FileUpload.vue +94 -0
  15. package/src/components/FileUpload/index.ts +4 -0
  16. package/src/components/FileUploadButton/FileUploadButton.vue +127 -0
  17. package/src/components/FileUploadButton/index.ts +4 -0
  18. package/src/components/FileUploadExpiration/FileUploadExpiration.vue +274 -0
  19. package/src/components/FileUploadExpiration/index.ts +4 -0
  20. package/src/components/FileUploadExpress/FileUploadExpress.vue +208 -0
  21. package/src/components/FileUploadExpress/index.ts +4 -0
  22. package/src/components/FileView/FileView.vue +336 -0
  23. package/src/components/FileView/index.ts +4 -0
  24. package/src/components/GroupsShow/GroupsShow.vue +40 -0
  25. package/src/components/GroupsShow/index.ts +4 -0
  26. package/src/components/MediaField/MediaField.vue +62 -0
  27. package/src/components/MediaField/index.ts +4 -0
  28. package/src/components/PdfWebViewer/PdfWebViewer.vue +81 -0
  29. package/src/components/PdfWebViewer/index.ts +4 -0
  30. package/src/components/UsersShow/UsersShow.vue +39 -0
  31. package/src/components/UsersShow/index.ts +4 -0
  32. package/src/components/XlsxWebViewer/XlsxWebViewer.vue +70 -0
  33. package/src/components/XlsxWebViewer/index.ts +4 -0
  34. package/src/helpers/redeableBytes.ts +9 -0
  35. package/src/i18n/index.ts +22 -0
  36. package/src/i18n/messages/DocMessages.ts +31 -0
  37. package/src/i18n/messages/ExtraMessages.ts +29 -0
  38. package/src/i18n/messages/FileMessages.ts +223 -0
  39. package/src/i18n/messages/UserStorageMessages.ts +145 -0
  40. package/src/i18n/permissions/FilePermissionMessages.ts +50 -0
  41. package/src/i18n/permissions/OldPermissionMessages.ts +59 -0
  42. package/src/i18n/permissions/UserStoragePermissionMessages.ts +40 -0
  43. package/src/index.ts +70 -0
  44. package/src/mixins/readableBytesMixin.ts +9 -0
  45. package/src/pages/FileManagementPage/FileCreate/FileCreate.vue +108 -0
  46. package/src/pages/FileManagementPage/FileCreate/index.ts +3 -0
  47. package/src/pages/FileManagementPage/FileCrud/FileCrud.vue +133 -0
  48. package/src/pages/FileManagementPage/FileCrud/index.ts +4 -0
  49. package/src/pages/FileManagementPage/FileDelete/FileDelete.vue +61 -0
  50. package/src/pages/FileManagementPage/FileDelete/index.ts +3 -0
  51. package/src/pages/FileManagementPage/FileFilters/FileFilters.vue +150 -0
  52. package/src/pages/FileManagementPage/FileFilters/index.ts +3 -0
  53. package/src/pages/FileManagementPage/FileForm/FileForm.vue +184 -0
  54. package/src/pages/FileManagementPage/FileForm/UserCombobox.vue +66 -0
  55. package/src/pages/FileManagementPage/FileForm/index.ts +3 -0
  56. package/src/pages/FileManagementPage/FileList/FileEditButton.vue +410 -0
  57. package/src/pages/FileManagementPage/FileList/FileList.vue +178 -0
  58. package/src/pages/FileManagementPage/FileList/index.ts +4 -0
  59. package/src/pages/FileManagementPage/FileShow/FileShow.vue +23 -0
  60. package/src/pages/FileManagementPage/FileShow/FileShowData.vue +35 -0
  61. package/src/pages/FileManagementPage/FileShow/index.ts +3 -0
  62. package/src/pages/FileManagementPage/FileUpdate/FileUpdate.vue +107 -0
  63. package/src/pages/FileManagementPage/FileUpdate/index.ts +4 -0
  64. package/src/pages/FileManagementPage/index.vue +20 -0
  65. package/src/pages/MediaDocPage/MediaDocCard.vue +35 -0
  66. package/src/pages/MediaDocPage/MediaDocPage.vue +78 -0
  67. package/src/pages/UserStoragePage/UserStorage.vue +311 -0
  68. package/src/pages/UserStoragePage/UserStorageForm/UserStorageForm.vue +172 -0
  69. package/src/pages/UserStoragePage/UserStorageUpdate/UserStorageUpdate.vue +91 -0
  70. package/src/pages/UserStoragePage/index.vue +14 -0
  71. package/src/providers/FileMetricsProvider.ts +47 -0
  72. package/src/providers/FileProvider.ts +60 -0
  73. package/src/providers/UploadProvider.ts +32 -0
  74. package/src/providers/UserStorageProvider.ts +47 -0
  75. package/src/providers/gql/almacenamientoPorUsuario.graphql +10 -0
  76. package/src/providers/gql/cantidadArchivosPorUsuario.graphql +10 -0
  77. package/src/providers/gql/fetchMediaVariables.graphql +6 -0
  78. package/src/providers/gql/fileCreate.graphql +27 -0
  79. package/src/providers/gql/fileDelete.graphql +7 -0
  80. package/src/providers/gql/fileFetch.graphql +29 -0
  81. package/src/providers/gql/fileFind.graphql +29 -0
  82. package/src/providers/gql/fileGlobalMetrics.graphql +6 -0
  83. package/src/providers/gql/filePaginate.graphql +38 -0
  84. package/src/providers/gql/fileUpdate.graphql +29 -0
  85. package/src/providers/gql/fileUpload.graphql +29 -0
  86. package/src/providers/gql/fileUploadAnonymous.graphql +25 -0
  87. package/src/providers/gql/fileUserMetrics.graphql +9 -0
  88. package/src/providers/gql/userStorageFetch.graphql +17 -0
  89. package/src/providers/gql/userStorageFindByUser.graphql +17 -0
  90. package/src/providers/gql/userStorageUpdate.graphql +31 -0
  91. package/src/routes/index.ts +32 -0
  92. package/vite.config.ts +65 -0
  93. 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,9 @@
1
+ query fileUserMetrics{
2
+ fileUserMetrics{
3
+ labels
4
+ dataset{
5
+ label
6
+ data
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,17 @@
1
+ query userStorageFetch{
2
+ userStorageFetch{
3
+ id
4
+ user {
5
+ name
6
+ username
7
+ id
8
+ }
9
+ capacity
10
+ usedSpace
11
+ maxFileSize
12
+ fileExpirationTime
13
+ deleteByLastAccess
14
+ deleteByCreatedAt
15
+ filesPrivacy
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ query userStorageFindByUser {
2
+ userStorageFindByUser {
3
+ id
4
+ user {
5
+ name
6
+ username
7
+ id
8
+ }
9
+ capacity
10
+ usedSpace
11
+ maxFileSize
12
+ fileExpirationTime
13
+ deleteByLastAccess
14
+ deleteByCreatedAt
15
+ filesPrivacy
16
+ }
17
+ }
@@ -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
+ }