@sync-in/server 1.3.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/CHANGELOG.md +93 -0
- package/LICENSE +660 -0
- package/README.md +106 -0
- package/environment/environment.dist.min.yaml +11 -0
- package/environment/environment.dist.yaml +95 -0
- package/migrations/0000_init.sql +324 -0
- package/migrations/meta/0000_snapshot.json +2417 -0
- package/migrations/meta/_journal.json +13 -0
- package/package.json +80 -0
- package/server/app.bootstrap.js +103 -0
- package/server/app.bootstrap.js.map +1 -0
- package/server/app.constants.js +58 -0
- package/server/app.constants.js.map +1 -0
- package/server/app.e2e-spec.js +34 -0
- package/server/app.e2e-spec.js.map +1 -0
- package/server/app.module.js +72 -0
- package/server/app.module.js.map +1 -0
- package/server/app.service.js +72 -0
- package/server/app.service.js.map +1 -0
- package/server/app.service.spec.js +94 -0
- package/server/app.service.spec.js.map +1 -0
- package/server/applications/admin/admin.module.js +31 -0
- package/server/applications/admin/admin.module.js.map +1 -0
- package/server/applications/admin/constants/routes.js +19 -0
- package/server/applications/admin/constants/routes.js.map +1 -0
- package/server/applications/applications.config.js +50 -0
- package/server/applications/applications.config.js.map +1 -0
- package/server/applications/applications.constants.js +69 -0
- package/server/applications/applications.constants.js.map +1 -0
- package/server/applications/applications.module.js +59 -0
- package/server/applications/applications.module.js.map +1 -0
- package/server/applications/comments/comments.controller.js +133 -0
- package/server/applications/comments/comments.controller.js.map +1 -0
- package/server/applications/comments/comments.controller.spec.js +63 -0
- package/server/applications/comments/comments.controller.spec.js.map +1 -0
- package/server/applications/comments/comments.module.js +39 -0
- package/server/applications/comments/comments.module.js.map +1 -0
- package/server/applications/comments/constants/routes.js +35 -0
- package/server/applications/comments/constants/routes.js.map +1 -0
- package/server/applications/comments/dto/comment.dto.js +62 -0
- package/server/applications/comments/dto/comment.dto.js.map +1 -0
- package/server/applications/comments/interfaces/comment-recent.interface.js +10 -0
- package/server/applications/comments/interfaces/comment-recent.interface.js.map +1 -0
- package/server/applications/comments/schemas/comment.interface.js +18 -0
- package/server/applications/comments/schemas/comment.interface.js.map +1 -0
- package/server/applications/comments/schemas/comments.schema.js +57 -0
- package/server/applications/comments/schemas/comments.schema.js.map +1 -0
- package/server/applications/comments/services/comments-manager.service.js +137 -0
- package/server/applications/comments/services/comments-manager.service.js.map +1 -0
- package/server/applications/comments/services/comments-manager.service.spec.js +51 -0
- package/server/applications/comments/services/comments-manager.service.spec.js.map +1 -0
- package/server/applications/comments/services/comments-queries.service.js +185 -0
- package/server/applications/comments/services/comments-queries.service.js.map +1 -0
- package/server/applications/files/adapters/files-indexer-mysql.service.js +174 -0
- package/server/applications/files/adapters/files-indexer-mysql.service.js.map +1 -0
- package/server/applications/files/assets/samples/sample.docx +0 -0
- package/server/applications/files/assets/samples/sample.odp +0 -0
- package/server/applications/files/assets/samples/sample.ods +0 -0
- package/server/applications/files/assets/samples/sample.odt +0 -0
- package/server/applications/files/assets/samples/sample.pptx +0 -0
- package/server/applications/files/assets/samples/sample.rtf +194 -0
- package/server/applications/files/assets/samples/sample.xlsx +0 -0
- package/server/applications/files/constants/cache.js +36 -0
- package/server/applications/files/constants/cache.js.map +1 -0
- package/server/applications/files/constants/compress.js +26 -0
- package/server/applications/files/constants/compress.js.map +1 -0
- package/server/applications/files/constants/files.js +103 -0
- package/server/applications/files/constants/files.js.map +1 -0
- package/server/applications/files/constants/indexing.js +49 -0
- package/server/applications/files/constants/indexing.js.map +1 -0
- package/server/applications/files/constants/only-office.js +536 -0
- package/server/applications/files/constants/only-office.js.map +1 -0
- package/server/applications/files/constants/operations.js +29 -0
- package/server/applications/files/constants/operations.js.map +1 -0
- package/server/applications/files/constants/routes.js +100 -0
- package/server/applications/files/constants/routes.js.map +1 -0
- package/server/applications/files/constants/samples.js +35 -0
- package/server/applications/files/constants/samples.js.map +1 -0
- package/server/applications/files/decorators/only-office-environment.decorator.js +32 -0
- package/server/applications/files/decorators/only-office-environment.decorator.js.map +1 -0
- package/server/applications/files/dto/file-operations.dto.js +145 -0
- package/server/applications/files/dto/file-operations.dto.js.map +1 -0
- package/server/applications/files/events/file-task-event.js +23 -0
- package/server/applications/files/events/file-task-event.js.map +1 -0
- package/server/applications/files/files-only-office.controller.js +111 -0
- package/server/applications/files/files-only-office.controller.js.map +1 -0
- package/server/applications/files/files-only-office.controller.spec.js +47 -0
- package/server/applications/files/files-only-office.controller.spec.js.map +1 -0
- package/server/applications/files/files-tasks.controller.js +97 -0
- package/server/applications/files/files-tasks.controller.js.map +1 -0
- package/server/applications/files/files-tasks.controller.spec.js +40 -0
- package/server/applications/files/files-tasks.controller.spec.js.map +1 -0
- package/server/applications/files/files.config.js +96 -0
- package/server/applications/files/files.config.js.map +1 -0
- package/server/applications/files/files.controller.js +319 -0
- package/server/applications/files/files.controller.js.map +1 -0
- package/server/applications/files/files.controller.spec.js +84 -0
- package/server/applications/files/files.controller.spec.js.map +1 -0
- package/server/applications/files/files.module.js +78 -0
- package/server/applications/files/files.module.js.map +1 -0
- package/server/applications/files/guards/files-only-office.guard.js +48 -0
- package/server/applications/files/guards/files-only-office.guard.js.map +1 -0
- package/server/applications/files/guards/files-only-office.guard.spec.js +16 -0
- package/server/applications/files/guards/files-only-office.guard.spec.js.map +1 -0
- package/server/applications/files/guards/files-only-office.strategy.js +60 -0
- package/server/applications/files/guards/files-only-office.strategy.js.map +1 -0
- package/server/applications/files/interfaces/file-db-props.interface.js +10 -0
- package/server/applications/files/interfaces/file-db-props.interface.js.map +1 -0
- package/server/applications/files/interfaces/file-lock.interface.js +10 -0
- package/server/applications/files/interfaces/file-lock.interface.js.map +1 -0
- package/server/applications/files/interfaces/file-parse-index.js +10 -0
- package/server/applications/files/interfaces/file-parse-index.js.map +1 -0
- package/server/applications/files/interfaces/file-props.interface.js +10 -0
- package/server/applications/files/interfaces/file-props.interface.js.map +1 -0
- package/server/applications/files/interfaces/file-recent-location.interface.js +10 -0
- package/server/applications/files/interfaces/file-recent-location.interface.js.map +1 -0
- package/server/applications/files/interfaces/file-space.interface.js +18 -0
- package/server/applications/files/interfaces/file-space.interface.js.map +1 -0
- package/server/applications/files/interfaces/file-tree.interface.js +10 -0
- package/server/applications/files/interfaces/file-tree.interface.js.map +1 -0
- package/server/applications/files/interfaces/only-office-config.interface.js +10 -0
- package/server/applications/files/interfaces/only-office-config.interface.js.map +1 -0
- package/server/applications/files/models/file-error.js +23 -0
- package/server/applications/files/models/file-error.js.map +1 -0
- package/server/applications/files/models/file-lock-error.js +23 -0
- package/server/applications/files/models/file-lock-error.js.map +1 -0
- package/server/applications/files/models/file-task.js +52 -0
- package/server/applications/files/models/file-task.js.map +1 -0
- package/server/applications/files/models/files-indexer.js +18 -0
- package/server/applications/files/models/files-indexer.js.map +1 -0
- package/server/applications/files/schemas/file-content.interface.js +10 -0
- package/server/applications/files/schemas/file-content.interface.js.map +1 -0
- package/server/applications/files/schemas/file-recent.interface.js +18 -0
- package/server/applications/files/schemas/file-recent.interface.js.map +1 -0
- package/server/applications/files/schemas/file.interface.js +18 -0
- package/server/applications/files/schemas/file.interface.js.map +1 -0
- package/server/applications/files/schemas/files-content.schema.js +41 -0
- package/server/applications/files/schemas/files-content.schema.js.map +1 -0
- package/server/applications/files/schemas/files-recents.schema.js +63 -0
- package/server/applications/files/schemas/files-recents.schema.js.map +1 -0
- package/server/applications/files/schemas/files.schema.js +100 -0
- package/server/applications/files/schemas/files.schema.js.map +1 -0
- package/server/applications/files/services/files-content-manager.service.js +204 -0
- package/server/applications/files/services/files-content-manager.service.js.map +1 -0
- package/server/applications/files/services/files-lock-manager.service.js +285 -0
- package/server/applications/files/services/files-lock-manager.service.js.map +1 -0
- package/server/applications/files/services/files-lock-manager.service.spec.js +40 -0
- package/server/applications/files/services/files-lock-manager.service.spec.js.map +1 -0
- package/server/applications/files/services/files-manager.service.js +565 -0
- package/server/applications/files/services/files-manager.service.js.map +1 -0
- package/server/applications/files/services/files-manager.service.spec.js +43 -0
- package/server/applications/files/services/files-manager.service.spec.js.map +1 -0
- package/server/applications/files/services/files-methods.service.js +180 -0
- package/server/applications/files/services/files-methods.service.js.map +1 -0
- package/server/applications/files/services/files-methods.service.spec.js +135 -0
- package/server/applications/files/services/files-methods.service.spec.js.map +1 -0
- package/server/applications/files/services/files-only-office-manager.service.js +395 -0
- package/server/applications/files/services/files-only-office-manager.service.js.map +1 -0
- package/server/applications/files/services/files-only-office-manager.service.spec.js +58 -0
- package/server/applications/files/services/files-only-office-manager.service.spec.js.map +1 -0
- package/server/applications/files/services/files-parser.service.js +189 -0
- package/server/applications/files/services/files-parser.service.js.map +1 -0
- package/server/applications/files/services/files-parser.service.spec.js +31 -0
- package/server/applications/files/services/files-parser.service.spec.js.map +1 -0
- package/server/applications/files/services/files-queries.service.js +314 -0
- package/server/applications/files/services/files-queries.service.js.map +1 -0
- package/server/applications/files/services/files-recents.service.js +97 -0
- package/server/applications/files/services/files-recents.service.js.map +1 -0
- package/server/applications/files/services/files-recents.service.spec.js +41 -0
- package/server/applications/files/services/files-recents.service.spec.js.map +1 -0
- package/server/applications/files/services/files-scheduler.service.js +179 -0
- package/server/applications/files/services/files-scheduler.service.js.map +1 -0
- package/server/applications/files/services/files-search-manager.service.js +146 -0
- package/server/applications/files/services/files-search-manager.service.js.map +1 -0
- package/server/applications/files/services/files-search-manager.service.spec.js +46 -0
- package/server/applications/files/services/files-search-manager.service.spec.js.map +1 -0
- package/server/applications/files/services/files-tasks-manager.service.js +253 -0
- package/server/applications/files/services/files-tasks-manager.service.js.map +1 -0
- package/server/applications/files/services/files-tasks-manager.service.spec.js +46 -0
- package/server/applications/files/services/files-tasks-manager.service.spec.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/excel.js +91 -0
- package/server/applications/files/utils/doc-textify/adapters/excel.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/html.js +33 -0
- package/server/applications/files/utils/doc-textify/adapters/html.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/open-office.js +110 -0
- package/server/applications/files/utils/doc-textify/adapters/open-office.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/pdf.js +67 -0
- package/server/applications/files/utils/doc-textify/adapters/pdf.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/power-point.js +111 -0
- package/server/applications/files/utils/doc-textify/adapters/power-point.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/text.js +27 -0
- package/server/applications/files/utils/doc-textify/adapters/text.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/word.js +101 -0
- package/server/applications/files/utils/doc-textify/adapters/word.js.map +1 -0
- package/server/applications/files/utils/doc-textify/doc-textify.js +75 -0
- package/server/applications/files/utils/doc-textify/doc-textify.js.map +1 -0
- package/server/applications/files/utils/doc-textify/interfaces/doc-textify.interfaces.js +10 -0
- package/server/applications/files/utils/doc-textify/interfaces/doc-textify.interfaces.js.map +1 -0
- package/server/applications/files/utils/doc-textify/utils/clean.js +34 -0
- package/server/applications/files/utils/doc-textify/utils/clean.js.map +1 -0
- package/server/applications/files/utils/files-search.js +144 -0
- package/server/applications/files/utils/files-search.js.map +1 -0
- package/server/applications/files/utils/files-tree.js +86 -0
- package/server/applications/files/utils/files-tree.js.map +1 -0
- package/server/applications/files/utils/files.js +386 -0
- package/server/applications/files/utils/files.js.map +1 -0
- package/server/applications/files/utils/send-file.js +70 -0
- package/server/applications/files/utils/send-file.js.map +1 -0
- package/server/applications/files/utils/unzip-file.js +60 -0
- package/server/applications/files/utils/unzip-file.js.map +1 -0
- package/server/applications/files/utils/url-file.js +39 -0
- package/server/applications/files/utils/url-file.js.map +1 -0
- package/server/applications/links/constants/cache.js +28 -0
- package/server/applications/links/constants/cache.js.map +1 -0
- package/server/applications/links/constants/links.js +36 -0
- package/server/applications/links/constants/links.js.map +1 -0
- package/server/applications/links/constants/routes.js +41 -0
- package/server/applications/links/constants/routes.js.map +1 -0
- package/server/applications/links/dto/create-or-update-link.dto.js +95 -0
- package/server/applications/links/dto/create-or-update-link.dto.js.map +1 -0
- package/server/applications/links/interfaces/link-guest.interface.js +10 -0
- package/server/applications/links/interfaces/link-guest.interface.js.map +1 -0
- package/server/applications/links/interfaces/link-space.interface.js +10 -0
- package/server/applications/links/interfaces/link-space.interface.js.map +1 -0
- package/server/applications/links/links.controller.js +107 -0
- package/server/applications/links/links.controller.js.map +1 -0
- package/server/applications/links/links.controller.spec.js +88 -0
- package/server/applications/links/links.controller.spec.js.map +1 -0
- package/server/applications/links/schemas/link.interface.js +18 -0
- package/server/applications/links/schemas/link.interface.js.map +1 -0
- package/server/applications/links/schemas/links.schema.js +56 -0
- package/server/applications/links/schemas/links.schema.js.map +1 -0
- package/server/applications/links/services/links-manager.service.js +158 -0
- package/server/applications/links/services/links-manager.service.js.map +1 -0
- package/server/applications/links/services/links-manager.service.spec.js +84 -0
- package/server/applications/links/services/links-manager.service.spec.js.map +1 -0
- package/server/applications/links/services/links-queries.service.js +181 -0
- package/server/applications/links/services/links-queries.service.js.map +1 -0
- package/server/applications/notifications/constants/notifications.js +62 -0
- package/server/applications/notifications/constants/notifications.js.map +1 -0
- package/server/applications/notifications/constants/routes.js +30 -0
- package/server/applications/notifications/constants/routes.js.map +1 -0
- package/server/applications/notifications/constants/websocket.js +22 -0
- package/server/applications/notifications/constants/websocket.js.map +1 -0
- package/server/applications/notifications/i18n/fr.js +43 -0
- package/server/applications/notifications/i18n/fr.js.map +1 -0
- package/server/applications/notifications/i18n/index.js +37 -0
- package/server/applications/notifications/i18n/index.js.map +1 -0
- package/server/applications/notifications/interfaces/notification-properties.interface.js +10 -0
- package/server/applications/notifications/interfaces/notification-properties.interface.js.map +1 -0
- package/server/applications/notifications/interfaces/user-mail-notification.js +10 -0
- package/server/applications/notifications/interfaces/user-mail-notification.js.map +1 -0
- package/server/applications/notifications/mails/models.js +133 -0
- package/server/applications/notifications/mails/models.js.map +1 -0
- package/server/applications/notifications/mails/templates.js +51 -0
- package/server/applications/notifications/mails/templates.js.map +1 -0
- package/server/applications/notifications/mails/urls.js +51 -0
- package/server/applications/notifications/mails/urls.js.map +1 -0
- package/server/applications/notifications/notifications.controller.js +110 -0
- package/server/applications/notifications/notifications.controller.js.map +1 -0
- package/server/applications/notifications/notifications.controller.spec.js +33 -0
- package/server/applications/notifications/notifications.controller.spec.js.map +1 -0
- package/server/applications/notifications/notifications.gateway.js +45 -0
- package/server/applications/notifications/notifications.gateway.js.map +1 -0
- package/server/applications/notifications/notifications.module.js +44 -0
- package/server/applications/notifications/notifications.module.js.map +1 -0
- package/server/applications/notifications/schemas/notification.interface.js +18 -0
- package/server/applications/notifications/schemas/notification.interface.js.map +1 -0
- package/server/applications/notifications/schemas/notifications.schema.js +45 -0
- package/server/applications/notifications/schemas/notifications.schema.js.map +1 -0
- package/server/applications/notifications/services/notifications-manager.service.js +143 -0
- package/server/applications/notifications/services/notifications-manager.service.js.map +1 -0
- package/server/applications/notifications/services/notifications-manager.service.spec.js +46 -0
- package/server/applications/notifications/services/notifications-manager.service.spec.js.map +1 -0
- package/server/applications/notifications/services/notifications-queries.service.js +100 -0
- package/server/applications/notifications/services/notifications-queries.service.js.map +1 -0
- package/server/applications/shares/constants/routes.js +46 -0
- package/server/applications/shares/constants/routes.js.map +1 -0
- package/server/applications/shares/constants/shares.js +31 -0
- package/server/applications/shares/constants/shares.js.map +1 -0
- package/server/applications/shares/dto/create-or-update-share.dto.js +232 -0
- package/server/applications/shares/dto/create-or-update-share.dto.js.map +1 -0
- package/server/applications/shares/interfaces/share-child.interface.js +10 -0
- package/server/applications/shares/interfaces/share-child.interface.js.map +1 -0
- package/server/applications/shares/interfaces/share-env.interface.js +10 -0
- package/server/applications/shares/interfaces/share-env.interface.js.map +1 -0
- package/server/applications/shares/interfaces/share-file.interface.js +21 -0
- package/server/applications/shares/interfaces/share-file.interface.js.map +1 -0
- package/server/applications/shares/interfaces/share-link.interface.js +10 -0
- package/server/applications/shares/interfaces/share-link.interface.js.map +1 -0
- package/server/applications/shares/interfaces/share-props.interface.js +22 -0
- package/server/applications/shares/interfaces/share-props.interface.js.map +1 -0
- package/server/applications/shares/models/share-child.model.js +30 -0
- package/server/applications/shares/models/share-child.model.js.map +1 -0
- package/server/applications/shares/schemas/share-members.interface.js +18 -0
- package/server/applications/shares/schemas/share-members.interface.js.map +1 -0
- package/server/applications/shares/schemas/share.interface.js +18 -0
- package/server/applications/shares/schemas/share.interface.js.map +1 -0
- package/server/applications/shares/schemas/shares-members.schema.js +69 -0
- package/server/applications/shares/schemas/shares-members.schema.js.map +1 -0
- package/server/applications/shares/schemas/shares.schema.js +91 -0
- package/server/applications/shares/schemas/shares.schema.js.map +1 -0
- package/server/applications/shares/services/shares-manager.service.js +1010 -0
- package/server/applications/shares/services/shares-manager.service.js.map +1 -0
- package/server/applications/shares/services/shares-manager.service.spec.js +56 -0
- package/server/applications/shares/services/shares-manager.service.spec.js.map +1 -0
- package/server/applications/shares/services/shares-queries.service.js +892 -0
- package/server/applications/shares/services/shares-queries.service.js.map +1 -0
- package/server/applications/shares/shares.controller.js +293 -0
- package/server/applications/shares/shares.controller.js.map +1 -0
- package/server/applications/shares/shares.controller.spec.js +60 -0
- package/server/applications/shares/shares.controller.spec.js.map +1 -0
- package/server/applications/shares/shares.module.js +49 -0
- package/server/applications/shares/shares.module.js.map +1 -0
- package/server/applications/spaces/constants/cache.js +32 -0
- package/server/applications/spaces/constants/cache.js.map +1 -0
- package/server/applications/spaces/constants/routes.js +58 -0
- package/server/applications/spaces/constants/routes.js.map +1 -0
- package/server/applications/spaces/constants/spaces.js +104 -0
- package/server/applications/spaces/constants/spaces.js.map +1 -0
- package/server/applications/spaces/decorators/space-skip-guard.decorator.js +27 -0
- package/server/applications/spaces/decorators/space-skip-guard.decorator.js.map +1 -0
- package/server/applications/spaces/decorators/space-skip-permissions.decorator.js +27 -0
- package/server/applications/spaces/decorators/space-skip-permissions.decorator.js.map +1 -0
- package/server/applications/spaces/decorators/space.decorator.js +20 -0
- package/server/applications/spaces/decorators/space.decorator.js.map +1 -0
- package/server/applications/spaces/dto/create-or-update-space.dto.js +164 -0
- package/server/applications/spaces/dto/create-or-update-space.dto.js.map +1 -0
- package/server/applications/spaces/dto/delete-space.dto.js +33 -0
- package/server/applications/spaces/dto/delete-space.dto.js.map +1 -0
- package/server/applications/spaces/dto/search-space.dto.js +47 -0
- package/server/applications/spaces/dto/search-space.dto.js.map +1 -0
- package/server/applications/spaces/dto/space-roots.dto.js +117 -0
- package/server/applications/spaces/dto/space-roots.dto.js.map +1 -0
- package/server/applications/spaces/guards/space.guard.js +151 -0
- package/server/applications/spaces/guards/space.guard.js.map +1 -0
- package/server/applications/spaces/guards/space.guard.spec.js +457 -0
- package/server/applications/spaces/guards/space.guard.spec.js.map +1 -0
- package/server/applications/spaces/interfaces/space-diff.interface.js +10 -0
- package/server/applications/spaces/interfaces/space-diff.interface.js.map +1 -0
- package/server/applications/spaces/interfaces/space-files.interface.js +10 -0
- package/server/applications/spaces/interfaces/space-files.interface.js.map +1 -0
- package/server/applications/spaces/interfaces/space-quota.interface.js +10 -0
- package/server/applications/spaces/interfaces/space-quota.interface.js.map +1 -0
- package/server/applications/spaces/interfaces/space-request.interface.js +10 -0
- package/server/applications/spaces/interfaces/space-request.interface.js.map +1 -0
- package/server/applications/spaces/interfaces/space-trash.interface.js +10 -0
- package/server/applications/spaces/interfaces/space-trash.interface.js.map +1 -0
- package/server/applications/spaces/models/space-env.model.js +112 -0
- package/server/applications/spaces/models/space-env.model.js.map +1 -0
- package/server/applications/spaces/models/space-props.model.js +60 -0
- package/server/applications/spaces/models/space-props.model.js.map +1 -0
- package/server/applications/spaces/models/space-root-props.model.js +18 -0
- package/server/applications/spaces/models/space-root-props.model.js.map +1 -0
- package/server/applications/spaces/models/space.model.js +64 -0
- package/server/applications/spaces/models/space.model.js.map +1 -0
- package/server/applications/spaces/schemas/space-members.interface.js +18 -0
- package/server/applications/spaces/schemas/space-members.interface.js.map +1 -0
- package/server/applications/spaces/schemas/space-root.interface.js +18 -0
- package/server/applications/spaces/schemas/space-root.interface.js.map +1 -0
- package/server/applications/spaces/schemas/space.interface.js +18 -0
- package/server/applications/spaces/schemas/space.interface.js.map +1 -0
- package/server/applications/spaces/schemas/spaces-members.schema.js +73 -0
- package/server/applications/spaces/schemas/spaces-members.schema.js.map +1 -0
- package/server/applications/spaces/schemas/spaces-roots.schema.js +61 -0
- package/server/applications/spaces/schemas/spaces-roots.schema.js.map +1 -0
- package/server/applications/spaces/schemas/spaces.schema.js +63 -0
- package/server/applications/spaces/schemas/spaces.schema.js.map +1 -0
- package/server/applications/spaces/services/spaces-browser.service.js +308 -0
- package/server/applications/spaces/services/spaces-browser.service.js.map +1 -0
- package/server/applications/spaces/services/spaces-browser.service.spec.js +74 -0
- package/server/applications/spaces/services/spaces-browser.service.spec.js.map +1 -0
- package/server/applications/spaces/services/spaces-manager.service.js +818 -0
- package/server/applications/spaces/services/spaces-manager.service.js.map +1 -0
- package/server/applications/spaces/services/spaces-manager.service.spec.js +269 -0
- package/server/applications/spaces/services/spaces-manager.service.spec.js.map +1 -0
- package/server/applications/spaces/services/spaces-queries.service.js +763 -0
- package/server/applications/spaces/services/spaces-queries.service.js.map +1 -0
- package/server/applications/spaces/services/spaces-scheduler.service.js +88 -0
- package/server/applications/spaces/services/spaces-scheduler.service.js.map +1 -0
- package/server/applications/spaces/spaces.controller.js +386 -0
- package/server/applications/spaces/spaces.controller.js.map +1 -0
- package/server/applications/spaces/spaces.controller.spec.js +65 -0
- package/server/applications/spaces/spaces.controller.spec.js.map +1 -0
- package/server/applications/spaces/spaces.module.js +51 -0
- package/server/applications/spaces/spaces.module.js.map +1 -0
- package/server/applications/spaces/utils/paths.js +241 -0
- package/server/applications/spaces/utils/paths.js.map +1 -0
- package/server/applications/spaces/utils/permissions.js +88 -0
- package/server/applications/spaces/utils/permissions.js.map +1 -0
- package/server/applications/spaces/utils/routes.js +20 -0
- package/server/applications/spaces/utils/routes.js.map +1 -0
- package/server/applications/sync/constants/auth.js +38 -0
- package/server/applications/sync/constants/auth.js.map +1 -0
- package/server/applications/sync/constants/routes.js +47 -0
- package/server/applications/sync/constants/routes.js.map +1 -0
- package/server/applications/sync/constants/store.js +48 -0
- package/server/applications/sync/constants/store.js.map +1 -0
- package/server/applications/sync/constants/sync.js +128 -0
- package/server/applications/sync/constants/sync.js.map +1 -0
- package/server/applications/sync/decorators/sync-context.decorator.js +27 -0
- package/server/applications/sync/decorators/sync-context.decorator.js.map +1 -0
- package/server/applications/sync/decorators/sync-environment.decorator.js +25 -0
- package/server/applications/sync/decorators/sync-environment.decorator.js.map +1 -0
- package/server/applications/sync/dtos/sync-client-auth.dto.js +47 -0
- package/server/applications/sync/dtos/sync-client-auth.dto.js.map +1 -0
- package/server/applications/sync/dtos/sync-client-registration.dto.js +51 -0
- package/server/applications/sync/dtos/sync-client-registration.dto.js.map +1 -0
- package/server/applications/sync/dtos/sync-operations.dto.js +104 -0
- package/server/applications/sync/dtos/sync-operations.dto.js.map +1 -0
- package/server/applications/sync/dtos/sync-path.dto.js +130 -0
- package/server/applications/sync/dtos/sync-path.dto.js.map +1 -0
- package/server/applications/sync/dtos/sync-upload.dto.js +49 -0
- package/server/applications/sync/dtos/sync-upload.dto.js.map +1 -0
- package/server/applications/sync/interceptors/sync-diff-gzip-body.interceptor.js +55 -0
- package/server/applications/sync/interceptors/sync-diff-gzip-body.interceptor.js.map +1 -0
- package/server/applications/sync/interfaces/store-manifest.interface.js +10 -0
- package/server/applications/sync/interfaces/store-manifest.interface.js.map +1 -0
- package/server/applications/sync/interfaces/sync-client-auth.interface.js +30 -0
- package/server/applications/sync/interfaces/sync-client-auth.interface.js.map +1 -0
- package/server/applications/sync/interfaces/sync-client-paths.interface.js +10 -0
- package/server/applications/sync/interfaces/sync-client-paths.interface.js.map +1 -0
- package/server/applications/sync/interfaces/sync-client.interface.js +10 -0
- package/server/applications/sync/interfaces/sync-client.interface.js.map +1 -0
- package/server/applications/sync/interfaces/sync-diff.interface.js +11 -0
- package/server/applications/sync/interfaces/sync-diff.interface.js.map +1 -0
- package/server/applications/sync/interfaces/sync-path.interface.js +10 -0
- package/server/applications/sync/interfaces/sync-path.interface.js.map +1 -0
- package/server/applications/sync/schemas/sync-client.interface.js +18 -0
- package/server/applications/sync/schemas/sync-client.interface.js.map +1 -0
- package/server/applications/sync/schemas/sync-clients.schema.js +57 -0
- package/server/applications/sync/schemas/sync-clients.schema.js.map +1 -0
- package/server/applications/sync/schemas/sync-path.interface.js +18 -0
- package/server/applications/sync/schemas/sync-path.interface.js.map +1 -0
- package/server/applications/sync/schemas/sync-paths.schema.js +76 -0
- package/server/applications/sync/schemas/sync-paths.schema.js.map +1 -0
- package/server/applications/sync/services/sync-clients-manager.service.js +218 -0
- package/server/applications/sync/services/sync-clients-manager.service.js.map +1 -0
- package/server/applications/sync/services/sync-clients-manager.service.spec.js +56 -0
- package/server/applications/sync/services/sync-clients-manager.service.spec.js.map +1 -0
- package/server/applications/sync/services/sync-manager.service.js +299 -0
- package/server/applications/sync/services/sync-manager.service.js.map +1 -0
- package/server/applications/sync/services/sync-manager.service.spec.js +41 -0
- package/server/applications/sync/services/sync-manager.service.spec.js.map +1 -0
- package/server/applications/sync/services/sync-paths-manager.service.js +290 -0
- package/server/applications/sync/services/sync-paths-manager.service.js.map +1 -0
- package/server/applications/sync/services/sync-paths-manager.service.spec.js +56 -0
- package/server/applications/sync/services/sync-paths-manager.service.spec.js.map +1 -0
- package/server/applications/sync/services/sync-queries.service.js +238 -0
- package/server/applications/sync/services/sync-queries.service.js.map +1 -0
- package/server/applications/sync/sync.config.js +36 -0
- package/server/applications/sync/sync.config.js.map +1 -0
- package/server/applications/sync/sync.controller.js +407 -0
- package/server/applications/sync/sync.controller.js.map +1 -0
- package/server/applications/sync/sync.controller.spec.js +53 -0
- package/server/applications/sync/sync.controller.spec.js.map +1 -0
- package/server/applications/sync/sync.module.js +45 -0
- package/server/applications/sync/sync.module.js.map +1 -0
- package/server/applications/sync/utils/functions.js +26 -0
- package/server/applications/sync/utils/functions.js.map +1 -0
- package/server/applications/sync/utils/normalizedMap.js +52 -0
- package/server/applications/sync/utils/normalizedMap.js.map +1 -0
- package/server/applications/sync/utils/routes.js +27 -0
- package/server/applications/sync/utils/routes.js.map +1 -0
- package/server/applications/users/admin-users.controller.js +350 -0
- package/server/applications/users/admin-users.controller.js.map +1 -0
- package/server/applications/users/admin-users.controller.spec.js +60 -0
- package/server/applications/users/admin-users.controller.spec.js.map +1 -0
- package/server/applications/users/constants/group.js +35 -0
- package/server/applications/users/constants/group.js.map +1 -0
- package/server/applications/users/constants/member.js +39 -0
- package/server/applications/users/constants/member.js.map +1 -0
- package/server/applications/users/constants/routes.js +134 -0
- package/server/applications/users/constants/routes.js.map +1 -0
- package/server/applications/users/constants/user.js +118 -0
- package/server/applications/users/constants/user.js.map +1 -0
- package/server/applications/users/constants/websocket.js +33 -0
- package/server/applications/users/constants/websocket.js.map +1 -0
- package/server/applications/users/decorators/permissions.decorator.js +18 -0
- package/server/applications/users/decorators/permissions.decorator.js.map +1 -0
- package/server/applications/users/decorators/roles.decorator.js +18 -0
- package/server/applications/users/decorators/roles.decorator.js.map +1 -0
- package/server/applications/users/decorators/user.decorator.js +20 -0
- package/server/applications/users/decorators/user.decorator.js.map +1 -0
- package/server/applications/users/dto/create-or-update-group.dto.js +66 -0
- package/server/applications/users/dto/create-or-update-group.dto.js.map +1 -0
- package/server/applications/users/dto/create-or-update-user.dto.js +167 -0
- package/server/applications/users/dto/create-or-update-user.dto.js.map +1 -0
- package/server/applications/users/dto/delete-user.dto.js +54 -0
- package/server/applications/users/dto/delete-user.dto.js.map +1 -0
- package/server/applications/users/dto/search-members.dto.js +79 -0
- package/server/applications/users/dto/search-members.dto.js.map +1 -0
- package/server/applications/users/dto/user-password.dto.js +35 -0
- package/server/applications/users/dto/user-password.dto.js.map +1 -0
- package/server/applications/users/dto/user-properties.dto.js +64 -0
- package/server/applications/users/dto/user-properties.dto.js.map +1 -0
- package/server/applications/users/guards/permissions.guard.js +71 -0
- package/server/applications/users/guards/permissions.guard.js.map +1 -0
- package/server/applications/users/guards/permissions.guard.spec.js +103 -0
- package/server/applications/users/guards/permissions.guard.spec.js.map +1 -0
- package/server/applications/users/guards/roles.guard.js +62 -0
- package/server/applications/users/guards/roles.guard.js.map +1 -0
- package/server/applications/users/guards/roles.guard.spec.js +90 -0
- package/server/applications/users/guards/roles.guard.spec.js.map +1 -0
- package/server/applications/users/interfaces/admin-group.interface.js +10 -0
- package/server/applications/users/interfaces/admin-group.interface.js.map +1 -0
- package/server/applications/users/interfaces/admin-user.interface.js +10 -0
- package/server/applications/users/interfaces/admin-user.interface.js.map +1 -0
- package/server/applications/users/interfaces/group-browse.interface.js +10 -0
- package/server/applications/users/interfaces/group-browse.interface.js.map +1 -0
- package/server/applications/users/interfaces/group-member.js +10 -0
- package/server/applications/users/interfaces/group-member.js.map +1 -0
- package/server/applications/users/interfaces/guest-user.interface.js +10 -0
- package/server/applications/users/interfaces/guest-user.interface.js.map +1 -0
- package/server/applications/users/interfaces/member.interface.js +10 -0
- package/server/applications/users/interfaces/member.interface.js.map +1 -0
- package/server/applications/users/interfaces/owner.interface.js +10 -0
- package/server/applications/users/interfaces/owner.interface.js.map +1 -0
- package/server/applications/users/interfaces/websocket.interface.js +10 -0
- package/server/applications/users/interfaces/websocket.interface.js.map +1 -0
- package/server/applications/users/models/user.model.js +226 -0
- package/server/applications/users/models/user.model.js.map +1 -0
- package/server/applications/users/schemas/group.interface.js +18 -0
- package/server/applications/users/schemas/group.interface.js.map +1 -0
- package/server/applications/users/schemas/groups.schema.js +56 -0
- package/server/applications/users/schemas/groups.schema.js.map +1 -0
- package/server/applications/users/schemas/user-group.interface.js +18 -0
- package/server/applications/users/schemas/user-group.interface.js.map +1 -0
- package/server/applications/users/schemas/user.interface.js +18 -0
- package/server/applications/users/schemas/user.interface.js.map +1 -0
- package/server/applications/users/schemas/users-groups.schema.js +49 -0
- package/server/applications/users/schemas/users-groups.schema.js.map +1 -0
- package/server/applications/users/schemas/users-guests.schema.js +46 -0
- package/server/applications/users/schemas/users-guests.schema.js.map +1 -0
- package/server/applications/users/schemas/users.schema.js +94 -0
- package/server/applications/users/schemas/users.schema.js.map +1 -0
- package/server/applications/users/services/admin-users-manager.service.js +385 -0
- package/server/applications/users/services/admin-users-manager.service.js.map +1 -0
- package/server/applications/users/services/admin-users-manager.service.spec.js +50 -0
- package/server/applications/users/services/admin-users-manager.service.spec.js.map +1 -0
- package/server/applications/users/services/admin-users-queries.service.js +315 -0
- package/server/applications/users/services/admin-users-queries.service.js.map +1 -0
- package/server/applications/users/services/users-manager.service.js +424 -0
- package/server/applications/users/services/users-manager.service.js.map +1 -0
- package/server/applications/users/services/users-manager.service.spec.js +151 -0
- package/server/applications/users/services/users-manager.service.spec.js.map +1 -0
- package/server/applications/users/services/users-queries.service.js +570 -0
- package/server/applications/users/services/users-queries.service.js.map +1 -0
- package/server/applications/users/users.controller.js +371 -0
- package/server/applications/users/users.controller.js.map +1 -0
- package/server/applications/users/users.controller.spec.js +86 -0
- package/server/applications/users/users.controller.spec.js.map +1 -0
- package/server/applications/users/users.e2e-spec.js +97 -0
- package/server/applications/users/users.e2e-spec.js.map +1 -0
- package/server/applications/users/users.gateway.js +182 -0
- package/server/applications/users/users.gateway.js.map +1 -0
- package/server/applications/users/users.gateway.spec.js +36 -0
- package/server/applications/users/users.gateway.spec.js.map +1 -0
- package/server/applications/users/users.module.js +57 -0
- package/server/applications/users/users.module.js.map +1 -0
- package/server/applications/users/utils/test.js +34 -0
- package/server/applications/users/utils/test.js.map +1 -0
- package/server/applications/webdav/constants/routes.js +73 -0
- package/server/applications/webdav/constants/routes.js.map +1 -0
- package/server/applications/webdav/constants/webdav.js +168 -0
- package/server/applications/webdav/constants/webdav.js.map +1 -0
- package/server/applications/webdav/decorators/if-header.decorator.js +27 -0
- package/server/applications/webdav/decorators/if-header.decorator.js.map +1 -0
- package/server/applications/webdav/decorators/webdav-context.decorator.js +36 -0
- package/server/applications/webdav/decorators/webdav-context.decorator.js.map +1 -0
- package/server/applications/webdav/filters/webdav.filter.js +45 -0
- package/server/applications/webdav/filters/webdav.filter.js.map +1 -0
- package/server/applications/webdav/guards/webdav-protocol.guard.js +262 -0
- package/server/applications/webdav/guards/webdav-protocol.guard.js.map +1 -0
- package/server/applications/webdav/interfaces/if-header.interface.js +10 -0
- package/server/applications/webdav/interfaces/if-header.interface.js.map +1 -0
- package/server/applications/webdav/interfaces/webdav.interface.js +10 -0
- package/server/applications/webdav/interfaces/webdav.interface.js.map +1 -0
- package/server/applications/webdav/models/webdav-file.model.js +74 -0
- package/server/applications/webdav/models/webdav-file.model.js.map +1 -0
- package/server/applications/webdav/services/webdav-methods.service.js +520 -0
- package/server/applications/webdav/services/webdav-methods.service.js.map +1 -0
- package/server/applications/webdav/services/webdav-methods.service.spec.js +41 -0
- package/server/applications/webdav/services/webdav-methods.service.spec.js.map +1 -0
- package/server/applications/webdav/services/webdav-spaces.service.js +169 -0
- package/server/applications/webdav/services/webdav-spaces.service.js.map +1 -0
- package/server/applications/webdav/services/webdav-spaces.service.spec.js +36 -0
- package/server/applications/webdav/services/webdav-spaces.service.spec.js.map +1 -0
- package/server/applications/webdav/utils/if-header.js +89 -0
- package/server/applications/webdav/utils/if-header.js.map +1 -0
- package/server/applications/webdav/utils/routes.js +30 -0
- package/server/applications/webdav/utils/routes.js.map +1 -0
- package/server/applications/webdav/utils/webdav.js +167 -0
- package/server/applications/webdav/utils/webdav.js.map +1 -0
- package/server/applications/webdav/utils/xml.js +72 -0
- package/server/applications/webdav/utils/xml.js.map +1 -0
- package/server/applications/webdav/webdav.controller.js +173 -0
- package/server/applications/webdav/webdav.controller.js.map +1 -0
- package/server/applications/webdav/webdav.controller.spec.js +41 -0
- package/server/applications/webdav/webdav.controller.spec.js.map +1 -0
- package/server/applications/webdav/webdav.e2e-spec.js +69 -0
- package/server/applications/webdav/webdav.e2e-spec.js.map +1 -0
- package/server/applications/webdav/webdav.module.js +41 -0
- package/server/applications/webdav/webdav.module.js.map +1 -0
- package/server/authentication/auth.config.js +223 -0
- package/server/authentication/auth.config.js.map +1 -0
- package/server/authentication/auth.controller.js +126 -0
- package/server/authentication/auth.controller.js.map +1 -0
- package/server/authentication/auth.controller.spec.js +132 -0
- package/server/authentication/auth.controller.spec.js.map +1 -0
- package/server/authentication/auth.e2e-spec.js +340 -0
- package/server/authentication/auth.e2e-spec.js.map +1 -0
- package/server/authentication/auth.module.js +84 -0
- package/server/authentication/auth.module.js.map +1 -0
- package/server/authentication/constants/auth.js +54 -0
- package/server/authentication/constants/auth.js.map +1 -0
- package/server/authentication/constants/routes.js +55 -0
- package/server/authentication/constants/routes.js.map +1 -0
- package/server/authentication/decorators/auth-token-optional.decorator.js +26 -0
- package/server/authentication/decorators/auth-token-optional.decorator.js.map +1 -0
- package/server/authentication/decorators/auth-token-skip.decorator.js +27 -0
- package/server/authentication/decorators/auth-token-skip.decorator.js.map +1 -0
- package/server/authentication/dto/login-response.dto.js +23 -0
- package/server/authentication/dto/login-response.dto.js.map +1 -0
- package/server/authentication/dto/token-response.dto.js +44 -0
- package/server/authentication/dto/token-response.dto.js.map +1 -0
- package/server/authentication/guards/auth-anonymous.guard.js +37 -0
- package/server/authentication/guards/auth-anonymous.guard.js.map +1 -0
- package/server/authentication/guards/auth-anonymous.guard.spec.js +65 -0
- package/server/authentication/guards/auth-anonymous.guard.spec.js.map +1 -0
- package/server/authentication/guards/auth-anonymous.strategy.js +44 -0
- package/server/authentication/guards/auth-anonymous.strategy.js.map +1 -0
- package/server/authentication/guards/auth-basic.guard.js +54 -0
- package/server/authentication/guards/auth-basic.guard.js.map +1 -0
- package/server/authentication/guards/auth-basic.guard.spec.js +148 -0
- package/server/authentication/guards/auth-basic.guard.spec.js.map +1 -0
- package/server/authentication/guards/auth-basic.strategy.js +79 -0
- package/server/authentication/guards/auth-basic.strategy.js.map +1 -0
- package/server/authentication/guards/auth-digest.guard.js +24 -0
- package/server/authentication/guards/auth-digest.guard.js.map +1 -0
- package/server/authentication/guards/auth-digest.strategy.js +28 -0
- package/server/authentication/guards/auth-digest.strategy.js.map +1 -0
- package/server/authentication/guards/auth-local.guard.js +40 -0
- package/server/authentication/guards/auth-local.guard.js.map +1 -0
- package/server/authentication/guards/auth-local.guard.spec.js +87 -0
- package/server/authentication/guards/auth-local.guard.spec.js.map +1 -0
- package/server/authentication/guards/auth-local.strategy.js +59 -0
- package/server/authentication/guards/auth-local.strategy.js.map +1 -0
- package/server/authentication/guards/auth-token-access.guard.js +66 -0
- package/server/authentication/guards/auth-token-access.guard.js.map +1 -0
- package/server/authentication/guards/auth-token-access.guard.spec.js +262 -0
- package/server/authentication/guards/auth-token-access.guard.spec.js.map +1 -0
- package/server/authentication/guards/auth-token-access.strategy.js +68 -0
- package/server/authentication/guards/auth-token-access.strategy.js.map +1 -0
- package/server/authentication/guards/auth-token-refresh.guard.js +40 -0
- package/server/authentication/guards/auth-token-refresh.guard.js.map +1 -0
- package/server/authentication/guards/auth-token-refresh.guard.spec.js +189 -0
- package/server/authentication/guards/auth-token-refresh.guard.spec.js.map +1 -0
- package/server/authentication/guards/auth-token-refresh.strategy.js +72 -0
- package/server/authentication/guards/auth-token-refresh.strategy.js.map +1 -0
- package/server/authentication/interfaces/auth-request.interface.js +10 -0
- package/server/authentication/interfaces/auth-request.interface.js.map +1 -0
- package/server/authentication/interfaces/jwt-payload.interface.js +28 -0
- package/server/authentication/interfaces/jwt-payload.interface.js.map +1 -0
- package/server/authentication/interfaces/token.interface.js +23 -0
- package/server/authentication/interfaces/token.interface.js.map +1 -0
- package/server/authentication/models/auth-method.js +18 -0
- package/server/authentication/models/auth-method.js.map +1 -0
- package/server/authentication/services/auth-manager.service.js +174 -0
- package/server/authentication/services/auth-manager.service.js.map +1 -0
- package/server/authentication/services/auth-manager.service.spec.js +41 -0
- package/server/authentication/services/auth-manager.service.spec.js.map +1 -0
- package/server/authentication/services/auth-methods/auth-method-database.service.js +55 -0
- package/server/authentication/services/auth-methods/auth-method-database.service.js.map +1 -0
- package/server/authentication/services/auth-methods/auth-method-database.service.spec.js +88 -0
- package/server/authentication/services/auth-methods/auth-method-database.service.spec.js.map +1 -0
- package/server/authentication/services/auth-methods/auth-method-ldap.service.js +185 -0
- package/server/authentication/services/auth-methods/auth-method-ldap.service.js.map +1 -0
- package/server/authentication/services/auth-methods/auth-method-ldap.service.spec.js +36 -0
- package/server/authentication/services/auth-methods/auth-method-ldap.service.spec.js.map +1 -0
- package/server/common/constants.js +23 -0
- package/server/common/constants.js.map +1 -0
- package/server/common/decorators.js +35 -0
- package/server/common/decorators.js.map +1 -0
- package/server/common/fonts/avatar.ttf +0 -0
- package/server/common/functions.js +292 -0
- package/server/common/functions.js.map +1 -0
- package/server/common/image.js +113 -0
- package/server/common/image.js.map +1 -0
- package/server/common/interfaces.js +10 -0
- package/server/common/interfaces.js.map +1 -0
- package/server/common/shared.js +105 -0
- package/server/common/shared.js.map +1 -0
- package/server/configuration/config.constants.js +65 -0
- package/server/configuration/config.constants.js.map +1 -0
- package/server/configuration/config.environment.js +57 -0
- package/server/configuration/config.environment.js.map +1 -0
- package/server/configuration/config.loader.js +195 -0
- package/server/configuration/config.loader.js.map +1 -0
- package/server/configuration/config.logger.js +69 -0
- package/server/configuration/config.logger.js.map +1 -0
- package/server/configuration/config.validation.js +175 -0
- package/server/configuration/config.validation.js.map +1 -0
- package/server/infrastructure/cache/adapters/mysql-cache.adapter.js +169 -0
- package/server/infrastructure/cache/adapters/mysql-cache.adapter.js.map +1 -0
- package/server/infrastructure/cache/adapters/redis-cache.adapter.js +129 -0
- package/server/infrastructure/cache/adapters/redis-cache.adapter.js.map +1 -0
- package/server/infrastructure/cache/cache.config.js +53 -0
- package/server/infrastructure/cache/cache.config.js.map +1 -0
- package/server/infrastructure/cache/cache.decorator.js +53 -0
- package/server/infrastructure/cache/cache.decorator.js.map +1 -0
- package/server/infrastructure/cache/cache.e2e-spec.js +111 -0
- package/server/infrastructure/cache/cache.e2e-spec.js.map +1 -0
- package/server/infrastructure/cache/cache.module.js +58 -0
- package/server/infrastructure/cache/cache.module.js.map +1 -0
- package/server/infrastructure/cache/schemas/mysql-cache.interface.js +18 -0
- package/server/infrastructure/cache/schemas/mysql-cache.interface.js.map +1 -0
- package/server/infrastructure/cache/schemas/mysql-cache.schema.js +26 -0
- package/server/infrastructure/cache/schemas/mysql-cache.schema.js.map +1 -0
- package/server/infrastructure/cache/services/cache.service.js +18 -0
- package/server/infrastructure/cache/services/cache.service.js.map +1 -0
- package/server/infrastructure/context/context.module.js +40 -0
- package/server/infrastructure/context/context.module.js.map +1 -0
- package/server/infrastructure/context/interceptors/context.interceptor.js +45 -0
- package/server/infrastructure/context/interceptors/context.interceptor.js.map +1 -0
- package/server/infrastructure/context/interfaces/context-store.interface.js +10 -0
- package/server/infrastructure/context/interfaces/context-store.interface.js.map +1 -0
- package/server/infrastructure/context/services/context-manager.service.js +43 -0
- package/server/infrastructure/context/services/context-manager.service.js.map +1 -0
- package/server/infrastructure/database/configuration.js +29 -0
- package/server/infrastructure/database/configuration.js.map +1 -0
- package/server/infrastructure/database/constants.js +41 -0
- package/server/infrastructure/database/constants.js.map +1 -0
- package/server/infrastructure/database/database.config.js +44 -0
- package/server/infrastructure/database/database.config.js.map +1 -0
- package/server/infrastructure/database/database.logger.js +22 -0
- package/server/infrastructure/database/database.logger.js.map +1 -0
- package/server/infrastructure/database/database.module.js +94 -0
- package/server/infrastructure/database/database.module.js.map +1 -0
- package/server/infrastructure/database/interfaces/database.interface.js +10 -0
- package/server/infrastructure/database/interfaces/database.interface.js.map +1 -0
- package/server/infrastructure/database/schema.js +40 -0
- package/server/infrastructure/database/schema.js.map +1 -0
- package/server/infrastructure/database/scripts/create-user.js +97 -0
- package/server/infrastructure/database/scripts/create-user.js.map +1 -0
- package/server/infrastructure/database/scripts/db.js +68 -0
- package/server/infrastructure/database/scripts/db.js.map +1 -0
- package/server/infrastructure/database/scripts/seed/main.js +18 -0
- package/server/infrastructure/database/scripts/seed/main.js.map +1 -0
- package/server/infrastructure/database/scripts/seed/usersgroups.js +92 -0
- package/server/infrastructure/database/scripts/seed/usersgroups.js.map +1 -0
- package/server/infrastructure/database/utils.js +117 -0
- package/server/infrastructure/database/utils.js.map +1 -0
- package/server/infrastructure/mailer/interfaces/mail.interface.js +10 -0
- package/server/infrastructure/mailer/interfaces/mail.interface.js.map +1 -0
- package/server/infrastructure/mailer/mailer.config.js +94 -0
- package/server/infrastructure/mailer/mailer.config.js.map +1 -0
- package/server/infrastructure/mailer/mailer.module.js +37 -0
- package/server/infrastructure/mailer/mailer.module.js.map +1 -0
- package/server/infrastructure/mailer/mailer.service.js +93 -0
- package/server/infrastructure/mailer/mailer.service.js.map +1 -0
- package/server/infrastructure/scheduler/scheduler.constants.js +30 -0
- package/server/infrastructure/scheduler/scheduler.constants.js.map +1 -0
- package/server/infrastructure/scheduler/scheduler.module.js +52 -0
- package/server/infrastructure/scheduler/scheduler.module.js.map +1 -0
- package/server/infrastructure/websocket/adapters/cluster.adapter.js +40 -0
- package/server/infrastructure/websocket/adapters/cluster.adapter.js.map +1 -0
- package/server/infrastructure/websocket/adapters/redis.adapter.js +61 -0
- package/server/infrastructure/websocket/adapters/redis.adapter.js.map +1 -0
- package/server/infrastructure/websocket/adapters/web-socket.adapter.js +127 -0
- package/server/infrastructure/websocket/adapters/web-socket.adapter.js.map +1 -0
- package/server/infrastructure/websocket/decorators/web-socket-user.decorator.js +20 -0
- package/server/infrastructure/websocket/decorators/web-socket-user.decorator.js.map +1 -0
- package/server/infrastructure/websocket/interfaces/auth-socket-io.interface.js +10 -0
- package/server/infrastructure/websocket/interfaces/auth-socket-io.interface.js.map +1 -0
- package/server/infrastructure/websocket/utils.js +23 -0
- package/server/infrastructure/websocket/utils.js.map +1 -0
- package/server/infrastructure/websocket/web-socket.config.js +54 -0
- package/server/infrastructure/websocket/web-socket.config.js.map +1 -0
- package/server/main.js +27 -0
- package/server/main.js.map +1 -0
- package/static/3rdpartylicenses.txt +1522 -0
- package/static/assets/avatar.svg +7 -0
- package/static/assets/codemirror/mode/apl/apl.js +174 -0
- package/static/assets/codemirror/mode/asciiarmor/asciiarmor.js +74 -0
- package/static/assets/codemirror/mode/asn.1/asn.1.js +204 -0
- package/static/assets/codemirror/mode/asterisk/asterisk.js +220 -0
- package/static/assets/codemirror/mode/brainfuck/brainfuck.js +85 -0
- package/static/assets/codemirror/mode/clike/clike.js +942 -0
- package/static/assets/codemirror/mode/clojure/clojure.js +293 -0
- package/static/assets/codemirror/mode/cmake/cmake.js +97 -0
- package/static/assets/codemirror/mode/cobol/cobol.js +255 -0
- package/static/assets/codemirror/mode/coffeescript/coffeescript.js +359 -0
- package/static/assets/codemirror/mode/commonlisp/commonlisp.js +125 -0
- package/static/assets/codemirror/mode/crystal/crystal.js +433 -0
- package/static/assets/codemirror/mode/css/css.js +862 -0
- package/static/assets/codemirror/mode/cypher/cypher.js +152 -0
- package/static/assets/codemirror/mode/d/d.js +223 -0
- package/static/assets/codemirror/mode/dart/dart.js +168 -0
- package/static/assets/codemirror/mode/diff/diff.js +47 -0
- package/static/assets/codemirror/mode/django/django.js +356 -0
- package/static/assets/codemirror/mode/dockerfile/dockerfile.js +211 -0
- package/static/assets/codemirror/mode/dtd/dtd.js +142 -0
- package/static/assets/codemirror/mode/dylan/dylan.js +352 -0
- package/static/assets/codemirror/mode/ebnf/ebnf.js +195 -0
- package/static/assets/codemirror/mode/ecl/ecl.js +206 -0
- package/static/assets/codemirror/mode/eiffel/eiffel.js +160 -0
- package/static/assets/codemirror/mode/elm/elm.js +245 -0
- package/static/assets/codemirror/mode/erlang/erlang.js +619 -0
- package/static/assets/codemirror/mode/factor/factor.js +85 -0
- package/static/assets/codemirror/mode/fcl/fcl.js +173 -0
- package/static/assets/codemirror/mode/forth/forth.js +180 -0
- package/static/assets/codemirror/mode/fortran/fortran.js +188 -0
- package/static/assets/codemirror/mode/gas/gas.js +353 -0
- package/static/assets/codemirror/mode/gfm/gfm.js +129 -0
- package/static/assets/codemirror/mode/gherkin/gherkin.js +194 -0
- package/static/assets/codemirror/mode/go/go.js +187 -0
- package/static/assets/codemirror/mode/groovy/groovy.js +245 -0
- package/static/assets/codemirror/mode/haml/haml.js +161 -0
- package/static/assets/codemirror/mode/handlebars/handlebars.js +70 -0
- package/static/assets/codemirror/mode/haskell/haskell.js +268 -0
- package/static/assets/codemirror/mode/haskell-literate/haskell-literate.js +43 -0
- package/static/assets/codemirror/mode/haxe/haxe.js +515 -0
- package/static/assets/codemirror/mode/htmlembedded/htmlembedded.js +37 -0
- package/static/assets/codemirror/mode/htmlmixed/htmlmixed.js +153 -0
- package/static/assets/codemirror/mode/http/http.js +113 -0
- package/static/assets/codemirror/mode/idl/idl.js +290 -0
- package/static/assets/codemirror/mode/javascript/javascript.js +960 -0
- package/static/assets/codemirror/mode/jinja2/jinja2.js +193 -0
- package/static/assets/codemirror/mode/jsx/jsx.js +149 -0
- package/static/assets/codemirror/mode/julia/julia.js +390 -0
- package/static/assets/codemirror/mode/livescript/livescript.js +280 -0
- package/static/assets/codemirror/mode/lua/lua.js +160 -0
- package/static/assets/codemirror/mode/markdown/markdown.js +886 -0
- package/static/assets/codemirror/mode/mathematica/mathematica.js +176 -0
- package/static/assets/codemirror/mode/mbox/mbox.js +129 -0
- package/static/assets/codemirror/mode/meta.js +221 -0
- package/static/assets/codemirror/mode/mirc/mirc.js +193 -0
- package/static/assets/codemirror/mode/mllike/mllike.js +359 -0
- package/static/assets/codemirror/mode/modelica/modelica.js +245 -0
- package/static/assets/codemirror/mode/mscgen/mscgen.js +175 -0
- package/static/assets/codemirror/mode/mumps/mumps.js +148 -0
- package/static/assets/codemirror/mode/nginx/nginx.js +178 -0
- package/static/assets/codemirror/mode/nsis/nsis.js +95 -0
- package/static/assets/codemirror/mode/ntriples/ntriples.js +195 -0
- package/static/assets/codemirror/mode/octave/octave.js +139 -0
- package/static/assets/codemirror/mode/oz/oz.js +252 -0
- package/static/assets/codemirror/mode/pascal/pascal.js +136 -0
- package/static/assets/codemirror/mode/pegjs/pegjs.js +111 -0
- package/static/assets/codemirror/mode/perl/perl.js +836 -0
- package/static/assets/codemirror/mode/php/php.js +234 -0
- package/static/assets/codemirror/mode/pig/pig.js +178 -0
- package/static/assets/codemirror/mode/powershell/powershell.js +398 -0
- package/static/assets/codemirror/mode/properties/properties.js +78 -0
- package/static/assets/codemirror/mode/protobuf/protobuf.js +72 -0
- package/static/assets/codemirror/mode/pug/pug.js +591 -0
- package/static/assets/codemirror/mode/puppet/puppet.js +220 -0
- package/static/assets/codemirror/mode/python/python.js +402 -0
- package/static/assets/codemirror/mode/q/q.js +139 -0
- package/static/assets/codemirror/mode/r/r.js +190 -0
- package/static/assets/codemirror/mode/rpm/changes/index.html +66 -0
- package/static/assets/codemirror/mode/rpm/rpm.js +109 -0
- package/static/assets/codemirror/mode/rst/rst.js +557 -0
- package/static/assets/codemirror/mode/ruby/ruby.js +303 -0
- package/static/assets/codemirror/mode/rust/rust.js +72 -0
- package/static/assets/codemirror/mode/sas/sas.js +303 -0
- package/static/assets/codemirror/mode/sass/sass.js +459 -0
- package/static/assets/codemirror/mode/scheme/scheme.js +284 -0
- package/static/assets/codemirror/mode/shell/shell.js +168 -0
- package/static/assets/codemirror/mode/sieve/sieve.js +193 -0
- package/static/assets/codemirror/mode/slim/slim.js +575 -0
- package/static/assets/codemirror/mode/smalltalk/smalltalk.js +168 -0
- package/static/assets/codemirror/mode/smarty/smarty.js +225 -0
- package/static/assets/codemirror/mode/solr/solr.js +104 -0
- package/static/assets/codemirror/mode/soy/soy.js +665 -0
- package/static/assets/codemirror/mode/sparql/sparql.js +184 -0
- package/static/assets/codemirror/mode/spreadsheet/spreadsheet.js +112 -0
- package/static/assets/codemirror/mode/sql/sql.js +529 -0
- package/static/assets/codemirror/mode/stex/stex.js +264 -0
- package/static/assets/codemirror/mode/stylus/stylus.js +775 -0
- package/static/assets/codemirror/mode/swift/swift.js +221 -0
- package/static/assets/codemirror/mode/tcl/tcl.js +140 -0
- package/static/assets/codemirror/mode/textile/textile.js +469 -0
- package/static/assets/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
- package/static/assets/codemirror/mode/tiddlywiki/tiddlywiki.js +308 -0
- package/static/assets/codemirror/mode/tiki/tiki.css +26 -0
- package/static/assets/codemirror/mode/tiki/tiki.js +312 -0
- package/static/assets/codemirror/mode/toml/toml.js +88 -0
- package/static/assets/codemirror/mode/tornado/tornado.js +68 -0
- package/static/assets/codemirror/mode/troff/troff.js +84 -0
- package/static/assets/codemirror/mode/ttcn/ttcn.js +283 -0
- package/static/assets/codemirror/mode/ttcn-cfg/ttcn-cfg.js +214 -0
- package/static/assets/codemirror/mode/turtle/turtle.js +162 -0
- package/static/assets/codemirror/mode/twig/twig.js +141 -0
- package/static/assets/codemirror/mode/vb/vb.js +275 -0
- package/static/assets/codemirror/mode/vbscript/vbscript.js +350 -0
- package/static/assets/codemirror/mode/velocity/velocity.js +202 -0
- package/static/assets/codemirror/mode/verilog/verilog.js +781 -0
- package/static/assets/codemirror/mode/vhdl/vhdl.js +189 -0
- package/static/assets/codemirror/mode/vue/vue.js +77 -0
- package/static/assets/codemirror/mode/wast/wast.js +132 -0
- package/static/assets/codemirror/mode/webidl/webidl.js +195 -0
- package/static/assets/codemirror/mode/xml/xml.js +417 -0
- package/static/assets/codemirror/mode/xquery/xquery.js +448 -0
- package/static/assets/codemirror/mode/yacas/yacas.js +204 -0
- package/static/assets/codemirror/mode/yaml/yaml.js +120 -0
- package/static/assets/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +72 -0
- package/static/assets/codemirror/mode/z80/z80.js +116 -0
- package/static/assets/favicon.svg +25 -0
- package/static/assets/logo-dark.svg +32 -0
- package/static/assets/logo.svg +32 -0
- package/static/assets/mimes/7zip.svg +14 -0
- package/static/assets/mimes/application-7zip.svg +14 -0
- package/static/assets/mimes/application-atom+xml.svg +15 -0
- package/static/assets/mimes/application-atom.svg +15 -0
- package/static/assets/mimes/application-certificate.svg +28 -0
- package/static/assets/mimes/application-epub+zip.svg +10 -0
- package/static/assets/mimes/application-gzip.svg +16 -0
- package/static/assets/mimes/application-javascript.svg +6 -0
- package/static/assets/mimes/application-json.svg +11 -0
- package/static/assets/mimes/application-mathml+xml.svg +188 -0
- package/static/assets/mimes/application-mp4.svg +18 -0
- package/static/assets/mimes/application-msexcel.svg +1 -0
- package/static/assets/mimes/application-msword-template.svg +1 -0
- package/static/assets/mimes/application-msword.svg +1 -0
- package/static/assets/mimes/application-octet-stream.svg +273 -0
- package/static/assets/mimes/application-pdf.svg +13 -0
- package/static/assets/mimes/application-pgp-encrypted.svg +16 -0
- package/static/assets/mimes/application-pgp-keys.svg +16 -0
- package/static/assets/mimes/application-pgp-signature.svg +16 -0
- package/static/assets/mimes/application-pgp.svg +16 -0
- package/static/assets/mimes/application-postscript.svg +57 -0
- package/static/assets/mimes/application-powerpoint.svg +1 -0
- package/static/assets/mimes/application-rdf+xml.svg +14 -0
- package/static/assets/mimes/application-rss+xml.svg +15 -0
- package/static/assets/mimes/application-rtf.svg +14 -0
- package/static/assets/mimes/application-script-blank.svg +15 -0
- package/static/assets/mimes/application-sql.svg +1 -0
- package/static/assets/mimes/application-text.svg +14 -0
- package/static/assets/mimes/application-vnd.android.package-archive.svg +16 -0
- package/static/assets/mimes/application-vnd.apple.keynote.svg +16 -0
- package/static/assets/mimes/application-vnd.apple.numbers.svg +16 -0
- package/static/assets/mimes/application-vnd.apple.pages.svg +16 -0
- package/static/assets/mimes/application-vnd.ms-excel.sheet.binary.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-excel.sheet.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-excel.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-excel.template.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-powerpoint.presentation.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-powerpoint.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-powerpoint.template.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-word.document.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-word.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-word.template.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.mspowerpoint.svg +1 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.chart.svg +1 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.database.svg +155 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.formula-template.svg +263 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.formula.svg +188 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.graphics-template.svg +530 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.graphics.svg +89 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.presentation-template.svg +197 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.presentation.svg +122 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.spreadsheet-template.svg +452 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.spreadsheet.svg +266 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.text-master.svg +92 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.text-template.svg +90 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.text-web.svg +18 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.text.svg +92 -0
- package/static/assets/mimes/application-vnd.openofficeorg.extension.svg +59 -0
- package/static/assets/mimes/application-vnd.openxmlformats-officedocument.presentationml.presentation.svg +1 -0
- package/static/assets/mimes/application-vnd.openxmlformats-officedocument.presentationml.slideshow.svg +1 -0
- package/static/assets/mimes/application-vnd.openxmlformats-officedocument.spreadsheetml.sheet.svg +1 -0
- package/static/assets/mimes/application-vnd.openxmlformats-officedocument.spreadsheetml.template.svg +1 -0
- package/static/assets/mimes/application-vnd.openxmlformats-officedocument.wordprocessingml.document.svg +1 -0
- package/static/assets/mimes/application-vnd.openxmlformats-officedocument.wordprocessingml.template.svg +1 -0
- package/static/assets/mimes/application-vnd.rn-realmedia.svg +18 -0
- package/static/assets/mimes/application-vnd.sun.xml.calc.svg +1 -0
- package/static/assets/mimes/application-vnd.sun.xml.writer-global.svg +1 -0
- package/static/assets/mimes/application-vnd.sun.xml.writer-template.svg +1 -0
- package/static/assets/mimes/application-vnd.sun.xml.writer.svg +1 -0
- package/static/assets/mimes/application-vnd.sun.xml.writer.template.svg +14 -0
- package/static/assets/mimes/application-vnd.visio.svg +26 -0
- package/static/assets/mimes/application-wps-office.doc.svg +1 -0
- package/static/assets/mimes/application-wps-office.docx.svg +1 -0
- package/static/assets/mimes/application-wps-office.ppt.svg +1 -0
- package/static/assets/mimes/application-wps-office.pptx.svg +1 -0
- package/static/assets/mimes/application-wps-office.xls.svg +1 -0
- package/static/assets/mimes/application-wps-office.xlsx.svg +1 -0
- package/static/assets/mimes/application-x-7z-compressed.svg +14 -0
- package/static/assets/mimes/application-x-7zip.svg +14 -0
- package/static/assets/mimes/application-x-ace.svg +14 -0
- package/static/assets/mimes/application-x-addon.svg +59 -0
- package/static/assets/mimes/application-x-apple-diskimage.svg +1 -0
- package/static/assets/mimes/application-x-ar.svg +16 -0
- package/static/assets/mimes/application-x-arc.svg +14 -0
- package/static/assets/mimes/application-x-archive.svg +16 -0
- package/static/assets/mimes/application-x-arj.svg +14 -0
- package/static/assets/mimes/application-x-audacity-project.svg +24 -0
- package/static/assets/mimes/application-x-bittorrent.svg +53 -0
- package/static/assets/mimes/application-x-blender.svg +353 -0
- package/static/assets/mimes/application-x-bzdvi.svg +14 -0
- package/static/assets/mimes/application-x-bzip-compressed-tar.svg +14 -0
- package/static/assets/mimes/application-x-bzip.svg +16 -0
- package/static/assets/mimes/application-x-cd-image.svg +292 -0
- package/static/assets/mimes/application-x-cda.svg +358 -0
- package/static/assets/mimes/application-x-class-file.svg +37 -0
- package/static/assets/mimes/application-x-compress-tar.svg +16 -0
- package/static/assets/mimes/application-x-compress.svg +16 -0
- package/static/assets/mimes/application-x-compressed-tar.svg +14 -0
- package/static/assets/mimes/application-x-core.svg +20 -0
- package/static/assets/mimes/application-x-cpio.svg +16 -0
- package/static/assets/mimes/application-x-deb.svg +14 -0
- package/static/assets/mimes/application-x-designer.svg +48 -0
- package/static/assets/mimes/application-x-egon.svg +12 -0
- package/static/assets/mimes/application-x-executable.svg +40 -0
- package/static/assets/mimes/application-x-extension-html.svg +18 -0
- package/static/assets/mimes/application-x-font-afm.svg +14 -0
- package/static/assets/mimes/application-x-font-snf.svg +14 -0
- package/static/assets/mimes/application-x-font-speedo.svg +14 -0
- package/static/assets/mimes/application-x-font-type1.svg +14 -0
- package/static/assets/mimes/application-x-gettext-translation.svg +14 -0
- package/static/assets/mimes/application-x-glade.svg +48 -0
- package/static/assets/mimes/application-x-gnome-theme-package.svg +109 -0
- package/static/assets/mimes/application-x-gzdvi.svg +16 -0
- package/static/assets/mimes/application-x-gzip.svg +16 -0
- package/static/assets/mimes/application-x-httpd-php.svg +18 -0
- package/static/assets/mimes/application-x-iso9660-image.svg +292 -0
- package/static/assets/mimes/application-x-java-archive.svg +16 -0
- package/static/assets/mimes/application-x-java.svg +37 -0
- package/static/assets/mimes/application-x-jokosher.svg +24 -0
- package/static/assets/mimes/application-x-kcachegrind.svg +273 -0
- package/static/assets/mimes/application-x-kcsrc.svg +109 -0
- package/static/assets/mimes/application-x-keepass.svg +2 -0
- package/static/assets/mimes/application-x-keepass2.svg +2 -0
- package/static/assets/mimes/application-x-kgetlist.svg +53 -0
- package/static/assets/mimes/application-x-lha.svg +14 -0
- package/static/assets/mimes/application-x-lzma-compressed-tar.svg +16 -0
- package/static/assets/mimes/application-x-lzop.svg +16 -0
- package/static/assets/mimes/application-x-m4.svg +14 -0
- package/static/assets/mimes/application-x-matroska.svg +18 -0
- package/static/assets/mimes/application-x-mplayer2.svg +18 -0
- package/static/assets/mimes/application-x-ms-application.svg +306 -0
- package/static/assets/mimes/application-x-ms-dos-executable.svg +306 -0
- package/static/assets/mimes/application-x-msdos-program.svg +306 -0
- package/static/assets/mimes/application-x-msdownload.svg +306 -0
- package/static/assets/mimes/application-x-msi.svg +306 -0
- package/static/assets/mimes/application-x-mswinurl.svg +18 -0
- package/static/assets/mimes/application-x-mswrite.svg +1 -0
- package/static/assets/mimes/application-x-nzb.svg +15 -0
- package/static/assets/mimes/application-x-object.svg +273 -0
- package/static/assets/mimes/application-x-ole-storage.svg +273 -0
- package/static/assets/mimes/application-x-pak.svg +16 -0
- package/static/assets/mimes/application-x-perl.svg +15 -0
- package/static/assets/mimes/application-x-php.svg +18 -0
- package/static/assets/mimes/application-x-plasma.svg +20 -0
- package/static/assets/mimes/application-x-python-bytecode.svg +16 -0
- package/static/assets/mimes/application-x-rar.svg +14 -0
- package/static/assets/mimes/application-x-rpm.svg +14 -0
- package/static/assets/mimes/application-x-ruby.svg +22 -0
- package/static/assets/mimes/application-x-sh.svg +17 -0
- package/static/assets/mimes/application-x-shared-library-la.svg +62 -0
- package/static/assets/mimes/application-x-sharedlib.svg +62 -0
- package/static/assets/mimes/application-x-shellscript.svg +17 -0
- package/static/assets/mimes/application-x-shockwave-flash.svg +18 -0
- package/static/assets/mimes/application-x-srt.svg +210 -0
- package/static/assets/mimes/application-x-subrip.svg +210 -0
- package/static/assets/mimes/application-x-tar.svg +16 -0
- package/static/assets/mimes/application-x-tarz.svg +14 -0
- package/static/assets/mimes/application-x-tex.svg +79 -0
- package/static/assets/mimes/application-x-theme.svg +109 -0
- package/static/assets/mimes/application-x-trash.svg +14 -0
- package/static/assets/mimes/application-x-tzo.svg +14 -0
- package/static/assets/mimes/application-x-wine-extension-pdd.svg +14 -0
- package/static/assets/mimes/application-x-zip.svg +14 -0
- package/static/assets/mimes/application-x-zoo.svg +14 -0
- package/static/assets/mimes/application-xhtml+xml.svg +18 -0
- package/static/assets/mimes/application-xhtml.svg +18 -0
- package/static/assets/mimes/application-xml.svg +18 -0
- package/static/assets/mimes/application-xsd.svg +18 -0
- package/static/assets/mimes/application-xslt+xml.svg +18 -0
- package/static/assets/mimes/application-zip.svg +14 -0
- package/static/assets/mimes/applications-java.svg +14 -0
- package/static/assets/mimes/archive.svg +16 -0
- package/static/assets/mimes/ascii.svg +14 -0
- package/static/assets/mimes/audio-ac3.svg +24 -0
- package/static/assets/mimes/audio-flac.svg +24 -0
- package/static/assets/mimes/audio-mpeg.svg +24 -0
- package/static/assets/mimes/audio-vn.rn-realmedia.svg +18 -0
- package/static/assets/mimes/audio-vnd.rn-realvideo.svg +18 -0
- package/static/assets/mimes/audio-x-adpcm.svg +24 -0
- package/static/assets/mimes/audio-x-aiff.svg +24 -0
- package/static/assets/mimes/audio-x-flac+ogg.svg +24 -0
- package/static/assets/mimes/audio-x-flac.svg +24 -0
- package/static/assets/mimes/audio-x-generic.svg +24 -0
- package/static/assets/mimes/audio-x-it.svg +24 -0
- package/static/assets/mimes/audio-x-monkey.svg +24 -0
- package/static/assets/mimes/audio-x-mpegurl.svg +24 -0
- package/static/assets/mimes/audio-x-wav.svg +24 -0
- package/static/assets/mimes/audio-x-xi.svg +24 -0
- package/static/assets/mimes/audio-x-xm.svg +24 -0
- package/static/assets/mimes/binary.svg +40 -0
- package/static/assets/mimes/deb.svg +14 -0
- package/static/assets/mimes/directory.svg +9 -0
- package/static/assets/mimes/directory_disabled.svg +9 -0
- package/static/assets/mimes/directory_error.svg +9 -0
- package/static/assets/mimes/directory_share.svg +9 -0
- package/static/assets/mimes/directory_sync.svg +9 -0
- package/static/assets/mimes/divx.svg +18 -0
- package/static/assets/mimes/document.svg +14 -0
- package/static/assets/mimes/emblem-package.svg +16 -0
- package/static/assets/mimes/eps.svg +24 -0
- package/static/assets/mimes/exec.svg +40 -0
- package/static/assets/mimes/extension.svg +59 -0
- package/static/assets/mimes/file.svg +12 -0
- package/static/assets/mimes/folder-tar.svg +16 -0
- package/static/assets/mimes/folder_tar.svg +16 -0
- package/static/assets/mimes/font-otf.svg +14 -0
- package/static/assets/mimes/font-x-generic.svg +14 -0
- package/static/assets/mimes/font.svg +14 -0
- package/static/assets/mimes/font_bitmap.svg +14 -0
- package/static/assets/mimes/font_truetype.svg +14 -0
- package/static/assets/mimes/font_type1.svg +14 -0
- package/static/assets/mimes/fonts-package.svg +16 -0
- package/static/assets/mimes/gedit-plugin.svg +59 -0
- package/static/assets/mimes/gnome-exe-thumbnailer-generic-x.svg +306 -0
- package/static/assets/mimes/gnome-exe-thumbnailer-generic.svg +306 -0
- package/static/assets/mimes/gnome-exe-thumbnailer-template.svg +306 -0
- package/static/assets/mimes/gnome-fs-executable.svg +40 -0
- package/static/assets/mimes/gnome-mime-application-atom+xml.svg +15 -0
- package/static/assets/mimes/gnome-mime-application-msexcel.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-msword.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-ogg.svg +24 -0
- package/static/assets/mimes/gnome-mime-application-pdf.svg +13 -0
- package/static/assets/mimes/gnome-mime-application-postscript.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-powerpoint.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-rss+xml.svg +15 -0
- package/static/assets/mimes/gnome-mime-application-rtf.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-vnd.ms-excel.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.ms-powerpoint.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.ms-word.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.mspowerpoint.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.oasis.opendocument.formula.svg +188 -0
- package/static/assets/mimes/gnome-mime-application-vnd.oasis.opendocument.text-web.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-vnd.openxmlformats-officedocument.presentationml.presentation.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.openxmlformats-officedocument.presentationml.slideshow.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.openxmlformats-officedocument.spreadsheetml.sheet.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.openxmlformats-officedocument.wordprocessingml.document.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.rn-realmedia-secure.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-vnd.rn-realmedia-vbr.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-vnd.rn-realmedia.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-wps-office.doc.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-wps-office.docx.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-wps-office.ppt.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-wps-office.pptx.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-wps-office.xls.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-wps-office.xlsx.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-x-7z-compressed.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-7zip.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-archive.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-arj.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-bittorrent.svg +53 -0
- package/static/assets/mimes/gnome-mime-application-x-bzip-compressed-tar.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-bzip-compressed.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-bzip.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-class-file.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-compress.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-compressed-tar.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-cpio-compressed.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-cpio.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-deb.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-designer.svg +48 -0
- package/static/assets/mimes/gnome-mime-application-x-executable.svg +40 -0
- package/static/assets/mimes/gnome-mime-application-x-font-afm.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-font-bdf.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-font-linux-psf.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-font-pcf.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-font-sunos-news.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-font-ttf.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-glade.svg +48 -0
- package/static/assets/mimes/gnome-mime-application-x-gnome-app-info.svg +109 -0
- package/static/assets/mimes/gnome-mime-application-x-gnome-theme-package.svg +109 -0
- package/static/assets/mimes/gnome-mime-application-x-gzip.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-gzpostscript.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-jar.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-java.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-killustrator.svg +12 -0
- package/static/assets/mimes/gnome-mime-application-x-lha.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-lhz.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-lzma-compressed-tar.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-lzma.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-ms-dos-executable.svg +306 -0
- package/static/assets/mimes/gnome-mime-application-x-perl.svg +15 -0
- package/static/assets/mimes/gnome-mime-application-x-php.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-x-python-bytecode.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-rar.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-rpm.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-ruby.svg +22 -0
- package/static/assets/mimes/gnome-mime-application-x-shellscript.svg +17 -0
- package/static/assets/mimes/gnome-mime-application-x-shockwave-flash.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-x-stuffit.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-tar.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-tarz.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-tex.svg +79 -0
- package/static/assets/mimes/gnome-mime-application-x-theme.svg +109 -0
- package/static/assets/mimes/gnome-mime-application-x-zip.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-xhtml+xml.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-xml.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-zip.svg +14 -0
- package/static/assets/mimes/gnome-mime-application.svg +40 -0
- package/static/assets/mimes/gnome-mime-audio.svg +24 -0
- package/static/assets/mimes/gnome-mime-image-vnd.adobe.photoshop.svg +14 -0
- package/static/assets/mimes/gnome-mime-image-x-cmu-raster.svg +12 -0
- package/static/assets/mimes/gnome-mime-image-x-killustrator.svg +12 -0
- package/static/assets/mimes/gnome-mime-image-x-psd.svg +14 -0
- package/static/assets/mimes/gnome-mime-image-x-xpixmap.svg +12 -0
- package/static/assets/mimes/gnome-mime-image.svg +12 -0
- package/static/assets/mimes/gnome-mime-text-html.svg +18 -0
- package/static/assets/mimes/gnome-mime-text-install.svg +20 -0
- package/static/assets/mimes/gnome-mime-text-plain.svg +14 -0
- package/static/assets/mimes/gnome-mime-text-vnd.wap.wml.svg +18 -0
- package/static/assets/mimes/gnome-mime-text-x-changelog.svg +208 -0
- package/static/assets/mimes/gnome-mime-text-x-copying.svg +17 -0
- package/static/assets/mimes/gnome-mime-text-x-csh.svg +17 -0
- package/static/assets/mimes/gnome-mime-text-x-gtkrc.svg +109 -0
- package/static/assets/mimes/gnome-mime-text-x-install.svg +17 -0
- package/static/assets/mimes/gnome-mime-text-x-java-source.svg +14 -0
- package/static/assets/mimes/gnome-mime-text-x-java.svg +14 -0
- package/static/assets/mimes/gnome-mime-text-x-makefile.svg +176 -0
- package/static/assets/mimes/gnome-mime-text-x-opml+xml.svg +15 -0
- package/static/assets/mimes/gnome-mime-text-x-opml.svg +15 -0
- package/static/assets/mimes/gnome-mime-text-x-python.svg +16 -0
- package/static/assets/mimes/gnome-mime-text-x-readme.svg +15 -0
- package/static/assets/mimes/gnome-mime-text-x-sh.svg +17 -0
- package/static/assets/mimes/gnome-mime-text-x-zsh.svg +17 -0
- package/static/assets/mimes/gnome-mime-text.svg +14 -0
- package/static/assets/mimes/gnome-mime-video-x-ms-asf.svg +18 -0
- package/static/assets/mimes/gnome-mime-video-x-ms-wmv.svg +18 -0
- package/static/assets/mimes/gnome-mime-video.svg +18 -0
- package/static/assets/mimes/gnome-mime-x-font-afm.svg +14 -0
- package/static/assets/mimes/gnome-mime-x-install.svg +20 -0
- package/static/assets/mimes/gnome-package.svg +16 -0
- package/static/assets/mimes/html.svg +18 -0
- package/static/assets/mimes/image-gif.svg +12 -0
- package/static/assets/mimes/image-jpeg.svg +12 -0
- package/static/assets/mimes/image-png.svg +12 -0
- package/static/assets/mimes/image-svg+xml-compressed.svg +12 -0
- package/static/assets/mimes/image-svg+xml.svg +12 -0
- package/static/assets/mimes/image-svg.svg +12 -0
- package/static/assets/mimes/image-vnd.adobe.photoshop.svg +14 -0
- package/static/assets/mimes/image-vnd.microsoft.icon.svg +12 -0
- package/static/assets/mimes/image-x-eps.svg +24 -0
- package/static/assets/mimes/image-x-generic.svg +12 -0
- package/static/assets/mimes/image-x-psd.svg +14 -0
- package/static/assets/mimes/image-x-psdimage-x-psd.svg +14 -0
- package/static/assets/mimes/image-x-xcf.svg +21 -0
- package/static/assets/mimes/image-x-xfig.svg +12 -0
- package/static/assets/mimes/image.svg +12 -0
- package/static/assets/mimes/internet-feed.svg +15 -0
- package/static/assets/mimes/libpeas-plugin.svg +59 -0
- package/static/assets/mimes/libreoffice-database.svg +155 -0
- package/static/assets/mimes/libreoffice-extension.svg +59 -0
- package/static/assets/mimes/libreoffice-extensionn.svg +59 -0
- package/static/assets/mimes/libreoffice-formula.svg +188 -0
- package/static/assets/mimes/libreoffice-oasis-formula.svg +188 -0
- package/static/assets/mimes/libreoffice34-extension.svg +59 -0
- package/static/assets/mimes/media-audio.svg +24 -0
- package/static/assets/mimes/media-video.svg +18 -0
- package/static/assets/mimes/mime-ascii.svg +14 -0
- package/static/assets/mimes/mime_ascii.svg +14 -0
- package/static/assets/mimes/misc.svg +14 -0
- package/static/assets/mimes/multipart-encrypted.svg +273 -0
- package/static/assets/mimes/music.svg +24 -0
- package/static/assets/mimes/none.svg +110 -0
- package/static/assets/mimes/old-file.svg +22 -0
- package/static/assets/mimes/openofficeorg3-extension.svg +59 -0
- package/static/assets/mimes/package-x-generic.svg +16 -0
- package/static/assets/mimes/package.svg +16 -0
- package/static/assets/mimes/package_editors.svg +14 -0
- package/static/assets/mimes/packages-gdebi.svg +14 -0
- package/static/assets/mimes/pdf.svg +13 -0
- package/static/assets/mimes/preferences-certificate.svg +28 -0
- package/static/assets/mimes/preferences-plugin.svg +59 -0
- package/static/assets/mimes/rar.svg +14 -0
- package/static/assets/mimes/raw.svg +12 -0
- package/static/assets/mimes/rpm.svg +14 -0
- package/static/assets/mimes/scii.svg +14 -0
- package/static/assets/mimes/shellscript.svg +17 -0
- package/static/assets/mimes/sound.svg +24 -0
- package/static/assets/mimes/stock_certificate.svg +28 -0
- package/static/assets/mimes/stock_new-formula.svg +188 -0
- package/static/assets/mimes/stock_new-html.svg +18 -0
- package/static/assets/mimes/stock_script.svg +17 -0
- package/static/assets/mimes/stock_scripts.svg +17 -0
- package/static/assets/mimes/tar.svg +16 -0
- package/static/assets/mimes/text-css.svg +18 -0
- package/static/assets/mimes/text-enriched.svg +14 -0
- package/static/assets/mimes/text-html.svg +18 -0
- package/static/assets/mimes/text-htmlh.svg +18 -0
- package/static/assets/mimes/text-javascript.svg +6 -0
- package/static/assets/mimes/text-markdown.svg +26 -0
- package/static/assets/mimes/text-mht.svg +18 -0
- package/static/assets/mimes/text-plain.svg +14 -0
- package/static/assets/mimes/text-richtext.svg +14 -0
- package/static/assets/mimes/text-typescript.svg +1 -0
- package/static/assets/mimes/text-x-bak.svg +14 -0
- package/static/assets/mimes/text-x-bibtex.svg +79 -0
- package/static/assets/mimes/text-x-changelog.svg +208 -0
- package/static/assets/mimes/text-x-copying.svg +17 -0
- package/static/assets/mimes/text-x-generic.svg +14 -0
- package/static/assets/mimes/text-x-gtkrc.svg +109 -0
- package/static/assets/mimes/text-x-install.svg +20 -0
- package/static/assets/mimes/text-x-java-source.svg +14 -0
- package/static/assets/mimes/text-x-java.svg +14 -0
- package/static/assets/mimes/text-x-log.svg +1135 -0
- package/static/assets/mimes/text-x-lua.svg +14 -0
- package/static/assets/mimes/text-x-makefile.svg +176 -0
- package/static/assets/mimes/text-x-microdvd.svg +210 -0
- package/static/assets/mimes/text-x-nfo.svg +14 -0
- package/static/assets/mimes/text-x-opml+xml.svg +15 -0
- package/static/assets/mimes/text-x-opml.svg +15 -0
- package/static/assets/mimes/text-x-patch.svg +19 -0
- package/static/assets/mimes/text-x-perl.svg +15 -0
- package/static/assets/mimes/text-x-python.svg +16 -0
- package/static/assets/mimes/text-x-readme.svg +15 -0
- package/static/assets/mimes/text-x-ruby.svg +22 -0
- package/static/assets/mimes/text-x-script.svg +17 -0
- package/static/assets/mimes/text-x-tex.svg +79 -0
- package/static/assets/mimes/text-x-vala.svg +14 -0
- package/static/assets/mimes/text-x.svg +14 -0
- package/static/assets/mimes/text-xmcd.svg +358 -0
- package/static/assets/mimes/text-xml.svg +18 -0
- package/static/assets/mimes/text-yaml.svg +1 -0
- package/static/assets/mimes/text.svg +14 -0
- package/static/assets/mimes/text2.svg +14 -0
- package/static/assets/mimes/tgz.svg +16 -0
- package/static/assets/mimes/txt.svg +14 -0
- package/static/assets/mimes/txt2.svg +14 -0
- package/static/assets/mimes/unknown.svg +110 -0
- package/static/assets/mimes/uri-mms.svg +18 -0
- package/static/assets/mimes/uri-mmst.svg +18 -0
- package/static/assets/mimes/uri-mmsu.svg +18 -0
- package/static/assets/mimes/uri-pnm.svg +18 -0
- package/static/assets/mimes/uri-rtspt.svg +18 -0
- package/static/assets/mimes/uri-rtspu.svg +18 -0
- package/static/assets/mimes/video-quicktime.svg +18 -0
- package/static/assets/mimes/video-vivo.svg +18 -0
- package/static/assets/mimes/video-wavelet.svg +18 -0
- package/static/assets/mimes/video-webm.svg +18 -0
- package/static/assets/mimes/video-x-anim.svg +18 -0
- package/static/assets/mimes/video-x-flic.svg +18 -0
- package/static/assets/mimes/video-x-generic.svg +18 -0
- package/static/assets/mimes/video-x-google-vlc-plugin.svg +18 -0
- package/static/assets/mimes/video-x-javafx.svg +18 -0
- package/static/assets/mimes/video-x-matroska.svg +18 -0
- package/static/assets/mimes/video-x-mng.svg +18 -0
- package/static/assets/mimes/video-x-ms-asf-plugin.svg +18 -0
- package/static/assets/mimes/video-x-ms-asf.svg +18 -0
- package/static/assets/mimes/video-x-ms-wmp.svg +18 -0
- package/static/assets/mimes/video-x-ms-wmv.svg +18 -0
- package/static/assets/mimes/video-x-nsv.svg +18 -0
- package/static/assets/mimes/video-x-sgi-movie.svg +18 -0
- package/static/assets/mimes/video-x-theora+ogg.svg +18 -0
- package/static/assets/mimes/video-x-wmv.svg +18 -0
- package/static/assets/mimes/video.svg +18 -0
- package/static/assets/mimes/www.svg +18 -0
- package/static/assets/mimes/x-kde-nsplugin-generated.svg +59 -0
- package/static/assets/mimes/zip.svg +14 -0
- package/static/assets/pdfjs/LICENSE +177 -0
- package/static/assets/pdfjs/build/pdf.mjs +23371 -0
- package/static/assets/pdfjs/build/pdf.mjs.map +1 -0
- package/static/assets/pdfjs/build/pdf.sandbox.mjs +218 -0
- package/static/assets/pdfjs/build/pdf.sandbox.mjs.map +1 -0
- package/static/assets/pdfjs/build/pdf.worker.mjs +58148 -0
- package/static/assets/pdfjs/build/pdf.worker.mjs.map +1 -0
- package/static/assets/pdfjs/version +1 -0
- package/static/assets/pdfjs/web/cmaps/78-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Add-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Add-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Add-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Add-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-0.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-1.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-3.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-4.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-5.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/B5pc-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/B5pc-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/CNS-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/CNS-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/CNS1-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/CNS1-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/CNS2-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/CNS2-V.bcmap +3 -0
- package/static/assets/pdfjs/web/cmaps/ETHK-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/ETHK-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/ETen-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/ETen-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/ETenms-B5-H.bcmap +3 -0
- package/static/assets/pdfjs/web/cmaps/ETenms-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Ext-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Ext-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GB-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GB-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GB-H.bcmap +4 -0
- package/static/assets/pdfjs/web/cmaps/GB-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBK-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBK-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBK2K-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBK2K-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBKp-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBKp-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBT-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBT-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBT-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBT-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBpc-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBpc-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKdla-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKdla-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKdlb-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKdlb-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKgccs-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKgccs-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKm314-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKm314-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKm471-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKm471-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKscs-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKscs-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Hankaku.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Hiragana.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSC-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSC-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSC-Johab-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSC-Johab-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSCms-UHC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSCms-UHC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Katakana.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/LICENSE +36 -0
- package/static/assets/pdfjs/web/cmaps/NWP-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/NWP-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Roman.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/WP-Symbol.bcmap +0 -0
- package/static/assets/pdfjs/web/compressed.tracemonkey-pldi-09.pdf +0 -0
- package/static/assets/pdfjs/web/debugger.css +114 -0
- package/static/assets/pdfjs/web/debugger.mjs +627 -0
- package/static/assets/pdfjs/web/iccs/CGATS001Compat-v2-micro.icc +0 -0
- package/static/assets/pdfjs/web/iccs/LICENSE +116 -0
- package/static/assets/pdfjs/web/images/altText_add.svg +3 -0
- package/static/assets/pdfjs/web/images/altText_disclaimer.svg +3 -0
- package/static/assets/pdfjs/web/images/altText_done.svg +3 -0
- package/static/assets/pdfjs/web/images/altText_spinner.svg +30 -0
- package/static/assets/pdfjs/web/images/altText_warning.svg +3 -0
- package/static/assets/pdfjs/web/images/annotation-check.svg +11 -0
- package/static/assets/pdfjs/web/images/annotation-comment.svg +16 -0
- package/static/assets/pdfjs/web/images/annotation-help.svg +26 -0
- package/static/assets/pdfjs/web/images/annotation-insert.svg +10 -0
- package/static/assets/pdfjs/web/images/annotation-key.svg +11 -0
- package/static/assets/pdfjs/web/images/annotation-newparagraph.svg +11 -0
- package/static/assets/pdfjs/web/images/annotation-noicon.svg +7 -0
- package/static/assets/pdfjs/web/images/annotation-note.svg +42 -0
- package/static/assets/pdfjs/web/images/annotation-paperclip.svg +6 -0
- package/static/assets/pdfjs/web/images/annotation-paragraph.svg +16 -0
- package/static/assets/pdfjs/web/images/annotation-pushpin.svg +7 -0
- package/static/assets/pdfjs/web/images/comment-actionsButton.svg +3 -0
- package/static/assets/pdfjs/web/images/comment-closeButton.svg +3 -0
- package/static/assets/pdfjs/web/images/comment-editButton.svg +3 -0
- package/static/assets/pdfjs/web/images/cursor-editorFreeHighlight.svg +6 -0
- package/static/assets/pdfjs/web/images/cursor-editorFreeText.svg +3 -0
- package/static/assets/pdfjs/web/images/cursor-editorInk.svg +4 -0
- package/static/assets/pdfjs/web/images/cursor-editorTextHighlight.svg +8 -0
- package/static/assets/pdfjs/web/images/editor-toolbar-delete.svg +5 -0
- package/static/assets/pdfjs/web/images/editor-toolbar-edit.svg +3 -0
- package/static/assets/pdfjs/web/images/findbarButton-next.svg +3 -0
- package/static/assets/pdfjs/web/images/findbarButton-previous.svg +3 -0
- package/static/assets/pdfjs/web/images/gv-toolbarButton-download.svg +3 -0
- package/static/assets/pdfjs/web/images/loading-icon.gif +0 -0
- package/static/assets/pdfjs/web/images/loading.svg +1 -0
- package/static/assets/pdfjs/web/images/messageBar_closingButton.svg +3 -0
- package/static/assets/pdfjs/web/images/messageBar_info.svg +3 -0
- package/static/assets/pdfjs/web/images/messageBar_warning.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-documentProperties.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-firstPage.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-handTool.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-lastPage.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-rotateCw.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-scrollPage.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-selectTool.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-spreadEven.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-spreadNone.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-bookmark.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-currentOutlineItem.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-download.svg +4 -0
- package/static/assets/pdfjs/web/images/toolbarButton-editorFreeText.svg +5 -0
- package/static/assets/pdfjs/web/images/toolbarButton-editorHighlight.svg +6 -0
- package/static/assets/pdfjs/web/images/toolbarButton-editorInk.svg +4 -0
- package/static/assets/pdfjs/web/images/toolbarButton-editorSignature.svg +6 -0
- package/static/assets/pdfjs/web/images/toolbarButton-editorStamp.svg +8 -0
- package/static/assets/pdfjs/web/images/toolbarButton-menuArrow.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-openFile.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-pageDown.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-pageUp.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-presentationMode.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-print.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-search.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-sidebarToggle.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-viewAttachments.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-viewLayers.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-viewOutline.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-viewThumbnail.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-zoomIn.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-zoomOut.svg +3 -0
- package/static/assets/pdfjs/web/images/treeitem-collapsed.svg +1 -0
- package/static/assets/pdfjs/web/images/treeitem-expanded.svg +1 -0
- package/static/assets/pdfjs/web/locale/ach/viewer.ftl +275 -0
- package/static/assets/pdfjs/web/locale/af/viewer.ftl +262 -0
- package/static/assets/pdfjs/web/locale/an/viewer.ftl +307 -0
- package/static/assets/pdfjs/web/locale/ar/viewer.ftl +627 -0
- package/static/assets/pdfjs/web/locale/ast/viewer.ftl +251 -0
- package/static/assets/pdfjs/web/locale/az/viewer.ftl +307 -0
- package/static/assets/pdfjs/web/locale/be/viewer.ftl +618 -0
- package/static/assets/pdfjs/web/locale/bg/viewer.ftl +451 -0
- package/static/assets/pdfjs/web/locale/bn/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/bo/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/br/viewer.ftl +382 -0
- package/static/assets/pdfjs/web/locale/brx/viewer.ftl +268 -0
- package/static/assets/pdfjs/web/locale/bs/viewer.ftl +618 -0
- package/static/assets/pdfjs/web/locale/ca/viewer.ftl +343 -0
- package/static/assets/pdfjs/web/locale/cak/viewer.ftl +341 -0
- package/static/assets/pdfjs/web/locale/ckb/viewer.ftl +292 -0
- package/static/assets/pdfjs/web/locale/cs/viewer.ftl +621 -0
- package/static/assets/pdfjs/web/locale/cy/viewer.ftl +627 -0
- package/static/assets/pdfjs/web/locale/da/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/de/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/dsb/viewer.ftl +621 -0
- package/static/assets/pdfjs/web/locale/el/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/en-CA/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/en-GB/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/en-US/viewer.ftl +667 -0
- package/static/assets/pdfjs/web/locale/eo/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/es-AR/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/es-CL/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/es-ES/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/es-MX/viewer.ftl +580 -0
- package/static/assets/pdfjs/web/locale/et/viewer.ftl +319 -0
- package/static/assets/pdfjs/web/locale/eu/viewer.ftl +619 -0
- package/static/assets/pdfjs/web/locale/fa/viewer.ftl +378 -0
- package/static/assets/pdfjs/web/locale/ff/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/fi/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/fr/viewer.ftl +611 -0
- package/static/assets/pdfjs/web/locale/fur/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/fy-NL/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/ga-IE/viewer.ftl +263 -0
- package/static/assets/pdfjs/web/locale/gd/viewer.ftl +343 -0
- package/static/assets/pdfjs/web/locale/gl/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/gn/viewer.ftl +614 -0
- package/static/assets/pdfjs/web/locale/gu-IN/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/he/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/hi-IN/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/hr/viewer.ftl +618 -0
- package/static/assets/pdfjs/web/locale/hsb/viewer.ftl +621 -0
- package/static/assets/pdfjs/web/locale/hu/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/hy-AM/viewer.ftl +314 -0
- package/static/assets/pdfjs/web/locale/hye/viewer.ftl +318 -0
- package/static/assets/pdfjs/web/locale/ia/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/id/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/is/viewer.ftl +600 -0
- package/static/assets/pdfjs/web/locale/it/viewer.ftl +623 -0
- package/static/assets/pdfjs/web/locale/ja/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/ka/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/kab/viewer.ftl +595 -0
- package/static/assets/pdfjs/web/locale/kk/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/km/viewer.ftl +273 -0
- package/static/assets/pdfjs/web/locale/kn/viewer.ftl +263 -0
- package/static/assets/pdfjs/web/locale/ko/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/lij/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/lo/viewer.ftl +343 -0
- package/static/assets/pdfjs/web/locale/locale.json +1 -0
- package/static/assets/pdfjs/web/locale/lt/viewer.ftl +318 -0
- package/static/assets/pdfjs/web/locale/ltg/viewer.ftl +296 -0
- package/static/assets/pdfjs/web/locale/lv/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/meh/viewer.ftl +137 -0
- package/static/assets/pdfjs/web/locale/mk/viewer.ftl +265 -0
- package/static/assets/pdfjs/web/locale/ml/viewer.ftl +524 -0
- package/static/assets/pdfjs/web/locale/mr/viewer.ftl +289 -0
- package/static/assets/pdfjs/web/locale/ms/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/my/viewer.ftl +256 -0
- package/static/assets/pdfjs/web/locale/nb-NO/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/ne-NP/viewer.ftl +284 -0
- package/static/assets/pdfjs/web/locale/nl/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/nn-NO/viewer.ftl +609 -0
- package/static/assets/pdfjs/web/locale/oc/viewer.ftl +436 -0
- package/static/assets/pdfjs/web/locale/pa-IN/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/pl/viewer.ftl +618 -0
- package/static/assets/pdfjs/web/locale/pt-BR/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/pt-PT/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/rm/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/ro/viewer.ftl +302 -0
- package/static/assets/pdfjs/web/locale/ru/viewer.ftl +618 -0
- package/static/assets/pdfjs/web/locale/sat/viewer.ftl +355 -0
- package/static/assets/pdfjs/web/locale/sc/viewer.ftl +394 -0
- package/static/assets/pdfjs/web/locale/scn/viewer.ftl +124 -0
- package/static/assets/pdfjs/web/locale/sco/viewer.ftl +314 -0
- package/static/assets/pdfjs/web/locale/si/viewer.ftl +301 -0
- package/static/assets/pdfjs/web/locale/sk/viewer.ftl +621 -0
- package/static/assets/pdfjs/web/locale/skr/viewer.ftl +524 -0
- package/static/assets/pdfjs/web/locale/sl/viewer.ftl +621 -0
- package/static/assets/pdfjs/web/locale/son/viewer.ftl +256 -0
- package/static/assets/pdfjs/web/locale/sq/viewer.ftl +606 -0
- package/static/assets/pdfjs/web/locale/sr/viewer.ftl +451 -0
- package/static/assets/pdfjs/web/locale/sv-SE/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/szl/viewer.ftl +307 -0
- package/static/assets/pdfjs/web/locale/ta/viewer.ftl +273 -0
- package/static/assets/pdfjs/web/locale/te/viewer.ftl +289 -0
- package/static/assets/pdfjs/web/locale/tg/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/th/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/tl/viewer.ftl +307 -0
- package/static/assets/pdfjs/web/locale/tr/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/trs/viewer.ftl +247 -0
- package/static/assets/pdfjs/web/locale/uk/viewer.ftl +618 -0
- package/static/assets/pdfjs/web/locale/ur/viewer.ftl +298 -0
- package/static/assets/pdfjs/web/locale/uz/viewer.ftl +237 -0
- package/static/assets/pdfjs/web/locale/vi/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/wo/viewer.ftl +177 -0
- package/static/assets/pdfjs/web/locale/xh/viewer.ftl +262 -0
- package/static/assets/pdfjs/web/locale/zh-CN/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/zh-TW/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitDingbats.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitFixed.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitFixedBold.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitSerif.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitSerifBold.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitSymbol.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/LICENSE_FOXIT +27 -0
- package/static/assets/pdfjs/web/standard_fonts/LICENSE_LIBERATION +102 -0
- package/static/assets/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
- package/static/assets/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
- package/static/assets/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
- package/static/assets/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
- package/static/assets/pdfjs/web/viewer.css +6766 -0
- package/static/assets/pdfjs/web/viewer.html +768 -0
- package/static/assets/pdfjs/web/viewer.mjs +17445 -0
- package/static/assets/pdfjs/web/viewer.mjs.map +1 -0
- package/static/assets/pdfjs/web/wasm/LICENSE_OPENJPEG +39 -0
- package/static/assets/pdfjs/web/wasm/LICENSE_PDFJS_OPENJPEG +22 -0
- package/static/assets/pdfjs/web/wasm/LICENSE_PDFJS_QCMS +22 -0
- package/static/assets/pdfjs/web/wasm/LICENSE_QCMS +21 -0
- package/static/assets/pdfjs/web/wasm/openjpeg.wasm +0 -0
- package/static/assets/pdfjs/web/wasm/openjpeg_nowasm_fallback.js +29 -0
- package/static/assets/pdfjs/web/wasm/qcms_bg.wasm +0 -0
- package/static/assets/protected.png +0 -0
- package/static/chunk-2EBPSJJT.js +1 -0
- package/static/chunk-3V7XYPSJ.js +4 -0
- package/static/chunk-4IYQWOGR.js +1 -0
- package/static/chunk-5RFOYHL3.js +1 -0
- package/static/chunk-7PCJMNDR.js +1 -0
- package/static/chunk-7WRQICEB.js +1 -0
- package/static/chunk-AKM2LQUU.js +1 -0
- package/static/chunk-ATFX6EIO.js +1 -0
- package/static/chunk-ATLT5DK5.js +1 -0
- package/static/chunk-DVHXFWN7.js +1 -0
- package/static/chunk-E27KCFP6.js +24 -0
- package/static/chunk-FPEGN42P.js +564 -0
- package/static/chunk-GAL4ENT6.js +1 -0
- package/static/chunk-GWUCWOVK.js +1 -0
- package/static/chunk-I644MKAO.js +1 -0
- package/static/chunk-IFJD2ISM.js +1 -0
- package/static/chunk-IUUTIYHF.js +1 -0
- package/static/chunk-JXZCNFW7.js +1 -0
- package/static/chunk-MEKYVWV4.js +1 -0
- package/static/chunk-MQZEETHL.js +7 -0
- package/static/chunk-NPLV4M2H.js +1 -0
- package/static/chunk-NU3TPXFY.js +4 -0
- package/static/chunk-O4CXCITB.js +1 -0
- package/static/chunk-OWGR4BYT.js +1 -0
- package/static/chunk-QFRQQ4K3.js +1 -0
- package/static/chunk-RAVRSB6R.js +1 -0
- package/static/chunk-RUNMEQOV.js +1 -0
- package/static/chunk-UGSGMP2I.js +1 -0
- package/static/chunk-UV4UIX6J.js +1 -0
- package/static/chunk-VBD7QTEP.js +1 -0
- package/static/chunk-VBWPPICY.js +1 -0
- package/static/chunk-VQRN7HFP.js +1 -0
- package/static/chunk-WTPZUBNX.js +24 -0
- package/static/chunk-XI72YZ2M.js +1 -0
- package/static/chunk-Z6IHRUVL.js +1 -0
- package/static/chunk-ZVPX26RB.js +1 -0
- package/static/chunk-ZZ3LHYOY.js +1 -0
- package/static/favicon.ico +0 -0
- package/static/index.html +19 -0
- package/static/main-ILCPT3IK.js +10 -0
- package/static/media/videogular-54D7AHHD.woff +0 -0
- package/static/media/videogular-H7MSXT3I.eot +0 -0
- package/static/media/videogular-ULU7CHZC.ttf +0 -0
- package/static/media/videogular-WX5DESMV.svg +29 -0
- package/static/polyfills-GNKGQMRJ.js +2 -0
- package/static/prerendered-routes.json +3 -0
- package/static/scripts-MQMRSPYD.js +30 -0
- package/static/styles-TJJDSCD4.css +1 -0
- package/sync-in-server.js +309 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/shares/services/shares-queries.service.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { Inject, Injectable, Logger } from '@nestjs/common'\nimport { and, count, eq, inArray, isNotNull, isNull, ne, or, SelectedFields, SQL, sql } from 'drizzle-orm'\nimport { alias, MySqlSelectDynamic, union } from 'drizzle-orm/mysql-core'\nimport { MySql2PreparedQuery, MySqlQueryResult } from 'drizzle-orm/mysql2'\nimport { ACTION } from '../../../common/constants'\nimport { uniquePermissions } from '../../../common/functions'\nimport { createSlug, popFromObject } from '../../../common/shared'\nimport { CacheDecorator } from '../../../infrastructure/cache/cache.decorator'\nimport { Cache } from '../../../infrastructure/cache/services/cache.service'\nimport { DB_TOKEN_PROVIDER } from '../../../infrastructure/database/constants'\nimport type { DBSchema } from '../../../infrastructure/database/interfaces/database.interface'\nimport {\n concatDistinctObjectsInArray,\n convertToWhere,\n dateTimeUTC,\n dbCheckAffectedRows,\n dbGetInsertedId\n} from '../../../infrastructure/database/utils'\nimport { fileHasCommentsSubquerySQL } from '../../comments/schemas/comments.schema'\nimport type { FileProps } from '../../files/interfaces/file-props.interface'\nimport type { FileSpace } from '../../files/interfaces/file-space.interface'\nimport { filePathSQL, files } from '../../files/schemas/files.schema'\nimport { links } from '../../links/schemas/links.schema'\nimport { SpaceEnv } from '../../spaces/models/space-env.model'\nimport { spacesRoots } from '../../spaces/schemas/spaces-roots.schema'\nimport { spaceGroupConcatPermissions, spaces } from '../../spaces/schemas/spaces.schema'\nimport { syncClients } from '../../sync/schemas/sync-clients.schema'\nimport { syncPaths } from '../../sync/schemas/sync-paths.schema'\nimport { GROUP_TYPE } from '../../users/constants/group'\nimport { MEMBER_TYPE } from '../../users/constants/member'\nimport { USER_ROLE } from '../../users/constants/user'\nimport type { Owner } from '../../users/interfaces/owner.interface'\nimport type { UserModel } from '../../users/models/user.model'\nimport { groups } from '../../users/schemas/groups.schema'\nimport { usersGroups } from '../../users/schemas/users-groups.schema'\nimport { userFullNameSQL, users } from '../../users/schemas/users.schema'\nimport { SHARE_ALL_OPERATIONS, SHARE_TYPE } from '../constants/shares'\nimport type { ShareMemberDto } from '../dto/create-or-update-share.dto'\nimport type { ShareChildMember, ShareChildQuery } from '../interfaces/share-child.interface'\nimport type { ShareEnv } from '../interfaces/share-env.interface'\nimport type { ShareFile } from '../interfaces/share-file.interface'\nimport type { ShareLink } from '../interfaces/share-link.interface'\nimport type { ShareProps } from '../interfaces/share-props.interface'\nimport { ShareChild } from '../models/share-child.model'\nimport type { ShareMembers } from '../schemas/share-members.interface'\nimport type { Share } from '../schemas/share.interface'\nimport { sharesMembers } from '../schemas/shares-members.schema'\nimport { shares } from '../schemas/shares.schema'\n\n@Injectable()\nexport class SharesQueries {\n private readonly logger = new Logger(SharesQueries.name)\n private sharesListQuery: MySql2PreparedQuery<any> = null\n private shareIdsQuery: MySql2PreparedQuery<any> = null\n private shareLinksListQuery: MySql2PreparedQuery<any> = null\n private shareWithMembersQuery: MySql2PreparedQuery<any> = null\n private sharePermissionsQuery: MySql2PreparedQuery<any> = null\n private shareRootFilesQuery: MySql2PreparedQuery<any> = null\n\n constructor(\n @Inject(DB_TOKEN_PROVIDER) private readonly db: DBSchema,\n private readonly cache: Cache\n ) {}\n\n async uniqueShareAlias(name: string): Promise<string> {\n let alias = createSlug(name, true)\n let count = 0\n // Personal space name is reserved\n while (await this.shareExistsForAlias(alias)) {\n count += 1\n alias = `${name}-${count}`\n }\n return alias\n }\n\n shareExistsForOwner(userId: number, shareId: number): any | undefined {\n return this.db.query.shares.findFirst({ columns: { id: true }, where: and(eq(shares.id, shareId), eq(shares.ownerId, userId)) })\n }\n\n async childExistsForShareOwner(userId: number, shareId: number, childId: number, isAdmin: boolean = false): Promise<number> {\n const childShare: any = alias(shares, 'childShare')\n const withChildren: any = sql`\n WITH RECURSIVE child (id, parentId) AS\n (SELECT ${shares.id},\n ${shares.parentId}\n FROM ${shares}\n WHERE ${shares.id} = ${shareId}\n AND (${shares.ownerId} = ${userId} OR (${shares.ownerId} IS NULL AND ${+isAdmin} = 1))\n UNION\n SELECT ${childShare.id},\n ${childShare.parentId}\n FROM ${shares} AS childShare\n INNER JOIN child AS cs ON ${childShare.parentId} = cs.id)\n SELECT child.id\n FROM child\n WHERE child.id = ${childId}\n LIMIT 1\n `\n const [r]: { id: number }[][] = (await this.db.execute(withChildren)) as MySqlQueryResult\n return r.length ? r[0].id : null\n }\n\n async findHighestParentShare(childShareId: number): Promise<number> {\n const parentShare: any = alias(shares, 'parentShare')\n const withParents: any = sql`\n WITH RECURSIVE parent (id, parentId) AS\n (SELECT ${shares.id},\n ${shares.parentId}\n FROM ${shares}\n WHERE ${shares.id} = ${childShareId}\n UNION\n SELECT ${parentShare.id},\n ${parentShare.parentId}\n FROM ${shares} AS parentShare\n INNER JOIN parent AS cs ON ${parentShare.id} = cs.parentId)\n SELECT parent.id\n FROM parent\n WHERE parent.parentId is NULL\n LIMIT 1\n `\n const [r]: { id: number }[][] = (await this.db.execute(withParents)) as MySqlQueryResult\n return r.length ? r[0].id : null\n }\n\n selectShares(props: Partial<Record<keyof Share, any>>): Promise<Partial<Share>[]> {\n const where: SQL[] = convertToWhere(shares, props)\n return this.db\n .select({ id: shares.id, ownerId: shares.ownerId, alias: shares.alias, name: shares.name })\n .from(shares)\n .where(and(...where))\n }\n\n selectParentSharesFromSpaceId(spaceId: number, ownerIds?: number[]): Promise<Partial<Share>[]> {\n const where: SQL[] = [eq(shares.spaceId, spaceId), isNull(shares.spaceRootId), isNull(shares.parentId)]\n if (ownerIds && ownerIds.length) {\n where.push(inArray(shares.ownerId, ownerIds))\n }\n return this.db\n .select({ id: shares.id, ownerId: shares.ownerId })\n .from(shares)\n .where(and(...where))\n }\n\n async listShareLinks(user: UserModel, shareId: number, asAdmin?: boolean): Promise<ShareLink>\n\n async listShareLinks(user: UserModel, shareId?: number, asAdmin?: boolean): Promise<ShareLink[]>\n\n async listShareLinks(user: UserModel, shareId?: number, asAdmin: boolean = false): Promise<ShareLink[] | ShareLink> {\n if (!this.shareLinksListQuery) {\n const [selectFile, shareRootFile, parentShare, parentShareFile, childShareFromRoot, shareMembers] = this.shareFileSelect()\n const linkGuest: any = alias(users, 'linkGuest')\n const select: ShareLink | SelectedFields<any, any> = {\n id: shares.id,\n ownerId: shares.ownerId,\n name: shares.name,\n externalPath: sql`IF (${shares.externalPath} IS NOT NULL AND ${shares.ownerId} IS NOT NULL, '.', ${shares.externalPath})`,\n description: shares.description,\n parent: {\n id: parentShare.id,\n ownerId: parentShare.ownerId,\n alias: parentShare.alias,\n name: parentShare.name\n },\n file: selectFile,\n link: {\n id: links.id,\n name: links.name,\n email: links.email,\n uuid: links.uuid,\n requireAuth: links.requireAuth,\n nbAccess: links.nbAccess,\n limitAccess: links.limitAccess,\n permissions: shareMembers.permissions,\n isActive: linkGuest.isActive,\n language: linkGuest.language,\n expiresAt: links.expiresAt,\n createdAt: links.createdAt,\n currentAccess: linkGuest.currentAccess,\n lastAccess: linkGuest.lastAccess,\n currentIp: linkGuest.currentIp,\n lastIp: linkGuest.lastIp\n }\n }\n this.shareLinksListQuery = this.shareFileJoin(select, shareRootFile, parentShare, parentShareFile, childShareFromRoot, shareMembers)\n .innerJoin(links, eq(links.id, shareMembers.linkId))\n .innerJoin(linkGuest, eq(linkGuest.id, links.userId))\n .where(\n and(\n eq(shares.type, SHARE_TYPE.LINK),\n or(eq(sql.placeholder('shareId'), 0), eq(shares.id, sql.placeholder('shareId'))),\n or(\n eq(sql.placeholder('asAdmin'), 1),\n eq(shares.ownerId, sql.placeholder('userId')),\n and(eq(sql.placeholder('isAdmin'), 1), isNull(shares.ownerId))\n )\n )\n )\n .prepare()\n }\n const shareLinks: ShareLink[] = await this.shareLinksListQuery.execute({\n userId: user.id,\n shareId: shareId || 0,\n isAdmin: +user.isAdmin,\n asAdmin: +asAdmin\n })\n if (shareId) {\n return shareLinks.length ? shareLinks[0] : null\n }\n return shareLinks\n }\n\n async getShareWithMembers(user: UserModel, shareId: number, asAdmin = false): Promise<ShareProps> {\n // asAdmin : true if the user is the owner of the parent share or if the share is requested from the administration\n if (!this.shareWithMembersQuery) {\n const [selectFile, shareRootFile, parentShare, parentShareFile, childShareFromRoot, shareMembers] = this.shareFileSelect()\n const linkUsers: any = alias(users, 'linkUsers')\n const select: ShareProps | SelectedFields<any, any> = {\n id: shares.id,\n ownerId: shares.ownerId,\n name: shares.name,\n alias: shares.alias,\n externalPath: sql`IF (${shares.externalPath} IS NOT NULL AND ${shares.ownerId} IS NOT NULL, '.', ${shares.externalPath})`,\n enabled: shares.enabled,\n description: shares.description,\n createdAt: shares.createdAt,\n modifiedAt: shares.modifiedAt,\n disabledAt: shares.disabledAt,\n parent: {\n id: parentShare.id,\n ownerId: parentShare.ownerId,\n alias: parentShare.alias,\n name: parentShare.name\n },\n file: selectFile,\n users: concatDistinctObjectsInArray(users.id, {\n id: users.id,\n login: users.login,\n name: userFullNameSQL(users),\n type: sql`IF (${users.role} = ${USER_ROLE.GUEST}, ${MEMBER_TYPE.GUEST}, ${MEMBER_TYPE.USER})`,\n description: users.email,\n permissions: shareMembers.permissions,\n createdAt: dateTimeUTC(shareMembers.createdAt)\n }),\n groups: concatDistinctObjectsInArray(groups.id, {\n id: groups.id,\n name: groups.name,\n type: sql`IF (${groups.type} = ${GROUP_TYPE.PERSONAL}, ${MEMBER_TYPE.PGROUP}, ${MEMBER_TYPE.GROUP})`,\n description: groups.description,\n permissions: shareMembers.permissions,\n createdAt: dateTimeUTC(shareMembers.createdAt)\n }),\n links: concatDistinctObjectsInArray(linkUsers.id, {\n id: linkUsers.id,\n linkId: links.id,\n login: linkUsers.login,\n name: links.name,\n type: sql.raw(`'${MEMBER_TYPE.USER}'`),\n description: links.email,\n permissions: shareMembers.permissions,\n createdAt: dateTimeUTC(shareMembers.createdAt)\n })\n }\n this.shareWithMembersQuery = this.shareFileJoin(select, shareRootFile, parentShare, parentShareFile, childShareFromRoot, shareMembers)\n .leftJoin(users, and(isNull(shareMembers.linkId), eq(users.id, shareMembers.userId)))\n .leftJoin(groups, eq(groups.id, shareMembers.groupId))\n .leftJoin(linkUsers, and(isNotNull(shareMembers.linkId), eq(linkUsers.id, shareMembers.userId)))\n .leftJoin(links, and(eq(links.userId, linkUsers.id), eq(links.id, shareMembers.linkId)))\n .where(\n and(\n eq(shares.id, sql.placeholder('shareId')),\n or(\n eq(sql.placeholder('asAdmin'), 1),\n eq(shares.ownerId, sql.placeholder('userId')),\n and(eq(sql.placeholder('isAdmin'), 1), isNull(shares.ownerId))\n )\n )\n )\n .groupBy(shares.id)\n .limit(1)\n .prepare()\n }\n const [share] = await this.shareWithMembersQuery.execute({ userId: user.id, shareId, isAdmin: +user.isAdmin, asAdmin: +asAdmin })\n if (!share) return null\n // merge members\n share.members = [...popFromObject('users', share), ...popFromObject('links', share), ...popFromObject('groups', share)]\n return share as ShareProps\n }\n\n async createShare(share: Partial<Share>): Promise<number> {\n return dbGetInsertedId(await this.db.insert(shares).values(share as Share))\n }\n\n async updateShare(set: Partial<Record<keyof Share, any>>, filters: Partial<Record<keyof Share, any>>) {\n const where: SQL[] = convertToWhere(shares, filters)\n try {\n dbCheckAffectedRows(\n await this.db\n .update(shares)\n .set(set)\n .where(and(...where))\n .limit(1),\n 1\n )\n this.logger.debug(`${this.updateShare.name} - ${JSON.stringify(filters)} was updated : ${JSON.stringify(set)}`)\n } catch (e) {\n this.logger.error(`${this.updateShare.name} - ${JSON.stringify(filters)} was not updated : ${JSON.stringify(set)} : ${e}`)\n }\n }\n\n async deleteShare(shareId: number): Promise<boolean> {\n return dbCheckAffectedRows(await this.db.delete(shares).where(eq(shares.id, shareId)), 1)\n }\n\n async updateMember(set: Partial<Record<keyof ShareMembers, any>>, filters: Partial<Record<keyof ShareMembers, any>>): Promise<boolean> {\n const where: SQL[] = convertToWhere(sharesMembers, filters)\n try {\n dbCheckAffectedRows(\n await this.db\n .update(sharesMembers)\n .set(set)\n .where(and(...where))\n .limit(1),\n 1\n )\n this.logger.debug(`${this.updateMember.name} - ${JSON.stringify(filters)} was updated : ${JSON.stringify(set)}`)\n return true\n } catch (e) {\n this.logger.error(`${this.updateMember.name} - ${JSON.stringify(filters)} was not updated : ${JSON.stringify(set)} : ${e}`)\n return false\n }\n }\n\n async updateMembers(\n shareId: number,\n add: ShareMemberDto[],\n update: Record<string | 'object', Partial<ShareMembers> | ShareMemberDto>[],\n remove: ShareMemberDto[]\n ): Promise<Record<Exclude<ACTION, ACTION.DELETE_PERMANENTLY>, { userIds: number[]; groupIds: number[] }>> {\n // store status\n const status: Record<Exclude<ACTION, ACTION.DELETE_PERMANENTLY>, { userIds: number[]; groupIds: number[] }> = {\n [ACTION.ADD]: { userIds: [], groupIds: [] },\n [ACTION.UPDATE]: { userIds: [], groupIds: [] },\n [ACTION.DELETE]: { userIds: [], groupIds: [] }\n }\n // add\n for (const m of add) {\n try {\n dbCheckAffectedRows(\n await this.db.insert(sharesMembers).values({\n shareId: shareId,\n ...(m.type === MEMBER_TYPE.USER || m.type === MEMBER_TYPE.GUEST ? { userId: m.id } : { groupId: m.id }),\n permissions: m.permissions\n } as ShareMembers),\n 1\n )\n status[ACTION.ADD][`${m.type === MEMBER_TYPE.USER || m.type === MEMBER_TYPE.GUEST ? 'userIds' : 'groupIds'}`].push(m.id)\n this.logger.debug(`${this.updateMembers.name} - ${m.type} (${m.id}) added to the share (${shareId})`)\n } catch (e) {\n this.logger.error(`${this.updateMembers.name} - ${m.type} (${m.id}) was not added to the share (${shareId}) -> : ${e}`)\n }\n }\n // update\n for (const props of update) {\n const m: ShareMemberDto = popFromObject('object', props)\n try {\n dbCheckAffectedRows(\n await this.db\n .update(sharesMembers)\n .set(props)\n .where(\n and(\n eq(sharesMembers.shareId, shareId),\n eq(m.type === MEMBER_TYPE.USER || m.type === MEMBER_TYPE.GUEST ? sharesMembers.userId : sharesMembers.groupId, m.id)\n )\n )\n .limit(1),\n 1\n )\n status[ACTION.UPDATE][`${m.type === MEMBER_TYPE.USER || m.type === MEMBER_TYPE.GUEST ? 'userIds' : 'groupIds'}`].push(m.id)\n this.logger.debug(`${this.updateMembers.name} - ${m.type} (${m.id}) was updated on share (${shareId}) : ${JSON.stringify(props)}`)\n } catch (e) {\n this.logger.error(`${this.updateMembers.name} - ${m.type} (${m.id}) was not updated on share (${shareId}) : ${JSON.stringify(props)} : ${e}`)\n }\n }\n // remove\n for (const m of remove) {\n try {\n dbCheckAffectedRows(\n await this.db\n .delete(sharesMembers)\n .where(\n and(\n eq(sharesMembers.shareId, shareId),\n eq(m.type === MEMBER_TYPE.USER || m.type === MEMBER_TYPE.GUEST ? sharesMembers.userId : sharesMembers.groupId, m.id)\n )\n ),\n 1\n )\n status[ACTION.DELETE][`${m.type === MEMBER_TYPE.USER || m.type === MEMBER_TYPE.GUEST ? 'userIds' : 'groupIds'}`].push(m.id)\n this.logger.debug(`${this.updateMembers.name} - ${m.type} (${m.id}) removed from share (${shareId})`)\n } catch (e) {\n this.logger.error(`${this.updateMembers.name} - ${m.type} (${m.id}) was not removed from share (${shareId}) : ${e}`)\n }\n }\n return status\n }\n\n async shareEnv(shareId: number): Promise<Partial<ShareEnv>> {\n const shareSpaceRoot: any = alias(spacesRoots, 'shareSpaceRoot')\n const select: ShareEnv | SelectedFields<any, any> = {\n id: shares.id,\n alias: shares.alias,\n enabled: shares.enabled,\n fileId: shares.fileId,\n spaceId: shares.spaceId,\n spaceRootId: shares.spaceRootId,\n inSharesRepository: sql`${1}`.mapWith(Boolean),\n root: {\n id: files.id,\n owner: { id: users.id, login: users.login },\n file: {\n path: sql`IF (${files.id} IS NOT NULL, ${filePathSQL(files)}, NULL)`,\n inTrash: files.inTrash,\n space: { id: spaces.id, alias: spaces.alias },\n root: {\n id: sql`IF (${spacesRoots.id} IS NULL, ${shareSpaceRoot.id}, ${spacesRoots.id})`,\n externalPath: sql`IF (${spacesRoots.externalPath} IS NULL,\n ${shareSpaceRoot.externalPath}, ${spacesRoots.externalPath})`\n }\n },\n externalPath: shares.externalPath\n }\n }\n const [shareEnv] = await this.db\n .select(select)\n .from(shares)\n .leftJoin(shareSpaceRoot, and(isNull(shares.externalPath), isNull(shares.fileId), eq(shareSpaceRoot.id, shares.spaceRootId)))\n .leftJoin(\n files,\n and(\n isNull(shares.externalPath),\n or(and(isNotNull(shares.fileId), eq(files.id, shares.fileId)), and(isNotNull(shareSpaceRoot.fileId), eq(files.id, shareSpaceRoot.fileId)))\n )\n )\n .leftJoin(\n spaces,\n and(\n isNull(shares.externalPath),\n or(\n and(isNotNull(files.spaceId), eq(spaces.id, files.spaceId)),\n and(isNotNull(shareSpaceRoot.spaceId), eq(spaces.id, shareSpaceRoot.spaceId))\n )\n )\n )\n .leftJoin(spacesRoots, and(isNull(shares.externalPath), isNotNull(files.spaceExternalRootId), eq(spacesRoots.id, files.spaceExternalRootId)))\n .leftJoin(users, eq(users.id, files.ownerId))\n .where(eq(shares.id, shareId))\n .execute()\n return shareEnv\n }\n\n @CacheDecorator()\n async shareIds(userId: number, isAdmin: number): Promise<number[]> {\n if (!this.shareIdsQuery) {\n const unionAlias = union(\n this.fromUserQuery({ id: shares.id }),\n this.fromGroupsQuery({ id: shares.id }),\n this.fromAdminSharesQuery({ id: shares.id })\n ).as('unionAlias')\n this.shareIdsQuery = this.db.select({ id: unionAlias.id }).from(unionAlias).groupBy(unionAlias.id).prepare()\n }\n return (await this.shareIdsQuery.execute({ userId: userId, isAdmin: +isAdmin })).map((r: { id: number }) => r.id)\n }\n\n async listShares(user: UserModel): Promise<ShareFile[]> {\n if (!this.sharesListQuery) {\n const [selectFile, shareRootFile, parentShare, parentShareFile, childShareFromRoot, shareMembers] = this.shareFileSelect()\n const select: ShareFile | SelectedFields<any, any> = {\n id: shares.id,\n name: shares.name,\n alias: shares.alias,\n externalPath: sql`IF (${shares.externalPath} IS NOT NULL, 1, 0)`.mapWith(Boolean),\n description: shares.description,\n enabled: shares.enabled,\n createdAt: shares.createdAt,\n modifiedAt: shares.modifiedAt,\n parent: {\n id: isNotNull(parentShare.id),\n alias: parentShare.alias,\n name: parentShare.name\n },\n file: selectFile,\n hasComments: fileHasCommentsSubquerySQL(\n sql`IF (${shares.fileId} IS NULL AND ${shareRootFile.id} IS NOT NULL, ${shareRootFile.id}, ${files.id})`\n ),\n counts: {\n users: count(sql`CASE WHEN ${shareMembers.userId} IS NOT NULL AND ${shareMembers.linkId} IS NULL THEN 1 END`),\n groups: count(shareMembers.groupId),\n links: count(shareMembers.linkId)\n }\n }\n this.sharesListQuery = this.shareFileJoin(select, shareRootFile, parentShare, parentShareFile, childShareFromRoot, shareMembers)\n .where(\n and(\n eq(shares.type, sql.placeholder('shareType')),\n or(eq(shares.ownerId, sql.placeholder('userId')), and(eq(sql.placeholder('isAdmin'), 1), isNull(shares.ownerId)))\n )\n )\n .groupBy(shares.id)\n .prepare()\n }\n const r: ShareFile[] = await this.sharesListQuery.execute({ userId: user.id, shareType: SHARE_TYPE.COMMON, isAdmin: +user.isAdmin })\n await this.setShareCounts(r)\n return r\n }\n\n async listChildShares(userId: number, shareId: number, isAdmin: number): Promise<ShareChild[]> {\n const childShare: any = alias(shares, 'childShare')\n const withChildren: any = sql`\n WITH RECURSIVE child (id, parentId, ownerId, type, name, alias, fileId) AS\n (SELECT ${shares.id},\n ${shares.parentId},\n ${shares.ownerId},\n ${shares.type},\n ${shares.name},\n ${shares.alias},\n ${shares.fileId}\n FROM ${shares}\n WHERE ${shares.id} = ${shareId}\n AND (${shares.ownerId} = ${userId} OR (${isAdmin} = 1 AND ${shares.ownerId} IS NULL))\n UNION\n SELECT ${childShare.id},\n ${childShare.parentId},\n ${childShare.ownerId},\n ${childShare.type},\n ${childShare.name},\n ${childShare.alias},\n ${childShare.fileId}\n FROM ${shares} AS childShare\n INNER JOIN child AS cs ON ${childShare.parentId} = cs.id)\n SELECT child.id,\n child.alias,\n child.name,\n child.type,\n child.parentId,\n ${users.login} AS ownerLogin,\n ${userFullNameSQL(users)} AS ownerFullName,\n ${users.email} AS ownerEmail,\n ${files.mime} AS fileMime\n FROM child\n LEFT JOIN ${users} ON child.ownerId = ${users.id}\n LEFT JOIN ${files} ON child.fileId = ${files.id}\n WHERE child.id != ${shareId}\n `\n const [r]: ShareChildQuery[][] = (await this.db.execute(withChildren)) as MySqlQueryResult\n return r.map((s) => new ShareChild(s))\n }\n\n async listSpaceShares(spaceId: number): Promise<ShareChild[]> {\n const childShare: any = alias(shares, 'childShare')\n const shareSpaceRoot: any = alias(spacesRoots, 'shareSpaceRoot')\n const childShareSpaceRoot: any = alias(spacesRoots, 'childShareSpaceRoot')\n const withChildren: any = sql`\n WITH RECURSIVE child (id, parentId, ownerId, type, name, alias, fileId) AS\n (SELECT ${shares.id},\n ${shares.parentId},\n ${shares.ownerId},\n ${shares.type},\n ${shares.name},\n ${shares.alias},\n COALESCE(${shares.fileId}, ${shareSpaceRoot.fileId}) AS fileId\n FROM ${shares}\n LEFT JOIN ${spacesRoots} AS shareSpaceRoot ON ${shares.spaceRootId} = ${shareSpaceRoot.id}\n WHERE ${shares.spaceId} = ${spaceId}\n UNION\n SELECT ${childShare.id},\n ${childShare.parentId},\n ${childShare.ownerId},\n ${childShare.type},\n ${childShare.name},\n ${childShare.alias},\n COALESCE(${childShare.fileId}, ${childShareSpaceRoot.fileId}) AS fileId\n FROM ${shares} AS childShare\n INNER JOIN child AS cs ON ${childShare.parentId} = cs.id\n LEFT JOIN ${spacesRoots} AS childShareSpaceRoot ON ${childShare.spaceRootId} = ${childShareSpaceRoot.id})\n SELECT child.id,\n child.alias,\n child.name,\n child.type,\n child.parentId,\n ${users.login} AS ownerLogin,\n ${userFullNameSQL(users)} AS ownerFullName,\n ${users.email} AS ownerEmail,\n ${files.mime} AS fileMime\n FROM child\n LEFT JOIN ${users} ON child.ownerId = ${users.id}\n LEFT JOIN ${files} ON child.fileId = ${files.id}\n `\n const [r]: ShareChildQuery[][] = (await this.db.execute(withChildren)) as MySqlQueryResult\n return r.map((s) => new ShareChild(s))\n }\n\n async membersFromChildSharesPermissions(\n shareId: number,\n userIds: number[] | 'all',\n matchPermRegexp?: string,\n asParent: boolean = true\n ): Promise<ShareChildMember[]> {\n const childShare: any = alias(shares, 'childShare')\n const withChildren: any = sql`\n WITH RECURSIVE children (id, alias, name) AS\n (SELECT ${shares.id}, ${shares.alias}, ${shares.name}\n FROM ${shares}\n WHERE ${asParent ? shares.parentId : shares.id} = ${shareId}\n AND ${userIds === 'all' ? 1 : inArray(shares.ownerId, userIds)}\n UNION\n SELECT ${childShare.id}, ${childShare.alias}, ${childShare.name}\n FROM ${shares} AS childShare\n INNER JOIN children AS cs ON ${childShare.parentId} = cs.id)\n SELECT ${sharesMembers.id} as id,\n ${sharesMembers.userId} as userId,\n ${sharesMembers.permissions} as userPermissions,\n ${sharesMembers.shareId},\n children.alias as shareAlias,\n children.name as shareName\n FROM children\n INNER JOIN ${sharesMembers} ON children.id = ${sharesMembers.shareId}\n `\n if (matchPermRegexp) {\n withChildren.append(sql`WHERE ${sharesMembers.permissions} REGEXP ${matchPermRegexp}`)\n }\n const [r]: ShareChildMember[][] = (await this.db.execute(withChildren)) as MySqlQueryResult\n return r\n }\n\n async shareRootFiles(user: UserModel, options: { withShares?: boolean; withHasComments?: boolean; withSyncs?: boolean }): Promise<FileProps[]> {\n if (!this.shareRootFilesQuery) {\n const shareSpaceRoot: any = alias(spacesRoots, 'shareSpaceRoot')\n const originOwner: any = alias(users, 'originOwner')\n const childShare: any = alias(shares, 'childShare')\n const selectUnion: FileProps | SelectedFields<any, any> = {\n id: files.id,\n path: sql`IF (${files.id} IS NOT NULL, ${filePathSQL(files)}, '')`.as('path'),\n isDir: files.isDir,\n inTrash: files.inTrash,\n size: files.size,\n ctime: files.ctime,\n mtime: files.mtime,\n mime: files.mime,\n originOwnerLogin: sql`${originOwner.login}`.as('originOwnerLogin'),\n originSpaceAlias: sql`${spaces.alias}`.as('originSpaceAlias'),\n originSpaceRootExternalPath: sql`IF (${spacesRoots.externalPath} IS NULL,\n ${shareSpaceRoot.externalPath}, ${spacesRoots.externalPath})`.as('originSpaceRootExternalPath'),\n rootId: sql`${shares.id}`.as('rootId'),\n rootAlias: shares.alias,\n rootName: shares.name,\n rootDescription: shares.description,\n rootEnabled: shares.enabled,\n rootExternalPath: shares.externalPath,\n rootPermissions: sharesMembers.permissions,\n rootOwnerLogin: sql`${users.login}`.as('rootOwnerLogin'),\n rootOwnerEmail: sql`${users.email}`.as('rootOwnerEmail'),\n rootOwnerFullName: userFullNameSQL(users).as('rootOwnerFullName'),\n childShareId: sql`${childShare.id}`.as('childShareId'),\n childShareAlias: sql`${childShare.alias}`.as('childShareAlias'),\n childShareName: sql`${childShare.name}`.as('childShareName'),\n childShareType: sql`${childShare.type}`.as('childShareType'),\n syncPathId: sql`${syncPaths.id}`.as('syncPathId'),\n syncPathClientId: sql`${syncClients.id}`.as('syncPathClientId'),\n syncPathClientName: sql`JSON_VALUE(${syncClients.info}, '$.node')`.as('syncPathClientName')\n }\n const filters: SQL[] = [or(isNull(shares.ownerId), ne(shares.ownerId, sql.placeholder('userId')))]\n const fromUser = this.fromUserQuery(selectUnion, filters).$dynamic()\n const fromGroups = this.fromGroupsQuery(selectUnion, filters).$dynamic()\n const fromAdminShares = this.fromAdminSharesQuery({ ...selectUnion, rootPermissions: sql.raw(`'${SHARE_ALL_OPERATIONS}'`) }, filters).$dynamic()\n for (const q of [fromUser, fromGroups, fromAdminShares]) {\n q.leftJoin(shareSpaceRoot, and(isNull(shares.externalPath), isNull(shares.fileId), eq(shareSpaceRoot.id, shares.spaceRootId)))\n .leftJoin(\n files,\n or(\n // if the child share is from a share with an external path, the child share should have an external path and a fileId\n and(isNotNull(shares.fileId), eq(files.id, shares.fileId)),\n and(isNull(shares.externalPath), isNull(shares.fileId), isNotNull(shareSpaceRoot.fileId), eq(files.id, shareSpaceRoot.fileId))\n )\n )\n .leftJoin(spaces, and(isNull(shares.externalPath), isNotNull(files.spaceId), eq(spaces.id, files.spaceId)))\n .leftJoin(spacesRoots, and(isNull(shares.externalPath), eq(spacesRoots.id, files.spaceExternalRootId)))\n .leftJoin(\n childShare,\n and(\n eq(sql.placeholder('withShares'), sql.raw('1')),\n eq(childShare.ownerId, sql.placeholder('userId')),\n eq(childShare.parentId, shares.id),\n or(\n and(isNull(childShare.externalPath), isNotNull(childShare.fileId), eq(childShare.fileId, shares.fileId)),\n and(\n isNull(childShare.externalPath),\n isNull(childShare.fileId),\n eq(childShare.spaceId, shares.spaceId),\n eq(childShare.spaceRootId, shares.spaceRootId)\n ),\n and(isNotNull(childShare.externalPath), isNull(childShare.fileId), eq(shares.externalPath, childShare.externalPath))\n )\n )\n )\n .leftJoin(syncClients, and(eq(sql.placeholder('withSyncs'), sql.raw('1')), eq(syncClients.ownerId, sql.placeholder('userId'))))\n .leftJoin(\n syncPaths,\n and(\n eq(sql.placeholder('withSyncs'), sql.raw('1')),\n eq(syncPaths.clientId, syncClients.id),\n isNull(syncPaths.fileId),\n eq(syncPaths.shareId, shares.id)\n )\n )\n .leftJoin(users, eq(users.id, shares.ownerId))\n .leftJoin(originOwner, and(isNull(shares.externalPath), eq(originOwner.id, files.ownerId)))\n }\n const unionAlias = union(fromUser, fromGroups, fromAdminShares).as('union_alias')\n const select: FileProps | SelectedFields<any, any> = {\n id: unionAlias.id,\n path: unionAlias.path,\n isDir: unionAlias.isDir,\n inTrash: unionAlias.inTrash,\n size: unionAlias.size,\n ctime: unionAlias.ctime,\n mtime: unionAlias.mtime,\n mime: unionAlias.mime,\n origin: {\n ownerLogin: unionAlias.originOwnerLogin,\n spaceAlias: unionAlias.originSpaceAlias,\n spaceRootExternalPath: unionAlias.originSpaceRootExternalPath\n },\n root: {\n id: unionAlias.rootId,\n alias: unionAlias.rootAlias,\n name: unionAlias.rootName,\n description: unionAlias.rootDescription,\n enabled: unionAlias.rootEnabled,\n externalPath: unionAlias.rootExternalPath,\n permissions: spaceGroupConcatPermissions(unionAlias.rootPermissions),\n owner: { login: unionAlias.rootOwnerLogin, email: unionAlias.rootOwnerEmail, fullName: unionAlias.rootOwnerFullName } as Owner\n },\n shares: sql`IF (${sql.placeholder('withShares')}, ${concatDistinctObjectsInArray(unionAlias.childShareId, {\n id: unionAlias.childShareId,\n alias: unionAlias.childShareAlias,\n name: unionAlias.childShareName,\n type: unionAlias.childShareType\n })}, '[]')`.mapWith(JSON.parse),\n syncs: sql`IF (${sql.placeholder('withSyncs')}, ${concatDistinctObjectsInArray(unionAlias.syncPathId, {\n id: unionAlias.syncPathId,\n clientId: unionAlias.syncPathClientId,\n clientName: unionAlias.syncPathClientName\n })}, '[]')`.mapWith(JSON.parse),\n hasComments: sql<boolean>`IF (${sql.placeholder('withHasComments')}, ${fileHasCommentsSubquerySQL(unionAlias.id)}, 0)`.mapWith(Boolean)\n }\n this.shareRootFilesQuery = this.db.select(select).from(unionAlias).groupBy(unionAlias.rootId).prepare()\n }\n const fps: FileProps[] = await this.shareRootFilesQuery.execute({\n userId: user.id,\n isAdmin: +user.isAdmin,\n withHasComments: +!!options.withHasComments,\n withShares: +!!options.withShares,\n withSyncs: +!!options.withSyncs\n })\n for (const f of fps) {\n f.root.permissions = uniquePermissions(f.root.permissions)\n }\n return fps\n }\n\n @CacheDecorator()\n async permissions(userId: number, shareAlias: string, isAdmin: number = 0): Promise<Partial<SpaceEnv>> {\n if (!this.sharePermissionsQuery) {\n const shareSpaceRoot: any = alias(spacesRoots, 'shareSpaceRoot')\n const selectUnion: SpaceEnv | SelectedFields<any, any> = {\n id: shares.id,\n alias: shares.alias,\n name: shares.name,\n enabled: shares.enabled,\n permissions: sharesMembers.permissions,\n rootId: sql`${files.id}`.as('rootId'),\n rootOwnerId: sql`${users.id}`.as('rootOwnerId'),\n rootOwnerLogin: users.login,\n rootSpaceId: sql`${spaces.id}`.as('rootSpaceId'),\n rootSpaceAlias: sql`${spaces.alias}`.as('rootSpaceAlias'),\n rootPath: sql`IF (${files.id} IS NOT NULL, ${filePathSQL(files)}, NULL)`.as('rootPath'),\n rootInTrash: files.inTrash,\n rootExternalPath: shares.externalPath,\n rootExternalParentShareId: sql`IF (${shares.externalPath} IS NOT NULL, ${shares.parentId}, NULL)`.as('rootExternalParentShareId'),\n rootSpaceRootId: sql`IF (${spacesRoots.id} IS NULL, ${shareSpaceRoot.id}, ${spacesRoots.id})`.as('rootSpaceRootId'),\n rootSpaceRootExternalPath: sql`IF (${spacesRoots.externalPath} IS NULL,\n ${shareSpaceRoot.externalPath}, ${spacesRoots.externalPath})`.as('rootSpaceRootExternalPath')\n }\n const filters: SQL[] = [eq(shares.alias, sql.placeholder('shareAlias'))]\n const fromUser = this.fromUserQuery(selectUnion, filters).$dynamic()\n const fromGroups = this.fromGroupsQuery(selectUnion, filters).$dynamic()\n const fromAdminShares = this.fromAdminSharesQuery({ ...selectUnion, permissions: sql.raw(`'${SHARE_ALL_OPERATIONS}'`) }, filters).$dynamic()\n for (const q of [fromUser, fromGroups, fromAdminShares]) {\n q.leftJoin(shareSpaceRoot, and(isNull(shares.externalPath), isNull(shares.fileId), eq(shareSpaceRoot.id, shares.spaceRootId)))\n .leftJoin(\n files,\n or(\n // in case of share child from a share with external path, child share should have an external path and a fileId\n and(isNotNull(shares.fileId), eq(files.id, shares.fileId)),\n and(isNull(shares.externalPath), isNotNull(shareSpaceRoot.fileId), eq(files.id, shareSpaceRoot.fileId))\n )\n )\n .leftJoin(\n spaces,\n and(\n isNull(shares.externalPath),\n or(\n and(isNotNull(files.spaceId), eq(spaces.id, files.spaceId)),\n and(isNotNull(shareSpaceRoot.spaceId), eq(spaces.id, shareSpaceRoot.spaceId))\n )\n )\n )\n .leftJoin(spacesRoots, and(isNull(shares.externalPath), eq(spacesRoots.id, files.spaceExternalRootId)))\n .leftJoin(users, eq(users.id, files.ownerId))\n }\n const unionAlias = union(fromUser, fromGroups, fromAdminShares).as('union_alias')\n const select: SpaceEnv | SelectedFields<any, any> = {\n id: unionAlias.id,\n alias: unionAlias.alias,\n name: unionAlias.name,\n enabled: unionAlias.enabled,\n permissions: spaceGroupConcatPermissions(unionAlias.permissions),\n root: {\n id: unionAlias.rootId,\n owner: { id: unionAlias.rootOwnerId, login: unionAlias.rootOwnerLogin },\n file: {\n path: unionAlias.rootPath,\n inTrash: unionAlias.rootInTrash,\n space: { id: unionAlias.rootSpaceId, alias: unionAlias.rootSpaceAlias },\n root: { id: unionAlias.rootSpaceRootId, externalPath: unionAlias.rootSpaceRootExternalPath }\n },\n externalPath: unionAlias.rootExternalPath,\n externalParentShareId: unionAlias.rootExternalParentShareId\n }\n }\n this.sharePermissionsQuery = this.db.select(select).from(unionAlias).groupBy(unionAlias.id).limit(1).prepare()\n }\n const [r]: Partial<SpaceEnv>[] = await this.sharePermissionsQuery.execute({ userId, shareAlias, isAdmin })\n if (r) {\n r.permissions = uniquePermissions(r.permissions)\n }\n return r\n }\n\n @CacheDecorator(900, true)\n async childSharesCount(shareId: number): Promise<number> {\n const childShare: any = alias(shares, 'childShare')\n const withChildren: any = sql`\n WITH RECURSIVE children (id, parentId) AS\n (SELECT ${shares.id}, ${shares.parentId}\n FROM ${shares}\n WHERE ${shares.parentId} IS NOT NULL\n AND ${shares.parentId} = ${shareId}\n UNION\n SELECT ${childShare.id}, cs.parentId\n FROM ${shares} AS childShare\n INNER JOIN children AS cs ON ${childShare.parentId} = cs.id)\n SELECT COUNT(children.id) as count\n FROM children\n GROUP BY parentId\n `\n const [r]: { count: number }[][] = (await this.db.execute(withChildren)) as MySqlQueryResult\n return r.length ? r[0].count : 0\n }\n\n async clearCachePermissions(shareAlias: string, userIds: number[]) {\n // `permissions` argument must match with `this.permissions.name` function\n for (const userId of userIds) {\n const pattern = this.cache.genSlugKey(this.constructor.name, this.permissions.name, userId, shareAlias, '*')\n const keys = await this.cache.keys(pattern)\n if (keys.length) {\n this.logger.verbose(`${this.clearCachePermissions.name} - ${JSON.stringify(keys)}`)\n this.cache.mdel(keys).catch((e: Error) => this.logger.error(`${this.clearCachePermissions.name} - ${e}`))\n }\n }\n }\n\n private shareExistsForAlias(alias: string): any | undefined {\n return this.db.query.shares.findFirst({ columns: { id: true }, where: eq(shares.alias, alias) })\n }\n\n private fromUserQuery(select: SelectedFields<any, any>, filters: SQL[] = []) {\n const where: SQL[] = [eq(sharesMembers.userId, sql.placeholder('userId')), ...filters]\n return this.db\n .select(select)\n .from(sharesMembers)\n .innerJoin(shares, eq(sharesMembers.shareId, shares.id))\n .where(and(...where))\n }\n\n private fromGroupsQuery(select: SelectedFields<any, any>, filters: SQL[] = []) {\n const where: SQL[] = [eq(sharesMembers.groupId, usersGroups.groupId), ...filters]\n return this.db\n .select(select)\n .from(sharesMembers)\n .innerJoin(usersGroups, eq(usersGroups.userId, sql.placeholder('userId')))\n .innerJoin(shares, eq(sharesMembers.shareId, shares.id))\n .where(and(...where))\n }\n\n private fromAdminSharesQuery(select: SelectedFields<any, any>, filters: SQL[] = []) {\n const where: SQL[] = [eq(sql.placeholder('isAdmin'), sql.raw('1')), isNull(shares.ownerId), ...filters]\n return this.db\n .select(select)\n .from(shares)\n .where(and(...where))\n }\n\n private shareFileSelect(): any[] {\n const shareRootFile: any = alias(files, 'shareRootFile')\n const parentShare: any = alias(shares, 'parentShare')\n const parentShareFile: any = alias(files, 'parentShareFile')\n const childShareFromRoot: any = alias(spacesRoots, 'childShareFromRoot')\n const shareMembers: any = alias(sharesMembers, 'shareMembers')\n const selectFile: FileSpace | SelectedFields<any, any> = {\n id: sql`IF (${shares.fileId} IS NULL AND ${shareRootFile.id} IS NOT NULL,\n ${shareRootFile.id}, ${files.id})`.as('fileId'),\n ownerId: sql`IF (${shares.spaceId} IS NOT NULL,\n NULL, ${files.ownerId})`.as('fileOwnerId'),\n name: sql`IF (${shares.fileId} IS NULL AND ${spacesRoots.id} IS NOT NULL,\n ${spacesRoots.name},\n IF(${childShareFromRoot.id} IS NOT NULL\n OR ${shares.fileId} = ${parentShare.fileId}, ${parentShare.name}, ${files.name}))`.as('fileName'),\n path: sql`IF (${shareRootFile.id} IS NOT NULL AND ${shares.fileId} IS NOT NULL,\n REGEXP_REPLACE(${filePathSQL(files)}, CONCAT(${filePathSQL(shareRootFile)}, '/'), ''),\n IF(${parentShareFile.id} IS NOT NULL AND ${shares.fileId} IS NOT NULL,\n IF(${parentShareFile.id} = ${shares.fileId}, '.',\n REGEXP_REPLACE(${filePathSQL(files)}, CONCAT(${filePathSQL(parentShareFile)}, '/'), '')),\n IF(${shares.fileId} IS NOT NULL, ${filePathSQL(files)}, '.')))`.as('filePath'),\n isDir: sql`IF (${shares.fileId} IS NULL AND ${shares.spaceRootId} IS NOT NULL,\n ${shareRootFile.isDir}, ${files.isDir})`.as('fileIsDir'),\n inTrash: sql`IF (${shares.fileId} IS NULL AND ${shares.spaceRootId} IS NOT NULL,\n ${shareRootFile.inTrash}, ${files.inTrash})`.as('fileInTrash'),\n mime: sql`IF (${shares.fileId} IS NULL AND ${shares.spaceRootId} IS NOT NULL,\n ${shareRootFile.mime}, ${files.mime})`.as('fileMime'),\n space: {\n alias: spaces.alias,\n name: spaces.name,\n root: {\n alias: sql`IF (${shares.parentId} IS NULL, ${spacesRoots.alias}, NULL)`,\n name: sql`IF (${shares.parentId} IS NULL, ${spacesRoots.name}, NULL)`\n }\n }\n }\n return [selectFile, shareRootFile, parentShare, parentShareFile, childShareFromRoot, shareMembers]\n }\n\n private shareFileJoin(\n select: any,\n shareRootFile: any,\n parentShare: any,\n parentShareFile: any,\n childShareFromRoot: any,\n shareMembers: any\n ): MySqlSelectDynamic<any> {\n return this.db\n .select(select)\n .from(shares)\n .leftJoin(files, and(isNotNull(shares.fileId), eq(files.id, shares.fileId)))\n .leftJoin(spaces, and(isNull(shares.externalPath), isNull(shares.parentId), isNotNull(shares.spaceId), eq(spaces.id, shares.spaceId)))\n .leftJoin(\n spacesRoots,\n and(isNull(shares.externalPath), isNull(shares.parentId), isNotNull(shares.spaceRootId), eq(spacesRoots.id, shares.spaceRootId))\n )\n .leftJoin(\n childShareFromRoot,\n and(\n isNull(shares.externalPath),\n isNotNull(shares.parentId),\n isNull(shares.fileId),\n isNotNull(shares.spaceRootId),\n eq(childShareFromRoot.id, shares.spaceRootId)\n )\n )\n .leftJoin(\n shareRootFile,\n and(\n isNull(shares.externalPath),\n isNotNull(shares.spaceRootId),\n or(\n and(isNull(shares.parentId), eq(shareRootFile.id, spacesRoots.fileId)),\n and(isNotNull(shares.parentId), eq(shareRootFile.id, childShareFromRoot.fileId))\n )\n )\n )\n .leftJoin(parentShare, and(isNotNull(shares.parentId), eq(parentShare.id, shares.parentId)))\n .leftJoin(parentShareFile, and(isNotNull(shares.parentId), isNotNull(parentShare.fileId), eq(parentShareFile.id, parentShare.fileId)))\n .leftJoin(shareMembers, eq(shareMembers.shareId, shares.id))\n .$dynamic()\n }\n\n private async setShareCounts(shares: ShareFile[]) {\n if (!shares.length) return\n for (const share of shares) {\n share.counts.shares = await this.childSharesCount(share.id)\n }\n }\n}\n"],"names":["SharesQueries","uniqueShareAlias","name","alias","createSlug","count","shareExistsForAlias","shareExistsForOwner","userId","shareId","db","query","shares","findFirst","columns","id","where","and","eq","ownerId","childExistsForShareOwner","childId","isAdmin","childShare","withChildren","sql","parentId","r","execute","length","findHighestParentShare","childShareId","parentShare","withParents","selectShares","props","convertToWhere","select","from","selectParentSharesFromSpaceId","spaceId","ownerIds","isNull","spaceRootId","push","inArray","listShareLinks","user","asAdmin","shareLinksListQuery","selectFile","shareRootFile","parentShareFile","childShareFromRoot","shareMembers","shareFileSelect","linkGuest","users","externalPath","description","parent","file","link","links","email","uuid","requireAuth","nbAccess","limitAccess","permissions","isActive","language","expiresAt","createdAt","currentAccess","lastAccess","currentIp","lastIp","shareFileJoin","innerJoin","linkId","type","SHARE_TYPE","LINK","or","placeholder","prepare","shareLinks","getShareWithMembers","shareWithMembersQuery","linkUsers","enabled","modifiedAt","disabledAt","concatDistinctObjectsInArray","login","userFullNameSQL","role","USER_ROLE","GUEST","MEMBER_TYPE","USER","dateTimeUTC","groups","GROUP_TYPE","PERSONAL","PGROUP","GROUP","raw","leftJoin","groupId","isNotNull","groupBy","limit","share","members","popFromObject","createShare","dbGetInsertedId","insert","values","updateShare","set","filters","dbCheckAffectedRows","update","logger","debug","JSON","stringify","e","error","deleteShare","delete","updateMember","sharesMembers","updateMembers","add","remove","status","ACTION","ADD","userIds","groupIds","UPDATE","DELETE","m","shareEnv","shareSpaceRoot","spacesRoots","fileId","inSharesRepository","mapWith","Boolean","root","files","owner","path","filePathSQL","inTrash","space","spaces","spaceExternalRootId","shareIds","shareIdsQuery","unionAlias","union","fromUserQuery","fromGroupsQuery","fromAdminSharesQuery","as","map","listShares","sharesListQuery","hasComments","fileHasCommentsSubquerySQL","counts","shareType","COMMON","setShareCounts","listChildShares","mime","s","ShareChild","listSpaceShares","childShareSpaceRoot","membersFromChildSharesPermissions","matchPermRegexp","asParent","append","shareRootFiles","options","shareRootFilesQuery","originOwner","selectUnion","isDir","size","ctime","mtime","originOwnerLogin","originSpaceAlias","originSpaceRootExternalPath","rootId","rootAlias","rootName","rootDescription","rootEnabled","rootExternalPath","rootPermissions","rootOwnerLogin","rootOwnerEmail","rootOwnerFullName","childShareAlias","childShareName","childShareType","syncPathId","syncPaths","syncPathClientId","syncClients","syncPathClientName","info","ne","fromUser","$dynamic","fromGroups","fromAdminShares","SHARE_ALL_OPERATIONS","q","clientId","origin","ownerLogin","spaceAlias","spaceRootExternalPath","spaceGroupConcatPermissions","fullName","parse","syncs","clientName","fps","withHasComments","withShares","withSyncs","f","uniquePermissions","shareAlias","sharePermissionsQuery","rootOwnerId","rootSpaceId","rootSpaceAlias","rootPath","rootInTrash","rootExternalParentShareId","rootSpaceRootId","rootSpaceRootExternalPath","externalParentShareId","childSharesCount","clearCachePermissions","pattern","cache","genSlugKey","keys","verbose","mdel","catch","usersGroups","Logger"],"mappings":"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"}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>
|
|
3
|
+
* This file is part of Sync-in | The open source file sync and share solution
|
|
4
|
+
* See the LICENSE file for licensing details
|
|
5
|
+
*/ "use strict";
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
Object.defineProperty(exports, "SharesController", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function() {
|
|
12
|
+
return SharesController;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const _common = require("@nestjs/common");
|
|
16
|
+
const _contextinterceptor = require("../../infrastructure/context/interceptors/context.interceptor");
|
|
17
|
+
const _links = require("../links/constants/links");
|
|
18
|
+
const _createorupdatelinkdto = require("../links/dto/create-or-update-link.dto");
|
|
19
|
+
const _user = require("../users/constants/user");
|
|
20
|
+
const _permissionsdecorator = require("../users/decorators/permissions.decorator");
|
|
21
|
+
const _rolesdecorator = require("../users/decorators/roles.decorator");
|
|
22
|
+
const _userdecorator = require("../users/decorators/user.decorator");
|
|
23
|
+
const _permissionsguard = require("../users/guards/permissions.guard");
|
|
24
|
+
const _rolesguard = require("../users/guards/roles.guard");
|
|
25
|
+
const _usermodel = require("../users/models/user.model");
|
|
26
|
+
const _routes = require("./constants/routes");
|
|
27
|
+
const _createorupdatesharedto = require("./dto/create-or-update-share.dto");
|
|
28
|
+
const _sharesmanagerservice = require("./services/shares-manager.service");
|
|
29
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
30
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
31
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
32
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
33
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
34
|
+
}
|
|
35
|
+
function _ts_metadata(k, v) {
|
|
36
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
37
|
+
}
|
|
38
|
+
function _ts_param(paramIndex, decorator) {
|
|
39
|
+
return function(target, key) {
|
|
40
|
+
decorator(target, key, paramIndex);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
let SharesController = class SharesController {
|
|
44
|
+
/* MANAGE COMMON SHARES */ listShares(user) {
|
|
45
|
+
return this.sharesManager.listShares(user);
|
|
46
|
+
}
|
|
47
|
+
getShareWithMembers(user, shareId) {
|
|
48
|
+
return this.sharesManager.getShareWithMembers(user, shareId);
|
|
49
|
+
}
|
|
50
|
+
createShare(user, createOrUpdateShareDto) {
|
|
51
|
+
if (createOrUpdateShareDto.parent?.alias) {
|
|
52
|
+
return this.sharesManager.createChildShare(user, createOrUpdateShareDto);
|
|
53
|
+
}
|
|
54
|
+
return this.sharesManager.createShare(user, createOrUpdateShareDto);
|
|
55
|
+
}
|
|
56
|
+
updateShare(user, shareId, createOrUpdateShareDto) {
|
|
57
|
+
return this.sharesManager.updateShare(user, shareId, createOrUpdateShareDto);
|
|
58
|
+
}
|
|
59
|
+
deleteShare(user, shareId) {
|
|
60
|
+
return this.sharesManager.deleteShare(user, shareId);
|
|
61
|
+
}
|
|
62
|
+
/* MANAGE CHILD SHARES */ listChildShares(user, shareId) {
|
|
63
|
+
return this.sharesManager.listChildShares(user, shareId);
|
|
64
|
+
}
|
|
65
|
+
getShareChild(user, shareId, childId) {
|
|
66
|
+
return this.sharesManager.getChildShare(user, shareId, childId);
|
|
67
|
+
}
|
|
68
|
+
updateShareChild(user, shareId, childId, createOrUpdateShareDto) {
|
|
69
|
+
return this.sharesManager.updateChildShare(user, shareId, childId, createOrUpdateShareDto);
|
|
70
|
+
}
|
|
71
|
+
deleteShareChild(user, shareId, childId) {
|
|
72
|
+
return this.sharesManager.deleteChildShare(user, shareId, childId);
|
|
73
|
+
}
|
|
74
|
+
/* MANAGE LINK SHARES */ generateUUID(user) {
|
|
75
|
+
return this.sharesManager.generateLinkUUID(user.id);
|
|
76
|
+
}
|
|
77
|
+
listShareLinks(user) {
|
|
78
|
+
return this.sharesManager.listShareLinks(user);
|
|
79
|
+
}
|
|
80
|
+
getShareLink(user, shareId) {
|
|
81
|
+
return this.sharesManager.getShareLink(user, shareId);
|
|
82
|
+
}
|
|
83
|
+
getChildShareLink(user, shareId, childId) {
|
|
84
|
+
return this.sharesManager.getChildShare(user, shareId, childId, true);
|
|
85
|
+
}
|
|
86
|
+
getLinkFromSpaceOrShare(user, linkId, type, typeId) {
|
|
87
|
+
return this.sharesManager.getLinkFromSpaceOrShare(user, linkId, typeId, type);
|
|
88
|
+
}
|
|
89
|
+
updateLinkFromSpaceOrShare(user, linkId, type, typeId, createOrUpdateLinkDto) {
|
|
90
|
+
return this.sharesManager.updateLinkFromSpaceOrShare(user, linkId, typeId, type, createOrUpdateLinkDto, true);
|
|
91
|
+
}
|
|
92
|
+
constructor(sharesManager){
|
|
93
|
+
this.sharesManager = sharesManager;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
_ts_decorate([
|
|
97
|
+
(0, _common.Get)(_routes.SHARES_ROUTE.LIST),
|
|
98
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
99
|
+
_ts_metadata("design:type", Function),
|
|
100
|
+
_ts_metadata("design:paramtypes", [
|
|
101
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel
|
|
102
|
+
]),
|
|
103
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
104
|
+
], SharesController.prototype, "listShares", null);
|
|
105
|
+
_ts_decorate([
|
|
106
|
+
(0, _common.Get)(':id'),
|
|
107
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
108
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
109
|
+
_ts_metadata("design:type", Function),
|
|
110
|
+
_ts_metadata("design:paramtypes", [
|
|
111
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
112
|
+
Number
|
|
113
|
+
]),
|
|
114
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
115
|
+
], SharesController.prototype, "getShareWithMembers", null);
|
|
116
|
+
_ts_decorate([
|
|
117
|
+
(0, _common.Post)(),
|
|
118
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
119
|
+
_ts_param(1, (0, _common.Body)()),
|
|
120
|
+
_ts_metadata("design:type", Function),
|
|
121
|
+
_ts_metadata("design:paramtypes", [
|
|
122
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
123
|
+
typeof _createorupdatesharedto.CreateOrUpdateShareDto === "undefined" ? Object : _createorupdatesharedto.CreateOrUpdateShareDto
|
|
124
|
+
]),
|
|
125
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
126
|
+
], SharesController.prototype, "createShare", null);
|
|
127
|
+
_ts_decorate([
|
|
128
|
+
(0, _common.Put)(':id'),
|
|
129
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
130
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
131
|
+
_ts_param(2, (0, _common.Body)()),
|
|
132
|
+
_ts_metadata("design:type", Function),
|
|
133
|
+
_ts_metadata("design:paramtypes", [
|
|
134
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
135
|
+
Number,
|
|
136
|
+
typeof _createorupdatesharedto.CreateOrUpdateShareDto === "undefined" ? Object : _createorupdatesharedto.CreateOrUpdateShareDto
|
|
137
|
+
]),
|
|
138
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
139
|
+
], SharesController.prototype, "updateShare", null);
|
|
140
|
+
_ts_decorate([
|
|
141
|
+
(0, _common.Delete)(':id'),
|
|
142
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
143
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
144
|
+
_ts_metadata("design:type", Function),
|
|
145
|
+
_ts_metadata("design:paramtypes", [
|
|
146
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
147
|
+
Number
|
|
148
|
+
]),
|
|
149
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
150
|
+
], SharesController.prototype, "deleteShare", null);
|
|
151
|
+
_ts_decorate([
|
|
152
|
+
(0, _common.Get)(`:id/${_routes.SHARES_ROUTE.CHILDREN}`),
|
|
153
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
154
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
155
|
+
_ts_metadata("design:type", Function),
|
|
156
|
+
_ts_metadata("design:paramtypes", [
|
|
157
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
158
|
+
Number
|
|
159
|
+
]),
|
|
160
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
161
|
+
], SharesController.prototype, "listChildShares", null);
|
|
162
|
+
_ts_decorate([
|
|
163
|
+
(0, _common.Get)(`:id/${_routes.SHARES_ROUTE.CHILDREN}/:cid`),
|
|
164
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
165
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
166
|
+
_ts_param(2, (0, _common.Param)('cid', _common.ParseIntPipe)),
|
|
167
|
+
_ts_metadata("design:type", Function),
|
|
168
|
+
_ts_metadata("design:paramtypes", [
|
|
169
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
170
|
+
Number,
|
|
171
|
+
Number
|
|
172
|
+
]),
|
|
173
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
174
|
+
], SharesController.prototype, "getShareChild", null);
|
|
175
|
+
_ts_decorate([
|
|
176
|
+
(0, _common.Put)(`:id/${_routes.SHARES_ROUTE.CHILDREN}/:cid`),
|
|
177
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
178
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
179
|
+
_ts_param(2, (0, _common.Param)('cid', _common.ParseIntPipe)),
|
|
180
|
+
_ts_param(3, (0, _common.Body)()),
|
|
181
|
+
_ts_metadata("design:type", Function),
|
|
182
|
+
_ts_metadata("design:paramtypes", [
|
|
183
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
184
|
+
Number,
|
|
185
|
+
Number,
|
|
186
|
+
typeof _createorupdatesharedto.CreateOrUpdateShareDto === "undefined" ? Object : _createorupdatesharedto.CreateOrUpdateShareDto
|
|
187
|
+
]),
|
|
188
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
189
|
+
], SharesController.prototype, "updateShareChild", null);
|
|
190
|
+
_ts_decorate([
|
|
191
|
+
(0, _common.Delete)(`:id/${_routes.SHARES_ROUTE.CHILDREN}/:cid`),
|
|
192
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
193
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
194
|
+
_ts_param(2, (0, _common.Param)('cid', _common.ParseIntPipe)),
|
|
195
|
+
_ts_metadata("design:type", Function),
|
|
196
|
+
_ts_metadata("design:paramtypes", [
|
|
197
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
198
|
+
Number,
|
|
199
|
+
Number
|
|
200
|
+
]),
|
|
201
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
202
|
+
], SharesController.prototype, "deleteShareChild", null);
|
|
203
|
+
_ts_decorate([
|
|
204
|
+
(0, _common.Get)(_routes.SHARES_ROUTE.LINKS_UUID),
|
|
205
|
+
(0, _permissionsdecorator.UserHavePermission)([
|
|
206
|
+
_user.USER_PERMISSION.SHARES_ADMIN,
|
|
207
|
+
_user.USER_PERMISSION.SPACES_ADMIN
|
|
208
|
+
]),
|
|
209
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
210
|
+
_ts_metadata("design:type", Function),
|
|
211
|
+
_ts_metadata("design:paramtypes", [
|
|
212
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel
|
|
213
|
+
]),
|
|
214
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
215
|
+
], SharesController.prototype, "generateUUID", null);
|
|
216
|
+
_ts_decorate([
|
|
217
|
+
(0, _common.Get)(_routes.SHARES_ROUTE.LINKS_LIST),
|
|
218
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
219
|
+
_ts_metadata("design:type", Function),
|
|
220
|
+
_ts_metadata("design:paramtypes", [
|
|
221
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel
|
|
222
|
+
]),
|
|
223
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
224
|
+
], SharesController.prototype, "listShareLinks", null);
|
|
225
|
+
_ts_decorate([
|
|
226
|
+
(0, _common.Get)(`${_routes.SHARES_ROUTE.LINKS}/:id`),
|
|
227
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
228
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
229
|
+
_ts_metadata("design:type", Function),
|
|
230
|
+
_ts_metadata("design:paramtypes", [
|
|
231
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
232
|
+
Number
|
|
233
|
+
]),
|
|
234
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
235
|
+
], SharesController.prototype, "getShareLink", null);
|
|
236
|
+
_ts_decorate([
|
|
237
|
+
(0, _common.Get)(`${_routes.SHARES_ROUTE.LINKS}/:id/${_routes.SHARES_ROUTE.CHILDREN}/:cid`),
|
|
238
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
239
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
240
|
+
_ts_param(2, (0, _common.Param)('cid', _common.ParseIntPipe)),
|
|
241
|
+
_ts_metadata("design:type", Function),
|
|
242
|
+
_ts_metadata("design:paramtypes", [
|
|
243
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
244
|
+
Number,
|
|
245
|
+
Number
|
|
246
|
+
]),
|
|
247
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
248
|
+
], SharesController.prototype, "getChildShareLink", null);
|
|
249
|
+
_ts_decorate([
|
|
250
|
+
(0, _common.Get)(`${_routes.SHARES_ROUTE.LINKS}/:id/:type(space|share)/:typeId`),
|
|
251
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
252
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
253
|
+
_ts_param(2, (0, _common.Param)('type')),
|
|
254
|
+
_ts_param(3, (0, _common.Param)('typeId', _common.ParseIntPipe)),
|
|
255
|
+
_ts_metadata("design:type", Function),
|
|
256
|
+
_ts_metadata("design:paramtypes", [
|
|
257
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
258
|
+
Number,
|
|
259
|
+
typeof _links.LINK_TYPE === "undefined" ? Object : _links.LINK_TYPE,
|
|
260
|
+
Number
|
|
261
|
+
]),
|
|
262
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
263
|
+
], SharesController.prototype, "getLinkFromSpaceOrShare", null);
|
|
264
|
+
_ts_decorate([
|
|
265
|
+
(0, _common.Put)(`${_routes.SHARES_ROUTE.LINKS}/:id/:type(space|share)/:typeId`),
|
|
266
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
267
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
268
|
+
_ts_param(2, (0, _common.Param)('type')),
|
|
269
|
+
_ts_param(3, (0, _common.Param)('typeId', _common.ParseIntPipe)),
|
|
270
|
+
_ts_param(4, (0, _common.Body)()),
|
|
271
|
+
_ts_metadata("design:type", Function),
|
|
272
|
+
_ts_metadata("design:paramtypes", [
|
|
273
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
274
|
+
Number,
|
|
275
|
+
typeof _links.LINK_TYPE === "undefined" ? Object : _links.LINK_TYPE,
|
|
276
|
+
Number,
|
|
277
|
+
typeof _createorupdatelinkdto.CreateOrUpdateLinkDto === "undefined" ? Object : _createorupdatelinkdto.CreateOrUpdateLinkDto
|
|
278
|
+
]),
|
|
279
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
280
|
+
], SharesController.prototype, "updateLinkFromSpaceOrShare", null);
|
|
281
|
+
SharesController = _ts_decorate([
|
|
282
|
+
(0, _common.Controller)(_routes.SHARES_ROUTE.BASE),
|
|
283
|
+
(0, _rolesdecorator.UserHaveRole)(_user.USER_ROLE.USER),
|
|
284
|
+
(0, _permissionsdecorator.UserHavePermission)(_user.USER_PERMISSION.SHARES_ADMIN),
|
|
285
|
+
(0, _common.UseGuards)(_rolesguard.UserRolesGuard, _permissionsguard.UserPermissionsGuard),
|
|
286
|
+
(0, _common.UseInterceptors)(_contextinterceptor.ContextInterceptor),
|
|
287
|
+
_ts_metadata("design:type", Function),
|
|
288
|
+
_ts_metadata("design:paramtypes", [
|
|
289
|
+
typeof _sharesmanagerservice.SharesManager === "undefined" ? Object : _sharesmanagerservice.SharesManager
|
|
290
|
+
])
|
|
291
|
+
], SharesController);
|
|
292
|
+
|
|
293
|
+
//# sourceMappingURL=shares.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../backend/src/applications/shares/shares.controller.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { Body, Controller, Delete, Get, Param, ParseIntPipe, Post, Put, UseGuards, UseInterceptors } from '@nestjs/common'\nimport { ContextInterceptor } from '../../infrastructure/context/interceptors/context.interceptor'\nimport { LINK_TYPE } from '../links/constants/links'\nimport { CreateOrUpdateLinkDto } from '../links/dto/create-or-update-link.dto'\nimport { LinkGuest } from '../links/interfaces/link-guest.interface'\nimport { USER_PERMISSION, USER_ROLE } from '../users/constants/user'\nimport { UserHavePermission } from '../users/decorators/permissions.decorator'\nimport { UserHaveRole } from '../users/decorators/roles.decorator'\nimport { GetUser } from '../users/decorators/user.decorator'\nimport { UserPermissionsGuard } from '../users/guards/permissions.guard'\nimport { UserRolesGuard } from '../users/guards/roles.guard'\nimport { UserModel } from '../users/models/user.model'\nimport { SHARES_ROUTE } from './constants/routes'\nimport { CreateOrUpdateShareDto } from './dto/create-or-update-share.dto'\nimport type { ShareFile } from './interfaces/share-file.interface'\nimport { ShareLink } from './interfaces/share-link.interface'\nimport type { ShareProps } from './interfaces/share-props.interface'\nimport { ShareChild } from './models/share-child.model'\nimport { SharesManager } from './services/shares-manager.service'\n\n@Controller(SHARES_ROUTE.BASE)\n@UserHaveRole(USER_ROLE.USER)\n@UserHavePermission(USER_PERMISSION.SHARES_ADMIN)\n@UseGuards(UserRolesGuard, UserPermissionsGuard)\n@UseInterceptors(ContextInterceptor)\nexport class SharesController {\n constructor(private readonly sharesManager: SharesManager) {}\n\n /* MANAGE COMMON SHARES */\n\n @Get(SHARES_ROUTE.LIST)\n listShares(@GetUser() user: UserModel): Promise<ShareFile[]> {\n return this.sharesManager.listShares(user)\n }\n\n @Get(':id')\n getShareWithMembers(@GetUser() user: UserModel, @Param('id', ParseIntPipe) shareId: number): Promise<ShareProps> {\n return this.sharesManager.getShareWithMembers(user, shareId)\n }\n\n @Post()\n createShare(@GetUser() user: UserModel, @Body() createOrUpdateShareDto: CreateOrUpdateShareDto): Promise<ShareProps> {\n if (createOrUpdateShareDto.parent?.alias) {\n return this.sharesManager.createChildShare(user, createOrUpdateShareDto)\n }\n return this.sharesManager.createShare(user, createOrUpdateShareDto)\n }\n\n @Put(':id')\n updateShare(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) shareId: number,\n @Body() createOrUpdateShareDto: CreateOrUpdateShareDto\n ): Promise<ShareProps> {\n return this.sharesManager.updateShare(user, shareId, createOrUpdateShareDto)\n }\n\n @Delete(':id')\n deleteShare(@GetUser() user: UserModel, @Param('id', ParseIntPipe) shareId: number): Promise<void> {\n return this.sharesManager.deleteShare(user, shareId)\n }\n\n /* MANAGE CHILD SHARES */\n\n @Get(`:id/${SHARES_ROUTE.CHILDREN}`)\n listChildShares(@GetUser() user: UserModel, @Param('id', ParseIntPipe) shareId: number): Promise<ShareChild[]> {\n return this.sharesManager.listChildShares(user, shareId)\n }\n\n @Get(`:id/${SHARES_ROUTE.CHILDREN}/:cid`)\n getShareChild(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) shareId: number,\n @Param('cid', ParseIntPipe) childId: number\n ): Promise<ShareProps> {\n return this.sharesManager.getChildShare(user, shareId, childId)\n }\n\n @Put(`:id/${SHARES_ROUTE.CHILDREN}/:cid`)\n updateShareChild(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) shareId: number,\n @Param('cid', ParseIntPipe) childId: number,\n @Body() createOrUpdateShareDto: CreateOrUpdateShareDto\n ): Promise<ShareProps> {\n return this.sharesManager.updateChildShare(user, shareId, childId, createOrUpdateShareDto)\n }\n\n @Delete(`:id/${SHARES_ROUTE.CHILDREN}/:cid`)\n deleteShareChild(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) shareId: number,\n @Param('cid', ParseIntPipe) childId: number\n ): Promise<void> {\n return this.sharesManager.deleteChildShare(user, shareId, childId)\n }\n\n /* MANAGE LINK SHARES */\n\n @Get(SHARES_ROUTE.LINKS_UUID)\n @UserHavePermission([USER_PERMISSION.SHARES_ADMIN, USER_PERMISSION.SPACES_ADMIN])\n generateUUID(@GetUser() user: UserModel): Promise<{ uuid: string }> {\n return this.sharesManager.generateLinkUUID(user.id)\n }\n\n @Get(SHARES_ROUTE.LINKS_LIST)\n listShareLinks(@GetUser() user: UserModel): Promise<ShareLink[]> {\n return this.sharesManager.listShareLinks(user)\n }\n\n @Get(`${SHARES_ROUTE.LINKS}/:id`)\n getShareLink(@GetUser() user: UserModel, @Param('id', ParseIntPipe) shareId: number): Promise<ShareLink> {\n return this.sharesManager.getShareLink(user, shareId)\n }\n\n @Get(`${SHARES_ROUTE.LINKS}/:id/${SHARES_ROUTE.CHILDREN}/:cid`)\n getChildShareLink(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) shareId: number,\n @Param('cid', ParseIntPipe) childId: number\n ): Promise<ShareLink> {\n return this.sharesManager.getChildShare(user, shareId, childId, true)\n }\n\n @Get(`${SHARES_ROUTE.LINKS}/:id/:type(space|share)/:typeId`)\n getLinkFromSpaceOrShare(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) linkId: number,\n @Param('type') type: LINK_TYPE,\n @Param('typeId', ParseIntPipe) typeId: number\n ): Promise<LinkGuest> {\n return this.sharesManager.getLinkFromSpaceOrShare(user, linkId, typeId, type)\n }\n\n @Put(`${SHARES_ROUTE.LINKS}/:id/:type(space|share)/:typeId`)\n updateLinkFromSpaceOrShare(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) linkId: number,\n @Param('type') type: LINK_TYPE,\n @Param('typeId', ParseIntPipe) typeId: number,\n @Body() createOrUpdateLinkDto: CreateOrUpdateLinkDto\n ): Promise<LinkGuest> {\n return this.sharesManager.updateLinkFromSpaceOrShare(user, linkId, typeId, type, createOrUpdateLinkDto, true)\n }\n}\n"],"names":["SharesController","listShares","user","sharesManager","getShareWithMembers","shareId","createShare","createOrUpdateShareDto","parent","alias","createChildShare","updateShare","deleteShare","listChildShares","getShareChild","childId","getChildShare","updateShareChild","updateChildShare","deleteShareChild","deleteChildShare","generateUUID","generateLinkUUID","id","listShareLinks","getShareLink","getChildShareLink","getLinkFromSpaceOrShare","linkId","type","typeId","updateLinkFromSpaceOrShare","createOrUpdateLinkDto","LIST","SHARES_ROUTE","CHILDREN","LINKS_UUID","USER_PERMISSION","SHARES_ADMIN","SPACES_ADMIN","LINKS_LIST","LINKS","BASE","USER"],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>
|
|
3
|
+
* This file is part of Sync-in | The open source file sync and share solution
|
|
4
|
+
* See the LICENSE file for licensing details
|
|
5
|
+
*/ "use strict";
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
const _testing = require("@nestjs/testing");
|
|
10
|
+
const _cacheservice = require("../../infrastructure/cache/services/cache.service");
|
|
11
|
+
const _contextmanagerservice = require("../../infrastructure/context/services/context-manager.service");
|
|
12
|
+
const _constants = require("../../infrastructure/database/constants");
|
|
13
|
+
const _filesqueriesservice = require("../files/services/files-queries.service");
|
|
14
|
+
const _linksqueriesservice = require("../links/services/links-queries.service");
|
|
15
|
+
const _notificationsmanagerservice = require("../notifications/services/notifications-manager.service");
|
|
16
|
+
const _spacesqueriesservice = require("../spaces/services/spaces-queries.service");
|
|
17
|
+
const _usersqueriesservice = require("../users/services/users-queries.service");
|
|
18
|
+
const _sharesmanagerservice = require("./services/shares-manager.service");
|
|
19
|
+
const _sharesqueriesservice = require("./services/shares-queries.service");
|
|
20
|
+
const _sharescontroller = require("./shares.controller");
|
|
21
|
+
describe(_sharescontroller.SharesController.name, ()=>{
|
|
22
|
+
let controller;
|
|
23
|
+
beforeAll(async ()=>{
|
|
24
|
+
const module = await _testing.Test.createTestingModule({
|
|
25
|
+
controllers: [
|
|
26
|
+
_sharescontroller.SharesController
|
|
27
|
+
],
|
|
28
|
+
providers: [
|
|
29
|
+
{
|
|
30
|
+
provide: _constants.DB_TOKEN_PROVIDER,
|
|
31
|
+
useValue: {}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
provide: _cacheservice.Cache,
|
|
35
|
+
useValue: {}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
provide: _contextmanagerservice.ContextManager,
|
|
39
|
+
useValue: {}
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
provide: _notificationsmanagerservice.NotificationsManager,
|
|
43
|
+
useValue: {}
|
|
44
|
+
},
|
|
45
|
+
_spacesqueriesservice.SpacesQueries,
|
|
46
|
+
_filesqueriesservice.FilesQueries,
|
|
47
|
+
_usersqueriesservice.UsersQueries,
|
|
48
|
+
_sharesmanagerservice.SharesManager,
|
|
49
|
+
_sharesqueriesservice.SharesQueries,
|
|
50
|
+
_linksqueriesservice.LinksQueries
|
|
51
|
+
]
|
|
52
|
+
}).compile();
|
|
53
|
+
controller = module.get(_sharescontroller.SharesController);
|
|
54
|
+
});
|
|
55
|
+
it('should be defined', ()=>{
|
|
56
|
+
expect(controller).toBeDefined();
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
//# sourceMappingURL=shares.controller.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../backend/src/applications/shares/shares.controller.spec.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { Test, TestingModule } from '@nestjs/testing'\nimport { Cache } from '../../infrastructure/cache/services/cache.service'\nimport { ContextManager } from '../../infrastructure/context/services/context-manager.service'\nimport { DB_TOKEN_PROVIDER } from '../../infrastructure/database/constants'\nimport { FilesQueries } from '../files/services/files-queries.service'\nimport { LinksQueries } from '../links/services/links-queries.service'\nimport { NotificationsManager } from '../notifications/services/notifications-manager.service'\nimport { SpacesQueries } from '../spaces/services/spaces-queries.service'\nimport { UsersQueries } from '../users/services/users-queries.service'\nimport { SharesManager } from './services/shares-manager.service'\nimport { SharesQueries } from './services/shares-queries.service'\nimport { SharesController } from './shares.controller'\n\ndescribe(SharesController.name, () => {\n let controller: SharesController\n\n beforeAll(async () => {\n const module: TestingModule = await Test.createTestingModule({\n controllers: [SharesController],\n providers: [\n { provide: DB_TOKEN_PROVIDER, useValue: {} },\n {\n provide: Cache,\n useValue: {}\n },\n { provide: ContextManager, useValue: {} },\n {\n provide: NotificationsManager,\n useValue: {}\n },\n SpacesQueries,\n FilesQueries,\n UsersQueries,\n SharesManager,\n SharesQueries,\n LinksQueries\n ]\n }).compile()\n\n controller = module.get<SharesController>(SharesController)\n })\n\n it('should be defined', () => {\n expect(controller).toBeDefined()\n })\n})\n"],"names":["describe","SharesController","name","controller","beforeAll","module","Test","createTestingModule","controllers","providers","provide","DB_TOKEN_PROVIDER","useValue","Cache","ContextManager","NotificationsManager","SpacesQueries","FilesQueries","UsersQueries","SharesManager","SharesQueries","LinksQueries","compile","get","it","expect","toBeDefined"],"mappings":"AAAA;;;;CAIC;;;;yBAEmC;8BACd;uCACS;2BACG;qCACL;qCACA;6CACQ;sCACP;qCACD;sCACC;sCACA;kCACG;AAEjCA,SAASC,kCAAgB,CAACC,IAAI,EAAE;IAC9B,IAAIC;IAEJC,UAAU;QACR,MAAMC,SAAwB,MAAMC,aAAI,CAACC,mBAAmB,CAAC;YAC3DC,aAAa;gBAACP,kCAAgB;aAAC;YAC/BQ,WAAW;gBACT;oBAAEC,SAASC,4BAAiB;oBAAEC,UAAU,CAAC;gBAAE;gBAC3C;oBACEF,SAASG,mBAAK;oBACdD,UAAU,CAAC;gBACb;gBACA;oBAAEF,SAASI,qCAAc;oBAAEF,UAAU,CAAC;gBAAE;gBACxC;oBACEF,SAASK,iDAAoB;oBAC7BH,UAAU,CAAC;gBACb;gBACAI,mCAAa;gBACbC,iCAAY;gBACZC,iCAAY;gBACZC,mCAAa;gBACbC,mCAAa;gBACbC,iCAAY;aACb;QACH,GAAGC,OAAO;QAEVnB,aAAaE,OAAOkB,GAAG,CAAmBtB,kCAAgB;IAC5D;IAEAuB,GAAG,qBAAqB;QACtBC,OAAOtB,YAAYuB,WAAW;IAChC;AACF"}
|