@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/sync/services/sync-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, StreamableFile } from '@nestjs/common'\nimport { FastifyReply } from 'fastify'\nimport fs from 'fs/promises'\nimport { Dirent, Stats } from 'node:fs'\nimport path from 'node:path'\nimport { regExpPathPattern } from '../../../common/functions'\nimport { FILE_OPERATION } from '../../files/constants/operations'\nimport { FileError } from '../../files/models/file-error'\nimport { LockConflict } from '../../files/models/file-lock-error'\nimport { FilesManager } from '../../files/services/files-manager.service'\nimport { checksumFile, isPathExists, isPathIsDir, removeFiles, touchFile } from '../../files/utils/files'\nimport { SendFile } from '../../files/utils/send-file'\nimport { ParseDiffContext } from '../../spaces/interfaces/space-diff.interface'\nimport { FastifySpaceRequest } from '../../spaces/interfaces/space-request.interface'\nimport { SpaceEnv } from '../../spaces/models/space-env.model'\nimport { SpacesManager } from '../../spaces/services/spaces-manager.service'\nimport { UserModel } from '../../users/models/user.model'\nimport { F_SPECIAL_STAT, F_STAT, SYNC_CHECKSUM_ALG, SYNC_DIFF_DONE } from '../constants/sync'\nimport { SyncCopyMoveDto, SyncDiffDto, SyncMakeDto, SyncPropsDto } from '../dtos/sync-operations.dto'\nimport { SyncUploadDto } from '../dtos/sync-upload.dto'\nimport { SyncFileSpecialStats, SyncFileStats } from '../interfaces/sync-diff.interface'\nimport { SyncPathSettings } from '../interfaces/sync-path.interface'\nimport { getTmpFilePath } from '../utils/functions'\nimport { SYNC_PATH_TO_SPACE_SEGMENTS } from '../utils/routes'\nimport { SyncQueries } from './sync-queries.service'\n\n@Injectable()\nexport class SyncManager {\n private readonly logger = new Logger(SyncManager.name)\n\n constructor(\n private readonly spacesManager: SpacesManager,\n private readonly filesManager: FilesManager,\n private readonly syncQueries: SyncQueries\n ) {}\n\n async download(req: FastifySpaceRequest, res: FastifyReply): Promise<StreamableFile> {\n const sendFile: SendFile = this.filesManager.sendFileFromSpace(req.space)\n try {\n await sendFile.checks()\n return await sendFile.stream(req, res)\n } catch (e) {\n this.handleError(req.space, req.method, e)\n }\n }\n\n async upload(req: FastifySpaceRequest, syncUploadDto: SyncUploadDto): Promise<{ ino: number }> {\n const tmpPath = getTmpFilePath(req.space.realPath)\n try {\n if (syncUploadDto.checksum) {\n const checksum = await this.filesManager.saveStream(req.user, req.space, req, { tmpPath: tmpPath, checksumAlg: SYNC_CHECKSUM_ALG })\n if (checksum !== syncUploadDto.checksum) {\n await removeFiles(tmpPath)\n this.handleError(req.space, req.method, new FileError(HttpStatus.BAD_REQUEST, 'checksums are not identical'))\n }\n } else {\n await this.filesManager.saveStream(req.user, req.space, req, { tmpPath: tmpPath })\n }\n const fileStats = await fs.stat(req.space.realPath)\n if (fileStats.size !== syncUploadDto.size) {\n await removeFiles(tmpPath)\n this.handleError(\n req.space,\n req.method,\n new FileError(HttpStatus.BAD_REQUEST, `sizes are not identical : ${fileStats.size} != ${syncUploadDto.size}`)\n )\n }\n // update mtime\n await touchFile(req.space.realPath, syncUploadDto.mtime)\n // return inode number\n return { ino: fileStats.ino }\n } catch (e) {\n this.handleError(req.space, req.method, e)\n }\n }\n\n async delete(req: FastifySpaceRequest): Promise<void> {\n try {\n return await this.filesManager.delete(req.user, req.space)\n } catch (e) {\n this.handleError(req.space, FILE_OPERATION.DELETE, e)\n }\n }\n\n async props(req: FastifySpaceRequest, syncPropsDto: SyncPropsDto): Promise<void> {\n try {\n await this.filesManager.touch(req.user, req.space, syncPropsDto.mtime, false)\n } catch (e) {\n this.handleError(req.space, FILE_OPERATION.TOUCH, e)\n }\n }\n\n async make(req: FastifySpaceRequest, syncMakeDto: SyncMakeDto): Promise<{ ino: number }> {\n try {\n if (syncMakeDto.type === 'directory') {\n await this.filesManager.mkDir(req.user, req.space, true)\n } else {\n await this.filesManager.mkFile(req.user, req.space, true)\n }\n await touchFile(req.space.realPath, syncMakeDto.mtime)\n return { ino: (await fs.stat(req.space.realPath)).ino }\n } catch (e) {\n this.handleError(req.space, `${FILE_OPERATION.MAKE} ${syncMakeDto.type}`, e)\n }\n }\n\n async copyMove(req: FastifySpaceRequest, syncCopyMoveDto: SyncCopyMoveDto, isMove: true): Promise<void>\n async copyMove(req: FastifySpaceRequest, syncCopyMoveDto: SyncCopyMoveDto, isMove: false): Promise<{ ino: number; mtime: number }>\n async copyMove(req: FastifySpaceRequest, syncCopyMoveDto: SyncCopyMoveDto, isMove: boolean): Promise<void | { ino: number; mtime: number }> {\n const dstSpace: SpaceEnv = await this.spacesManager.spaceEnv(req.user, SYNC_PATH_TO_SPACE_SEGMENTS(syncCopyMoveDto.destination))\n try {\n await this.filesManager.copyMove(req.user, req.space, dstSpace, isMove, true)\n if (!isMove) {\n if (syncCopyMoveDto.mtime) {\n // update mtime\n await touchFile(dstSpace.realPath, syncCopyMoveDto.mtime)\n }\n // return inode & mtime\n const stats = await fs.stat(dstSpace.realPath)\n return { ino: stats.ino, mtime: Math.floor(stats.mtime.getTime() / 1000) }\n }\n } catch (e) {\n this.handleError(req.space, isMove ? FILE_OPERATION.MOVE : FILE_OPERATION.COPY, e, dstSpace)\n }\n }\n\n async diff(user: UserModel, pathId: number, syncDiff: SyncDiffDto, res: FastifyReply): Promise<void> {\n if (!user.clientId) {\n throw new HttpException('Client id is missing', HttpStatus.BAD_REQUEST)\n }\n const syncPathSettings: SyncPathSettings = await this.syncQueries.getPathSettings(user.clientId, pathId)\n if (!syncPathSettings) {\n throw new HttpException('Path not found', HttpStatus.NOT_FOUND)\n }\n let space: SpaceEnv\n try {\n space = await this.spacesManager.spaceEnv(user, SYNC_PATH_TO_SPACE_SEGMENTS(syncPathSettings.remotePath))\n } catch (e) {\n throw new HttpException(e.message, HttpStatus.BAD_REQUEST)\n }\n if (!space) {\n throw new HttpException('Space not found', HttpStatus.NOT_FOUND)\n }\n if (space.quotaIsExceeded) {\n throw new HttpException('Space quota is exceeded', HttpStatus.INSUFFICIENT_STORAGE)\n }\n if (!(await isPathExists(space.realPath))) {\n throw new HttpException(`Remote path not found : ${syncPathSettings.remotePath}`, HttpStatus.NOT_FOUND)\n }\n if (!(await isPathIsDir(space.realPath))) {\n throw new HttpException('Remote path must be a directory', HttpStatus.BAD_REQUEST)\n }\n // start\n res.raw.writeHead(200, {\n 'Content-Type': 'text/plain; charset=utf-8',\n 'Transfer-Encoding': 'chunked'\n })\n try {\n for await (const f of this.parseSyncPath(space, syncDiff)) {\n res.raw.write(`${JSON.stringify(f)}\\n`)\n }\n res.raw.write(SYNC_DIFF_DONE)\n } catch (e) {\n this.logger.error(`${this.diff.name} : ${e.message}`)\n res.raw.write(`${e.message}\\n`)\n res.status(HttpStatus.INTERNAL_SERVER_ERROR)\n }\n res.raw.end()\n }\n\n private async *parseSyncPath(space: SpaceEnv, syncDiff: SyncDiffDto): AsyncGenerator<Record<string, SyncFileStats | SyncFileSpecialStats>> {\n const context: ParseDiffContext = {\n regexBasePath: regExpPathPattern(space.realPath),\n syncDiff: syncDiff\n }\n yield* this.parseFiles(space.realPath, context)\n }\n\n private async *parseFiles(dir: string, ctx: ParseDiffContext): AsyncGenerator<Record<string, SyncFileStats | SyncFileSpecialStats>> {\n try {\n for (const entry of await fs.readdir(dir, { withFileTypes: true })) {\n const realPath = path.join(entry.parentPath, entry.name)\n if (!entry.isDirectory() && !entry.isFile()) {\n this.logger.log(`${this.parseFiles.name} - ignore special file: ${realPath}`)\n continue\n }\n if (entry.isDirectory()) {\n const dirStats: Record<string, SyncFileStats | SyncFileSpecialStats> = await this.analyzeFile(entry, ctx)\n if (dirStats !== null) {\n yield dirStats\n }\n yield* this.parseFiles(realPath, ctx)\n } else {\n const fileStats: Record<string, SyncFileStats | SyncFileSpecialStats> = await this.analyzeFile(entry, ctx)\n if (fileStats !== null) {\n yield fileStats\n }\n }\n }\n } catch (e) {\n this.logger.error(`${this.parseFiles.name} - unable to parse directory : ${dir} : ${e}`)\n throw new Error('Unable to parse path')\n }\n }\n\n private async analyzeFile(entry: Dirent, ctx: ParseDiffContext): Promise<Record<string, SyncFileStats | SyncFileSpecialStats>> {\n if (ctx.syncDiff.defaultFilters.has(entry.name)) {\n return null\n }\n\n const realPath = path.join(entry.parentPath, entry.name)\n const filePath = realPath.replace(ctx.regexBasePath, '')\n\n let stats: Stats\n try {\n stats = await fs.stat(realPath)\n } catch (e) {\n this.logger.warn(`${this.analyzeFile.name} - unable to get file stats : ${realPath} : ${e}`)\n return { [filePath]: [F_SPECIAL_STAT.ERROR, e.toString()] }\n }\n\n if (ctx.syncDiff.pathFilters && ctx.syncDiff.pathFilters.test(filePath)) {\n this.logger.verbose(`${this.analyzeFile.name} - ignore filtered file : ${realPath}`)\n return { [filePath]: [F_SPECIAL_STAT.FILTERED, stats.isDirectory()] }\n }\n\n const fileStats: SyncFileStats = [\n stats.isDirectory(),\n stats.isDirectory() ? 0 : stats.size,\n Math.floor(stats.mtime.getTime() / 1000),\n stats.ino,\n null\n ]\n if (ctx.syncDiff.secureDiff && !fileStats[F_STAT.IS_DIR]) {\n try {\n await this.checkSumFile(ctx, filePath, realPath, fileStats)\n } catch (e) {\n this.logger.error(`${this.analyzeFile.name} - file error : ${realPath} - ${e}`)\n return { [filePath]: [F_SPECIAL_STAT.ERROR, e.toString()] }\n }\n }\n return { [filePath]: fileStats }\n }\n\n private async checkSumFile(ctx: ParseDiffContext, filePath: string, realPath: string, fileStats: SyncFileStats): Promise<void> {\n if (!ctx.syncDiff.firstSync && ctx.syncDiff.snapshot.has(filePath)) {\n const snapFileStats: SyncFileStats = ctx.syncDiff.snapshot.get(filePath)\n if (\n snapFileStats[F_STAT.CHECKSUM] &&\n snapFileStats[F_STAT.MTIME] == fileStats[F_STAT.MTIME] &&\n snapFileStats[F_STAT.SIZE] == fileStats[F_STAT.SIZE] &&\n snapFileStats[F_STAT.INO] == fileStats[F_STAT.INO]\n ) {\n fileStats[F_STAT.CHECKSUM] = snapFileStats[F_STAT.CHECKSUM]\n return\n }\n }\n fileStats[F_STAT.CHECKSUM] = await checksumFile(realPath, SYNC_CHECKSUM_ALG)\n }\n\n private handleError(space: SpaceEnv, action: string, e: any, dstSpace?: SpaceEnv) {\n this.logger.error(`unable to ${action} ${space.url}${dstSpace?.url ? ` -> ${dstSpace.url}` : ''} : ${e}`)\n if (e instanceof LockConflict) {\n throw new HttpException('The file is locked', HttpStatus.LOCKED)\n } else if (e instanceof FileError) {\n throw new HttpException(e.message, e.httpCode)\n }\n throw new HttpException(e.message, HttpStatus.INTERNAL_SERVER_ERROR)\n }\n}\n"],"names":["SyncManager","download","req","res","sendFile","filesManager","sendFileFromSpace","space","checks","stream","e","handleError","method","upload","syncUploadDto","tmpPath","getTmpFilePath","realPath","checksum","saveStream","user","checksumAlg","SYNC_CHECKSUM_ALG","removeFiles","FileError","HttpStatus","BAD_REQUEST","fileStats","fs","stat","size","touchFile","mtime","ino","delete","FILE_OPERATION","DELETE","props","syncPropsDto","touch","TOUCH","make","syncMakeDto","type","mkDir","mkFile","MAKE","copyMove","syncCopyMoveDto","isMove","dstSpace","spacesManager","spaceEnv","SYNC_PATH_TO_SPACE_SEGMENTS","destination","stats","Math","floor","getTime","MOVE","COPY","diff","pathId","syncDiff","clientId","HttpException","syncPathSettings","syncQueries","getPathSettings","NOT_FOUND","remotePath","message","quotaIsExceeded","INSUFFICIENT_STORAGE","isPathExists","isPathIsDir","raw","writeHead","f","parseSyncPath","write","JSON","stringify","SYNC_DIFF_DONE","logger","error","name","status","INTERNAL_SERVER_ERROR","end","context","regexBasePath","regExpPathPattern","parseFiles","dir","ctx","entry","readdir","withFileTypes","path","join","parentPath","isDirectory","isFile","log","dirStats","analyzeFile","Error","defaultFilters","has","filePath","replace","warn","F_SPECIAL_STAT","ERROR","toString","pathFilters","test","verbose","FILTERED","secureDiff","F_STAT","IS_DIR","checkSumFile","firstSync","snapshot","snapFileStats","get","CHECKSUM","MTIME","SIZE","INO","checksumFile","action","url","LockConflict","LOCKED","httpCode","Logger"],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
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 _filesmanagerservice = require("../../files/services/files-manager.service");
|
|
11
|
+
const _spacesmanagerservice = require("../../spaces/services/spaces-manager.service");
|
|
12
|
+
const _syncmanagerservice = require("./sync-manager.service");
|
|
13
|
+
const _syncqueriesservice = require("./sync-queries.service");
|
|
14
|
+
describe(_syncmanagerservice.SyncManager.name, ()=>{
|
|
15
|
+
let service;
|
|
16
|
+
beforeAll(async ()=>{
|
|
17
|
+
const module = await _testing.Test.createTestingModule({
|
|
18
|
+
providers: [
|
|
19
|
+
_syncmanagerservice.SyncManager,
|
|
20
|
+
{
|
|
21
|
+
provide: _spacesmanagerservice.SpacesManager,
|
|
22
|
+
useValue: {}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
provide: _filesmanagerservice.FilesManager,
|
|
26
|
+
useValue: {}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
provide: _syncqueriesservice.SyncQueries,
|
|
30
|
+
useValue: {}
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}).compile();
|
|
34
|
+
service = module.get(_syncmanagerservice.SyncManager);
|
|
35
|
+
});
|
|
36
|
+
it('should be defined', ()=>{
|
|
37
|
+
expect(service).toBeDefined();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=sync-manager.service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/sync/services/sync-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 { FilesManager } from '../../files/services/files-manager.service'\nimport { SpacesManager } from '../../spaces/services/spaces-manager.service'\nimport { SyncManager } from './sync-manager.service'\nimport { SyncQueries } from './sync-queries.service'\n\ndescribe(SyncManager.name, () => {\n let service: SyncManager\n\n beforeAll(async () => {\n const module: TestingModule = await Test.createTestingModule({\n providers: [\n SyncManager,\n { provide: SpacesManager, useValue: {} },\n { provide: FilesManager, useValue: {} },\n {\n provide: SyncQueries,\n useValue: {}\n }\n ]\n }).compile()\n\n service = module.get<SyncManager>(SyncManager)\n })\n\n it('should be defined', () => {\n expect(service).toBeDefined()\n })\n})\n"],"names":["describe","SyncManager","name","service","beforeAll","module","Test","createTestingModule","providers","provide","SpacesManager","useValue","FilesManager","SyncQueries","compile","get","it","expect","toBeDefined"],"mappings":"AAAA;;;;CAIC;;;;yBAEmC;qCACP;sCACC;oCACF;oCACA;AAE5BA,SAASC,+BAAW,CAACC,IAAI,EAAE;IACzB,IAAIC;IAEJC,UAAU;QACR,MAAMC,SAAwB,MAAMC,aAAI,CAACC,mBAAmB,CAAC;YAC3DC,WAAW;gBACTP,+BAAW;gBACX;oBAAEQ,SAASC,mCAAa;oBAAEC,UAAU,CAAC;gBAAE;gBACvC;oBAAEF,SAASG,iCAAY;oBAAED,UAAU,CAAC;gBAAE;gBACtC;oBACEF,SAASI,+BAAW;oBACpBF,UAAU,CAAC;gBACb;aACD;QACH,GAAGG,OAAO;QAEVX,UAAUE,OAAOU,GAAG,CAAcd,+BAAW;IAC/C;IAEAe,GAAG,qBAAqB;QACtBC,OAAOd,SAASe,WAAW;IAC7B;AACF"}
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>
|
|
3
|
+
* This file is part of Sync-in | The open source file sync and share solution
|
|
4
|
+
* See the LICENSE file for licensing details
|
|
5
|
+
*/ "use strict";
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
Object.defineProperty(exports, "SyncPathsManager", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function() {
|
|
12
|
+
return SyncPathsManager;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const _common = require("@nestjs/common");
|
|
16
|
+
const _constants = require("../../../common/constants");
|
|
17
|
+
const _shared = require("../../../common/shared");
|
|
18
|
+
const _contextmanagerservice = require("../../../infrastructure/context/services/context-manager.service");
|
|
19
|
+
const _filesqueriesservice = require("../../files/services/files-queries.service");
|
|
20
|
+
const _files = require("../../files/utils/files");
|
|
21
|
+
const _notifications = require("../../notifications/constants/notifications");
|
|
22
|
+
const _notificationsmanagerservice = require("../../notifications/services/notifications-manager.service");
|
|
23
|
+
const _spacesmanagerservice = require("../../spaces/services/spaces-manager.service");
|
|
24
|
+
const _permissions = require("../../spaces/utils/permissions");
|
|
25
|
+
const _sync = require("../constants/sync");
|
|
26
|
+
const _routes = require("../utils/routes");
|
|
27
|
+
const _syncqueriesservice = require("./sync-queries.service");
|
|
28
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
29
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
30
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
31
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
32
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
33
|
+
}
|
|
34
|
+
function _ts_metadata(k, v) {
|
|
35
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
36
|
+
}
|
|
37
|
+
let SyncPathsManager = class SyncPathsManager {
|
|
38
|
+
async createPath(req, syncPathDto) {
|
|
39
|
+
if (!req.user.clientId) {
|
|
40
|
+
throw new _common.HttpException('Client id is missing', _common.HttpStatus.BAD_REQUEST);
|
|
41
|
+
}
|
|
42
|
+
if (req.space.quotaIsExceeded) {
|
|
43
|
+
throw new _common.HttpException('Space quota is exceeded', _common.HttpStatus.INSUFFICIENT_STORAGE);
|
|
44
|
+
}
|
|
45
|
+
if (!await (0, _files.isPathExists)(req.space.realPath)) {
|
|
46
|
+
throw new _common.HttpException(`Remote path not found : ${syncPathDto.remotePath}`, _common.HttpStatus.NOT_FOUND);
|
|
47
|
+
}
|
|
48
|
+
if (!await (0, _files.isPathIsDir)(req.space.realPath)) {
|
|
49
|
+
throw new _common.HttpException('Remote path must be a directory', _common.HttpStatus.BAD_REQUEST);
|
|
50
|
+
}
|
|
51
|
+
const client = await this.syncQueries.getClient(req.user.clientId, req.user.id);
|
|
52
|
+
if (!client) {
|
|
53
|
+
throw new _common.HttpException('Client not found', _common.HttpStatus.NOT_FOUND);
|
|
54
|
+
}
|
|
55
|
+
const syncDBProps = await this.getDBProps(req.space);
|
|
56
|
+
// important : ensures the right remote path is used and stored
|
|
57
|
+
syncPathDto.remotePath = req.params['*'];
|
|
58
|
+
// add permissions (skip end point protection using getEnvPermission)
|
|
59
|
+
syncPathDto.permissions = (0, _permissions.getEnvPermissions)(req.space, req.space.root);
|
|
60
|
+
const pathId = await this.syncQueries.createPath(client.id, syncDBProps, syncPathDto);
|
|
61
|
+
return {
|
|
62
|
+
id: pathId,
|
|
63
|
+
permissions: syncPathDto.permissions
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
async deletePath(user, pathId, clientId) {
|
|
67
|
+
clientId = user.clientId || clientId;
|
|
68
|
+
if (!clientId) {
|
|
69
|
+
throw new _common.HttpException('Client id is missing', _common.HttpStatus.BAD_REQUEST);
|
|
70
|
+
}
|
|
71
|
+
if (!await this.syncQueries.clientExistsForOwner(user.id, clientId)) {
|
|
72
|
+
throw new _common.HttpException('You are not allowed to do this action', _common.HttpStatus.FORBIDDEN);
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
await this.syncQueries.deletePath(clientId, pathId);
|
|
76
|
+
} catch (e) {
|
|
77
|
+
this.logger.error(`${this.deletePath.name} - ${e}`);
|
|
78
|
+
throw new _common.HttpException('Unable to remove path', _common.HttpStatus.BAD_REQUEST);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async updatePath(user, clientId, pathId, syncPathUpdateDto) {
|
|
82
|
+
if (!await this.syncQueries.clientExistsForOwner(user.id, clientId)) {
|
|
83
|
+
throw new _common.HttpException('You are not allowed to do this action', _common.HttpStatus.FORBIDDEN);
|
|
84
|
+
}
|
|
85
|
+
const syncPathSettings = await this.syncQueries.getPathSettings(clientId, pathId);
|
|
86
|
+
if (!syncPathSettings) {
|
|
87
|
+
throw new _common.HttpException('Sync path not found', _common.HttpStatus.NOT_FOUND);
|
|
88
|
+
}
|
|
89
|
+
// delete possible id
|
|
90
|
+
delete syncPathUpdateDto.id;
|
|
91
|
+
// update current path settings
|
|
92
|
+
Object.assign(syncPathSettings, syncPathUpdateDto);
|
|
93
|
+
syncPathSettings.timestamp = (0, _shared.currentTimeStamp)();
|
|
94
|
+
try {
|
|
95
|
+
await this.syncQueries.updatePathSettings(clientId, pathId, syncPathSettings);
|
|
96
|
+
} catch (e) {
|
|
97
|
+
this.logger.error(`${this.updatePath.name} - ${e}`);
|
|
98
|
+
throw new _common.HttpException('Unable to update path', _common.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
99
|
+
} finally{
|
|
100
|
+
// clear cache
|
|
101
|
+
this.syncQueries.clearCachePathSettings(clientId, pathId);
|
|
102
|
+
}
|
|
103
|
+
return syncPathSettings;
|
|
104
|
+
}
|
|
105
|
+
async updatePaths(user, syncPathsDto) {
|
|
106
|
+
/* Update the client or server paths */ if (!user.clientId) {
|
|
107
|
+
throw new _common.HttpException('Client id is missing', _common.HttpStatus.BAD_REQUEST);
|
|
108
|
+
}
|
|
109
|
+
if (!await this.syncQueries.clientExistsForOwner(user.id, user.clientId)) {
|
|
110
|
+
throw new _common.HttpException('You are not allowed to do this action', _common.HttpStatus.FORBIDDEN);
|
|
111
|
+
}
|
|
112
|
+
const clientPathIds = syncPathsDto.map((p)=>p.id);
|
|
113
|
+
const serverPathIds = [];
|
|
114
|
+
const clientDiff = {
|
|
115
|
+
add: [],
|
|
116
|
+
update: [],
|
|
117
|
+
delete: []
|
|
118
|
+
};
|
|
119
|
+
const serverPaths = await this.syncQueries.getPaths(user.clientId);
|
|
120
|
+
for (const serverPath of serverPaths){
|
|
121
|
+
if (!serverPath.remotePath) {
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
let space;
|
|
125
|
+
try {
|
|
126
|
+
space = await this.spacesManager.spaceEnv(user, (0, _routes.SYNC_PATH_TO_SPACE_SEGMENTS)(serverPath.remotePath), true);
|
|
127
|
+
} catch (e) {
|
|
128
|
+
throw new _common.HttpException(e.message, _common.HttpStatus.BAD_REQUEST);
|
|
129
|
+
}
|
|
130
|
+
if (!space) {
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
serverPathIds.push(serverPath.id);
|
|
134
|
+
if (clientPathIds.indexOf(serverPath.id) === -1) {
|
|
135
|
+
// path exists on server but not on client, add it to client
|
|
136
|
+
clientDiff.add.push({
|
|
137
|
+
...serverPath.settings,
|
|
138
|
+
id: serverPath.id,
|
|
139
|
+
remotePath: serverPath.remotePath,
|
|
140
|
+
permissions: space.envPermissions
|
|
141
|
+
});
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
// path exists on both server and client side
|
|
145
|
+
const clientPath = syncPathsDto.find((p)=>p.id === serverPath.id);
|
|
146
|
+
// remotePath and permissions settings are only managed by server
|
|
147
|
+
const updateClientInfo = {
|
|
148
|
+
...serverPath.remotePath !== clientPath.remotePath && {
|
|
149
|
+
remotePath: serverPath.remotePath
|
|
150
|
+
},
|
|
151
|
+
...space.envPermissions !== clientPath.permissions && {
|
|
152
|
+
permissions: space.envPermissions
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
const clientNewer = clientPath.timestamp > serverPath.settings.timestamp;
|
|
156
|
+
const serverNewer = clientPath.timestamp < serverPath.settings.timestamp;
|
|
157
|
+
const hasUpdates = Object.keys(updateClientInfo).length > 0;
|
|
158
|
+
let updatedSettings = {
|
|
159
|
+
...serverPath.settings,
|
|
160
|
+
...updateClientInfo
|
|
161
|
+
};
|
|
162
|
+
if (clientNewer) {
|
|
163
|
+
updatedSettings = {
|
|
164
|
+
...clientPath,
|
|
165
|
+
...updateClientInfo
|
|
166
|
+
};
|
|
167
|
+
} else if (serverNewer) {
|
|
168
|
+
clientDiff.update.push({
|
|
169
|
+
id: clientPath.id,
|
|
170
|
+
...serverPath.settings,
|
|
171
|
+
...updateClientInfo
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
if (clientNewer || hasUpdates || serverPath.settings.lastSync !== clientPath.lastSync) {
|
|
175
|
+
this.syncQueries.updatePathSettings(user.clientId, clientPath.id, {
|
|
176
|
+
...updatedSettings,
|
|
177
|
+
lastSync: clientPath.lastSync
|
|
178
|
+
}).catch((e)=>this.logger.error(`${this.updatePaths.name} - ${e}`));
|
|
179
|
+
}
|
|
180
|
+
if (!clientNewer && hasUpdates) {
|
|
181
|
+
clientDiff.update.push({
|
|
182
|
+
id: clientPath.id,
|
|
183
|
+
...updateClientInfo
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
// path does not exist on server side
|
|
188
|
+
clientDiff.delete = clientPathIds.filter((cid)=>serverPathIds.indexOf(cid) === -1);
|
|
189
|
+
for (const cPathId of clientDiff.delete){
|
|
190
|
+
const cPath = syncPathsDto.find((p)=>p.id === cPathId);
|
|
191
|
+
this.notify(user.id, _constants.ACTION.DELETE, cPath.remotePath).catch((e)=>this.logger.error(`${this.updatePaths.name} - ${e}`));
|
|
192
|
+
}
|
|
193
|
+
// clear cache
|
|
194
|
+
clientDiff.update.forEach((path)=>this.syncQueries.clearCachePathSettings(user.clientId, path.id));
|
|
195
|
+
return clientDiff;
|
|
196
|
+
}
|
|
197
|
+
async getDBProps(space) {
|
|
198
|
+
if (space.inSharesList) {
|
|
199
|
+
throw new _common.HttpException('Sync all shares is not supported, you must select a sub-directory', _common.HttpStatus.BAD_REQUEST);
|
|
200
|
+
} else if (space.inPersonalSpace) {
|
|
201
|
+
if (space.paths.length) {
|
|
202
|
+
return {
|
|
203
|
+
ownerId: space.dbFile.ownerId,
|
|
204
|
+
fileId: await this.getOrCreateFileId(space)
|
|
205
|
+
};
|
|
206
|
+
} else {
|
|
207
|
+
return {
|
|
208
|
+
ownerId: space.dbFile.ownerId
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
} else if (space.inFilesRepository) {
|
|
212
|
+
if (!space?.root?.alias) {
|
|
213
|
+
// The synchronization direction should be adapted for each root depending on the permissions, this is not yet supported
|
|
214
|
+
throw new _common.HttpException('Sync all space is not yet supported, you must select a sub-directory', _common.HttpStatus.BAD_REQUEST);
|
|
215
|
+
}
|
|
216
|
+
if (space.root.id && !space.paths.length) {
|
|
217
|
+
return {
|
|
218
|
+
spaceId: space.id,
|
|
219
|
+
spaceRootId: space.root.id
|
|
220
|
+
};
|
|
221
|
+
} else {
|
|
222
|
+
return {
|
|
223
|
+
spaceId: space.id,
|
|
224
|
+
spaceRootId: space?.root?.id || null,
|
|
225
|
+
fileId: await this.getOrCreateFileId(space)
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
} else if (space.inSharesRepository) {
|
|
229
|
+
if (space.paths.length) {
|
|
230
|
+
return {
|
|
231
|
+
shareId: space.id,
|
|
232
|
+
fileId: await this.getOrCreateFileId(space)
|
|
233
|
+
};
|
|
234
|
+
} else {
|
|
235
|
+
return {
|
|
236
|
+
shareId: space.id
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
async getOrCreateFileId(space) {
|
|
242
|
+
const fileProps = await (0, _files.getProps)(space.realPath, space.dbFile.path);
|
|
243
|
+
let fileId = await this.filesQueries.getSpaceFileId(fileProps, space.dbFile);
|
|
244
|
+
if (!fileId) {
|
|
245
|
+
fileId = await this.filesQueries.getOrCreateSpaceFile(fileId, {
|
|
246
|
+
...fileProps,
|
|
247
|
+
id: undefined
|
|
248
|
+
}, space.dbFile);
|
|
249
|
+
}
|
|
250
|
+
return fileId;
|
|
251
|
+
}
|
|
252
|
+
async notify(userId, action, remotePath) {
|
|
253
|
+
const notification = {
|
|
254
|
+
app: _notifications.NOTIFICATION_APP.SYNC,
|
|
255
|
+
event: _notifications.NOTIFICATION_APP_EVENT.SYNC[action],
|
|
256
|
+
element: remotePath,
|
|
257
|
+
url: [
|
|
258
|
+
..._sync.SYNC_PATH_REPOSITORY[remotePath.split('/').at(0)],
|
|
259
|
+
...remotePath.split('/').slice(1, -1)
|
|
260
|
+
].join('/')
|
|
261
|
+
};
|
|
262
|
+
this.notificationsManager.create([
|
|
263
|
+
userId
|
|
264
|
+
], notification, {
|
|
265
|
+
currentUrl: this.contextManager.get('headerOriginUrl'),
|
|
266
|
+
action: action
|
|
267
|
+
}).catch((e)=>this.logger.error(`${this.notify.name} - ${e}`));
|
|
268
|
+
}
|
|
269
|
+
constructor(contextManager, spacesManager, filesQueries, syncQueries, notificationsManager){
|
|
270
|
+
this.contextManager = contextManager;
|
|
271
|
+
this.spacesManager = spacesManager;
|
|
272
|
+
this.filesQueries = filesQueries;
|
|
273
|
+
this.syncQueries = syncQueries;
|
|
274
|
+
this.notificationsManager = notificationsManager;
|
|
275
|
+
this.logger = new _common.Logger(SyncPathsManager.name);
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
SyncPathsManager = _ts_decorate([
|
|
279
|
+
(0, _common.Injectable)(),
|
|
280
|
+
_ts_metadata("design:type", Function),
|
|
281
|
+
_ts_metadata("design:paramtypes", [
|
|
282
|
+
typeof _contextmanagerservice.ContextManager === "undefined" ? Object : _contextmanagerservice.ContextManager,
|
|
283
|
+
typeof _spacesmanagerservice.SpacesManager === "undefined" ? Object : _spacesmanagerservice.SpacesManager,
|
|
284
|
+
typeof _filesqueriesservice.FilesQueries === "undefined" ? Object : _filesqueriesservice.FilesQueries,
|
|
285
|
+
typeof _syncqueriesservice.SyncQueries === "undefined" ? Object : _syncqueriesservice.SyncQueries,
|
|
286
|
+
typeof _notificationsmanagerservice.NotificationsManager === "undefined" ? Object : _notificationsmanagerservice.NotificationsManager
|
|
287
|
+
])
|
|
288
|
+
], SyncPathsManager);
|
|
289
|
+
|
|
290
|
+
//# sourceMappingURL=sync-paths-manager.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/sync/services/sync-paths-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 { ACTION } from '../../../common/constants'\nimport { currentTimeStamp } from '../../../common/shared'\nimport { ContextManager } from '../../../infrastructure/context/services/context-manager.service'\nimport type { FileProps } from '../../files/interfaces/file-props.interface'\nimport { FilesQueries } from '../../files/services/files-queries.service'\nimport { getProps, isPathExists, isPathIsDir } from '../../files/utils/files'\nimport { NOTIFICATION_APP, NOTIFICATION_APP_EVENT } from '../../notifications/constants/notifications'\nimport { NotificationContent } from '../../notifications/interfaces/notification-properties.interface'\nimport { NotificationsManager } from '../../notifications/services/notifications-manager.service'\nimport { FastifySpaceRequest } from '../../spaces/interfaces/space-request.interface'\nimport { SpaceEnv } from '../../spaces/models/space-env.model'\nimport { SpacesManager } from '../../spaces/services/spaces-manager.service'\nimport { getEnvPermissions } from '../../spaces/utils/permissions'\nimport { UserModel } from '../../users/models/user.model'\nimport { SYNC_PATH_REPOSITORY } from '../constants/sync'\nimport { SyncPathDto, SyncPathUpdateDto } from '../dtos/sync-path.dto'\nimport { SyncDBProps, SyncPathSettings } from '../interfaces/sync-path.interface'\nimport { SyncClient } from '../schemas/sync-client.interface'\nimport { SYNC_PATH_TO_SPACE_SEGMENTS } from '../utils/routes'\nimport { SyncQueries } from './sync-queries.service'\n\n@Injectable()\nexport class SyncPathsManager {\n private readonly logger = new Logger(SyncPathsManager.name)\n\n constructor(\n private readonly contextManager: ContextManager,\n private readonly spacesManager: SpacesManager,\n private readonly filesQueries: FilesQueries,\n private readonly syncQueries: SyncQueries,\n private readonly notificationsManager: NotificationsManager\n ) {}\n\n async createPath(req: FastifySpaceRequest, syncPathDto: SyncPathDto): Promise<{ id: number; permissions: string }> {\n if (!req.user.clientId) {\n throw new HttpException('Client id is missing', HttpStatus.BAD_REQUEST)\n }\n if (req.space.quotaIsExceeded) {\n throw new HttpException('Space quota is exceeded', HttpStatus.INSUFFICIENT_STORAGE)\n }\n if (!(await isPathExists(req.space.realPath))) {\n throw new HttpException(`Remote path not found : ${syncPathDto.remotePath}`, HttpStatus.NOT_FOUND)\n }\n if (!(await isPathIsDir(req.space.realPath))) {\n throw new HttpException('Remote path must be a directory', HttpStatus.BAD_REQUEST)\n }\n const client: SyncClient = await this.syncQueries.getClient(req.user.clientId, req.user.id)\n if (!client) {\n throw new HttpException('Client not found', HttpStatus.NOT_FOUND)\n }\n const syncDBProps: SyncDBProps = await this.getDBProps(req.space)\n\n // important : ensures the right remote path is used and stored\n syncPathDto.remotePath = req.params['*']\n // add permissions (skip end point protection using getEnvPermission)\n syncPathDto.permissions = getEnvPermissions(req.space, req.space.root)\n const pathId = await this.syncQueries.createPath(client.id, syncDBProps, syncPathDto)\n return { id: pathId, permissions: syncPathDto.permissions }\n }\n\n async deletePath(user: UserModel, pathId: number, clientId?: string): Promise<void> {\n clientId = user.clientId || clientId\n if (!clientId) {\n throw new HttpException('Client id is missing', HttpStatus.BAD_REQUEST)\n }\n if (!(await this.syncQueries.clientExistsForOwner(user.id, clientId))) {\n throw new HttpException('You are not allowed to do this action', HttpStatus.FORBIDDEN)\n }\n try {\n await this.syncQueries.deletePath(clientId, pathId)\n } catch (e) {\n this.logger.error(`${this.deletePath.name} - ${e}`)\n throw new HttpException('Unable to remove path', HttpStatus.BAD_REQUEST)\n }\n }\n\n async updatePath(user: UserModel, clientId: string, pathId: number, syncPathUpdateDto: SyncPathUpdateDto): Promise<SyncPathSettings> {\n if (!(await this.syncQueries.clientExistsForOwner(user.id, clientId))) {\n throw new HttpException('You are not allowed to do this action', HttpStatus.FORBIDDEN)\n }\n const syncPathSettings: SyncPathSettings = await this.syncQueries.getPathSettings(clientId, pathId)\n if (!syncPathSettings) {\n throw new HttpException('Sync path not found', HttpStatus.NOT_FOUND)\n }\n // delete possible id\n delete syncPathUpdateDto.id\n // update current path settings\n Object.assign(syncPathSettings, syncPathUpdateDto)\n syncPathSettings.timestamp = currentTimeStamp()\n try {\n await this.syncQueries.updatePathSettings(clientId, pathId, syncPathSettings)\n } catch (e) {\n this.logger.error(`${this.updatePath.name} - ${e}`)\n throw new HttpException('Unable to update path', HttpStatus.INTERNAL_SERVER_ERROR)\n } finally {\n // clear cache\n this.syncQueries.clearCachePathSettings(clientId, pathId)\n }\n return syncPathSettings\n }\n\n async updatePaths(\n user: UserModel,\n syncPathsDto: SyncPathDto[]\n ): Promise<{\n add: SyncPathSettings[]\n update: Partial<Record<keyof SyncPathSettings, any>>[]\n delete: number[]\n }> {\n /* Update the client or server paths */\n if (!user.clientId) {\n throw new HttpException('Client id is missing', HttpStatus.BAD_REQUEST)\n }\n if (!(await this.syncQueries.clientExistsForOwner(user.id, user.clientId))) {\n throw new HttpException('You are not allowed to do this action', HttpStatus.FORBIDDEN)\n }\n const clientPathIds: number[] = syncPathsDto.map((p) => p.id)\n const serverPathIds: number[] = []\n\n const clientDiff: { add: SyncPathSettings[]; update: Partial<Record<keyof SyncPathSettings, any>>[]; delete: number[] } = {\n add: [],\n update: [],\n delete: []\n }\n const serverPaths: { id: number; settings: SyncPathSettings; remotePath: string }[] = await this.syncQueries.getPaths(user.clientId)\n for (const serverPath of serverPaths) {\n if (!serverPath.remotePath) {\n // unable to determine path, will be stored as deleted\n continue\n }\n let space: SpaceEnv\n try {\n space = await this.spacesManager.spaceEnv(user, SYNC_PATH_TO_SPACE_SEGMENTS(serverPath.remotePath), true)\n } catch (e) {\n throw new HttpException(e.message, HttpStatus.BAD_REQUEST)\n }\n if (!space) {\n // removed or inaccessible space, the path will be stored as deleted\n continue\n }\n serverPathIds.push(serverPath.id)\n if (clientPathIds.indexOf(serverPath.id) === -1) {\n // path exists on server but not on client, add it to client\n clientDiff.add.push({ ...serverPath.settings, id: serverPath.id, remotePath: serverPath.remotePath, permissions: space.envPermissions })\n continue\n }\n\n // path exists on both server and client side\n const clientPath: SyncPathDto = syncPathsDto.find((p) => p.id === serverPath.id)\n // remotePath and permissions settings are only managed by server\n const updateClientInfo: { remotePath?: string; permissions?: string } = {\n ...(serverPath.remotePath !== clientPath.remotePath && { remotePath: serverPath.remotePath }),\n ...(space.envPermissions !== clientPath.permissions && { permissions: space.envPermissions })\n }\n const clientNewer = clientPath.timestamp > serverPath.settings.timestamp\n const serverNewer = clientPath.timestamp < serverPath.settings.timestamp\n const hasUpdates = Object.keys(updateClientInfo).length > 0\n\n let updatedSettings: SyncPathSettings = { ...serverPath.settings, ...updateClientInfo }\n\n if (clientNewer) {\n updatedSettings = { ...clientPath, ...updateClientInfo }\n } else if (serverNewer) {\n clientDiff.update.push({ id: clientPath.id, ...serverPath.settings, ...updateClientInfo })\n }\n\n if (clientNewer || hasUpdates || serverPath.settings.lastSync !== clientPath.lastSync) {\n this.syncQueries\n .updatePathSettings(user.clientId, clientPath.id, { ...updatedSettings, lastSync: clientPath.lastSync })\n .catch((e: Error) => this.logger.error(`${this.updatePaths.name} - ${e}`))\n }\n\n if (!clientNewer && hasUpdates) {\n clientDiff.update.push({ id: clientPath.id, ...updateClientInfo })\n }\n }\n // path does not exist on server side\n clientDiff.delete = clientPathIds.filter((cid) => serverPathIds.indexOf(cid) === -1)\n for (const cPathId of clientDiff.delete) {\n const cPath: SyncPathDto = syncPathsDto.find((p) => p.id === cPathId)\n this.notify(user.id, ACTION.DELETE, cPath.remotePath).catch((e: Error) => this.logger.error(`${this.updatePaths.name} - ${e}`))\n }\n // clear cache\n clientDiff.update.forEach((path) => this.syncQueries.clearCachePathSettings(user.clientId, path.id))\n return clientDiff\n }\n\n private async getDBProps(space: SpaceEnv): Promise<SyncDBProps> {\n if (space.inSharesList) {\n throw new HttpException('Sync all shares is not supported, you must select a sub-directory', HttpStatus.BAD_REQUEST)\n } else if (space.inPersonalSpace) {\n if (space.paths.length) {\n return { ownerId: space.dbFile.ownerId, fileId: await this.getOrCreateFileId(space) }\n } else {\n return { ownerId: space.dbFile.ownerId }\n }\n } else if (space.inFilesRepository) {\n if (!space?.root?.alias) {\n // The synchronization direction should be adapted for each root depending on the permissions, this is not yet supported\n throw new HttpException('Sync all space is not yet supported, you must select a sub-directory', HttpStatus.BAD_REQUEST)\n }\n if (space.root.id && !space.paths.length) {\n return { spaceId: space.id, spaceRootId: space.root.id }\n } else {\n return { spaceId: space.id, spaceRootId: space?.root?.id || null, fileId: await this.getOrCreateFileId(space) }\n }\n } else if (space.inSharesRepository) {\n if (space.paths.length) {\n return { shareId: space.id, fileId: await this.getOrCreateFileId(space) }\n } else {\n return { shareId: space.id }\n }\n }\n }\n\n private async getOrCreateFileId(space: SpaceEnv): Promise<number> {\n const fileProps: FileProps = await getProps(space.realPath, space.dbFile.path)\n let fileId: number = await this.filesQueries.getSpaceFileId(fileProps, space.dbFile)\n if (!fileId) {\n fileId = await this.filesQueries.getOrCreateSpaceFile(fileId, { ...fileProps, id: undefined }, space.dbFile)\n }\n return fileId\n }\n\n private async notify(userId: number, action: ACTION, remotePath: string) {\n const notification: NotificationContent = {\n app: NOTIFICATION_APP.SYNC,\n event: NOTIFICATION_APP_EVENT.SYNC[action],\n element: remotePath,\n url: [...SYNC_PATH_REPOSITORY[remotePath.split('/').at(0)], ...remotePath.split('/').slice(1, -1)].join('/')\n }\n this.notificationsManager\n .create([userId], notification, {\n currentUrl: this.contextManager.get('headerOriginUrl'),\n action: action\n })\n .catch((e: Error) => this.logger.error(`${this.notify.name} - ${e}`))\n }\n}\n"],"names":["SyncPathsManager","createPath","req","syncPathDto","user","clientId","HttpException","HttpStatus","BAD_REQUEST","space","quotaIsExceeded","INSUFFICIENT_STORAGE","isPathExists","realPath","remotePath","NOT_FOUND","isPathIsDir","client","syncQueries","getClient","id","syncDBProps","getDBProps","params","permissions","getEnvPermissions","root","pathId","deletePath","clientExistsForOwner","FORBIDDEN","e","logger","error","name","updatePath","syncPathUpdateDto","syncPathSettings","getPathSettings","Object","assign","timestamp","currentTimeStamp","updatePathSettings","INTERNAL_SERVER_ERROR","clearCachePathSettings","updatePaths","syncPathsDto","clientPathIds","map","p","serverPathIds","clientDiff","add","update","delete","serverPaths","getPaths","serverPath","spacesManager","spaceEnv","SYNC_PATH_TO_SPACE_SEGMENTS","message","push","indexOf","settings","envPermissions","clientPath","find","updateClientInfo","clientNewer","serverNewer","hasUpdates","keys","length","updatedSettings","lastSync","catch","filter","cid","cPathId","cPath","notify","ACTION","DELETE","forEach","path","inSharesList","inPersonalSpace","paths","ownerId","dbFile","fileId","getOrCreateFileId","inFilesRepository","alias","spaceId","spaceRootId","inSharesRepository","shareId","fileProps","getProps","filesQueries","getSpaceFileId","getOrCreateSpaceFile","undefined","userId","action","notification","app","NOTIFICATION_APP","SYNC","event","NOTIFICATION_APP_EVENT","element","url","SYNC_PATH_REPOSITORY","split","at","slice","join","notificationsManager","create","currentUrl","contextManager","get","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 _contextmanagerservice = require("../../../infrastructure/context/services/context-manager.service");
|
|
11
|
+
const _filesqueriesservice = require("../../files/services/files-queries.service");
|
|
12
|
+
const _notificationsmanagerservice = require("../../notifications/services/notifications-manager.service");
|
|
13
|
+
const _spacesmanagerservice = require("../../spaces/services/spaces-manager.service");
|
|
14
|
+
const _usersqueriesservice = require("../../users/services/users-queries.service");
|
|
15
|
+
const _syncpathsmanagerservice = require("./sync-paths-manager.service");
|
|
16
|
+
const _syncqueriesservice = require("./sync-queries.service");
|
|
17
|
+
describe(_syncpathsmanagerservice.SyncPathsManager.name, ()=>{
|
|
18
|
+
let service;
|
|
19
|
+
beforeAll(async ()=>{
|
|
20
|
+
const module = await _testing.Test.createTestingModule({
|
|
21
|
+
providers: [
|
|
22
|
+
_syncpathsmanagerservice.SyncPathsManager,
|
|
23
|
+
{
|
|
24
|
+
provide: _contextmanagerservice.ContextManager,
|
|
25
|
+
useValue: {}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
provide: _spacesmanagerservice.SpacesManager,
|
|
29
|
+
useValue: {}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
provide: _usersqueriesservice.UsersQueries,
|
|
33
|
+
useValue: {}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
provide: _filesqueriesservice.FilesQueries,
|
|
37
|
+
useValue: {}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
provide: _notificationsmanagerservice.NotificationsManager,
|
|
41
|
+
useValue: {}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
provide: _syncqueriesservice.SyncQueries,
|
|
45
|
+
useValue: {}
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}).compile();
|
|
49
|
+
service = module.get(_syncpathsmanagerservice.SyncPathsManager);
|
|
50
|
+
});
|
|
51
|
+
it('should be defined', ()=>{
|
|
52
|
+
expect(service).toBeDefined();
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=sync-paths-manager.service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/sync/services/sync-paths-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 { ContextManager } from '../../../infrastructure/context/services/context-manager.service'\nimport { FilesQueries } from '../../files/services/files-queries.service'\nimport { NotificationsManager } from '../../notifications/services/notifications-manager.service'\nimport { SpacesManager } from '../../spaces/services/spaces-manager.service'\nimport { UsersQueries } from '../../users/services/users-queries.service'\nimport { SyncPathsManager } from './sync-paths-manager.service'\nimport { SyncQueries } from './sync-queries.service'\n\ndescribe(SyncPathsManager.name, () => {\n let service: SyncPathsManager\n\n beforeAll(async () => {\n const module: TestingModule = await Test.createTestingModule({\n providers: [\n SyncPathsManager,\n { provide: ContextManager, useValue: {} },\n { provide: SpacesManager, useValue: {} },\n { provide: UsersQueries, useValue: {} },\n { provide: FilesQueries, useValue: {} },\n { provide: NotificationsManager, useValue: {} },\n {\n provide: SyncQueries,\n useValue: {}\n }\n ]\n }).compile()\n\n service = module.get<SyncPathsManager>(SyncPathsManager)\n })\n\n it('should be defined', () => {\n expect(service).toBeDefined()\n })\n})\n"],"names":["describe","SyncPathsManager","name","service","beforeAll","module","Test","createTestingModule","providers","provide","ContextManager","useValue","SpacesManager","UsersQueries","FilesQueries","NotificationsManager","SyncQueries","compile","get","it","expect","toBeDefined"],"mappings":"AAAA;;;;CAIC;;;;yBAEmC;uCACL;qCACF;6CACQ;sCACP;qCACD;yCACI;oCACL;AAE5BA,SAASC,yCAAgB,CAACC,IAAI,EAAE;IAC9B,IAAIC;IAEJC,UAAU;QACR,MAAMC,SAAwB,MAAMC,aAAI,CAACC,mBAAmB,CAAC;YAC3DC,WAAW;gBACTP,yCAAgB;gBAChB;oBAAEQ,SAASC,qCAAc;oBAAEC,UAAU,CAAC;gBAAE;gBACxC;oBAAEF,SAASG,mCAAa;oBAAED,UAAU,CAAC;gBAAE;gBACvC;oBAAEF,SAASI,iCAAY;oBAAEF,UAAU,CAAC;gBAAE;gBACtC;oBAAEF,SAASK,iCAAY;oBAAEH,UAAU,CAAC;gBAAE;gBACtC;oBAAEF,SAASM,iDAAoB;oBAAEJ,UAAU,CAAC;gBAAE;gBAC9C;oBACEF,SAASO,+BAAW;oBACpBL,UAAU,CAAC;gBACb;aACD;QACH,GAAGM,OAAO;QAEVd,UAAUE,OAAOa,GAAG,CAAmBjB,yCAAgB;IACzD;IAEAkB,GAAG,qBAAqB;QACtBC,OAAOjB,SAASkB,WAAW;IAC7B;AACF"}
|