@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/webdav/services/webdav-methods.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 { currentTimeStamp, encodeUrl } from '../../../common/shared'\nimport { FileLock } from '../../files/interfaces/file-lock.interface'\nimport { FileError } from '../../files/models/file-error'\nimport { LockConflict } from '../../files/models/file-lock-error'\nimport { FilesLockManager } from '../../files/services/files-lock-manager.service'\nimport { FilesManager } from '../../files/services/files-manager.service'\nimport { dirName, genEtag, isPathExists } from '../../files/utils/files'\nimport { SPACE_OPERATION, SPACE_REPOSITORY } from '../../spaces/constants/spaces'\nimport { SpaceEnv } from '../../spaces/models/space-env.model'\nimport { dbFileFromSpace } from '../../spaces/utils/paths'\nimport { haveSpaceEnvPermissions } from '../../spaces/utils/permissions'\nimport {\n DEPTH,\n LOCK_DISCOVERY_PROP,\n NS_PREFIX,\n PRECONDITION,\n PROPPATCH_METHOD,\n PROPPATCH_MODIFIED_PROPS,\n PROPPATCH_PROP_UPDATE,\n PROPPATCH_SUPPORTED_PROPS,\n PROPSTAT,\n STANDARD_PROPS,\n XML_CONTENT_TYPE\n} from '../constants/webdav'\nimport { IfHeaderDecorator } from '../decorators/if-header.decorator'\nimport { FastifyDAVRequest, WebDAVLock } from '../interfaces/webdav.interface'\nimport { extractAllTokens, extractOneToken } from '../utils/if-header'\nimport { DAV_ERROR_RES, LOCK_DISCOVERY, LOCK_PROP, MULTI_STATUS, PROP, PROP_STAT } from '../utils/webdav'\nimport { xmlBuild } from '../utils/xml'\nimport { WebDAVSpaces } from './webdav-spaces.service'\n\n@Injectable()\nexport class WebDAVMethods {\n private readonly logger = new Logger(WebDAVMethods.name)\n\n constructor(\n private readonly webDAVHandler: WebDAVSpaces,\n private readonly filesManager: FilesManager,\n private readonly filesLockManager: FilesLockManager\n ) {}\n\n async headOrGet(req: FastifyDAVRequest, res: FastifyReply, repository: string): Promise<StreamableFile> {\n if (repository === SPACE_REPOSITORY.FILES && !req.space.inSharesList) {\n const sendFile = this.filesManager.sendFileFromSpace(req.space)\n try {\n await sendFile.checks()\n return await sendFile.stream(req, res)\n } catch (e) {\n return this.handleError(req, res, e)\n }\n }\n this.logger.warn(`Not allowed on this resource : ${repository}`)\n return res.status(HttpStatus.FORBIDDEN).send('Not allowed on this resource')\n }\n\n @IfHeaderDecorator()\n async lock(req: FastifyDAVRequest, res: FastifyReply) {\n const isLockRefresh = !req.dav.body\n const rExists = await isPathExists(req.space.realPath)\n\n if (isLockRefresh) {\n // if the body has no content, the request must refresh the lock\n if (!rExists) {\n this.logger.warn('Lock refresh must specify an existing resource')\n return res.status(HttpStatus.BAD_REQUEST).send('Lock refresh must specify an existing resource')\n }\n return this.lockRefresh(req, res, req.space.dbFile.path)\n }\n if (!rExists) {\n if (!haveSpaceEnvPermissions(req.space, SPACE_OPERATION.ADD)) {\n this.logger.warn(`is not allowed to create on this space : *${req.space.alias}* (${req.space.id}) : ${req.space.url}`)\n return res.status(HttpStatus.FORBIDDEN).send('You are not allowed to do this action')\n }\n if (!(await isPathExists(dirName(req.space.realPath)))) {\n return res.status(HttpStatus.CONFLICT).send('Parent must exists')\n }\n }\n\n const davLock: WebDAVLock = {\n lockroot: req.dav.url,\n locktoken: null, // created later\n lockscope: req.dav.lock.lockscope,\n owner: req.dav.lock.owner\n }\n\n const [ok, fileLock] = await this.filesLockManager.create(req.user, req.space.dbFile, req.dav.depth, req.dav.lock.timeout, davLock)\n if (ok) {\n // Locking unmapped URLs: must create an empty resource (that is not a collection)\n if (!rExists) {\n // checkLocks set to false because the conflicts are already checked in `filesLockManager.create` method\n await this.filesManager.mkFile(req.user, req.space, false, false, false)\n }\n const lockProp = LOCK_PROP([fileLock])\n return res\n .header('lock-token', `<${davLock.locktoken}>`)\n .type(XML_CONTENT_TYPE)\n .status(rExists ? HttpStatus.OK : HttpStatus.CREATED)\n .send(xmlBuild(lockProp))\n } else {\n return DAV_ERROR_RES(HttpStatus.LOCKED, PRECONDITION.LOCK_CONFLICT, res, fileLock.davLock?.lockroot || fileLock.dbFilePath)\n }\n }\n\n private async lockRefresh(req: FastifyDAVRequest, res: FastifyReply, dbFilePath: string) {\n if (req.dav?.ifHeaders?.length !== 1) {\n this.logger.warn('Expected a lock token (only one lock may be refreshed at a time)')\n return res.status(HttpStatus.BAD_REQUEST).send('Expected a lock token (only one lock may be refreshed at a time)')\n }\n\n let token: string\n try {\n token = extractOneToken(req.dav.ifHeaders)\n } catch (e) {\n this.logger.warn(`${this.lockRefresh.name} - unable to extract token : ${JSON.stringify(req.dav.ifHeaders)} (${e})`)\n return res.status(HttpStatus.BAD_REQUEST).send('Unable to extract token')\n }\n\n const lock = await this.filesLockManager.isLockedWithToken(token, dbFilePath)\n if (!lock) {\n this.logger.warn(`Lock token does not exist or not match URL : ${token}`)\n return DAV_ERROR_RES(HttpStatus.PRECONDITION_FAILED, PRECONDITION.LOCK_TOKEN_MISMATCH, res)\n }\n if (lock.owner.id !== req.user.id) {\n this.logger.warn(`Lock token does not match owner : ${lock.owner.login} != ${req.user.login}`)\n return res.status(HttpStatus.FORBIDDEN).send('Lock token does not match owner')\n }\n\n await this.filesLockManager.refreshLockTimeout(lock, req.dav.lock.timeout)\n const lockProp = LOCK_PROP([lock])\n return res.type(XML_CONTENT_TYPE).status(HttpStatus.OK).send(xmlBuild(lockProp))\n }\n\n @IfHeaderDecorator()\n async unlock(req: FastifyDAVRequest, res: FastifyReply) {\n if (!(await isPathExists(req.space.realPath))) {\n this.logger.warn(`Unable to unlock ${req.dav.url} : resource does not exist`)\n return res.status(HttpStatus.NOT_FOUND).send(req.dav.url)\n }\n\n const lock = await this.filesLockManager.isLockedWithToken(req.dav.lock.token, req.space.dbFile.path)\n if (!lock) {\n this.logger.warn(`Lock token does not exist or not match URL : ${req.dav.lock.token}`)\n return DAV_ERROR_RES(HttpStatus.CONFLICT, PRECONDITION.LOCK_TOKEN_MISMATCH, res)\n }\n if (req.user.id !== lock.owner.id) {\n return res.status(HttpStatus.FORBIDDEN).send('Token was created by another user')\n }\n\n await this.filesLockManager.removeLock(lock.key)\n return res.status(HttpStatus.NO_CONTENT).send()\n }\n\n @IfHeaderDecorator()\n async propfind(req: FastifyDAVRequest, res: FastifyReply, repository: string): Promise<string> {\n if (repository === SPACE_REPOSITORY.FILES && !req.space.inSharesList) {\n if (!(await isPathExists(req.space.realPath))) {\n return res.status(HttpStatus.NOT_FOUND).send(req.dav.url)\n }\n }\n\n const responses: any[] = []\n let requestedProps: string[]\n let locks: Record<string, FileLock> = {}\n\n if (req.dav.propfindMode === PROPSTAT.PROP) {\n // ignores all unknown properties (non-RFC compliant but avoids generating too much content, faster)\n requestedProps = Object.keys(req.dav.body.propfind.prop).filter((prop: string) => STANDARD_PROPS.indexOf(prop) > -1)\n } else {\n requestedProps = STANDARD_PROPS\n }\n\n // Searches all child locks (only for real files) & ignores /webdav/shares endpoint (special case)\n if (req.dav.propfindMode !== PROPSTAT.PROPNAME && repository === SPACE_REPOSITORY.FILES && !req.space.inSharesList) {\n if (req.dav.depth === DEPTH.RESOURCE) {\n // match depth '0'\n locks = await this.filesLockManager.browseLocks(req.space.dbFile)\n } else {\n // match depth '1' or 'infinity'\n locks = await this.filesLockManager.browseParentChildLocks(req.space.dbFile)\n }\n }\n\n for await (const f of this.webDAVHandler.propfind(req, repository)) {\n let prop: any\n if (req.dav.propfindMode === PROPSTAT.PROPNAME) {\n prop = { ...Object.fromEntries(requestedProps.map((x) => [`${NS_PREFIX}:${x}`, ''])) }\n } else {\n prop = {}\n for (const p of requestedProps) {\n let fP: any\n if (p === LOCK_DISCOVERY_PROP) {\n fP = repository === SPACE_REPOSITORY.FILES && f.name in locks ? LOCK_DISCOVERY([locks[f.name]]) : null\n } else {\n fP = f[p]\n }\n if (fP !== undefined) prop[`${NS_PREFIX}:${p}`] = fP\n }\n }\n responses.push(PROP_STAT(f.href, PROP(prop, req.dav.httpVersion, HttpStatus.OK)))\n }\n const propfind = xmlBuild(MULTI_STATUS(responses))\n return res.type(XML_CONTENT_TYPE).status(HttpStatus.MULTI_STATUS).send(propfind)\n }\n\n @IfHeaderDecorator()\n async put(req: FastifyDAVRequest, res: FastifyReply): Promise<FastifyReply> {\n let rExists: boolean\n try {\n rExists = await this.filesManager.saveStream(req.user, req.space, req, {\n dav: {\n depth: req.dav.depth,\n lockTokens: extractAllTokens(req.dav.ifHeaders)\n }\n })\n } catch (e) {\n return this.handleError(req, res, e)\n }\n return res\n .header('etag', genEtag(null, req.space.realPath))\n .status(rExists ? HttpStatus.NO_CONTENT : HttpStatus.CREATED)\n .send()\n }\n\n @IfHeaderDecorator()\n async delete(req: FastifyDAVRequest, res: FastifyReply) {\n try {\n await this.filesManager.delete(req.user, req.space, { lockTokens: extractAllTokens(req.dav.ifHeaders) })\n } catch (e) {\n return this.handleError(req, res, e)\n }\n return res.status(HttpStatus.NO_CONTENT).send()\n }\n\n @IfHeaderDecorator()\n async proppatch(req: FastifyDAVRequest, res: FastifyReply) {\n /* only support 'time modifications' */\n if (!(await isPathExists(req.space.realPath))) {\n return res.status(HttpStatus.NOT_FOUND).send(req.dav.url)\n }\n\n // check locks\n try {\n await this.filesLockManager.checkConflicts(req.space.dbFile, req.dav.depth, {\n userId: req.user.id,\n lockTokens: extractAllTokens(req.dav.ifHeaders)\n })\n } catch (e) {\n return this.handleError(req, res, e)\n }\n\n // evaluate props and return multistatus if errors\n req.dav.proppatch = { props: {}, errors: [] }\n for (const action of Object.keys(req.dav.body[PROPPATCH_PROP_UPDATE])) {\n if (Object.values(PROPPATCH_METHOD).indexOf(action) === -1) {\n const msg = `Unknown tag : expected ${PROPPATCH_METHOD.SET} or ${PROPPATCH_METHOD.REMOVE}`\n this.logger.debug(msg)\n return res.status(HttpStatus.BAD_REQUEST).send(msg)\n }\n\n if (Array.isArray(req.dav.body[PROPPATCH_PROP_UPDATE][action])) {\n if (Object.keys(req.dav.body[PROPPATCH_PROP_UPDATE][action][0])[0] === PROPSTAT.PROP) {\n req.dav.body[PROPPATCH_PROP_UPDATE][action] = {\n [PROPSTAT.PROP]: req.dav.body[PROPPATCH_PROP_UPDATE][action].map((e: any) => e[PROPSTAT.PROP])\n }\n }\n }\n\n if (Object.keys(req.dav.body[PROPPATCH_PROP_UPDATE][action])[0] !== PROPSTAT.PROP) {\n const msg = `Unknown tag : expected ${PROPSTAT.PROP}`\n this.logger.debug(msg)\n return res.status(HttpStatus.BAD_REQUEST).send(msg)\n }\n\n if (!Array.isArray(req.dav.body[PROPPATCH_PROP_UPDATE][action][PROPSTAT.PROP])) {\n req.dav.body[PROPPATCH_PROP_UPDATE][action][PROPSTAT.PROP] = [req.dav.body[PROPPATCH_PROP_UPDATE][action][PROPSTAT.PROP]]\n }\n\n for (const prop of req.dav.body[PROPPATCH_PROP_UPDATE][action][PROPSTAT.PROP] as Record<string, string>[]) {\n for (let [name, value] of Object.entries(prop)) {\n if (action === PROPPATCH_METHOD.REMOVE) {\n value = null\n this.logger.debug(`Proppatch remove method not handled : ${name} -> ${value}`)\n }\n if (PROPPATCH_SUPPORTED_PROPS.indexOf(name) === -1) {\n req.dav.proppatch.errors.push(\n PROP(\n { [`${NS_PREFIX}:${name}`]: null },\n req.dav.httpVersion,\n HttpStatus.FORBIDDEN,\n STANDARD_PROPS.indexOf(name) > -1 ? PRECONDITION.PROTECTED_PROPERTY : undefined\n )\n )\n continue\n }\n req.dav.proppatch.props[name] = value\n }\n }\n }\n\n if (req.dav.proppatch.errors.length) {\n // convert all passed props to failed dependency\n for (const name of Object.keys(req.dav.proppatch.props)) {\n req.dav.proppatch.errors.push(PROP({ [`${NS_PREFIX}:${name}`]: null }, req.dav.httpVersion, HttpStatus.FAILED_DEPENDENCY))\n }\n const proppatch = xmlBuild(MULTI_STATUS(PROP_STAT(encodeUrl(req.dav.url), req.dav.proppatch.errors)))\n return res.status(HttpStatus.MULTI_STATUS).type(XML_CONTENT_TYPE).send(proppatch)\n }\n\n // apply modifications\n let atLeastOneError = false\n const states: Record<string, boolean> = {}\n for (const [name, value] of Object.entries(req.dav.proppatch.props)) {\n if (PROPPATCH_MODIFIED_PROPS.indexOf(name) > -1) {\n try {\n await this.filesManager.touch(req.user, req.space, currentTimeStamp(new Date(value)), false)\n } catch (e) {\n this.logger.error(`${this.proppatch.name} - unable to modify mtime on ${req.dav.url} : ${e}`)\n states[name] = false\n atLeastOneError = true\n }\n }\n // hook: we let the known Win32* properties pass to return a consistent result\n states[name] = true\n }\n\n const props = []\n for (const [name, state] of Object.entries(states)) {\n props.push(\n PROP(\n { [`${NS_PREFIX}:${name}`]: null },\n req.dav.httpVersion,\n state ? (atLeastOneError ? HttpStatus.FAILED_DEPENDENCY : HttpStatus.OK) : HttpStatus.BAD_REQUEST\n )\n )\n }\n const proppatch = xmlBuild(MULTI_STATUS(PROP_STAT(encodeUrl(req.dav.url), props)))\n return res.type(XML_CONTENT_TYPE).status(HttpStatus.MULTI_STATUS).send(proppatch)\n }\n\n @IfHeaderDecorator()\n async mkcol(req: FastifyDAVRequest, res: FastifyReply) {\n try {\n await this.filesManager.mkDir(req.user, req.space, false, { depth: req.dav.depth, lockTokens: extractAllTokens(req.dav.ifHeaders) })\n } catch (e) {\n return this.handleError(req, res, e)\n }\n return res.status(HttpStatus.CREATED).send()\n }\n\n @IfHeaderDecorator()\n async copyMove(req: FastifyDAVRequest, res: FastifyReply) {\n const dstSpace: SpaceEnv = await this.webDAVHandler.spaceEnv(req.user, req.dav.copyMove.destination)\n if (!dstSpace) {\n this.logger.warn(`Space not found for destination : ${req.dav.copyMove.destination}`)\n return res.status(HttpStatus.NOT_FOUND).send(req.dav.copyMove.destination)\n }\n const dstExisted = await isPathExists(dstSpace.realPath)\n // We must evaluate the if-headers on the destination\n const fakeDstReq = {\n dav: { ...req.dav, url: req.dav.copyMove.destination },\n user: req.user,\n space: dstSpace\n } as FastifyDAVRequest\n if (!(await this.evaluateIfHeaders(fakeDstReq, res))) {\n // if there is an error the response is generated inside the `evaluateIfHeaders` function\n return\n }\n try {\n await this.filesManager.copyMove(req.user, req.space, dstSpace, req.dav.copyMove.isMove, req.dav.copyMove.overwrite, {\n depth: req.dav.depth,\n lockTokens: extractAllTokens(req.dav.ifHeaders)\n })\n } catch (e) {\n return this.handleError(req, res, e, dstSpace.url)\n }\n return res.status(dstExisted ? HttpStatus.NO_CONTENT : HttpStatus.CREATED).send()\n }\n\n protected async evaluateIfHeaders(req: FastifyDAVRequest, res: FastifyReply): Promise<boolean> {\n if (!req.dav.ifHeaders) return true\n const errors: string[] = []\n let lastPath = null\n let lastSpaceEnv: SpaceEnv\n let lastRPath = undefined\n let lastEtag = undefined // for now, we only generate one etag type (weak)\n let atLeastOneOk = false\n\n for (const condition of req.dav.ifHeaders) {\n if (condition.path) {\n if (condition.path !== lastPath) {\n lastPath = condition.path\n lastSpaceEnv = await this.webDAVHandler.spaceEnv(req.user, lastPath)\n }\n // the path will be the same across conditions\n if (!lastSpaceEnv) {\n this.logger.warn(`If Header : path mismatch (${condition.path})`)\n return false\n }\n } else {\n lastPath = req.dav.url\n lastSpaceEnv = req.space\n }\n\n if (condition.haveLock) {\n try {\n const dbFile = dbFileFromSpace(req.user.id, lastSpaceEnv)\n const match = !!(await this.filesLockManager.getLocksByPath(dbFile)).length\n if (condition.haveLock.mustMatch !== match) {\n errors.push(`have lock condition mismatch (${condition.haveLock.mustMatch} != ${match})`)\n continue\n }\n } catch (e) {\n errors.push(`have lock condition mismatch : ${e.message}`)\n continue\n }\n }\n\n if (condition.token) {\n const token = await this.filesLockManager.getLockByToken(condition.token.value)\n const match = token && lastPath.startsWith(token.davLock?.lockroot)\n if (condition.token.mustMatch !== match) {\n if (!token) {\n errors.push(`lock token not found`)\n } else {\n errors.push(`lock token url mismatch (${lastPath} is not a child of ${token.davLock?.lockroot})`)\n }\n continue\n }\n }\n\n if (condition.etag) {\n if (lastEtag === undefined) {\n if (lastRPath === undefined) {\n lastRPath = (await isPathExists(req.space.realPath)) ? req.space.realPath : null\n }\n lastEtag = lastRPath ? genEtag(null, lastRPath) : null\n }\n const match = lastEtag === condition.etag.value\n if (condition.etag.mustMatch !== match) {\n errors.push(`etag mismatch (${condition.etag.value} != ${lastEtag})`)\n continue\n }\n }\n\n atLeastOneOk = true\n break\n }\n\n if (!atLeastOneOk) {\n this.logger.warn(`If header condition failed : ${errors.join(', ')}`)\n res.status(HttpStatus.PRECONDITION_FAILED).send('If header condition failed')\n }\n return atLeastOneOk\n }\n\n private handleError(req: FastifyDAVRequest, res: FastifyReply, e: any, toUrl?: string) {\n this.logger.error(`Unable to ${req.method} ${req.dav.url}${toUrl ? ` -> ${toUrl}` : ''} : ${e.message}`)\n if (e instanceof LockConflict) {\n return DAV_ERROR_RES(HttpStatus.LOCKED, PRECONDITION.LOCK_CONFLICT, res, e.lock.davLock?.lockroot || e.lock.dbFilePath)\n } else if (e instanceof FileError) {\n return res.status(e.httpCode).send(e.message)\n }\n throw new HttpException(e.message, HttpStatus.INTERNAL_SERVER_ERROR)\n }\n}\n"],"names":["WebDAVMethods","headOrGet","req","res","repository","SPACE_REPOSITORY","FILES","space","inSharesList","sendFile","filesManager","sendFileFromSpace","checks","stream","e","handleError","logger","warn","status","HttpStatus","FORBIDDEN","send","lock","isLockRefresh","dav","body","rExists","isPathExists","realPath","BAD_REQUEST","lockRefresh","dbFile","path","haveSpaceEnvPermissions","SPACE_OPERATION","ADD","alias","id","url","dirName","CONFLICT","davLock","lockroot","locktoken","lockscope","owner","ok","fileLock","filesLockManager","create","user","depth","timeout","mkFile","lockProp","LOCK_PROP","header","type","XML_CONTENT_TYPE","OK","CREATED","xmlBuild","DAV_ERROR_RES","LOCKED","PRECONDITION","LOCK_CONFLICT","dbFilePath","ifHeaders","length","token","extractOneToken","name","JSON","stringify","isLockedWithToken","PRECONDITION_FAILED","LOCK_TOKEN_MISMATCH","login","refreshLockTimeout","unlock","NOT_FOUND","removeLock","key","NO_CONTENT","propfind","responses","requestedProps","locks","propfindMode","PROPSTAT","PROP","Object","keys","prop","filter","STANDARD_PROPS","indexOf","PROPNAME","DEPTH","RESOURCE","browseLocks","browseParentChildLocks","f","webDAVHandler","fromEntries","map","x","NS_PREFIX","p","fP","LOCK_DISCOVERY_PROP","LOCK_DISCOVERY","undefined","push","PROP_STAT","href","httpVersion","MULTI_STATUS","put","saveStream","lockTokens","extractAllTokens","genEtag","delete","proppatch","checkConflicts","userId","props","errors","action","PROPPATCH_PROP_UPDATE","values","PROPPATCH_METHOD","msg","SET","REMOVE","debug","Array","isArray","value","entries","PROPPATCH_SUPPORTED_PROPS","PROTECTED_PROPERTY","FAILED_DEPENDENCY","encodeUrl","atLeastOneError","states","PROPPATCH_MODIFIED_PROPS","touch","currentTimeStamp","Date","error","state","mkcol","mkDir","copyMove","dstSpace","spaceEnv","destination","dstExisted","fakeDstReq","evaluateIfHeaders","isMove","overwrite","lastPath","lastSpaceEnv","lastRPath","lastEtag","atLeastOneOk","condition","haveLock","dbFileFromSpace","match","getLocksByPath","mustMatch","message","getLockByToken","startsWith","etag","join","toUrl","method","LockConflict","FileError","httpCode","HttpException","INTERNAL_SERVER_ERROR","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 _fileslockmanagerservice = require("../../files/services/files-lock-manager.service");
|
|
11
|
+
const _filesmanagerservice = require("../../files/services/files-manager.service");
|
|
12
|
+
const _webdavmethodsservice = require("./webdav-methods.service");
|
|
13
|
+
const _webdavspacesservice = require("./webdav-spaces.service");
|
|
14
|
+
describe(_webdavmethodsservice.WebDAVMethods.name, ()=>{
|
|
15
|
+
let service;
|
|
16
|
+
beforeAll(async ()=>{
|
|
17
|
+
const module = await _testing.Test.createTestingModule({
|
|
18
|
+
providers: [
|
|
19
|
+
_webdavmethodsservice.WebDAVMethods,
|
|
20
|
+
{
|
|
21
|
+
provide: _webdavspacesservice.WebDAVSpaces,
|
|
22
|
+
useValue: {}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
provide: _filesmanagerservice.FilesManager,
|
|
26
|
+
useValue: {}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
provide: _fileslockmanagerservice.FilesLockManager,
|
|
30
|
+
useValue: {}
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}).compile();
|
|
34
|
+
service = module.get(_webdavmethodsservice.WebDAVMethods);
|
|
35
|
+
});
|
|
36
|
+
it('should be defined', ()=>{
|
|
37
|
+
expect(service).toBeDefined();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=webdav-methods.service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/webdav/services/webdav-methods.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 { FilesLockManager } from '../../files/services/files-lock-manager.service'\nimport { FilesManager } from '../../files/services/files-manager.service'\nimport { WebDAVMethods } from './webdav-methods.service'\nimport { WebDAVSpaces } from './webdav-spaces.service'\n\ndescribe(WebDAVMethods.name, () => {\n let service: WebDAVMethods\n\n beforeAll(async () => {\n const module: TestingModule = await Test.createTestingModule({\n providers: [\n WebDAVMethods,\n { provide: WebDAVSpaces, useValue: {} },\n {\n provide: FilesManager,\n useValue: {}\n },\n { provide: FilesLockManager, useValue: {} }\n ]\n }).compile()\n\n service = module.get<WebDAVMethods>(WebDAVMethods)\n })\n\n it('should be defined', () => {\n expect(service).toBeDefined()\n })\n})\n"],"names":["describe","WebDAVMethods","name","service","beforeAll","module","Test","createTestingModule","providers","provide","WebDAVSpaces","useValue","FilesManager","FilesLockManager","compile","get","it","expect","toBeDefined"],"mappings":"AAAA;;;;CAIC;;;;yBAEmC;yCACH;qCACJ;sCACC;qCACD;AAE7BA,SAASC,mCAAa,CAACC,IAAI,EAAE;IAC3B,IAAIC;IAEJC,UAAU;QACR,MAAMC,SAAwB,MAAMC,aAAI,CAACC,mBAAmB,CAAC;YAC3DC,WAAW;gBACTP,mCAAa;gBACb;oBAAEQ,SAASC,iCAAY;oBAAEC,UAAU,CAAC;gBAAE;gBACtC;oBACEF,SAASG,iCAAY;oBACrBD,UAAU,CAAC;gBACb;gBACA;oBAAEF,SAASI,yCAAgB;oBAAEF,UAAU,CAAC;gBAAE;aAC3C;QACH,GAAGG,OAAO;QAEVX,UAAUE,OAAOU,GAAG,CAAgBd,mCAAa;IACnD;IAEAe,GAAG,qBAAqB;QACtBC,OAAOd,SAASe,WAAW;IAC7B;AACF"}
|
|
@@ -0,0 +1,169 @@
|
|
|
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, "WebDAVSpaces", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function() {
|
|
12
|
+
return WebDAVSpaces;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const _common = require("@nestjs/common");
|
|
16
|
+
const _files = require("../../files/utils/files");
|
|
17
|
+
const _spaces = require("../../spaces/constants/spaces");
|
|
18
|
+
const _spacesbrowserservice = require("../../spaces/services/spaces-browser.service");
|
|
19
|
+
const _spacesmanagerservice = require("../../spaces/services/spaces-manager.service");
|
|
20
|
+
const _permissions = require("../../spaces/utils/permissions");
|
|
21
|
+
const _routes = require("../constants/routes");
|
|
22
|
+
const _webdav = require("../constants/webdav");
|
|
23
|
+
const _webdavfilemodel = require("../models/webdav-file.model");
|
|
24
|
+
const _routes1 = require("../utils/routes");
|
|
25
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
26
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
27
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
28
|
+
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;
|
|
29
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
30
|
+
}
|
|
31
|
+
function _ts_metadata(k, v) {
|
|
32
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
|
+
}
|
|
34
|
+
let WebDAVSpaces = class WebDAVSpaces {
|
|
35
|
+
async spaceEnv(user, path) {
|
|
36
|
+
try {
|
|
37
|
+
const space = await this.spacesManager.spaceEnv(user, (0, _routes1.WEBDAV_PATH_TO_SPACE_SEGMENTS)(path));
|
|
38
|
+
if (space) {
|
|
39
|
+
return space;
|
|
40
|
+
}
|
|
41
|
+
} catch (e) {
|
|
42
|
+
this.logger.warn(`${this.spaceEnv.name} : ${e}`);
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
this.logger.warn(`Space not authorized or not found : ${path}`);
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
propfind(req, space) {
|
|
49
|
+
switch(space){
|
|
50
|
+
case _spaces.SPACE_REPOSITORY.FILES:
|
|
51
|
+
return this.listFiles(req, req.space);
|
|
52
|
+
case _routes.WEBDAV_NS.SERVER:
|
|
53
|
+
return this.listServer(req);
|
|
54
|
+
case _routes.WEBDAV_NS.WEBDAV:
|
|
55
|
+
return this.listWebDAV(req);
|
|
56
|
+
case _routes.WEBDAV_NS.SPACES:
|
|
57
|
+
return this.listSpaces(req);
|
|
58
|
+
case _routes.WEBDAV_NS.TRASH:
|
|
59
|
+
return this.listTrashes(req);
|
|
60
|
+
default:
|
|
61
|
+
this.logger.error(`Unknown space ${space}`);
|
|
62
|
+
throw new _common.HttpException('Unknown space', _common.HttpStatus.NOT_FOUND);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async *listServer(req) {
|
|
66
|
+
yield this.roots[_routes.WEBDAV_NS.SERVER];
|
|
67
|
+
if (req.dav.depth === _webdav.DEPTH.MEMBERS) {
|
|
68
|
+
yield this.roots[_routes.WEBDAV_NS.WEBDAV];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async *listWebDAV(req) {
|
|
72
|
+
yield this.roots[_routes.WEBDAV_NS.WEBDAV];
|
|
73
|
+
if (req.dav.depth === _webdav.DEPTH.MEMBERS) {
|
|
74
|
+
for (const root of Object.values(this.roots)){
|
|
75
|
+
if ([
|
|
76
|
+
_routes.WEBDAV_NS.SERVER,
|
|
77
|
+
_routes.WEBDAV_NS.WEBDAV
|
|
78
|
+
].indexOf(root.name) === -1) {
|
|
79
|
+
// filter repositories based on user applications
|
|
80
|
+
if (!(0, _permissions.canAccessToSpaceUrl)(req.user, _routes.WEBDAV_SPACES[root.name].spaceRepository)) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
yield root;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async *listSpaces(req) {
|
|
89
|
+
yield this.roots[_routes.WEBDAV_NS.SPACES];
|
|
90
|
+
if (req.dav.depth === _webdav.DEPTH.MEMBERS) {
|
|
91
|
+
for (const s of (await this.spacesManager.listSpaces(req.user.id))){
|
|
92
|
+
yield new _webdavfilemodel.WebDAVFile({
|
|
93
|
+
id: s.id,
|
|
94
|
+
name: s.name,
|
|
95
|
+
alias: s.alias,
|
|
96
|
+
isDir: true,
|
|
97
|
+
size: 0,
|
|
98
|
+
mime: undefined,
|
|
99
|
+
ctime: new Date(s.createdAt).getTime(),
|
|
100
|
+
mtime: new Date(s.modifiedAt).getTime()
|
|
101
|
+
}, req.dav.url);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async *listTrashes(req) {
|
|
106
|
+
yield this.roots[_routes.WEBDAV_NS.TRASH];
|
|
107
|
+
if (req.dav.depth === _webdav.DEPTH.MEMBERS) {
|
|
108
|
+
for (const f of (await this.spacesManager.listTrashes(req.user))){
|
|
109
|
+
yield new _webdavfilemodel.WebDAVFile({
|
|
110
|
+
id: f.id,
|
|
111
|
+
alias: f.alias,
|
|
112
|
+
name: `${f.alias} (${f.nb})`,
|
|
113
|
+
isDir: true,
|
|
114
|
+
size: 0,
|
|
115
|
+
mime: undefined,
|
|
116
|
+
mtime: f.mtime,
|
|
117
|
+
ctime: f.ctime
|
|
118
|
+
}, req.dav.url);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
async *listFiles(req, space) {
|
|
123
|
+
let isDir;
|
|
124
|
+
if (space.inSharesList) {
|
|
125
|
+
// The shares are defined like a files (direct link)
|
|
126
|
+
isDir = true;
|
|
127
|
+
yield this.roots[_routes.WEBDAV_NS.SHARES];
|
|
128
|
+
} else {
|
|
129
|
+
if (!await (0, _files.isPathExists)(space.realPath)) {
|
|
130
|
+
this.logger.warn(`Location not found : ${space.realPath}`);
|
|
131
|
+
throw new _common.HttpException('Location not found', _common.HttpStatus.NOT_FOUND);
|
|
132
|
+
}
|
|
133
|
+
yield new _webdavfilemodel.WebDAVFile(await (0, _files.getProps)(space.realPath, req.dav.url), req.dav.url, true);
|
|
134
|
+
}
|
|
135
|
+
if (req.dav.depth === _webdav.DEPTH.MEMBERS && (isDir === true || await (0, _files.isPathIsDir)(space.realPath))) {
|
|
136
|
+
const { files } = await this.spacesBrowser.browse(req.user, space);
|
|
137
|
+
for (const f of files){
|
|
138
|
+
yield new _webdavfilemodel.WebDAVFile(f, req.dav.url);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
constructor(spacesManager, spacesBrowser){
|
|
143
|
+
this.spacesManager = spacesManager;
|
|
144
|
+
this.spacesBrowser = spacesBrowser;
|
|
145
|
+
this.logger = new _common.Logger(WebDAVSpaces.name);
|
|
146
|
+
this.roots = {};
|
|
147
|
+
for (const [name, info] of Object.entries(_routes.WEBDAV_SPACES)){
|
|
148
|
+
this.roots[name] = new _webdavfilemodel.WebDAVFile({
|
|
149
|
+
id: 0,
|
|
150
|
+
name: name,
|
|
151
|
+
isDir: true,
|
|
152
|
+
size: 0,
|
|
153
|
+
ctime: new Date().getTime(),
|
|
154
|
+
mtime: new Date().getTime(),
|
|
155
|
+
mime: undefined
|
|
156
|
+
}, info.route, true);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
WebDAVSpaces = _ts_decorate([
|
|
161
|
+
(0, _common.Injectable)(),
|
|
162
|
+
_ts_metadata("design:type", Function),
|
|
163
|
+
_ts_metadata("design:paramtypes", [
|
|
164
|
+
typeof _spacesmanagerservice.SpacesManager === "undefined" ? Object : _spacesmanagerservice.SpacesManager,
|
|
165
|
+
typeof _spacesbrowserservice.SpacesBrowser === "undefined" ? Object : _spacesbrowserservice.SpacesBrowser
|
|
166
|
+
])
|
|
167
|
+
], WebDAVSpaces);
|
|
168
|
+
|
|
169
|
+
//# sourceMappingURL=webdav-spaces.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/webdav/services/webdav-spaces.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 { getProps, isPathExists, isPathIsDir } from '../../files/utils/files'\nimport { SPACE_REPOSITORY } from '../../spaces/constants/spaces'\nimport { SpaceEnv } from '../../spaces/models/space-env.model'\nimport { SpacesBrowser } from '../../spaces/services/spaces-browser.service'\nimport { SpacesManager } from '../../spaces/services/spaces-manager.service'\nimport { canAccessToSpaceUrl } from '../../spaces/utils/permissions'\nimport { UserModel } from '../../users/models/user.model'\nimport { WEBDAV_NS, WEBDAV_SPACES } from '../constants/routes'\nimport { DEPTH } from '../constants/webdav'\nimport { FastifyDAVRequest } from '../interfaces/webdav.interface'\nimport { WebDAVFile } from '../models/webdav-file.model'\nimport { WEBDAV_PATH_TO_SPACE_SEGMENTS } from '../utils/routes'\n\n@Injectable()\nexport class WebDAVSpaces {\n private readonly logger = new Logger(WebDAVSpaces.name)\n private readonly roots: Record<string, WebDAVFile> = {}\n\n constructor(\n private readonly spacesManager: SpacesManager,\n private readonly spacesBrowser: SpacesBrowser\n ) {\n for (const [name, info] of Object.entries(WEBDAV_SPACES)) {\n this.roots[name] = new WebDAVFile(\n {\n id: 0,\n name: name,\n isDir: true,\n size: 0,\n ctime: new Date().getTime(),\n mtime: new Date().getTime(),\n mime: undefined\n },\n info.route,\n true\n )\n }\n }\n\n async spaceEnv(user: UserModel, path: string) {\n try {\n const space: SpaceEnv = await this.spacesManager.spaceEnv(user, WEBDAV_PATH_TO_SPACE_SEGMENTS(path))\n if (space) {\n return space\n }\n } catch (e) {\n this.logger.warn(`${this.spaceEnv.name} : ${e}`)\n return null\n }\n\n this.logger.warn(`Space not authorized or not found : ${path}`)\n return null\n }\n\n propfind(req: FastifyDAVRequest, space: string): AsyncGenerator<WebDAVFile> {\n switch (space) {\n case SPACE_REPOSITORY.FILES:\n return this.listFiles(req, req.space)\n case WEBDAV_NS.SERVER:\n return this.listServer(req)\n case WEBDAV_NS.WEBDAV:\n return this.listWebDAV(req)\n case WEBDAV_NS.SPACES:\n return this.listSpaces(req)\n case WEBDAV_NS.TRASH:\n return this.listTrashes(req)\n default:\n this.logger.error(`Unknown space ${space}`)\n throw new HttpException('Unknown space', HttpStatus.NOT_FOUND)\n }\n }\n\n private async *listServer(req: FastifyDAVRequest): AsyncGenerator<WebDAVFile> {\n yield this.roots[WEBDAV_NS.SERVER]\n\n if (req.dav.depth === DEPTH.MEMBERS) {\n yield this.roots[WEBDAV_NS.WEBDAV]\n }\n }\n\n private async *listWebDAV(req: FastifyDAVRequest): AsyncGenerator<WebDAVFile> {\n yield this.roots[WEBDAV_NS.WEBDAV]\n\n if (req.dav.depth === DEPTH.MEMBERS) {\n for (const root of Object.values(this.roots)) {\n if ([WEBDAV_NS.SERVER as string, WEBDAV_NS.WEBDAV as string].indexOf(root.name) === -1) {\n // filter repositories based on user applications\n if (!canAccessToSpaceUrl(req.user, WEBDAV_SPACES[root.name].spaceRepository)) {\n continue\n }\n yield root\n }\n }\n }\n }\n\n private async *listSpaces(req: FastifyDAVRequest): AsyncGenerator<WebDAVFile> {\n yield this.roots[WEBDAV_NS.SPACES]\n\n if (req.dav.depth === DEPTH.MEMBERS) {\n for (const s of await this.spacesManager.listSpaces(req.user.id)) {\n yield new WebDAVFile(\n {\n id: s.id,\n name: s.name,\n alias: s.alias,\n isDir: true,\n size: 0,\n mime: undefined,\n ctime: new Date(s.createdAt).getTime(),\n mtime: new Date(s.modifiedAt).getTime()\n },\n req.dav.url\n )\n }\n }\n }\n\n private async *listTrashes(req: FastifyDAVRequest): AsyncGenerator<WebDAVFile> {\n yield this.roots[WEBDAV_NS.TRASH]\n\n if (req.dav.depth === DEPTH.MEMBERS) {\n for (const f of await this.spacesManager.listTrashes(req.user)) {\n yield new WebDAVFile(\n {\n id: f.id,\n alias: f.alias,\n name: `${f.alias} (${f.nb})`,\n isDir: true,\n size: 0,\n mime: undefined,\n mtime: f.mtime,\n ctime: f.ctime\n },\n req.dav.url\n )\n }\n }\n }\n\n private async *listFiles(req: FastifyDAVRequest, space: SpaceEnv): AsyncGenerator<WebDAVFile> {\n let isDir: boolean\n\n if (space.inSharesList) {\n // The shares are defined like a files (direct link)\n isDir = true\n yield this.roots[WEBDAV_NS.SHARES]\n } else {\n if (!(await isPathExists(space.realPath))) {\n this.logger.warn(`Location not found : ${space.realPath}`)\n throw new HttpException('Location not found', HttpStatus.NOT_FOUND)\n }\n yield new WebDAVFile(await getProps(space.realPath, req.dav.url), req.dav.url, true)\n }\n\n if (req.dav.depth === DEPTH.MEMBERS && (isDir === true || (await isPathIsDir(space.realPath)))) {\n const { files } = await this.spacesBrowser.browse(req.user, space)\n for (const f of files) {\n yield new WebDAVFile(f, req.dav.url)\n }\n }\n }\n}\n"],"names":["WebDAVSpaces","spaceEnv","user","path","space","spacesManager","WEBDAV_PATH_TO_SPACE_SEGMENTS","e","logger","warn","name","propfind","req","SPACE_REPOSITORY","FILES","listFiles","WEBDAV_NS","SERVER","listServer","WEBDAV","listWebDAV","SPACES","listSpaces","TRASH","listTrashes","error","HttpException","HttpStatus","NOT_FOUND","roots","dav","depth","DEPTH","MEMBERS","root","Object","values","indexOf","canAccessToSpaceUrl","WEBDAV_SPACES","spaceRepository","s","id","WebDAVFile","alias","isDir","size","mime","undefined","ctime","Date","createdAt","getTime","mtime","modifiedAt","url","f","nb","inSharesList","SHARES","isPathExists","realPath","getProps","isPathIsDir","files","spacesBrowser","browse","Logger","info","entries","route"],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
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 _spacesbrowserservice = require("../../spaces/services/spaces-browser.service");
|
|
11
|
+
const _spacesmanagerservice = require("../../spaces/services/spaces-manager.service");
|
|
12
|
+
const _webdavspacesservice = require("./webdav-spaces.service");
|
|
13
|
+
describe(_webdavspacesservice.WebDAVSpaces.name, ()=>{
|
|
14
|
+
let service;
|
|
15
|
+
beforeAll(async ()=>{
|
|
16
|
+
const module = await _testing.Test.createTestingModule({
|
|
17
|
+
providers: [
|
|
18
|
+
{
|
|
19
|
+
provide: _spacesbrowserservice.SpacesBrowser,
|
|
20
|
+
useValue: {}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
provide: _spacesmanagerservice.SpacesManager,
|
|
24
|
+
useValue: {}
|
|
25
|
+
},
|
|
26
|
+
_webdavspacesservice.WebDAVSpaces
|
|
27
|
+
]
|
|
28
|
+
}).compile();
|
|
29
|
+
service = module.get(_webdavspacesservice.WebDAVSpaces);
|
|
30
|
+
});
|
|
31
|
+
it('should be defined', ()=>{
|
|
32
|
+
expect(service).toBeDefined();
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=webdav-spaces.service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/webdav/services/webdav-spaces.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 { SpacesBrowser } from '../../spaces/services/spaces-browser.service'\nimport { SpacesManager } from '../../spaces/services/spaces-manager.service'\nimport { WebDAVSpaces } from './webdav-spaces.service'\n\ndescribe(WebDAVSpaces.name, () => {\n let service: WebDAVSpaces\n\n beforeAll(async () => {\n const module: TestingModule = await Test.createTestingModule({\n providers: [\n { provide: SpacesBrowser, useValue: {} },\n {\n provide: SpacesManager,\n useValue: {}\n },\n WebDAVSpaces\n ]\n }).compile()\n\n service = module.get<WebDAVSpaces>(WebDAVSpaces)\n })\n\n it('should be defined', () => {\n expect(service).toBeDefined()\n })\n})\n"],"names":["describe","WebDAVSpaces","name","service","beforeAll","module","Test","createTestingModule","providers","provide","SpacesBrowser","useValue","SpacesManager","compile","get","it","expect","toBeDefined"],"mappings":"AAAA;;;;CAIC;;;;yBAEmC;sCACN;sCACA;qCACD;AAE7BA,SAASC,iCAAY,CAACC,IAAI,EAAE;IAC1B,IAAIC;IAEJC,UAAU;QACR,MAAMC,SAAwB,MAAMC,aAAI,CAACC,mBAAmB,CAAC;YAC3DC,WAAW;gBACT;oBAAEC,SAASC,mCAAa;oBAAEC,UAAU,CAAC;gBAAE;gBACvC;oBACEF,SAASG,mCAAa;oBACtBD,UAAU,CAAC;gBACb;gBACAV,iCAAY;aACb;QACH,GAAGY,OAAO;QAEVV,UAAUE,OAAOS,GAAG,CAAeb,iCAAY;IACjD;IAEAc,GAAG,qBAAqB;QACtBC,OAAOb,SAASc,WAAW;IAC7B;AACF"}
|
|
@@ -0,0 +1,89 @@
|
|
|
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
|
+
function _export(target, all) {
|
|
10
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
_export(exports, {
|
|
16
|
+
get extractAllTokens () {
|
|
17
|
+
return extractAllTokens;
|
|
18
|
+
},
|
|
19
|
+
get extractOneToken () {
|
|
20
|
+
return extractOneToken;
|
|
21
|
+
},
|
|
22
|
+
get parseIfHeader () {
|
|
23
|
+
return parseIfHeader;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
const _functions = require("../../../common/functions");
|
|
27
|
+
//IF HEADER Before : (<locktoken:a-write-lock-token> ["I am an ETag"]) (["I am another ETag"])
|
|
28
|
+
//IF HEADER After : [{"path":"/webdav/specs/","token":{"mustMatch":true,"value":"urn:uuid:181d4fae-7d8c-11d0-a765-00a0c91e6bf2"},
|
|
29
|
+
// "etag":{"mustMatch":true,"value":"W/\"A weak ETag\""}},
|
|
30
|
+
// {"path":"/webdav/specs/","etag":{"mustMatch":true,"value":"\"strong ETag\""}}]
|
|
31
|
+
const ifHeaderRegExp = /(?:<([^>]+)>)?\s*\(([^)]+)\)/g;
|
|
32
|
+
const ifHeaderInternalRegExp = /((not)|\[([^\]]+)\]|<(DAV:no-lock)>|<([^>]+)>|([^\s]+))/gi;
|
|
33
|
+
function parseIfHeaderInternal(path, group) {
|
|
34
|
+
let match = ifHeaderInternalRegExp.exec(group);
|
|
35
|
+
let mustMatch = true;
|
|
36
|
+
const state = path ? {
|
|
37
|
+
path: path
|
|
38
|
+
} : {};
|
|
39
|
+
while(match){
|
|
40
|
+
if (match[2]) {
|
|
41
|
+
// not
|
|
42
|
+
// inverse condition
|
|
43
|
+
mustMatch = false;
|
|
44
|
+
} else if (match[5] || match[6]) {
|
|
45
|
+
// check if a lock token match
|
|
46
|
+
state.token = {
|
|
47
|
+
mustMatch,
|
|
48
|
+
value: match[5] || match[6]
|
|
49
|
+
};
|
|
50
|
+
mustMatch = true;
|
|
51
|
+
} else if (match[3]) {
|
|
52
|
+
// check if etag is matching
|
|
53
|
+
state.etag = {
|
|
54
|
+
mustMatch,
|
|
55
|
+
value: match[3]
|
|
56
|
+
};
|
|
57
|
+
mustMatch = true;
|
|
58
|
+
} else if (match[4]) {
|
|
59
|
+
// check if no lock exists (DAV:no-lock)
|
|
60
|
+
state.haveLock = {
|
|
61
|
+
mustMatch: !mustMatch
|
|
62
|
+
};
|
|
63
|
+
mustMatch = true;
|
|
64
|
+
}
|
|
65
|
+
match = ifHeaderInternalRegExp.exec(group);
|
|
66
|
+
}
|
|
67
|
+
return state;
|
|
68
|
+
}
|
|
69
|
+
function parseIfHeader(ifHeader) {
|
|
70
|
+
const orArray = [];
|
|
71
|
+
let match = ifHeaderRegExp.exec(ifHeader);
|
|
72
|
+
let path = undefined;
|
|
73
|
+
while(match){
|
|
74
|
+
if (match[1]) {
|
|
75
|
+
path = (0, _functions.urlToPath)(match[1]);
|
|
76
|
+
}
|
|
77
|
+
orArray.push(parseIfHeaderInternal(path, match[2]));
|
|
78
|
+
match = ifHeaderRegExp.exec(ifHeader);
|
|
79
|
+
}
|
|
80
|
+
return orArray;
|
|
81
|
+
}
|
|
82
|
+
function extractOneToken(ifHeaders) {
|
|
83
|
+
return ifHeaders[0].token.value;
|
|
84
|
+
}
|
|
85
|
+
function extractAllTokens(ifHeaders) {
|
|
86
|
+
return ifHeaders ? ifHeaders.map((i)=>i.token?.value).filter(Boolean) : [];
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=if-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/webdav/utils/if-header.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 { urlToPath } from '../../../common/functions'\nimport { IfHeader } from '../interfaces/if-header.interface'\n\n//IF HEADER Before : (<locktoken:a-write-lock-token> [\"I am an ETag\"]) ([\"I am another ETag\"])\n//IF HEADER After : [{\"path\":\"/webdav/specs/\",\"token\":{\"mustMatch\":true,\"value\":\"urn:uuid:181d4fae-7d8c-11d0-a765-00a0c91e6bf2\"},\n// \"etag\":{\"mustMatch\":true,\"value\":\"W/\\\"A weak ETag\\\"\"}},\n// {\"path\":\"/webdav/specs/\",\"etag\":{\"mustMatch\":true,\"value\":\"\\\"strong ETag\\\"\"}}]\n\nconst ifHeaderRegExp = /(?:<([^>]+)>)?\\s*\\(([^)]+)\\)/g\nconst ifHeaderInternalRegExp = /((not)|\\[([^\\]]+)\\]|<(DAV:no-lock)>|<([^>]+)>|([^\\s]+))/gi\n\nfunction parseIfHeaderInternal(path: string, group: string) {\n let match = ifHeaderInternalRegExp.exec(group)\n\n let mustMatch = true\n const state: IfHeader = path ? { path: path } : {}\n\n while (match) {\n if (match[2]) {\n // not\n // inverse condition\n mustMatch = false\n } else if (match[5] || match[6]) {\n // check if a lock token match\n state.token = { mustMatch, value: match[5] || match[6] }\n mustMatch = true\n } else if (match[3]) {\n // check if etag is matching\n state.etag = { mustMatch, value: match[3] }\n mustMatch = true\n } else if (match[4]) {\n // check if no lock exists (DAV:no-lock)\n state.haveLock = { mustMatch: !mustMatch }\n mustMatch = true\n }\n match = ifHeaderInternalRegExp.exec(group)\n }\n\n return state\n}\n\nexport function parseIfHeader(ifHeader: string): IfHeader[] {\n const orArray: IfHeader[] = []\n let match = ifHeaderRegExp.exec(ifHeader)\n let path = undefined\n\n while (match) {\n if (match[1]) {\n path = urlToPath(match[1])\n }\n orArray.push(parseIfHeaderInternal(path, match[2]))\n match = ifHeaderRegExp.exec(ifHeader)\n }\n return orArray\n}\n\nexport function extractOneToken(ifHeaders: IfHeader[]): string {\n return ifHeaders[0].token.value\n}\n\nexport function extractAllTokens(ifHeaders: IfHeader[]): string[] {\n return ifHeaders ? ifHeaders.map((i: IfHeader) => i.token?.value).filter(Boolean) : []\n}\n"],"names":["extractAllTokens","extractOneToken","parseIfHeader","ifHeaderRegExp","ifHeaderInternalRegExp","parseIfHeaderInternal","path","group","match","exec","mustMatch","state","token","value","etag","haveLock","ifHeader","orArray","undefined","urlToPath","push","ifHeaders","map","i","filter","Boolean"],"mappings":"AAAA;;;;CAIC;;;;;;;;;;;QA8DeA;eAAAA;;QAJAC;eAAAA;;QAfAC;eAAAA;;;2BAzCU;AAG1B,8FAA8F;AAC9F,iIAAiI;AACjI,8EAA8E;AAC9E,oGAAoG;AAEpG,MAAMC,iBAAiB;AACvB,MAAMC,yBAAyB;AAE/B,SAASC,sBAAsBC,IAAY,EAAEC,KAAa;IACxD,IAAIC,QAAQJ,uBAAuBK,IAAI,CAACF;IAExC,IAAIG,YAAY;IAChB,MAAMC,QAAkBL,OAAO;QAAEA,MAAMA;IAAK,IAAI,CAAC;IAEjD,MAAOE,MAAO;QACZ,IAAIA,KAAK,CAAC,EAAE,EAAE;YACZ,MAAM;YACN,oBAAoB;YACpBE,YAAY;QACd,OAAO,IAAIF,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE,EAAE;YAC/B,8BAA8B;YAC9BG,MAAMC,KAAK,GAAG;gBAAEF;gBAAWG,OAAOL,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE;YAAC;YACvDE,YAAY;QACd,OAAO,IAAIF,KAAK,CAAC,EAAE,EAAE;YACnB,4BAA4B;YAC5BG,MAAMG,IAAI,GAAG;gBAAEJ;gBAAWG,OAAOL,KAAK,CAAC,EAAE;YAAC;YAC1CE,YAAY;QACd,OAAO,IAAIF,KAAK,CAAC,EAAE,EAAE;YACnB,wCAAwC;YACxCG,MAAMI,QAAQ,GAAG;gBAAEL,WAAW,CAACA;YAAU;YACzCA,YAAY;QACd;QACAF,QAAQJ,uBAAuBK,IAAI,CAACF;IACtC;IAEA,OAAOI;AACT;AAEO,SAAST,cAAcc,QAAgB;IAC5C,MAAMC,UAAsB,EAAE;IAC9B,IAAIT,QAAQL,eAAeM,IAAI,CAACO;IAChC,IAAIV,OAAOY;IAEX,MAAOV,MAAO;QACZ,IAAIA,KAAK,CAAC,EAAE,EAAE;YACZF,OAAOa,IAAAA,oBAAS,EAACX,KAAK,CAAC,EAAE;QAC3B;QACAS,QAAQG,IAAI,CAACf,sBAAsBC,MAAME,KAAK,CAAC,EAAE;QACjDA,QAAQL,eAAeM,IAAI,CAACO;IAC9B;IACA,OAAOC;AACT;AAEO,SAAShB,gBAAgBoB,SAAqB;IACnD,OAAOA,SAAS,CAAC,EAAE,CAACT,KAAK,CAACC,KAAK;AACjC;AAEO,SAASb,iBAAiBqB,SAAqB;IACpD,OAAOA,YAAYA,UAAUC,GAAG,CAAC,CAACC,IAAgBA,EAAEX,KAAK,EAAEC,OAAOW,MAAM,CAACC,WAAW,EAAE;AACxF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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, "WEBDAV_PATH_TO_SPACE_SEGMENTS", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function() {
|
|
12
|
+
return WEBDAV_PATH_TO_SPACE_SEGMENTS;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const _routes = require("../../spaces/utils/routes");
|
|
16
|
+
const _routes1 = require("../constants/routes");
|
|
17
|
+
function WEBDAV_PATH_TO_SPACE_SEGMENTS(path) {
|
|
18
|
+
const urlSegments = (0, _routes.PATH_TO_SPACE_SEGMENTS)(path);
|
|
19
|
+
if (urlSegments[0] === _routes1.WEBDAV_BASE_PATH) {
|
|
20
|
+
urlSegments.shift();
|
|
21
|
+
}
|
|
22
|
+
const repository = urlSegments.shift();
|
|
23
|
+
if (!(repository in _routes1.WEBDAV_SPACES)) {
|
|
24
|
+
throw new Error(`Repository not found : ${repository}`);
|
|
25
|
+
}
|
|
26
|
+
urlSegments.unshift(..._routes1.WEBDAV_SPACES[repository].spaceRepository);
|
|
27
|
+
return urlSegments;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/webdav/utils/routes.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 { PATH_TO_SPACE_SEGMENTS } from '../../spaces/utils/routes'\nimport { WEBDAV_BASE_PATH, WEBDAV_SPACES } from '../constants/routes'\n\nexport function WEBDAV_PATH_TO_SPACE_SEGMENTS(path: string): string[] {\n const urlSegments = PATH_TO_SPACE_SEGMENTS(path)\n if (urlSegments[0] === WEBDAV_BASE_PATH) {\n urlSegments.shift()\n }\n const repository = urlSegments.shift()\n if (!(repository in WEBDAV_SPACES)) {\n throw new Error(`Repository not found : ${repository}`)\n }\n urlSegments.unshift(...WEBDAV_SPACES[repository].spaceRepository)\n return urlSegments\n}\n"],"names":["WEBDAV_PATH_TO_SPACE_SEGMENTS","path","urlSegments","PATH_TO_SPACE_SEGMENTS","WEBDAV_BASE_PATH","shift","repository","WEBDAV_SPACES","Error","unshift","spaceRepository"],"mappings":"AAAA;;;;CAIC;;;;+BAKeA;;;eAAAA;;;wBAHuB;yBACS;AAEzC,SAASA,8BAA8BC,IAAY;IACxD,MAAMC,cAAcC,IAAAA,8BAAsB,EAACF;IAC3C,IAAIC,WAAW,CAAC,EAAE,KAAKE,yBAAgB,EAAE;QACvCF,YAAYG,KAAK;IACnB;IACA,MAAMC,aAAaJ,YAAYG,KAAK;IACpC,IAAI,CAAEC,CAAAA,cAAcC,sBAAa,AAAD,GAAI;QAClC,MAAM,IAAIC,MAAM,CAAC,uBAAuB,EAAEF,YAAY;IACxD;IACAJ,YAAYO,OAAO,IAAIF,sBAAa,CAACD,WAAW,CAACI,eAAe;IAChE,OAAOR;AACT"}
|