@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-manager.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 { HttpException, HttpStatus, Injectable, Logger } from '@nestjs/common'\nimport path from 'node:path'\nimport { ACTION } from '../../../common/constants'\nimport {\n anonymizePassword,\n convertDiffUpdate,\n diffCollection,\n differencePermissions,\n generateShortUUID,\n hashPassword,\n intersectPermissions\n} from '../../../common/functions'\nimport type { Entries } from '../../../common/interfaces'\nimport { ContextManager } from '../../../infrastructure/context/services/context-manager.service'\nimport type { FileProps } from '../../files/interfaces/file-props.interface'\nimport { FileError } from '../../files/models/file-error'\nimport { checkExternalPath, getProps, isPathExists } from '../../files/utils/files'\nimport { LINK_TYPE } from '../../links/constants/links'\nimport type { CreateOrUpdateLinkDto } from '../../links/dto/create-or-update-link.dto'\nimport type { LinkGuest } from '../../links/interfaces/link-guest.interface'\nimport type { Link } from '../../links/schemas/link.interface'\nimport { LinksQueries } from '../../links/services/links-queries.service'\nimport { NOTIFICATION_APP, NOTIFICATION_APP_EVENT } from '../../notifications/constants/notifications'\nimport type { NotificationContent, NotificationOptions } from '../../notifications/interfaces/notification-properties.interface'\nimport type { UserMailNotification } from '../../notifications/interfaces/user-mail-notification'\nimport { NotificationsManager } from '../../notifications/services/notifications-manager.service'\nimport { SPACE_OPERATION, SPACE_PERMS_SEP, SPACE_REPOSITORY, SPACE_ROLE } from '../../spaces/constants/spaces'\nimport type { SpaceMemberDto } from '../../spaces/dto/create-or-update-space.dto'\nimport { SpaceEnv } from '../../spaces/models/space-env.model'\nimport type { SpaceProps } from '../../spaces/models/space-props.model'\nimport { SpacesQueries } from '../../spaces/services/spaces-queries.service'\nimport { havePermission, haveSpacePermission, removePermissions } from '../../spaces/utils/permissions'\nimport { MEMBER_TYPE } from '../../users/constants/member'\nimport { GUEST_PERMISSION, USER_NOTIFICATION, USER_ROLE } from '../../users/constants/user'\nimport { CreateUserDto } from '../../users/dto/create-or-update-user.dto'\nimport { UserModel } from '../../users/models/user.model'\nimport type { User } from '../../users/schemas/user.interface'\nimport { UsersQueries } from '../../users/services/users-queries.service'\nimport { SHARE_ALL_OPERATIONS, SHARE_TYPE } from '../constants/shares'\nimport type { CreateOrUpdateShareDto, ShareMemberDto } from '../dto/create-or-update-share.dto'\nimport type { ShareChildMember } 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 type { ShareChild } from '../models/share-child.model'\nimport type { ShareMembers } from '../schemas/share-members.interface'\nimport type { Share } from '../schemas/share.interface'\nimport { SharesQueries } from './shares-queries.service'\n\n@Injectable()\nexport class SharesManager {\n private readonly logger = new Logger(SharesManager.name)\n\n constructor(\n private readonly contextManager: ContextManager,\n private readonly notificationsManager: NotificationsManager,\n private readonly sharesQueries: SharesQueries,\n private readonly spaceQueries: SpacesQueries,\n private readonly usersQueries: UsersQueries,\n private readonly linksQueries: LinksQueries\n ) {}\n\n permissions(user: UserModel, spaceAlias: string) {\n return this.sharesQueries.permissions(user.id, spaceAlias, +user.isAdmin)\n }\n\n listShares(user: UserModel): Promise<ShareFile[]> {\n return this.sharesQueries.listShares(user)\n }\n\n listSpaceShares(spaceId: number): Promise<ShareChild[]> {\n return this.sharesQueries.listSpaceShares(spaceId)\n }\n\n listChildShares(user: UserModel, shareId: number): Promise<ShareChild[]> {\n return this.sharesQueries.listChildShares(user.id, shareId, +user.isAdmin)\n }\n\n async setAllowedPermissions(user: UserModel, share: ShareProps | ShareLink, asAdmin = false) {\n if (share.file?.ownerId === user.id || (share.externalPath && user.isAdmin)) {\n // current user is the file owner (personal space case)\n share.file.permissions = SHARE_ALL_OPERATIONS\n } else if (share.file?.space?.alias) {\n share.file.ownerId = null\n // retrieve space permissions (cached query)\n const spacePermissions: Partial<SpaceEnv> = await this.spaceQueries.permissions(user.id, share.file.space.alias, share.file.space.root?.alias)\n if (!spacePermissions) {\n this.logger.warn(`${this.setAllowedPermissions.name} - missing space permissions : ${JSON.stringify(share)}`)\n throw new HttpException('Space not found', HttpStatus.NOT_FOUND)\n }\n // compute permissions\n const spaceEnv = new SpaceEnv(spacePermissions)\n spaceEnv.setPermissions(true)\n share.file.permissions = spaceEnv.envPermissions\n } else if (share.parent?.alias) {\n // retrieve parent share permissions (cached query)\n // use current the user permissions on the share or the share owner permissions if we request the share as admin\n const userId = asAdmin ? share.ownerId : user.id\n const sharePermissions: Partial<SpaceEnv> = await this.sharesQueries.permissions(userId, share.parent.alias, +user.isAdmin)\n if (!sharePermissions) {\n this.logger.warn(`${this.setAllowedPermissions.name} - missing share permissions : ${JSON.stringify(share)}`)\n throw new HttpException('Share not found', HttpStatus.NOT_FOUND)\n }\n share.file.permissions = sharePermissions.permissions\n } else {\n this.logger.error(`${this.setAllowedPermissions.name} - case not handled ${JSON.stringify(share)}`)\n throw new HttpException('Missing information', HttpStatus.BAD_REQUEST)\n }\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 const share: ShareProps = await this.sharesQueries.getShareWithMembers(user, shareId, asAdmin)\n if (!share) {\n throw new HttpException('Not authorized', HttpStatus.FORBIDDEN)\n }\n await this.setAllowedPermissions(user, share, asAdmin)\n return share\n }\n\n async createShare(user: UserModel, createOrUpdateShareDto: CreateOrUpdateShareDto): Promise<ShareProps> {\n const share: Partial<Share> = {\n name: createOrUpdateShareDto.name,\n alias: await this.sharesQueries.uniqueShareAlias(createOrUpdateShareDto.name),\n description: createOrUpdateShareDto.description,\n externalPath: createOrUpdateShareDto.externalPath,\n enabled: createOrUpdateShareDto.enabled,\n disabledAt: createOrUpdateShareDto.enabled ? null : new Date(),\n type: createOrUpdateShareDto.type || SHARE_TYPE.COMMON\n }\n if (share.externalPath) {\n /* EXTERNAL PATH CASE */\n if (!user.isAdmin) {\n throw new HttpException('Not authorized', HttpStatus.FORBIDDEN)\n }\n try {\n await checkExternalPath(share.externalPath)\n } catch (e: any) {\n throw new HttpException(e.message, e instanceof FileError ? e.httpCode : HttpStatus.INTERNAL_SERVER_ERROR)\n }\n share.ownerId = null\n } else {\n /* SPACES CASE */\n share.externalPath = null\n share.ownerId = user.id\n if (createOrUpdateShareDto.file.ownerId) {\n /* PERSONAL SPACE CASE */\n // check file\n const realPath = path.join(user.filesPath, createOrUpdateShareDto.file.path)\n if (!(await isPathExists(realPath))) {\n this.logger.warn(`${this.createShare.name} - location does not exist : ${realPath}`)\n throw new HttpException('The location does not exist', HttpStatus.NOT_FOUND)\n }\n const fileProps: FileProps = { ...(await getProps(realPath, createOrUpdateShareDto.file.path)), id: createOrUpdateShareDto.file.id }\n share.fileId = await this.spaceQueries.getOrCreateUserFile(user.id, fileProps)\n } else if (createOrUpdateShareDto.file.space?.alias) {\n /* SPACE CASE */\n const spacePermissions: Partial<SpaceEnv> = await this.spaceQueries.permissions(\n user.id,\n createOrUpdateShareDto.file.space.alias,\n createOrUpdateShareDto.file.space.root.alias\n )\n if (!spacePermissions) {\n throw new HttpException('Space not found', HttpStatus.NOT_FOUND)\n }\n // compute space permissions\n const space: SpaceEnv = new SpaceEnv(spacePermissions)\n space.setPermissions(true)\n // intersect space permissions for members\n for (const m of createOrUpdateShareDto.members) {\n m.permissions = intersectPermissions(space.envPermissions, m.permissions)\n }\n // intersect space permissions for links\n for (const l of createOrUpdateShareDto.links) {\n l.permissions = intersectPermissions(space.envPermissions, l.permissions)\n }\n // check file\n try {\n space.setPaths(user, createOrUpdateShareDto.file.space.root.alias, createOrUpdateShareDto.file.path.split('/').slice(space.root.id ? 1 : 0))\n } catch (e) {\n if (e instanceof FileError) {\n throw new HttpException(e.message, e.httpCode)\n }\n throw new HttpException(e.message, HttpStatus.BAD_REQUEST)\n }\n if (!(await isPathExists(space.realPath))) {\n this.logger.warn(`${this.createShare.name} - space location does not exist : *${space.alias}* (${space.id}) : ${space.realPath}`)\n throw new HttpException('The location does not exist', HttpStatus.NOT_FOUND)\n }\n share.spaceId = space.id\n share.spaceRootId = space.root?.id || null\n // define share.fileId\n // if the file is the same as the space root, ignores share.fileId and only uses spaceId and spaceRootId\n const isExternalSpaceRoot =\n createOrUpdateShareDto.file?.id < 0 &&\n createOrUpdateShareDto.file?.path === createOrUpdateShareDto.file?.space?.root?.alias &&\n createOrUpdateShareDto.file?.space?.root?.alias === spacePermissions.root?.alias &&\n createOrUpdateShareDto.file?.space?.root?.name === spacePermissions.root?.name\n const isSpaceRoot = Number(createOrUpdateShareDto.file.id) === Number(spacePermissions.root?.file?.id)\n if (!isSpaceRoot && !isExternalSpaceRoot) {\n const fileProps: FileProps = { ...(await getProps(space.realPath, space.dbFile.path)), id: undefined }\n // get or create file id\n share.fileId = await this.spaceQueries.getOrCreateSpaceFile(createOrUpdateShareDto.file.id, fileProps, space.dbFile)\n }\n } else {\n // unexpected case\n throw new HttpException('Missing information', HttpStatus.BAD_REQUEST)\n }\n }\n // create share\n share.id = await this.sharesQueries.createShare(share)\n // check & update members\n await this.createOrUpdateLinksAsMembers(user, share, LINK_TYPE.SHARE, createOrUpdateShareDto.links)\n await this.updateMembers(user, share, [], createOrUpdateShareDto.members)\n return this.getShareWithMembers(user, share.id)\n }\n\n async updateShare(user: UserModel, shareId: number, createOrUpdateShareDto: CreateOrUpdateShareDto, 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 const share: ShareProps = await this.getShareWithMembers(user, shareId, asAdmin)\n // check & update share info\n const shareDiffProps: Partial<ShareProps> = { modifiedAt: new Date() }\n for (const prop of ['name', 'description', 'enabled']) {\n if (createOrUpdateShareDto[prop] !== share[prop]) {\n shareDiffProps[prop] = createOrUpdateShareDto[prop]\n if (prop === 'name') {\n shareDiffProps.alias = await this.sharesQueries.uniqueShareAlias(shareDiffProps.name)\n } else if (prop === 'enabled') {\n shareDiffProps.disabledAt = shareDiffProps[prop] ? null : new Date()\n }\n }\n }\n // update in db\n this.sharesQueries.updateShare(shareDiffProps, { id: shareId }).catch((e: Error) => this.logger.error(`${this.updateShare.name} - ${e}`))\n // check & update members\n const linkMembers: ShareMemberDto[] = await this.createOrUpdateLinksAsMembers(user, share, LINK_TYPE.SHARE, createOrUpdateShareDto.links)\n // intersect share permissions for members\n for (const m of createOrUpdateShareDto.members) {\n m.permissions = intersectPermissions(share.file.permissions, m.permissions)\n }\n // intersect share permissions for links\n for (const l of linkMembers) {\n l.permissions = intersectPermissions(share.file.permissions, l.permissions)\n }\n await this.updateMembers(user, share, share.members, [...createOrUpdateShareDto.members, ...linkMembers])\n return this.getShareWithMembers(user, share.id, asAdmin)\n }\n\n async deleteShare(user: UserModel, shareId: number, asAdmin = false): Promise<void> {\n // asAdmin : true if the user is the owner of the parent share or if the share is requested from an admin\n if (!asAdmin && !user.isAdmin && !(await this.sharesQueries.shareExistsForOwner(user.id, shareId))) {\n throw new HttpException('Not authorized', HttpStatus.FORBIDDEN)\n }\n try {\n await this.deleteAllLinkMembers(shareId, LINK_TYPE.SHARE)\n await this.removeShareFromOwners(shareId, 'all', false, user.id)\n } catch (e) {\n this.logger.error(`${this.deleteShare.name} - unable to delete share (${shareId}) (asAdmin = ${asAdmin}) : ${e}`)\n throw new HttpException('Unable to delete share', HttpStatus.INTERNAL_SERVER_ERROR)\n }\n }\n\n async getChildShare(user: UserModel, shareId: number, childId: number, isLink?: false): Promise<ShareProps>\n async getChildShare(user: UserModel, shareId: number, childId: number, isLink?: true): Promise<ShareLink>\n async getChildShare(user: UserModel, shareId: number, childId: number, isLink?: boolean): Promise<ShareProps | ShareLink> {\n if (await this.checkChildSharePermissions(user, shareId, childId)) {\n if (isLink) {\n return this.getShareLink(user, childId, true)\n }\n return this.getShareWithMembers(user, childId, true)\n }\n }\n\n async updateChildShare(user: UserModel, shareId: number, childId: number, createOrUpdateShareDto: CreateOrUpdateShareDto): Promise<ShareProps> {\n if (await this.checkChildSharePermissions(user, shareId, childId)) {\n return this.updateShare(user, childId, createOrUpdateShareDto, true)\n }\n }\n\n async deleteChildShare(user: UserModel, shareId: number, childId: number): Promise<void> {\n if (await this.checkChildSharePermissions(user, shareId, childId)) {\n return this.deleteShare(user, childId, true)\n }\n }\n\n async createChildShare(user: UserModel, createOrUpdateShareDto: CreateOrUpdateShareDto): Promise<ShareProps> {\n // check parent share\n const pSharePermissions = await this.sharesQueries.permissions(user.id, createOrUpdateShareDto.parent.alias, +user.isAdmin)\n if (!pSharePermissions) {\n this.logger.warn(`${this.createChildShare.name} - parent share does not exist or not authorized : ${createOrUpdateShareDto.parent.alias}`)\n throw new HttpException('Parent share not found', HttpStatus.NOT_FOUND)\n }\n if (!haveSpacePermission(pSharePermissions, SPACE_OPERATION.SHARE_OUTSIDE)) {\n this.logger.warn(`${this.createChildShare.name} - is not allowed to share outside of : *${pSharePermissions.alias}* (${pSharePermissions.id})`)\n throw new HttpException('You are not allowed to do this action', HttpStatus.FORBIDDEN)\n }\n if (!pSharePermissions.enabled) {\n this.logger.warn(`${this.createChildShare.name} - parent share is disabled : ${createOrUpdateShareDto.parent.alias}`)\n throw new HttpException('Parent share is disabled', HttpStatus.FORBIDDEN)\n }\n\n let pShare: Partial<SpaceEnv>\n let filePath: string\n if (pSharePermissions.root.externalPath) {\n const highestParentId = await this.sharesQueries.findHighestParentShare(pSharePermissions.id)\n if (!highestParentId) {\n this.logger.warn(\n `${this.createChildShare.name} - unable to find the highest parent of : *${pSharePermissions.alias}* (${pSharePermissions.id})`\n )\n throw new HttpException('Parent share not found', HttpStatus.NOT_FOUND)\n }\n pShare = await this.sharesQueries.shareEnv(highestParentId)\n filePath = path.join(pSharePermissions.root?.file?.path || '', createOrUpdateShareDto.file.path)\n } else {\n pShare = await this.sharesQueries.shareEnv(pSharePermissions.id)\n filePath = createOrUpdateShareDto.file.path\n }\n\n // create a fake space env -> share env\n const pShareEnv: Partial<ShareEnv> = new SpaceEnv(pShare, null, false)\n try {\n pShareEnv.setPaths(user, null, filePath.split('/'))\n } catch (e) {\n if (e instanceof FileError) {\n throw new HttpException(e.message, e.httpCode)\n }\n throw new HttpException(e.message, HttpStatus.BAD_REQUEST)\n }\n // check file\n if (!(await isPathExists(pShareEnv.realPath))) {\n this.logger.warn(\n `${this.createChildShare.name} - parent share location does not exist : ${pShareEnv.alias} (${pShareEnv.id}) : ${pShareEnv.realPath}`\n )\n throw new HttpException('The location does not exist', HttpStatus.NOT_FOUND)\n }\n\n /* Manage the case where the child share is created from the parent share itself */\n // special case, the parent share is directly linked to the space root file\n const isLinkedToShareSpaceRoot =\n pShareEnv.fileId === null &&\n Number(createOrUpdateShareDto.file.id) === Number(pSharePermissions.root?.id) &&\n createOrUpdateShareDto.file.path === '.'\n // special case, the parent share is directly linked to the share with an external path\n const isLinkedToShareExternalPath =\n createOrUpdateShareDto.file.id < 0 && !!pShareEnv.root.externalPath && createOrUpdateShareDto.file.path === '.'\n let fileId: number = null\n if (!isLinkedToShareSpaceRoot && !isLinkedToShareExternalPath) {\n // fileId is mandatory for a file in a child share\n const fileProps: FileProps = { ...(await getProps(pShareEnv.realPath, pShareEnv.dbFile.path)), id: undefined }\n fileId = await this.spaceQueries.getOrCreateSpaceFile(createOrUpdateShareDto.file.id, fileProps, pShareEnv.dbFile)\n }\n\n const share: Partial<Share> = {\n name: createOrUpdateShareDto.name,\n alias: await this.sharesQueries.uniqueShareAlias(createOrUpdateShareDto.name),\n ownerId: user.id,\n spaceId: pShareEnv.spaceId,\n spaceRootId: pShareEnv.spaceRootId,\n parentId: pSharePermissions.id,\n fileId: fileId,\n description: createOrUpdateShareDto.description,\n externalPath: pShareEnv.root.externalPath,\n enabled: createOrUpdateShareDto.enabled,\n disabledAt: createOrUpdateShareDto.enabled ? null : new Date(),\n type: createOrUpdateShareDto.type || SHARE_TYPE.COMMON\n }\n // create child share\n share.id = await this.sharesQueries.createShare(share)\n // intersect parent share permissions for members\n for (const m of createOrUpdateShareDto.members) {\n m.permissions = intersectPermissions(pSharePermissions.permissions, m.permissions)\n }\n // intersect parent share permissions for links\n for (const l of createOrUpdateShareDto.links) {\n l.permissions = intersectPermissions(pSharePermissions.permissions, l.permissions)\n }\n // check & update members\n await this.createOrUpdateLinksAsMembers(user, share, LINK_TYPE.SHARE, createOrUpdateShareDto.links)\n await this.updateMembers(user, share, [], createOrUpdateShareDto.members)\n return this.getShareWithMembers(user, share.id)\n }\n\n async updateSharesFromSpace(\n /*\n In this case the space is considered as a parent share\n The shares and child shares of the member should be deleted if the member is removed from the space\n Member permissions on shares and its child shares must be updated if the parent share owner's permissions are updated on the space\n */\n spaceId: number,\n currentMembers: SpaceMemberDto[],\n toRemove: SpaceMemberDto[],\n toUpdate: { object: SpaceMemberDto; rmPermissions: SPACE_OPERATION[] }[]\n ) {\n // skip if no actions\n if (!toRemove.length && !toUpdate.length) return\n // get all space manager ids (ignore them, they have all permissions on the space)\n const spaceManagerIds: number[] = currentMembers.filter((m) => m.spaceRole === SPACE_ROLE.IS_MANAGER).map((m) => m.id)\n const [rmOwners, upOwners] = await this.diffSharesPermissions(currentMembers, toRemove, toUpdate, spaceManagerIds)\n if (!rmOwners.length && !upOwners.length) return\n\n const owners: Record<\n number,\n {\n type: ACTION.UPDATE | ACTION.DELETE\n rmPermissions?: SPACE_OPERATION[]\n }\n > = {\n ...Object.fromEntries(rmOwners.map((uId: number) => [uId, { type: ACTION.DELETE }])),\n ...Object.fromEntries(\n upOwners.reduce(\n (\n acc: [\n number,\n {\n type: ACTION.UPDATE\n rmPermissions: SPACE_OPERATION[]\n }\n ][],\n o\n ) => {\n for (const id of o.ids) {\n acc.push([id, { type: ACTION.UPDATE, rmPermissions: o.rmPermissions }])\n }\n return acc\n },\n []\n )\n )\n }\n // find all parent shares which are owned by the modified/removed members of the space\n for (const share of await this.sharesQueries.selectParentSharesFromSpaceId(\n spaceId,\n Object.keys(owners).map((id: string) => parseInt(id))\n )) {\n if (share.ownerId in owners) {\n const action = owners[share.ownerId]\n if (action.type === ACTION.UPDATE) {\n this.removeChildSharesPermissions(\n share.id,\n [\n {\n ids: [share.ownerId],\n rmPermissions: action.rmPermissions\n }\n ],\n false\n ).catch((e: Error) => this.logger.error(`${this.updateSharesFromSpace.name} - ${e}`))\n } else {\n this.removeShareFromOwners(share.id, [share.ownerId], false).catch((e: Error) =>\n this.logger.error(`${this.updateSharesFromSpace.name} - ${e}`)\n )\n }\n this.logger.log(`${this.updateSharesFromSpace.name} - ${action.type} share (${share.id}) for owner ${share.ownerId} from space ${spaceId}`)\n }\n }\n }\n\n async updateSharesFromSpaceRoots(\n /* update or remove shares related to space roots changes */\n spaceId: number,\n toRemove: number[],\n toUpdate: {\n id: number\n rmPermissions: SPACE_OPERATION[]\n }[]\n ): Promise<void> {\n // skip if no actions\n if (!toRemove.length && !toUpdate.length) return\n\n for (const root of toUpdate) {\n for (const share of await this.sharesQueries.selectShares({ spaceId: spaceId, spaceRootId: root.id, parentId: null })) {\n this.removeChildSharesPermissions(\n share.id,\n [\n {\n ids: 'all',\n rmPermissions: root.rmPermissions\n }\n ],\n false\n ).catch((e: Error) => this.logger.error(`${this.updateSharesFromSpaceRoots.name} - ${e}`))\n }\n }\n\n for (const rootId of toRemove) {\n for (const share of await this.sharesQueries.selectShares({ spaceId: spaceId, spaceRootId: rootId, parentId: null })) {\n // use await ! avoid database lock ! next action is to delete the root space which is cascaded with share.spaceRootId\n await this.removeShareFromOwners(share.id, [share.ownerId], false)\n }\n }\n }\n\n async removeSharesFromSpace(spaceId: number): Promise<void> {\n for (const share of await this.sharesQueries.selectShares({ spaceId: spaceId, parentId: null })) {\n // use await ! avoid database lock ! next action is to delete the space which is cascaded with share.spaceId\n await this.removeShareFromOwners(share.id, [share.ownerId], false)\n }\n }\n\n async generateLinkUUID(userId: number): Promise<{ uuid: string }> {\n let uuid: string = generateShortUUID()\n while (!(await this.linksQueries.isUniqueUUID(userId, uuid))) {\n uuid = generateShortUUID()\n }\n return { uuid: uuid }\n }\n\n listShareLinks(user: UserModel): Promise<ShareLink[]> {\n return this.sharesQueries.listShareLinks(user)\n }\n\n async getShareLink(user: UserModel, shareId: number, asAdmin: boolean = false): Promise<ShareLink> {\n const shareLink: ShareLink = await this.sharesQueries.listShareLinks(user, shareId, asAdmin)\n if (!shareLink) {\n throw new HttpException('Not authorized', HttpStatus.FORBIDDEN)\n }\n await this.setAllowedPermissions(user, shareLink)\n if (shareLink.file?.permissions) {\n // share link does not have these permissions\n shareLink.file.permissions = removePermissions(shareLink.file.permissions, [SPACE_OPERATION.SHARE_INSIDE, SPACE_OPERATION.SHARE_OUTSIDE])\n }\n return shareLink\n }\n\n async getLinkFromSpaceOrShare(user: UserModel, linkId: number, spaceOrShareId: number, type: LINK_TYPE): Promise<LinkGuest> {\n let linkGuest: LinkGuest\n if (type === LINK_TYPE.SPACE) {\n linkGuest = await this.linksQueries.linkFromSpace(user.id, linkId, spaceOrShareId)\n } else {\n linkGuest = await this.linksQueries.linkFromShare(user.id, linkId, spaceOrShareId, +user.isAdmin)\n }\n if (!linkGuest) {\n this.logger.warn(`${this.getLinkFromSpaceOrShare.name} - unable to find link (${linkId}) on ${type} (${spaceOrShareId})`)\n throw new HttpException('Link not found', HttpStatus.NOT_FOUND)\n }\n return linkGuest\n }\n\n async createOrUpdateLinksAsMembers(\n user: UserModel,\n spaceOrShare: Partial<SpaceProps> | Partial<ShareProps>,\n type: LINK_TYPE,\n links: SpaceMemberDto[] | ShareMemberDto[]\n ): Promise<SpaceMemberDto[] | ShareMemberDto[]> {\n /* only used during the share creation from the share manager */\n const linkMembers: SpaceMemberDto[] | ShareMemberDto[] = []\n for (const link of links) {\n if (link.id < 0) {\n // new link (permissions are needed to create guest link)\n await this.createLinkFromSpaceOrShare(user, link.linkSettings.uuid, spaceOrShare.id, type, {\n ...link.linkSettings,\n permissions: link.permissions\n })\n // notify the guest link (if email is specified)\n this.notifyGuestLink(user, link, spaceOrShare.name, type === LINK_TYPE.SHARE ? ACTION.ADD : ACTION.UPDATE).catch((e: Error) =>\n this.logger.error(`${this.createOrUpdateLinksAsMembers.name} - ${e}`)\n )\n } else {\n if (link.linkSettings) {\n // modified link\n await this.updateLinkFromSpaceOrShare(user, link.linkId, spaceOrShare.id, type, link.linkSettings)\n }\n // unmodified link\n linkMembers.push(link)\n }\n }\n return linkMembers\n }\n\n async updateLinkFromSpaceOrShare(\n user: UserModel,\n linkId: number,\n spaceOrShareId: number,\n type: LINK_TYPE,\n createOrUpdateLinkDto: CreateOrUpdateLinkDto,\n fromAPI: boolean = false\n ): Promise<LinkGuest> {\n const link: LinkGuest = await this.getLinkFromSpaceOrShare(user, linkId, spaceOrShareId, type)\n if (!link) {\n this.logger.error(`${this.updateLinkFromSpaceOrShare.name} - (${linkId}) from ${type} (${spaceOrShareId}) and user (${user.id}) was not found`)\n throw new HttpException('Unable to find link', HttpStatus.NOT_FOUND)\n }\n const fieldsWhiteList: (keyof CreateOrUpdateLinkDto)[] = [\n 'name',\n 'email',\n 'requireAuth',\n 'limitAccess',\n 'expiresAt',\n 'language',\n 'isActive',\n 'password',\n 'permissions',\n 'shareName',\n 'shareDescription'\n ]\n const [updateUser, updateLink, updateShare, updateMember]: [\n Partial<Pick<User, 'language' | 'isActive' | 'password'>>,\n Partial<Pick<Link, 'name' | 'email' | 'requireAuth' | 'limitAccess' | 'expiresAt'>>,\n Partial<Pick<Share, 'alias' | 'name' | 'description'>>,\n Partial<Pick<ShareMembers, 'permissions'>>\n ] = [{}, {}, {}, {}]\n for (const [k, v] of Object.entries(createOrUpdateLinkDto) as Entries<CreateOrUpdateLinkDto>) {\n if (fieldsWhiteList.indexOf(k) > -1 && link[k] !== v) {\n switch (k) {\n case 'password':\n if (v) {\n updateUser.password = await hashPassword(v)\n }\n break\n case 'permissions':\n if (fromAPI) {\n // permissions are only present if the share type is link\n // intersect permissions to ensure that the user does not attempt to exceed his rights\n const shareLink: ShareLink = await this.getShareLink(user, spaceOrShareId)\n updateMember.permissions = intersectPermissions(shareLink.file.permissions, v)\n }\n break\n case 'language':\n updateUser.language = v\n break\n case 'isActive':\n updateUser.isActive = v\n break\n case 'shareName':\n updateShare.name = v\n updateShare.alias = await this.sharesQueries.uniqueShareAlias(v)\n break\n case 'shareDescription':\n updateShare.description = v\n break\n case 'expiresAt':\n if (JSON.stringify(link[k]) !== JSON.stringify(v)) {\n updateLink[k] = v\n }\n break\n default:\n updateLink[k] = v\n }\n }\n }\n if (!Object.keys(updateUser).length && !Object.keys(updateLink).length && !Object.keys(updateShare).length && !Object.keys(updateMember).length) {\n this.logger.warn(`${this.updateLinkFromSpaceOrShare.name} - no diff to update`)\n return fromAPI ? link : null\n }\n try {\n await this.linksQueries.updateLinkFromSpaceOrShare(link, spaceOrShareId, updateUser, updateLink, updateShare, updateMember)\n this.logger.debug(\n `${this.updateLinkFromSpaceOrShare.name} - link (${linkId}) updated : ${JSON.stringify({\n ...{ user: anonymizePassword(updateUser) },\n ...{ link: updateLink },\n ...{ share: updateShare },\n ...{ member: updateMember }\n })}`\n )\n } catch (e) {\n this.logger.error(`${this.updateLinkFromSpaceOrShare.name} - ${e}`)\n throw new HttpException('Unable to update link', HttpStatus.INTERNAL_SERVER_ERROR)\n }\n if (fromAPI) {\n // for security reasons\n delete updateUser.password\n Object.assign(link, updateUser, updateLink, updateMember)\n return link\n }\n }\n\n async createGuestLink(\n permission: GUEST_PERMISSION.SPACES | GUEST_PERMISSION.SHARES,\n password?: string,\n language?: string,\n isActive: boolean = true\n ): Promise<Partial<User>> {\n const random = generateShortUUID(32)\n const guestLink = {\n login: random,\n email: `${random}@sync-in`,\n firstName: 'Guest',\n lastName: 'Link',\n language: language || null,\n permissions: permission,\n password: await hashPassword(password || generateShortUUID(12)),\n role: USER_ROLE.LINK,\n isActive: isActive\n } satisfies CreateUserDto\n try {\n ;(guestLink as Partial<User>).id = await this.usersQueries.createUserOrGuest(guestLink, USER_ROLE.LINK)\n return guestLink\n } catch (e) {\n this.logger.error(`${this.createGuestLink.name} - unable to create guest link : ${e}`)\n throw new HttpException('Unable to create guest link', HttpStatus.INTERNAL_SERVER_ERROR)\n }\n }\n\n /* MANAGE SHARE LINKS */\n\n async deleteAllLinkMembers(spaceOrShareId: number, type: LINK_TYPE): Promise<void> {\n const ids: { id: number; linkId: number }[] = await this.linksQueries.allLinksFromSpaceOrShare(spaceOrShareId, type)\n await this.deleteGuestLinks(ids)\n }\n\n async deleteLinkMembers(members: SpaceMemberDto[] | ShareMemberDto[]): Promise<void> {\n await this.deleteGuestLinks(members)\n }\n\n private async updateMembers(user: UserModel, share: Partial<Share>, oldMembers: ShareMemberDto[], currentMembers: ShareMemberDto[]) {\n if (oldMembers.length === 0 && currentMembers.length === 0) {\n return\n }\n // diff\n const [add, update, remove]: [ShareMemberDto[], Record<string | 'object', { old: any; new: any } | ShareMemberDto>[], ShareMemberDto[]] =\n diffCollection(oldMembers, currentMembers, ['permissions'], ['id', 'type'])\n\n // check members whitelists\n let toAdd: ShareMemberDto[] = []\n if (add.length) {\n const [userIdsWhitelist, groupIdsWhitelist] = await Promise.all([\n this.usersQueries.usersWhitelist(user.id),\n this.usersQueries.groupsWhitelist(user.id)\n ])\n toAdd = add.filter((m) => {\n if (\n ((m.type === MEMBER_TYPE.USER || m.type === MEMBER_TYPE.GUEST) && !m.linkId && userIdsWhitelist.indexOf(m.id) === -1) ||\n ((m.type === MEMBER_TYPE.GROUP || m.type === MEMBER_TYPE.PGROUP) && groupIdsWhitelist.indexOf(m.id) === -1)\n ) {\n this.logger.warn(\n `${this.updateMembers.name} cannot add ${m.type} (${m.id}) to share *${share.alias}* (${share.id}) : not in the members whitelist`\n )\n return false\n }\n return true\n })\n }\n\n // filter links\n const toRemove = remove.filter((m) => !m.linkId)\n // do remove links\n this.deleteLinkMembers(remove.filter((m) => !!m.linkId)).catch((e: Error) => this.logger.error(`${this.updateMembers.name} - ${e}`))\n // do update members\n const status: Record<\n Exclude<ACTION, ACTION.DELETE_PERMANENTLY>,\n {\n groupIds: number[]\n userIds: number[]\n }\n > = await this.sharesQueries.updateMembers(share.id, toAdd, convertDiffUpdate(update), toRemove)\n\n // lists deleted and updated members as potential share owners\n const [rmMembersChildShares, upMembersChildShares]: [ShareMemberDto[], { object: ShareMemberDto; rmPermissions: SPACE_OPERATION[] }[]] = [[], []]\n for (const [action, members] of Object.entries(status) as Entries<typeof status>) {\n if (!members.userIds.length && !members.groupIds.length) continue\n if (action === ACTION.DELETE) {\n // stores the removed members who might own child shares from the current share\n rmMembersChildShares.push(\n ...toRemove.filter(\n (m) =>\n ((m.type === MEMBER_TYPE.USER || m.type === MEMBER_TYPE.GUEST) && members.userIds.indexOf(m.id) > -1) ||\n ((m.type === MEMBER_TYPE.GROUP || m.type === MEMBER_TYPE.PGROUP) && members.groupIds.indexOf(m.id) > -1)\n )\n )\n } else if (action === ACTION.UPDATE) {\n // stores permissions updates and members who might own child shares created from the current share\n for (const m of update as { object: ShareMemberDto; permissions: { old: string; new: string } }[]) {\n if (\n ((m.object.type === MEMBER_TYPE.USER || m.object.type === MEMBER_TYPE.GUEST) && members.userIds.indexOf(m.object.id) > -1) ||\n ((m.object.type === MEMBER_TYPE.GROUP || m.object.type === MEMBER_TYPE.PGROUP) && members.groupIds.indexOf(m.object.id) > -1)\n ) {\n const diffPermissions = differencePermissions(m.permissions.old, m.permissions.new) as SPACE_OPERATION[]\n if (diffPermissions.length) {\n upMembersChildShares.push({ object: m.object, rmPermissions: diffPermissions })\n }\n }\n }\n }\n\n // clear cache &|| notify\n this.onShareActionForMembers(share, action, members, user).catch((e: Error) => this.logger.error(`${this.updateMembers.name} - ${e}`))\n }\n\n // do updates\n // remove or update potential child shares\n this.updateMembersChildSharesPermissions(share.id, currentMembers, rmMembersChildShares, upMembersChildShares).catch((e: Error) =>\n this.logger.error(`${this.updateMembers.name} - ${e}`)\n )\n }\n\n private async updateMembersChildSharesPermissions(\n parentShareId: number,\n currentMembers: ShareMemberDto[],\n toRemove: ShareMemberDto[],\n toUpdate: { object: ShareMemberDto; rmPermissions: SPACE_OPERATION[] }[]\n ) {\n /*\n child shares of the member should be deleted if the member is removed from the parent share\n the permissions of the child shares members should be updated if the member's permissions are updated\n */\n const [removeUsersChildShares, updateUsersChildShares] = await this.diffSharesPermissions(currentMembers, toRemove, toUpdate)\n await Promise.all([\n this.removeShareFromOwners(parentShareId, removeUsersChildShares),\n this.removeChildSharesPermissions(parentShareId, updateUsersChildShares)\n ])\n }\n\n private async diffSharesPermissions(\n currentMembers: ShareMemberDto[] | SpaceMemberDto[],\n toRemove: ShareMemberDto[] | SpaceMemberDto[],\n toUpdate: { object: ShareMemberDto | SpaceMemberDto; rmPermissions: SPACE_OPERATION[] }[],\n ignoreUserIds: number[] = []\n ): Promise<[number[], { ids: number[]; rmPermissions: SPACE_OPERATION[] }[]]> {\n // remove shares from members\n const [removeUsersChildShares, removeGroupsChildShares]: number[][] = [[], []]\n for (const m of toRemove) {\n if (m.type === MEMBER_TYPE.USER || m.type === MEMBER_TYPE.GUEST) {\n if (ignoreUserIds.indexOf(m.id) > -1) {\n continue\n }\n // do not remove child shares if the user is a member of a group with share permission\n const memberGroupIds = await this.usersQueries.groupsWhitelist(m.id)\n const groupSharePermission = currentMembers.find(\n (m) =>\n (m.type === MEMBER_TYPE.GROUP || m.type === MEMBER_TYPE.PGROUP) &&\n memberGroupIds.indexOf(m.id) > -1 &&\n havePermission(m.permissions, SPACE_OPERATION.SHARE_OUTSIDE)\n )\n if (groupSharePermission) {\n this.logger.debug(\n `${this.diffSharesPermissions.name} - ignore user (${m.id}) removal : is a member of the group (${groupSharePermission.id}) with share permission`\n )\n continue\n }\n removeUsersChildShares.push(m.id)\n } else {\n removeGroupsChildShares.push(m.id)\n }\n }\n\n // update shares permissions from members\n const [updateUsersChildShares, updateGroupsChildShares]: { ids: number[]; rmPermissions: SPACE_OPERATION[] }[][] = [[], []]\n for (const m of toUpdate) {\n // all child share permissions must be updated\n if (m.object.type === MEMBER_TYPE.USER || m.object.type === MEMBER_TYPE.GUEST) {\n if (ignoreUserIds.indexOf(m.object.id) > -1) continue\n // check if the user is a member of the existing groups on the share\n // since group and user permissions are aggregated, we should check the group permissions\n const memberGroupIds = await this.usersQueries.groupsWhitelist(m.object.id)\n const groupPermissions = currentMembers\n .filter((m) => (m.type === MEMBER_TYPE.GROUP || m.type === MEMBER_TYPE.PGROUP) && memberGroupIds.indexOf(m.id) > -1)\n .reduce((perms: string[], m: ShareMemberDto) => {\n for (const p of m.permissions.split(SPACE_PERMS_SEP).filter((p: string) => p !== '' && perms.indexOf(p) === -1)) {\n perms.push(p)\n }\n return perms\n }, [])\n // find all permissions that the user must keep\n const [permsToKeep, permsToRemove]: SPACE_OPERATION[][] = [[], []]\n // compare the permissions removed from group to user's\n m.rmPermissions.forEach((p: SPACE_OPERATION) => (groupPermissions.indexOf(p) > -1 ? permsToKeep.push(p) : permsToRemove.push(p)))\n if (!permsToRemove.length) {\n // the groups provide these permissions to user, no need to update child shares\n continue\n }\n // remove only unmatched permissions\n m.rmPermissions = permsToRemove\n }\n // group members by permissions to optimize queries\n const memberTypeChildShares =\n m.object.type === MEMBER_TYPE.USER || m.object.type === MEMBER_TYPE.GUEST ? updateUsersChildShares : updateGroupsChildShares\n const memberWithSamePermissions = memberTypeChildShares.find((p) => p.rmPermissions.toString() === m.rmPermissions.toString())\n if (memberWithSamePermissions) {\n memberWithSamePermissions.ids.push(m.object.id)\n } else {\n memberTypeChildShares.push({ ids: [m.object.id], rmPermissions: m.rmPermissions })\n }\n }\n\n // retrieves all users from groups and subgroups & add them to the remove and update lists\n if (removeGroupsChildShares.length) {\n // ignore user id if the user is already removed or is a member of the parent share\n const rmUsersFromGroups = (await this.usersQueries.allUserIdsFromGroupsAndSubGroups(removeGroupsChildShares)).filter(\n (id) =>\n ignoreUserIds.indexOf(id) === -1 &&\n removeUsersChildShares.indexOf(id) === -1 &&\n !currentMembers.find((m) => (m.type === MEMBER_TYPE.USER || m.type === MEMBER_TYPE.GUEST) && m.id === id)\n )\n removeUsersChildShares.push(...rmUsersFromGroups)\n }\n if (updateGroupsChildShares.length) {\n for (const g of updateGroupsChildShares) {\n // ignore user id if the user is already removed or is a member of the parent share\n const rmUsersPermissionsFromGroups: number[] = []\n for (const uId of await this.usersQueries.allUserIdsFromGroupsAndSubGroups(g.ids)) {\n if (ignoreUserIds.indexOf(uId) > -1 || removeUsersChildShares.indexOf(uId) > -1) {\n continue\n }\n // check if the user is a member of the existing groups on the share\n // since group and user permissions are aggregated, we should check the group permissions\n const memberGroupIds = await this.usersQueries.groupsWhitelist(uId)\n const groupPermissions = currentMembers\n .filter(\n (m) =>\n ((m.type === MEMBER_TYPE.GROUP || m.type === MEMBER_TYPE.PGROUP) && memberGroupIds.indexOf(m.id) > -1) ||\n ((m.type === MEMBER_TYPE.USER || m.type === MEMBER_TYPE.GUEST) && m.id === uId)\n )\n .reduce((perms: string[], m: ShareMemberDto) => {\n for (const p of m.permissions.split(SPACE_PERMS_SEP).filter((p: string) => p !== '' && perms.indexOf(p) === -1)) {\n perms.push(p)\n }\n return perms\n }, [])\n // find all permissions that the user must keep\n const [permsToKeep, permsToRemove]: SPACE_OPERATION[][] = [[], []]\n // compare the permissions removed from group to user's\n g.rmPermissions.forEach((p: SPACE_OPERATION) => (groupPermissions.indexOf(p) > -1 ? permsToKeep.push(p) : permsToRemove.push(p)))\n if (!permsToKeep.length) {\n // user does not have the removed permissions from groups or from himself, we can remove the permissions to his child shares\n rmUsersPermissionsFromGroups.push(uId)\n } else if (permsToRemove.length) {\n // remove only unmatched permissions\n updateUsersChildShares.push({ ids: [uId], rmPermissions: permsToRemove })\n }\n }\n if (!rmUsersPermissionsFromGroups.length) continue\n // group users by permissions to optimize queries\n const memberWithSamePermissions = updateUsersChildShares.find((p) => p.rmPermissions.toString() === g.rmPermissions.toString())\n if (memberWithSamePermissions) {\n memberWithSamePermissions.ids.push(...rmUsersPermissionsFromGroups)\n } else {\n updateUsersChildShares.push({ ids: rmUsersPermissionsFromGroups, rmPermissions: g.rmPermissions })\n }\n }\n }\n return [removeUsersChildShares, updateUsersChildShares]\n }\n\n private async removeShareFromOwners(shareId: number, ownerIds: number[] | 'all', asParent: boolean = true, fromUserId?: number) {\n // deletes only the first (child) shares, child shares will be deleted in cascade\n const where = { ...(asParent ? { parentId: shareId } : { id: shareId }), ...(ownerIds !== 'all' && { ownerId: ownerIds }) }\n for (const share of await this.sharesQueries.selectShares(where)) {\n try {\n // store current child shares members before delete parent share\n const members: ShareChildMember[] = await this.sharesQueries.membersFromChildSharesPermissions(share.id, [share.ownerId], null, false)\n await this.sharesQueries.deleteShare(share.id)\n this.logger.log(`${this.removeShareFromOwners.name} - share *${share.alias}* (${share.id}) from owner (${share.ownerId}) was removed`)\n // clear cache & notify users\n if (!fromUserId || fromUserId !== share.ownerId) {\n this.clearCachePermissionsAndOrNotify(share, ACTION.DELETE_PERMANENTLY, [share.ownerId]).catch((e: Error) =>\n this.logger.error(`${this.removeShareFromOwners.name} - ${e}`)\n )\n }\n members.forEach((m) => this.clearCachePermissionsAndOrNotify({ alias: m.shareAlias, name: m.shareName }, ACTION.DELETE, [m.userId]))\n } catch (e) {\n this.logger.error(\n `${this.removeShareFromOwners.name} - share *${share.alias}* (${share.id}) from owner (${share.ownerId}) was not removed : ${e}`\n )\n }\n }\n }\n\n private async removeChildSharesPermissions(\n shareId: number,\n userPermissions: {\n ids: number[] | 'all'\n rmPermissions: SPACE_OPERATION[]\n }[],\n asParent: boolean = true\n ) {\n // remove permissions of all members of the child shares\n if (!userPermissions.length) return\n for (const userPerm of userPermissions) {\n const members: ShareChildMember[] = await this.sharesQueries.membersFromChildSharesPermissions(\n shareId,\n userPerm.ids,\n userPerm.rmPermissions.join('|'),\n asParent\n )\n for (const m of members) {\n const permissions = removePermissions(m.userPermissions, userPerm.rmPermissions)\n try {\n await this.sharesQueries.updateMember({ permissions: permissions }, { id: m.id })\n this.clearCachePermissionsAndOrNotify(\n {\n alias: m.shareAlias,\n name: m.shareName\n },\n ACTION.UPDATE,\n [m.userId]\n ).catch((e: Error) => this.logger.error(`${this.removeChildSharesPermissions.name} - ${e}`))\n this.logger.log(\n `${this.removeChildSharesPermissions.name} - user (${m.id}) permissions ${JSON.stringify(userPerm.rmPermissions)} on share : ${m.shareAlias} (${m.shareId}) was removed`\n )\n } catch (e) {\n this.logger.error(\n `${this.removeChildSharesPermissions.name} - user (${m.id}) permissions on share *${m.shareAlias}* (${m.shareId}) was not removed : ${e}`\n )\n }\n }\n }\n }\n\n private async checkChildSharePermissions(user: UserModel, shareId: number, childId: number): Promise<boolean> {\n const isOwnerForChildShare: number = await this.sharesQueries.childExistsForShareOwner(user.id, shareId, childId, user.isAdmin)\n if (isOwnerForChildShare !== childId) {\n this.logger.warn(`${this.checkChildSharePermissions.name} - is not allowed to manage child share (${childId}) from share (${shareId})`)\n throw new HttpException('Not authorized', HttpStatus.FORBIDDEN)\n }\n return true\n }\n\n private async onShareActionForMembers(share: Partial<Share>, action: ACTION, members: { groupIds: number[]; userIds: number[] }, user?: UserModel) {\n this.clearCachePermissionsAndOrNotify(\n share,\n action,\n Array.from(new Set([...(await this.usersQueries.allUserIdsFromGroupsAndSubGroups(members.groupIds)), ...members.userIds])).filter(\n (uid) => uid !== user?.id\n ),\n user\n ).catch((e: Error) => this.logger.error(`${this.onShareActionForMembers.name} - ${e}`))\n }\n\n private async createLinkFromSpaceOrShare(\n user: UserModel,\n uuid: string,\n spaceOrShareId: number,\n type: LINK_TYPE,\n createOrUpdateLinkDto: CreateOrUpdateLinkDto\n ): Promise<void> {\n /* only used during the share creation from this manager */\n if (!(await this.linksQueries.isReservedUUID(user.id, uuid))) {\n this.logger.error(`${this.createLinkFromSpaceOrShare.name} - user attempted to use UUID (${uuid}) was not reserved`)\n throw new HttpException('UUID was not reserved', HttpStatus.BAD_REQUEST)\n }\n const permission = type === LINK_TYPE.SPACE ? GUEST_PERMISSION.SPACES : GUEST_PERMISSION.SHARES\n const guestLink: Partial<User> = await this.createGuestLink(\n permission,\n createOrUpdateLinkDto.password,\n createOrUpdateLinkDto.language,\n createOrUpdateLinkDto.isActive !== undefined ? createOrUpdateLinkDto.isActive : true\n )\n this.logger.debug(`${this.createLinkFromSpaceOrShare.name} - guest link (${guestLink.id}) created`)\n let linkId: number\n try {\n linkId = await this.linksQueries.createLinkToSpaceOrShare(guestLink.id, spaceOrShareId, type, {\n ...createOrUpdateLinkDto,\n uuid: uuid,\n userId: guestLink.id\n })\n this.logger.debug(\n `${this.createLinkFromSpaceOrShare.name} - link (${linkId}) for guest link (${guestLink.id}) created : ${JSON.stringify(createOrUpdateLinkDto)}`\n )\n } catch (e) {\n this.logger.error(`${this.createLinkFromSpaceOrShare.name} - unable to create link with uuid (${uuid}) : ${e}`)\n throw new HttpException('Unable to update link', HttpStatus.INTERNAL_SERVER_ERROR)\n }\n }\n\n private async deleteGuestLinks(guestLinks: Partial<{ id: number; linkId: number }>[]) {\n for (const guestLink of guestLinks) {\n try {\n await this.usersQueries.deleteGuestLink(guestLink.id)\n this.logger.log(`${this.deleteGuestLinks.name} - guest (${guestLink.id}) (link: ${guestLink.linkId}) was removed`)\n } catch (e) {\n this.logger.error(`${this.deleteGuestLinks.name} - guest (${guestLink.id}) (link: ${guestLink.linkId}) was not removed : ${e}`)\n }\n }\n }\n\n /* MANAGE CACHE PERMISSIONS AND NOTIFY */\n\n private async clearCachePermissionsAndOrNotify(share: Partial<Share>, action: ACTION, memberIds: number[], user?: UserModel): Promise<void> {\n if (!memberIds?.length) {\n return\n }\n this.logger.verbose(`${this.clearCachePermissionsAndOrNotify.name} - share:${share.alias} ${action} members:${JSON.stringify(memberIds)}`)\n if (action !== ACTION.ADD) {\n // clear permissions for share members\n this.sharesQueries\n .clearCachePermissions(share.alias, memberIds)\n .catch((e: Error) => this.logger.error(`${this.clearCachePermissionsAndOrNotify.name} - ${e}`))\n }\n if (action !== ACTION.UPDATE) {\n // notify the members who have joined or left the share\n const notification: NotificationContent = {\n app: NOTIFICATION_APP.SHARES,\n event: user ? NOTIFICATION_APP_EVENT.SHARES[action] : NOTIFICATION_APP_EVENT.SHARES_WITHOUT_OWNER[action],\n element: share.name,\n url: SPACE_REPOSITORY.SHARES\n }\n this.notificationsManager\n .create(memberIds, notification, {\n currentUrl: this.contextManager.get('headerOriginUrl'),\n author: user,\n action: action\n })\n .catch((e: Error) => this.logger.error(`${this.clearCachePermissionsAndOrNotify.name} - ${e}`))\n }\n }\n\n private async notifyGuestLink(user: UserModel, link: SpaceMemberDto | ShareMemberDto, spaceOrShareName: string, action: ACTION) {\n if (!link.linkSettings.email) {\n return\n }\n this.notificationsManager\n .sendEmailNotification(\n [\n {\n id: -1,\n email: link.linkSettings.email,\n language: link.linkSettings.language,\n notification: USER_NOTIFICATION.APPLICATION_EMAIL\n } satisfies UserMailNotification\n ],\n {\n app: NOTIFICATION_APP.LINKS,\n event: NOTIFICATION_APP_EVENT.LINKS[action],\n element: spaceOrShareName,\n url: null\n } satisfies NotificationContent,\n {\n author: user,\n linkUUID: link.linkSettings.uuid,\n currentUrl: this.contextManager.get('headerOriginUrl'),\n action: action\n } satisfies NotificationOptions\n )\n .catch((e: Error) => this.logger.error(`${this.notifyGuestLink.name} - ${e}`))\n }\n}\n"],"names":["SharesManager","permissions","user","spaceAlias","sharesQueries","id","isAdmin","listShares","listSpaceShares","spaceId","listChildShares","shareId","setAllowedPermissions","share","asAdmin","file","ownerId","externalPath","SHARE_ALL_OPERATIONS","space","alias","spacePermissions","spaceQueries","root","logger","warn","name","JSON","stringify","HttpException","HttpStatus","NOT_FOUND","spaceEnv","SpaceEnv","setPermissions","envPermissions","parent","userId","sharePermissions","error","BAD_REQUEST","getShareWithMembers","FORBIDDEN","createShare","createOrUpdateShareDto","uniqueShareAlias","description","enabled","disabledAt","Date","type","SHARE_TYPE","COMMON","checkExternalPath","e","message","FileError","httpCode","INTERNAL_SERVER_ERROR","realPath","path","join","filesPath","isPathExists","fileProps","getProps","fileId","getOrCreateUserFile","m","members","intersectPermissions","l","links","setPaths","split","slice","spaceRootId","isExternalSpaceRoot","isSpaceRoot","Number","dbFile","undefined","getOrCreateSpaceFile","createOrUpdateLinksAsMembers","LINK_TYPE","SHARE","updateMembers","updateShare","shareDiffProps","modifiedAt","prop","catch","linkMembers","deleteShare","shareExistsForOwner","deleteAllLinkMembers","removeShareFromOwners","getChildShare","childId","isLink","checkChildSharePermissions","getShareLink","updateChildShare","deleteChildShare","createChildShare","pSharePermissions","haveSpacePermission","SPACE_OPERATION","SHARE_OUTSIDE","pShare","filePath","highestParentId","findHighestParentShare","shareEnv","pShareEnv","isLinkedToShareSpaceRoot","isLinkedToShareExternalPath","parentId","updateSharesFromSpace","currentMembers","toRemove","toUpdate","length","spaceManagerIds","filter","spaceRole","SPACE_ROLE","IS_MANAGER","map","rmOwners","upOwners","diffSharesPermissions","owners","Object","fromEntries","uId","ACTION","DELETE","reduce","acc","o","ids","push","UPDATE","rmPermissions","selectParentSharesFromSpaceId","keys","parseInt","action","removeChildSharesPermissions","log","updateSharesFromSpaceRoots","selectShares","rootId","removeSharesFromSpace","generateLinkUUID","uuid","generateShortUUID","linksQueries","isUniqueUUID","listShareLinks","shareLink","removePermissions","SHARE_INSIDE","getLinkFromSpaceOrShare","linkId","spaceOrShareId","linkGuest","SPACE","linkFromSpace","linkFromShare","spaceOrShare","link","createLinkFromSpaceOrShare","linkSettings","notifyGuestLink","ADD","updateLinkFromSpaceOrShare","createOrUpdateLinkDto","fromAPI","fieldsWhiteList","updateUser","updateLink","updateMember","k","v","entries","indexOf","password","hashPassword","language","isActive","debug","anonymizePassword","member","assign","createGuestLink","permission","random","guestLink","login","email","firstName","lastName","role","USER_ROLE","LINK","usersQueries","createUserOrGuest","allLinksFromSpaceOrShare","deleteGuestLinks","deleteLinkMembers","oldMembers","add","update","remove","diffCollection","toAdd","userIdsWhitelist","groupIdsWhitelist","Promise","all","usersWhitelist","groupsWhitelist","MEMBER_TYPE","USER","GUEST","GROUP","PGROUP","status","convertDiffUpdate","rmMembersChildShares","upMembersChildShares","userIds","groupIds","object","diffPermissions","differencePermissions","old","new","onShareActionForMembers","updateMembersChildSharesPermissions","parentShareId","removeUsersChildShares","updateUsersChildShares","ignoreUserIds","removeGroupsChildShares","memberGroupIds","groupSharePermission","find","havePermission","updateGroupsChildShares","groupPermissions","perms","p","SPACE_PERMS_SEP","permsToKeep","permsToRemove","forEach","memberTypeChildShares","memberWithSamePermissions","toString","rmUsersFromGroups","allUserIdsFromGroupsAndSubGroups","g","rmUsersPermissionsFromGroups","ownerIds","asParent","fromUserId","where","membersFromChildSharesPermissions","clearCachePermissionsAndOrNotify","DELETE_PERMANENTLY","shareAlias","shareName","userPermissions","userPerm","isOwnerForChildShare","childExistsForShareOwner","Array","from","Set","uid","isReservedUUID","GUEST_PERMISSION","SPACES","SHARES","createLinkToSpaceOrShare","guestLinks","deleteGuestLink","memberIds","verbose","clearCachePermissions","notification","app","NOTIFICATION_APP","event","NOTIFICATION_APP_EVENT","SHARES_WITHOUT_OWNER","element","url","SPACE_REPOSITORY","notificationsManager","create","currentUrl","contextManager","get","author","spaceOrShareName","sendEmailNotification","USER_NOTIFICATION","APPLICATION_EMAIL","LINKS","linkUUID","Logger"],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
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("./shares-manager.service");
|
|
19
|
+
const _sharesqueriesservice = require("./shares-queries.service");
|
|
20
|
+
describe(_sharesmanagerservice.SharesManager.name, ()=>{
|
|
21
|
+
let service;
|
|
22
|
+
beforeAll(async ()=>{
|
|
23
|
+
const module = await _testing.Test.createTestingModule({
|
|
24
|
+
providers: [
|
|
25
|
+
{
|
|
26
|
+
provide: _constants.DB_TOKEN_PROVIDER,
|
|
27
|
+
useValue: {}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
provide: _cacheservice.Cache,
|
|
31
|
+
useValue: {}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
provide: _contextmanagerservice.ContextManager,
|
|
35
|
+
useValue: {}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
provide: _notificationsmanagerservice.NotificationsManager,
|
|
39
|
+
useValue: {}
|
|
40
|
+
},
|
|
41
|
+
_spacesqueriesservice.SpacesQueries,
|
|
42
|
+
_filesqueriesservice.FilesQueries,
|
|
43
|
+
_usersqueriesservice.UsersQueries,
|
|
44
|
+
_sharesmanagerservice.SharesManager,
|
|
45
|
+
_sharesqueriesservice.SharesQueries,
|
|
46
|
+
_linksqueriesservice.LinksQueries
|
|
47
|
+
]
|
|
48
|
+
}).compile();
|
|
49
|
+
service = module.get(_sharesmanagerservice.SharesManager);
|
|
50
|
+
});
|
|
51
|
+
it('should be defined', ()=>{
|
|
52
|
+
expect(service).toBeDefined();
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=shares-manager.service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/shares/services/shares-manager.service.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 './shares-manager.service'\nimport { SharesQueries } from './shares-queries.service'\n\ndescribe(SharesManager.name, () => {\n let service: SharesManager\n\n beforeAll(async () => {\n const module: TestingModule = await Test.createTestingModule({\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 service = module.get<SharesManager>(SharesManager)\n })\n\n it('should be defined', () => {\n expect(service).toBeDefined()\n })\n})\n"],"names":["describe","SharesManager","name","service","beforeAll","module","Test","createTestingModule","providers","provide","DB_TOKEN_PROVIDER","useValue","Cache","ContextManager","NotificationsManager","SpacesQueries","FilesQueries","UsersQueries","SharesQueries","LinksQueries","compile","get","it","expect","toBeDefined"],"mappings":"AAAA;;;;CAIC;;;;yBAEmC;8BACd;uCACS;2BACG;qCACL;qCACA;6CACQ;sCACP;qCACD;sCACC;sCACA;AAE9BA,SAASC,mCAAa,CAACC,IAAI,EAAE;IAC3B,IAAIC;IAEJC,UAAU;QACR,MAAMC,SAAwB,MAAMC,aAAI,CAACC,mBAAmB,CAAC;YAC3DC,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;gBACZhB,mCAAa;gBACbiB,mCAAa;gBACbC,iCAAY;aACb;QACH,GAAGC,OAAO;QAEVjB,UAAUE,OAAOgB,GAAG,CAAgBpB,mCAAa;IACnD;IAEAqB,GAAG,qBAAqB;QACtBC,OAAOpB,SAASqB,WAAW;IAC7B;AACF"}
|