@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,57 @@
|
|
|
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 comments () {
|
|
17
|
+
return comments;
|
|
18
|
+
},
|
|
19
|
+
get fileHasCommentsSubquerySQL () {
|
|
20
|
+
return fileHasCommentsSubquerySQL;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
const _drizzleorm = require("drizzle-orm");
|
|
24
|
+
const _mysqlcore = require("drizzle-orm/mysql-core");
|
|
25
|
+
const _filesschema = require("../../files/schemas/files.schema");
|
|
26
|
+
const _usersschema = require("../../users/schemas/users.schema");
|
|
27
|
+
const comments = (0, _mysqlcore.mysqlTable)('comments', {
|
|
28
|
+
id: (0, _mysqlcore.bigint)('id', {
|
|
29
|
+
mode: 'number',
|
|
30
|
+
unsigned: true
|
|
31
|
+
}).autoincrement().primaryKey(),
|
|
32
|
+
userId: (0, _mysqlcore.bigint)('userId', {
|
|
33
|
+
mode: 'number',
|
|
34
|
+
unsigned: true
|
|
35
|
+
}).references(()=>_usersschema.users.id, {
|
|
36
|
+
onDelete: 'cascade'
|
|
37
|
+
}).notNull(),
|
|
38
|
+
fileId: (0, _mysqlcore.bigint)('fileId', {
|
|
39
|
+
mode: 'number',
|
|
40
|
+
unsigned: true
|
|
41
|
+
}).references(()=>_filesschema.files.id, {
|
|
42
|
+
onDelete: 'cascade'
|
|
43
|
+
}).notNull(),
|
|
44
|
+
content: (0, _mysqlcore.text)(),
|
|
45
|
+
modifiedAt: (0, _mysqlcore.datetime)('modifiedAt', {
|
|
46
|
+
mode: 'date'
|
|
47
|
+
}).default((0, _drizzleorm.sql)`CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP`),
|
|
48
|
+
createdAt: (0, _mysqlcore.datetime)('createdAt', {
|
|
49
|
+
mode: 'date'
|
|
50
|
+
}).default((0, _drizzleorm.sql)`CURRENT_TIMESTAMP`).notNull()
|
|
51
|
+
}, (table)=>[
|
|
52
|
+
(0, _mysqlcore.index)('user_idx').on(table.userId),
|
|
53
|
+
(0, _mysqlcore.index)('file_idx').on(table.fileId)
|
|
54
|
+
]);
|
|
55
|
+
const fileHasCommentsSubquerySQL = (fileId)=>(0, _drizzleorm.sql)`EXISTS(SELECT 1 FROM ${comments} WHERE ${(0, _drizzleorm.sql)`${fileId}`} IS NOT NULL AND ${(0, _drizzleorm.sql)`${comments.fileId}`} = ${(0, _drizzleorm.sql)`${fileId}`})`;
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=comments.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/comments/schemas/comments.schema.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 { Column, SQL, sql } from 'drizzle-orm'\nimport { bigint, datetime, index, mysqlTable, text } from 'drizzle-orm/mysql-core'\nimport { files } from '../../files/schemas/files.schema'\nimport { users } from '../../users/schemas/users.schema'\n\n/*\nFor now, comments are only allowed on existing files.\nIt is not possible to comment directly on this type of roots:\n * external share\n * external root space\nIt is however possible to comment on files included in these roots.\n*/\n\nexport const comments = mysqlTable(\n 'comments',\n {\n id: bigint('id', { mode: 'number', unsigned: true }).autoincrement().primaryKey(),\n userId: bigint('userId', { mode: 'number', unsigned: true })\n .references(() => users.id, { onDelete: 'cascade' })\n .notNull(),\n fileId: bigint('fileId', { mode: 'number', unsigned: true })\n .references(() => files.id, { onDelete: 'cascade' })\n .notNull(),\n content: text(),\n modifiedAt: datetime('modifiedAt', { mode: 'date' }).default(sql`CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP`),\n createdAt: datetime('createdAt', { mode: 'date' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull()\n },\n (table) => [index('user_idx').on(table.userId), index('file_idx').on(table.fileId)]\n)\n\n// export const createFullTextContentIndex = sql`CREATE FULLTEXT INDEX `content_idx` ON comments (`content`)`\n\nexport const fileHasCommentsSubquerySQL = (fileId: Column | SQL): SQL =>\n sql`EXISTS(SELECT 1 FROM ${comments} WHERE ${sql`${fileId}`} IS NOT NULL AND ${sql`${comments.fileId}`} = ${sql`${fileId}`})`\n"],"names":["comments","fileHasCommentsSubquerySQL","mysqlTable","id","bigint","mode","unsigned","autoincrement","primaryKey","userId","references","users","onDelete","notNull","fileId","files","content","text","modifiedAt","datetime","default","sql","createdAt","table","index","on"],"mappings":"AAAA;;;;CAIC;;;;;;;;;;;QAeYA;eAAAA;;QAqBAC;eAAAA;;;4BAlCoB;2BACyB;6BACpC;6BACA;AAUf,MAAMD,WAAWE,IAAAA,qBAAU,EAChC,YACA;IACEC,IAAIC,IAAAA,iBAAM,EAAC,MAAM;QAAEC,MAAM;QAAUC,UAAU;IAAK,GAAGC,aAAa,GAAGC,UAAU;IAC/EC,QAAQL,IAAAA,iBAAM,EAAC,UAAU;QAAEC,MAAM;QAAUC,UAAU;IAAK,GACvDI,UAAU,CAAC,IAAMC,kBAAK,CAACR,EAAE,EAAE;QAAES,UAAU;IAAU,GACjDC,OAAO;IACVC,QAAQV,IAAAA,iBAAM,EAAC,UAAU;QAAEC,MAAM;QAAUC,UAAU;IAAK,GACvDI,UAAU,CAAC,IAAMK,kBAAK,CAACZ,EAAE,EAAE;QAAES,UAAU;IAAU,GACjDC,OAAO;IACVG,SAASC,IAAAA,eAAI;IACbC,YAAYC,IAAAA,mBAAQ,EAAC,cAAc;QAAEd,MAAM;IAAO,GAAGe,OAAO,CAACC,IAAAA,eAAG,CAAA,CAAC,6CAA6C,CAAC;IAC/GC,WAAWH,IAAAA,mBAAQ,EAAC,aAAa;QAAEd,MAAM;IAAO,GAC7Ce,OAAO,CAACC,IAAAA,eAAG,CAAA,CAAC,iBAAiB,CAAC,EAC9BR,OAAO;AACZ,GACA,CAACU,QAAU;QAACC,IAAAA,gBAAK,EAAC,YAAYC,EAAE,CAACF,MAAMd,MAAM;QAAGe,IAAAA,gBAAK,EAAC,YAAYC,EAAE,CAACF,MAAMT,MAAM;KAAE;AAK9E,MAAMb,6BAA6B,CAACa,SACzCO,IAAAA,eAAG,CAAA,CAAC,qBAAqB,EAAErB,SAAS,OAAO,EAAEqB,IAAAA,eAAG,CAAA,CAAC,EAAEP,OAAO,CAAC,CAAC,iBAAiB,EAAEO,IAAAA,eAAG,CAAA,CAAC,EAAErB,SAASc,MAAM,CAAC,CAAC,CAAC,GAAG,EAAEO,IAAAA,eAAG,CAAA,CAAC,EAAEP,OAAO,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
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, "CommentsManager", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function() {
|
|
12
|
+
return CommentsManager;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const _common = require("@nestjs/common");
|
|
16
|
+
const _contextmanagerservice = require("../../../infrastructure/context/services/context-manager.service");
|
|
17
|
+
const _filesqueriesservice = require("../../files/services/files-queries.service");
|
|
18
|
+
const _files = require("../../files/utils/files");
|
|
19
|
+
const _notifications = require("../../notifications/constants/notifications");
|
|
20
|
+
const _notificationsmanagerservice = require("../../notifications/services/notifications-manager.service");
|
|
21
|
+
const _commentsqueriesservice = require("./comments-queries.service");
|
|
22
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
23
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
25
|
+
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;
|
|
26
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
27
|
+
}
|
|
28
|
+
function _ts_metadata(k, v) {
|
|
29
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
30
|
+
}
|
|
31
|
+
let CommentsManager = class CommentsManager {
|
|
32
|
+
async getComments(user, space) {
|
|
33
|
+
const fileId = await this.getFileId(space);
|
|
34
|
+
if (!fileId) {
|
|
35
|
+
return [];
|
|
36
|
+
}
|
|
37
|
+
return this.commentQueries.getComments(user.id, space.dbFile?.ownerId === user.id, fileId);
|
|
38
|
+
}
|
|
39
|
+
async createComment(user, space, createCommentDto) {
|
|
40
|
+
if ((space.dbFile.spaceExternalRootId || space.dbFile.shareExternalId) && space.dbFile.path === '.') {
|
|
41
|
+
// If path is empty a file with path = '.' and name = '.' will be created
|
|
42
|
+
// The space browser does not support this kind of file and will remove it
|
|
43
|
+
// Maybe to implement later
|
|
44
|
+
throw new _common.HttpException(`Not supported on this kind of ${space.dbFile.spaceExternalRootId ? 'space root' : 'share'}`, _common.HttpStatus.BAD_REQUEST);
|
|
45
|
+
}
|
|
46
|
+
let fileId;
|
|
47
|
+
if (createCommentDto.fileId > 0) {
|
|
48
|
+
fileId = await this.getFileId(space);
|
|
49
|
+
if (createCommentDto.fileId !== fileId) {
|
|
50
|
+
throw new _common.HttpException('File id mismatch', _common.HttpStatus.BAD_REQUEST);
|
|
51
|
+
}
|
|
52
|
+
} else {
|
|
53
|
+
fileId = await this.getFileId(space, createCommentDto.fileId);
|
|
54
|
+
}
|
|
55
|
+
const commentId = await this.commentQueries.createComment(user.id, fileId, createCommentDto.content);
|
|
56
|
+
this.notify(user, fileId, space, createCommentDto.content).catch((e)=>this.logger.error(`${this.createComment.name} - ${e}`));
|
|
57
|
+
return (await this.commentQueries.getComments(user.id, space.dbFile?.ownerId === user.id, null, commentId))[0];
|
|
58
|
+
}
|
|
59
|
+
async updateComment(user, space, updateCommentDto) {
|
|
60
|
+
const [comment] = await this.commentQueries.getComments(user.id, space.dbFile?.ownerId === user.id, null, updateCommentDto.commentId);
|
|
61
|
+
if (!comment) {
|
|
62
|
+
throw new _common.HttpException('Location not found', _common.HttpStatus.NOT_FOUND);
|
|
63
|
+
}
|
|
64
|
+
const fileId = await this.getFileId(space);
|
|
65
|
+
if (updateCommentDto.fileId !== fileId || comment.fileId !== fileId) {
|
|
66
|
+
throw new _common.HttpException('File id mismatch', _common.HttpStatus.BAD_REQUEST);
|
|
67
|
+
}
|
|
68
|
+
if (!await this.commentQueries.updateComment(user.id, updateCommentDto.commentId, updateCommentDto.fileId, updateCommentDto.content)) {
|
|
69
|
+
throw new _common.HttpException('Unable to update', _common.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
70
|
+
}
|
|
71
|
+
return (await this.commentQueries.getComments(user.id, space.dbFile?.ownerId === user.id, null, updateCommentDto.commentId))[0];
|
|
72
|
+
}
|
|
73
|
+
async deleteComment(user, space, deleteCommentDto) {
|
|
74
|
+
const fileId = await this.getFileId(space);
|
|
75
|
+
if (deleteCommentDto.fileId !== fileId) {
|
|
76
|
+
throw new _common.HttpException('File id mismatch', _common.HttpStatus.BAD_REQUEST);
|
|
77
|
+
}
|
|
78
|
+
if (!await this.commentQueries.deleteComment(user.id, deleteCommentDto.commentId, fileId, space.dbFile?.ownerId === user.id)) {
|
|
79
|
+
throw new _common.HttpException('You are not allowed to do this action', _common.HttpStatus.FORBIDDEN);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async getFileId(space, fileId) {
|
|
83
|
+
if (!await (0, _files.isPathExists)(space.realPath)) {
|
|
84
|
+
throw new _common.HttpException('Location not found', _common.HttpStatus.NOT_FOUND);
|
|
85
|
+
}
|
|
86
|
+
const fileProps = {
|
|
87
|
+
...await (0, _files.getProps)(space.realPath, space.dbFile.path),
|
|
88
|
+
id: undefined
|
|
89
|
+
};
|
|
90
|
+
if (fileId) {
|
|
91
|
+
// get or create
|
|
92
|
+
return this.filesQueries.getOrCreateSpaceFile(fileId, fileProps, space.dbFile);
|
|
93
|
+
} else {
|
|
94
|
+
// get only
|
|
95
|
+
return this.filesQueries.getSpaceFileId(fileProps, space.dbFile);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async getRecents(user, limit) {
|
|
99
|
+
return this.commentQueries.getRecentsFromUser(user, limit);
|
|
100
|
+
}
|
|
101
|
+
async notify(fromUser, fileId, space, comment) {
|
|
102
|
+
const members = await this.commentQueries.membersToNotify(fromUser.id, fileId);
|
|
103
|
+
if (!members.length) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const notification = {
|
|
107
|
+
app: _notifications.NOTIFICATION_APP.COMMENTS,
|
|
108
|
+
event: _notifications.NOTIFICATION_APP_EVENT.COMMENTS,
|
|
109
|
+
element: (0, _files.fileName)(space.url),
|
|
110
|
+
url: (0, _files.dirName)(space.url)
|
|
111
|
+
};
|
|
112
|
+
this.notificationsManager.create(members, notification, {
|
|
113
|
+
author: fromUser,
|
|
114
|
+
currentUrl: this.contextManager.get('headerOriginUrl'),
|
|
115
|
+
content: comment
|
|
116
|
+
}).catch((e)=>this.logger.error(`${this.notify.name} - ${e}`));
|
|
117
|
+
}
|
|
118
|
+
constructor(contextManager, commentQueries, filesQueries, notificationsManager){
|
|
119
|
+
this.contextManager = contextManager;
|
|
120
|
+
this.commentQueries = commentQueries;
|
|
121
|
+
this.filesQueries = filesQueries;
|
|
122
|
+
this.notificationsManager = notificationsManager;
|
|
123
|
+
this.logger = new _common.Logger(CommentsManager.name);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
CommentsManager = _ts_decorate([
|
|
127
|
+
(0, _common.Injectable)(),
|
|
128
|
+
_ts_metadata("design:type", Function),
|
|
129
|
+
_ts_metadata("design:paramtypes", [
|
|
130
|
+
typeof _contextmanagerservice.ContextManager === "undefined" ? Object : _contextmanagerservice.ContextManager,
|
|
131
|
+
typeof _commentsqueriesservice.CommentsQueries === "undefined" ? Object : _commentsqueriesservice.CommentsQueries,
|
|
132
|
+
typeof _filesqueriesservice.FilesQueries === "undefined" ? Object : _filesqueriesservice.FilesQueries,
|
|
133
|
+
typeof _notificationsmanagerservice.NotificationsManager === "undefined" ? Object : _notificationsmanagerservice.NotificationsManager
|
|
134
|
+
])
|
|
135
|
+
], CommentsManager);
|
|
136
|
+
|
|
137
|
+
//# sourceMappingURL=comments-manager.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/comments/services/comments-manager.service.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { HttpException, HttpStatus, Injectable, Logger } from '@nestjs/common'\nimport { ContextManager } from '../../../infrastructure/context/services/context-manager.service'\nimport type { FileProps } from '../../files/interfaces/file-props.interface'\nimport { FilesQueries } from '../../files/services/files-queries.service'\nimport { dirName, fileName, getProps, isPathExists } from '../../files/utils/files'\nimport { NOTIFICATION_APP, NOTIFICATION_APP_EVENT } from '../../notifications/constants/notifications'\nimport { NotificationContent } from '../../notifications/interfaces/notification-properties.interface'\nimport { UserMailNotification } from '../../notifications/interfaces/user-mail-notification'\nimport { NotificationsManager } from '../../notifications/services/notifications-manager.service'\nimport { SpaceEnv } from '../../spaces/models/space-env.model'\nimport { UserModel } from '../../users/models/user.model'\nimport { CreateOrUpdateCommentDto, DeleteCommentDto } from '../dto/comment.dto'\nimport { CommentRecent } from '../interfaces/comment-recent.interface'\nimport type { Comment } from '../schemas/comment.interface'\nimport { CommentsQueries } from './comments-queries.service'\n\n@Injectable()\nexport class CommentsManager {\n private readonly logger = new Logger(CommentsManager.name)\n\n constructor(\n private readonly contextManager: ContextManager,\n private readonly commentQueries: CommentsQueries,\n private readonly filesQueries: FilesQueries,\n private readonly notificationsManager: NotificationsManager\n ) {}\n\n async getComments(user: UserModel, space: SpaceEnv): Promise<Comment[]> {\n const fileId: number = await this.getFileId(space)\n if (!fileId) {\n return []\n }\n return this.commentQueries.getComments(user.id, space.dbFile?.ownerId === user.id, fileId)\n }\n\n async createComment(user: UserModel, space: SpaceEnv, createCommentDto: CreateOrUpdateCommentDto): Promise<Comment> {\n if ((space.dbFile.spaceExternalRootId || space.dbFile.shareExternalId) && space.dbFile.path === '.') {\n // If path is empty a file with path = '.' and name = '.' will be created\n // The space browser does not support this kind of file and will remove it\n // Maybe to implement later\n throw new HttpException(`Not supported on this kind of ${space.dbFile.spaceExternalRootId ? 'space root' : 'share'}`, HttpStatus.BAD_REQUEST)\n }\n let fileId: number\n if (createCommentDto.fileId > 0) {\n fileId = await this.getFileId(space)\n if (createCommentDto.fileId !== fileId) {\n throw new HttpException('File id mismatch', HttpStatus.BAD_REQUEST)\n }\n } else {\n fileId = await this.getFileId(space, createCommentDto.fileId)\n }\n const commentId: number = await this.commentQueries.createComment(user.id, fileId, createCommentDto.content)\n this.notify(user, fileId, space, createCommentDto.content).catch((e: Error) => this.logger.error(`${this.createComment.name} - ${e}`))\n return (await this.commentQueries.getComments(user.id, space.dbFile?.ownerId === user.id, null, commentId))[0]\n }\n\n async updateComment(user: UserModel, space: SpaceEnv, updateCommentDto: CreateOrUpdateCommentDto): Promise<Comment> {\n const [comment] = await this.commentQueries.getComments(user.id, space.dbFile?.ownerId === user.id, null, updateCommentDto.commentId)\n if (!comment) {\n throw new HttpException('Location not found', HttpStatus.NOT_FOUND)\n }\n const fileId: number = await this.getFileId(space)\n if (updateCommentDto.fileId !== fileId || comment.fileId !== fileId) {\n throw new HttpException('File id mismatch', HttpStatus.BAD_REQUEST)\n }\n if (!(await this.commentQueries.updateComment(user.id, updateCommentDto.commentId, updateCommentDto.fileId, updateCommentDto.content))) {\n throw new HttpException('Unable to update', HttpStatus.INTERNAL_SERVER_ERROR)\n }\n return (await this.commentQueries.getComments(user.id, space.dbFile?.ownerId === user.id, null, updateCommentDto.commentId))[0]\n }\n\n async deleteComment(user: UserModel, space: SpaceEnv, deleteCommentDto: DeleteCommentDto): Promise<void> {\n const fileId: number = await this.getFileId(space)\n if (deleteCommentDto.fileId !== fileId) {\n throw new HttpException('File id mismatch', HttpStatus.BAD_REQUEST)\n }\n if (!(await this.commentQueries.deleteComment(user.id, deleteCommentDto.commentId, fileId, space.dbFile?.ownerId === user.id))) {\n throw new HttpException('You are not allowed to do this action', HttpStatus.FORBIDDEN)\n }\n }\n\n private async getFileId(space: SpaceEnv, fileId?: number): Promise<number> {\n if (!(await isPathExists(space.realPath))) {\n throw new HttpException('Location not found', HttpStatus.NOT_FOUND)\n }\n const fileProps: FileProps = { ...(await getProps(space.realPath, space.dbFile.path)), id: undefined }\n if (fileId) {\n // get or create\n return this.filesQueries.getOrCreateSpaceFile(fileId, fileProps, space.dbFile)\n } else {\n // get only\n return this.filesQueries.getSpaceFileId(fileProps, space.dbFile)\n }\n }\n\n async getRecents(user: UserModel, limit: number): Promise<CommentRecent[]> {\n return this.commentQueries.getRecentsFromUser(user, limit)\n }\n\n private async notify(fromUser: UserModel, fileId: number, space: SpaceEnv, comment: string): Promise<void> {\n const members: UserMailNotification[] = await this.commentQueries.membersToNotify(fromUser.id, fileId)\n if (!members.length) {\n return\n }\n const notification: NotificationContent = {\n app: NOTIFICATION_APP.COMMENTS,\n event: NOTIFICATION_APP_EVENT.COMMENTS,\n element: fileName(space.url),\n url: dirName(space.url)\n }\n this.notificationsManager\n .create(members, notification, {\n author: fromUser,\n currentUrl: this.contextManager.get('headerOriginUrl'),\n content: comment\n })\n .catch((e: Error) => this.logger.error(`${this.notify.name} - ${e}`))\n }\n}\n"],"names":["CommentsManager","getComments","user","space","fileId","getFileId","commentQueries","id","dbFile","ownerId","createComment","createCommentDto","spaceExternalRootId","shareExternalId","path","HttpException","HttpStatus","BAD_REQUEST","commentId","content","notify","catch","e","logger","error","name","updateComment","updateCommentDto","comment","NOT_FOUND","INTERNAL_SERVER_ERROR","deleteComment","deleteCommentDto","FORBIDDEN","isPathExists","realPath","fileProps","getProps","undefined","filesQueries","getOrCreateSpaceFile","getSpaceFileId","getRecents","limit","getRecentsFromUser","fromUser","members","membersToNotify","length","notification","app","NOTIFICATION_APP","COMMENTS","event","NOTIFICATION_APP_EVENT","element","fileName","url","dirName","notificationsManager","create","author","currentUrl","contextManager","get","Logger"],"mappings":"AAAA;;;;CAIC;;;;+BAmBYA;;;eAAAA;;;wBAjBiD;uCAC/B;qCAEF;uBAC6B;+BACD;6CAGpB;wCAML;;;;;;;;;;AAGzB,IAAA,AAAMA,kBAAN,MAAMA;IAUX,MAAMC,YAAYC,IAAe,EAAEC,KAAe,EAAsB;QACtE,MAAMC,SAAiB,MAAM,IAAI,CAACC,SAAS,CAACF;QAC5C,IAAI,CAACC,QAAQ;YACX,OAAO,EAAE;QACX;QACA,OAAO,IAAI,CAACE,cAAc,CAACL,WAAW,CAACC,KAAKK,EAAE,EAAEJ,MAAMK,MAAM,EAAEC,YAAYP,KAAKK,EAAE,EAAEH;IACrF;IAEA,MAAMM,cAAcR,IAAe,EAAEC,KAAe,EAAEQ,gBAA0C,EAAoB;QAClH,IAAI,AAACR,CAAAA,MAAMK,MAAM,CAACI,mBAAmB,IAAIT,MAAMK,MAAM,CAACK,eAAe,AAAD,KAAMV,MAAMK,MAAM,CAACM,IAAI,KAAK,KAAK;YACnG,yEAAyE;YACzE,0EAA0E;YAC1E,2BAA2B;YAC3B,MAAM,IAAIC,qBAAa,CAAC,CAAC,8BAA8B,EAAEZ,MAAMK,MAAM,CAACI,mBAAmB,GAAG,eAAe,SAAS,EAAEI,kBAAU,CAACC,WAAW;QAC9I;QACA,IAAIb;QACJ,IAAIO,iBAAiBP,MAAM,GAAG,GAAG;YAC/BA,SAAS,MAAM,IAAI,CAACC,SAAS,CAACF;YAC9B,IAAIQ,iBAAiBP,MAAM,KAAKA,QAAQ;gBACtC,MAAM,IAAIW,qBAAa,CAAC,oBAAoBC,kBAAU,CAACC,WAAW;YACpE;QACF,OAAO;YACLb,SAAS,MAAM,IAAI,CAACC,SAAS,CAACF,OAAOQ,iBAAiBP,MAAM;QAC9D;QACA,MAAMc,YAAoB,MAAM,IAAI,CAACZ,cAAc,CAACI,aAAa,CAACR,KAAKK,EAAE,EAAEH,QAAQO,iBAAiBQ,OAAO;QAC3G,IAAI,CAACC,MAAM,CAAClB,MAAME,QAAQD,OAAOQ,iBAAiBQ,OAAO,EAAEE,KAAK,CAAC,CAACC,IAAa,IAAI,CAACC,MAAM,CAACC,KAAK,CAAC,GAAG,IAAI,CAACd,aAAa,CAACe,IAAI,CAAC,GAAG,EAAEH,GAAG;QACpI,OAAO,AAAC,CAAA,MAAM,IAAI,CAAChB,cAAc,CAACL,WAAW,CAACC,KAAKK,EAAE,EAAEJ,MAAMK,MAAM,EAAEC,YAAYP,KAAKK,EAAE,EAAE,MAAMW,UAAS,CAAE,CAAC,EAAE;IAChH;IAEA,MAAMQ,cAAcxB,IAAe,EAAEC,KAAe,EAAEwB,gBAA0C,EAAoB;QAClH,MAAM,CAACC,QAAQ,GAAG,MAAM,IAAI,CAACtB,cAAc,CAACL,WAAW,CAACC,KAAKK,EAAE,EAAEJ,MAAMK,MAAM,EAAEC,YAAYP,KAAKK,EAAE,EAAE,MAAMoB,iBAAiBT,SAAS;QACpI,IAAI,CAACU,SAAS;YACZ,MAAM,IAAIb,qBAAa,CAAC,sBAAsBC,kBAAU,CAACa,SAAS;QACpE;QACA,MAAMzB,SAAiB,MAAM,IAAI,CAACC,SAAS,CAACF;QAC5C,IAAIwB,iBAAiBvB,MAAM,KAAKA,UAAUwB,QAAQxB,MAAM,KAAKA,QAAQ;YACnE,MAAM,IAAIW,qBAAa,CAAC,oBAAoBC,kBAAU,CAACC,WAAW;QACpE;QACA,IAAI,CAAE,MAAM,IAAI,CAACX,cAAc,CAACoB,aAAa,CAACxB,KAAKK,EAAE,EAAEoB,iBAAiBT,SAAS,EAAES,iBAAiBvB,MAAM,EAAEuB,iBAAiBR,OAAO,GAAI;YACtI,MAAM,IAAIJ,qBAAa,CAAC,oBAAoBC,kBAAU,CAACc,qBAAqB;QAC9E;QACA,OAAO,AAAC,CAAA,MAAM,IAAI,CAACxB,cAAc,CAACL,WAAW,CAACC,KAAKK,EAAE,EAAEJ,MAAMK,MAAM,EAAEC,YAAYP,KAAKK,EAAE,EAAE,MAAMoB,iBAAiBT,SAAS,CAAA,CAAE,CAAC,EAAE;IACjI;IAEA,MAAMa,cAAc7B,IAAe,EAAEC,KAAe,EAAE6B,gBAAkC,EAAiB;QACvG,MAAM5B,SAAiB,MAAM,IAAI,CAACC,SAAS,CAACF;QAC5C,IAAI6B,iBAAiB5B,MAAM,KAAKA,QAAQ;YACtC,MAAM,IAAIW,qBAAa,CAAC,oBAAoBC,kBAAU,CAACC,WAAW;QACpE;QACA,IAAI,CAAE,MAAM,IAAI,CAACX,cAAc,CAACyB,aAAa,CAAC7B,KAAKK,EAAE,EAAEyB,iBAAiBd,SAAS,EAAEd,QAAQD,MAAMK,MAAM,EAAEC,YAAYP,KAAKK,EAAE,GAAI;YAC9H,MAAM,IAAIQ,qBAAa,CAAC,yCAAyCC,kBAAU,CAACiB,SAAS;QACvF;IACF;IAEA,MAAc5B,UAAUF,KAAe,EAAEC,MAAe,EAAmB;QACzE,IAAI,CAAE,MAAM8B,IAAAA,mBAAY,EAAC/B,MAAMgC,QAAQ,GAAI;YACzC,MAAM,IAAIpB,qBAAa,CAAC,sBAAsBC,kBAAU,CAACa,SAAS;QACpE;QACA,MAAMO,YAAuB;YAAE,GAAI,MAAMC,IAAAA,eAAQ,EAAClC,MAAMgC,QAAQ,EAAEhC,MAAMK,MAAM,CAACM,IAAI,CAAC;YAAGP,IAAI+B;QAAU;QACrG,IAAIlC,QAAQ;YACV,gBAAgB;YAChB,OAAO,IAAI,CAACmC,YAAY,CAACC,oBAAoB,CAACpC,QAAQgC,WAAWjC,MAAMK,MAAM;QAC/E,OAAO;YACL,WAAW;YACX,OAAO,IAAI,CAAC+B,YAAY,CAACE,cAAc,CAACL,WAAWjC,MAAMK,MAAM;QACjE;IACF;IAEA,MAAMkC,WAAWxC,IAAe,EAAEyC,KAAa,EAA4B;QACzE,OAAO,IAAI,CAACrC,cAAc,CAACsC,kBAAkB,CAAC1C,MAAMyC;IACtD;IAEA,MAAcvB,OAAOyB,QAAmB,EAAEzC,MAAc,EAAED,KAAe,EAAEyB,OAAe,EAAiB;QACzG,MAAMkB,UAAkC,MAAM,IAAI,CAACxC,cAAc,CAACyC,eAAe,CAACF,SAAStC,EAAE,EAAEH;QAC/F,IAAI,CAAC0C,QAAQE,MAAM,EAAE;YACnB;QACF;QACA,MAAMC,eAAoC;YACxCC,KAAKC,+BAAgB,CAACC,QAAQ;YAC9BC,OAAOC,qCAAsB,CAACF,QAAQ;YACtCG,SAASC,IAAAA,eAAQ,EAACrD,MAAMsD,GAAG;YAC3BA,KAAKC,IAAAA,cAAO,EAACvD,MAAMsD,GAAG;QACxB;QACA,IAAI,CAACE,oBAAoB,CACtBC,MAAM,CAACd,SAASG,cAAc;YAC7BY,QAAQhB;YACRiB,YAAY,IAAI,CAACC,cAAc,CAACC,GAAG,CAAC;YACpC7C,SAASS;QACX,GACCP,KAAK,CAAC,CAACC,IAAa,IAAI,CAACC,MAAM,CAACC,KAAK,CAAC,GAAG,IAAI,CAACJ,MAAM,CAACK,IAAI,CAAC,GAAG,EAAEH,GAAG;IACvE;IAjGA,YACE,AAAiByC,cAA8B,EAC/C,AAAiBzD,cAA+B,EAChD,AAAiBiC,YAA0B,EAC3C,AAAiBoB,oBAA0C,CAC3D;aAJiBI,iBAAAA;aACAzD,iBAAAA;aACAiC,eAAAA;aACAoB,uBAAAA;aANFpC,SAAS,IAAI0C,cAAM,CAACjE,gBAAgByB,IAAI;IAOtD;AA6FL"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>
|
|
3
|
+
* This file is part of Sync-in | The open source file sync and share solution
|
|
4
|
+
* See the LICENSE file for licensing details
|
|
5
|
+
*/ "use strict";
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
const _testing = require("@nestjs/testing");
|
|
10
|
+
const _cacheservice = require("../../../infrastructure/cache/services/cache.service");
|
|
11
|
+
const _contextmanagerservice = require("../../../infrastructure/context/services/context-manager.service");
|
|
12
|
+
const _constants = require("../../../infrastructure/database/constants");
|
|
13
|
+
const _filesqueriesservice = require("../../files/services/files-queries.service");
|
|
14
|
+
const _notificationsmanagerservice = require("../../notifications/services/notifications-manager.service");
|
|
15
|
+
const _sharesqueriesservice = require("../../shares/services/shares-queries.service");
|
|
16
|
+
const _spacesqueriesservice = require("../../spaces/services/spaces-queries.service");
|
|
17
|
+
const _commentsmanagerservice = require("./comments-manager.service");
|
|
18
|
+
const _commentsqueriesservice = require("./comments-queries.service");
|
|
19
|
+
describe(_commentsmanagerservice.CommentsManager.name, ()=>{
|
|
20
|
+
let service;
|
|
21
|
+
beforeAll(async ()=>{
|
|
22
|
+
const module = await _testing.Test.createTestingModule({
|
|
23
|
+
providers: [
|
|
24
|
+
{
|
|
25
|
+
provide: _constants.DB_TOKEN_PROVIDER,
|
|
26
|
+
useValue: {}
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
provide: _cacheservice.Cache,
|
|
30
|
+
useValue: {}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
provide: _notificationsmanagerservice.NotificationsManager,
|
|
34
|
+
useValue: {}
|
|
35
|
+
},
|
|
36
|
+
_contextmanagerservice.ContextManager,
|
|
37
|
+
_commentsmanagerservice.CommentsManager,
|
|
38
|
+
_commentsqueriesservice.CommentsQueries,
|
|
39
|
+
_filesqueriesservice.FilesQueries,
|
|
40
|
+
_spacesqueriesservice.SpacesQueries,
|
|
41
|
+
_sharesqueriesservice.SharesQueries
|
|
42
|
+
]
|
|
43
|
+
}).compile();
|
|
44
|
+
service = module.get(_commentsmanagerservice.CommentsManager);
|
|
45
|
+
});
|
|
46
|
+
it('should be defined', ()=>{
|
|
47
|
+
expect(service).toBeDefined();
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=comments-manager.service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/comments/services/comments-manager.service.spec.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { Test, TestingModule } from '@nestjs/testing'\nimport { Cache } from '../../../infrastructure/cache/services/cache.service'\nimport { ContextManager } from '../../../infrastructure/context/services/context-manager.service'\nimport { DB_TOKEN_PROVIDER } from '../../../infrastructure/database/constants'\nimport { FilesQueries } from '../../files/services/files-queries.service'\nimport { NotificationsManager } from '../../notifications/services/notifications-manager.service'\nimport { SharesQueries } from '../../shares/services/shares-queries.service'\nimport { SpacesQueries } from '../../spaces/services/spaces-queries.service'\nimport { CommentsManager } from './comments-manager.service'\nimport { CommentsQueries } from './comments-queries.service'\n\ndescribe(CommentsManager.name, () => {\n let service: CommentsManager\n\n beforeAll(async () => {\n const module: TestingModule = await Test.createTestingModule({\n providers: [\n {\n provide: DB_TOKEN_PROVIDER,\n useValue: {}\n },\n { provide: Cache, useValue: {} },\n { provide: NotificationsManager, useValue: {} },\n ContextManager,\n CommentsManager,\n CommentsQueries,\n FilesQueries,\n SpacesQueries,\n SharesQueries\n ]\n }).compile()\n\n service = module.get<CommentsManager>(CommentsManager)\n })\n\n it('should be defined', () => {\n expect(service).toBeDefined()\n })\n})\n"],"names":["describe","CommentsManager","name","service","beforeAll","module","Test","createTestingModule","providers","provide","DB_TOKEN_PROVIDER","useValue","Cache","NotificationsManager","ContextManager","CommentsQueries","FilesQueries","SpacesQueries","SharesQueries","compile","get","it","expect","toBeDefined"],"mappings":"AAAA;;;;CAIC;;;;yBAEmC;8BACd;uCACS;2BACG;qCACL;6CACQ;sCACP;sCACA;wCACE;wCACA;AAEhCA,SAASC,uCAAe,CAACC,IAAI,EAAE;IAC7B,IAAIC;IAEJC,UAAU;QACR,MAAMC,SAAwB,MAAMC,aAAI,CAACC,mBAAmB,CAAC;YAC3DC,WAAW;gBACT;oBACEC,SAASC,4BAAiB;oBAC1BC,UAAU,CAAC;gBACb;gBACA;oBAAEF,SAASG,mBAAK;oBAAED,UAAU,CAAC;gBAAE;gBAC/B;oBAAEF,SAASI,iDAAoB;oBAAEF,UAAU,CAAC;gBAAE;gBAC9CG,qCAAc;gBACdb,uCAAe;gBACfc,uCAAe;gBACfC,iCAAY;gBACZC,mCAAa;gBACbC,mCAAa;aACd;QACH,GAAGC,OAAO;QAEVhB,UAAUE,OAAOe,GAAG,CAAkBnB,uCAAe;IACvD;IAEAoB,GAAG,qBAAqB;QACtBC,OAAOnB,SAASoB,WAAW;IAC7B;AACF"}
|
|
@@ -0,0 +1,185 @@
|
|
|
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, "CommentsQueries", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function() {
|
|
12
|
+
return CommentsQueries;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const _common = require("@nestjs/common");
|
|
16
|
+
const _drizzleorm = require("drizzle-orm");
|
|
17
|
+
const _mysqlcore = require("drizzle-orm/mysql-core");
|
|
18
|
+
const _constants = require("../../../infrastructure/database/constants");
|
|
19
|
+
const _utils = require("../../../infrastructure/database/utils");
|
|
20
|
+
const _filesschema = require("../../files/schemas/files.schema");
|
|
21
|
+
const _sharesschema = require("../../shares/schemas/shares.schema");
|
|
22
|
+
const _sharesqueriesservice = require("../../shares/services/shares-queries.service");
|
|
23
|
+
const _spaces = require("../../spaces/constants/spaces");
|
|
24
|
+
const _spacesrootsschema = require("../../spaces/schemas/spaces-roots.schema");
|
|
25
|
+
const _spacesschema = require("../../spaces/schemas/spaces.schema");
|
|
26
|
+
const _spacesqueriesservice = require("../../spaces/services/spaces-queries.service");
|
|
27
|
+
const _usersschema = require("../../users/schemas/users.schema");
|
|
28
|
+
const _commentsschema = require("../schemas/comments.schema");
|
|
29
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
30
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
31
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
32
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
33
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
34
|
+
}
|
|
35
|
+
function _ts_metadata(k, v) {
|
|
36
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
37
|
+
}
|
|
38
|
+
function _ts_param(paramIndex, decorator) {
|
|
39
|
+
return function(target, key) {
|
|
40
|
+
decorator(target, key, paramIndex);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
let CommentsQueries = class CommentsQueries {
|
|
44
|
+
getComments(userId, isFileOwner, fromFileId, fromCommentId, limit = undefined) {
|
|
45
|
+
let where;
|
|
46
|
+
if (fromFileId) {
|
|
47
|
+
where = (0, _drizzleorm.eq)(_commentsschema.comments.fileId, fromFileId);
|
|
48
|
+
} else if (fromCommentId) {
|
|
49
|
+
where = (0, _drizzleorm.eq)(_commentsschema.comments.id, fromCommentId);
|
|
50
|
+
limit = 1;
|
|
51
|
+
} else {
|
|
52
|
+
throw Error('fromFileId or fromCommentId must be provided');
|
|
53
|
+
}
|
|
54
|
+
return this.db.select({
|
|
55
|
+
...(0, _drizzleorm.getTableColumns)(_commentsschema.comments),
|
|
56
|
+
author: {
|
|
57
|
+
login: _usersschema.users.login,
|
|
58
|
+
fullName: (0, _usersschema.userFullNameSQL)(_usersschema.users),
|
|
59
|
+
email: _usersschema.users.email,
|
|
60
|
+
isAuthor: (0, _drizzleorm.sql)`${_usersschema.users.id} = ${userId}`.mapWith(Boolean)
|
|
61
|
+
},
|
|
62
|
+
isFileOwner: (0, _drizzleorm.sql)`${+isFileOwner}`.mapWith(Boolean)
|
|
63
|
+
}).from(_commentsschema.comments).leftJoin(_usersschema.users, (0, _drizzleorm.eq)(_usersschema.users.id, _commentsschema.comments.userId)).where(where).orderBy((0, _drizzleorm.desc)(_commentsschema.comments.id)).limit(limit);
|
|
64
|
+
}
|
|
65
|
+
async createComment(userId, fileId, content) {
|
|
66
|
+
return (0, _utils.dbGetInsertedId)(await this.db.insert(_commentsschema.comments).values({
|
|
67
|
+
userId: userId,
|
|
68
|
+
fileId: fileId,
|
|
69
|
+
content: content
|
|
70
|
+
}));
|
|
71
|
+
}
|
|
72
|
+
async updateComment(userId, commentId, fileId, content) {
|
|
73
|
+
return (0, _utils.dbCheckAffectedRows)(await this.db.update(_commentsschema.comments).set({
|
|
74
|
+
content: content
|
|
75
|
+
}).where((0, _drizzleorm.and)((0, _drizzleorm.eq)(_commentsschema.comments.userId, userId), (0, _drizzleorm.eq)(_commentsschema.comments.id, commentId), (0, _drizzleorm.eq)(_commentsschema.comments.fileId, fileId))).limit(1), 1, false);
|
|
76
|
+
}
|
|
77
|
+
async deleteComment(userId, commentId, fileId, isFileOwner) {
|
|
78
|
+
return (0, _utils.dbCheckAffectedRows)(await this.db.delete(_commentsschema.comments).where((0, _drizzleorm.and)((0, _drizzleorm.or)((0, _drizzleorm.eq)((0, _drizzleorm.sql)`${+isFileOwner}`, 1), (0, _drizzleorm.eq)(_commentsschema.comments.userId, userId)), (0, _drizzleorm.eq)(_commentsschema.comments.id, commentId), (0, _drizzleorm.eq)(_commentsschema.comments.fileId, fileId))).limit(1), 1, false);
|
|
79
|
+
}
|
|
80
|
+
membersToNotify(fromUserId, fileId) {
|
|
81
|
+
/* lists the owner of the file and the users who have commented on it */ const select = {
|
|
82
|
+
id: _usersschema.users.id,
|
|
83
|
+
email: _usersschema.users.email,
|
|
84
|
+
language: _usersschema.users.language,
|
|
85
|
+
notification: _usersschema.users.notification
|
|
86
|
+
};
|
|
87
|
+
const fromComments = this.db.select(select).from(_commentsschema.comments).innerJoin(_usersschema.users, (0, _drizzleorm.and)((0, _drizzleorm.eq)(_usersschema.users.id, _commentsschema.comments.userId), (0, _drizzleorm.ne)(_usersschema.users.id, fromUserId))).where((0, _drizzleorm.eq)(_commentsschema.comments.fileId, fileId));
|
|
88
|
+
const fromFile = this.db.select(select).from(_filesschema.files).innerJoin(_usersschema.users, (0, _drizzleorm.and)((0, _drizzleorm.eq)(_usersschema.users.id, _filesschema.files.ownerId), (0, _drizzleorm.ne)(_usersschema.users.id, fromUserId))).where((0, _drizzleorm.eq)(_filesschema.files.id, fileId));
|
|
89
|
+
return (0, _mysqlcore.union)(fromComments, fromFile);
|
|
90
|
+
}
|
|
91
|
+
getRecentsFromShares(userId, shareIds, limit) {
|
|
92
|
+
const shareFile = (0, _mysqlcore.alias)(_filesschema.files, 'shareFile');
|
|
93
|
+
return this.db.select({
|
|
94
|
+
id: _commentsschema.comments.id,
|
|
95
|
+
content: _commentsschema.comments.content,
|
|
96
|
+
modifiedAt: _commentsschema.comments.modifiedAt,
|
|
97
|
+
author: {
|
|
98
|
+
login: _usersschema.users.login,
|
|
99
|
+
fullName: (0, _usersschema.userFullNameSQL)(_usersschema.users).as('fullName'),
|
|
100
|
+
email: _usersschema.users.email
|
|
101
|
+
},
|
|
102
|
+
file: {
|
|
103
|
+
name: (0, _drizzleorm.sql)`IF (${_filesschema.files.id} = ${shareFile.id}, ${_sharesschema.shares.name}, ${_filesschema.files.name})`.as('name'),
|
|
104
|
+
path: (0, _drizzleorm.sql)`
|
|
105
|
+
CONCAT_WS('/', '${_drizzleorm.sql.raw(_spaces.SPACE_REPOSITORY.SHARES)}',
|
|
106
|
+
IF (${shareFile.id} IS NOT NULL,
|
|
107
|
+
IF (${_filesschema.files.id} = ${shareFile.id}, NULL, REGEXP_REPLACE(${_filesschema.files.path}, ${(0, _filesschema.filePathSQL)(shareFile)}, ${_sharesschema.shares.alias})),
|
|
108
|
+
CONCAT_WS('/', ${_sharesschema.shares.alias}, IF (${_filesschema.files.path} = '.', NULL, ${_filesschema.files.path}))
|
|
109
|
+
)
|
|
110
|
+
)`.as('path'),
|
|
111
|
+
mime: _filesschema.files.mime,
|
|
112
|
+
inTrash: (0, _drizzleorm.sql)`0`.as('inTrash'),
|
|
113
|
+
fromSpace: (0, _drizzleorm.sql)`0`.as('fromSpace'),
|
|
114
|
+
fromShare: (0, _drizzleorm.sql)`1`.as('fromShare')
|
|
115
|
+
}
|
|
116
|
+
}).from(_sharesschema.shares).leftJoin(shareFile, (0, _drizzleorm.eq)(shareFile.id, _sharesschema.shares.fileId)).leftJoin(_spacesschema.spaces, (0, _drizzleorm.eq)(_spacesschema.spaces.id, shareFile.spaceId)).leftJoin(_spacesrootsschema.spacesRoots, (0, _drizzleorm.eq)(_spacesrootsschema.spacesRoots.spaceId, _spacesschema.spaces.id)).leftJoin(_filesschema.files, (0, _drizzleorm.or)(// file linked to the share
|
|
117
|
+
(0, _drizzleorm.eq)(_filesschema.files.id, shareFile.id), // all files with an external share id
|
|
118
|
+
(0, _drizzleorm.and)((0, _drizzleorm.isNull)(shareFile.id), (0, _drizzleorm.eq)(_filesschema.files.shareExternalId, _sharesschema.shares.id)), // all files under the share
|
|
119
|
+
(0, _drizzleorm.and)((0, _drizzleorm.isNotNull)(shareFile.id), (0, _drizzleorm.eq)(shareFile.isDir, true), (0, _drizzleorm.sql)`${_filesschema.files.spaceId} <=> ${shareFile.spaceId}`, (0, _drizzleorm.sql)`${_filesschema.files.ownerId} <=> ${shareFile.ownerId}`, (0, _drizzleorm.sql)`${_filesschema.files.spaceExternalRootId} <=> ${shareFile.spaceExternalRootId}`, (0, _drizzleorm.sql)`${_filesschema.files.shareExternalId} <=> ${shareFile.shareExternalId}`, (0, _drizzleorm.sql)`${_filesschema.files.path} REGEXP CONCAT('^', IF(${shareFile.path} = '.', CONCAT(${shareFile.name}, '(/.*|)$'), CONCAT(${shareFile.path}, '/')))`))).innerJoin(_commentsschema.comments, (0, _drizzleorm.and)((0, _drizzleorm.eq)(_commentsschema.comments.fileId, _filesschema.files.id), (0, _drizzleorm.ne)(_commentsschema.comments.userId, userId))).innerJoin(_usersschema.users, (0, _drizzleorm.eq)(_usersschema.users.id, _commentsschema.comments.userId)).where((0, _drizzleorm.inArray)(_sharesschema.shares.id, shareIds)).groupBy(_commentsschema.comments.id).orderBy((0, _drizzleorm.desc)(_commentsschema.comments.id)).limit(limit);
|
|
120
|
+
}
|
|
121
|
+
getRecentsFromSpaces(userId, spaceIds, limit) {
|
|
122
|
+
const spaceRootFile = (0, _mysqlcore.alias)(_filesschema.files, 'spaceRootFile');
|
|
123
|
+
return this.db.select({
|
|
124
|
+
id: _commentsschema.comments.id,
|
|
125
|
+
content: _commentsschema.comments.content,
|
|
126
|
+
modifiedAt: _commentsschema.comments.modifiedAt,
|
|
127
|
+
author: {
|
|
128
|
+
login: _usersschema.users.login,
|
|
129
|
+
fullName: (0, _usersschema.userFullNameSQL)(_usersschema.users).as('fullName'),
|
|
130
|
+
email: _usersschema.users.email
|
|
131
|
+
},
|
|
132
|
+
file: {
|
|
133
|
+
name: (0, _drizzleorm.sql)`IF (${_filesschema.files.id} = ${_spacesrootsschema.spacesRoots.fileId}, ${_spacesrootsschema.spacesRoots.name}, ${_filesschema.files.name})`.as('name'),
|
|
134
|
+
path: (0, _drizzleorm.sql)`
|
|
135
|
+
CONCAT_WS('/', IF (${_filesschema.files.inTrash} = 0, '${_drizzleorm.sql.raw(_spaces.SPACE_REPOSITORY.FILES)}', '${_drizzleorm.sql.raw(_spaces.SPACE_REPOSITORY.TRASH)}'),
|
|
136
|
+
IF (${_filesschema.files.ownerId} = ${userId}, '${_drizzleorm.sql.raw(_spaces.SPACE_ALIAS.PERSONAL)}', ${_spacesschema.spaces.alias}),
|
|
137
|
+
IF (${spaceRootFile.id} IS NOT NULL,
|
|
138
|
+
IF (${_filesschema.files.id} = ${spaceRootFile.id}, NULL, REGEXP_REPLACE(${_filesschema.files.path}, ${(0, _filesschema.filePathSQL)(spaceRootFile)}, ${_spacesrootsschema.spacesRoots.alias})),
|
|
139
|
+
NULLIF(
|
|
140
|
+
CONCAT_WS('/',
|
|
141
|
+
IF (${_filesschema.files.spaceExternalRootId} = ${_spacesrootsschema.spacesRoots.id}, ${_spacesrootsschema.spacesRoots.alias}, NULL),
|
|
142
|
+
IF (${_filesschema.files.path} = '.', NULL, ${_filesschema.files.path})
|
|
143
|
+
)
|
|
144
|
+
, '')
|
|
145
|
+
)
|
|
146
|
+
)`.as('path'),
|
|
147
|
+
mime: _filesschema.files.mime,
|
|
148
|
+
inTrash: (0, _drizzleorm.sql)`${_filesschema.files.inTrash}`.as('inTrash'),
|
|
149
|
+
fromSpace: (0, _drizzleorm.sql)`IF (${_filesschema.files.ownerId} = ${userId}, 0, 1)`.as('fromSpace'),
|
|
150
|
+
fromShare: (0, _drizzleorm.sql)`0`.as('fromShare')
|
|
151
|
+
}
|
|
152
|
+
}).from(_spacesschema.spaces).leftJoin(_spacesrootsschema.spacesRoots, (0, _drizzleorm.eq)(_spacesrootsschema.spacesRoots.spaceId, _spacesschema.spaces.id)).leftJoin(spaceRootFile, (0, _drizzleorm.eq)(spaceRootFile.id, _spacesrootsschema.spacesRoots.fileId)).leftJoin(_filesschema.files, (0, _drizzleorm.or)(// all files from user
|
|
153
|
+
(0, _drizzleorm.eq)(_filesschema.files.ownerId, userId), // all files from spaces
|
|
154
|
+
(0, _drizzleorm.eq)(_filesschema.files.spaceId, _spacesschema.spaces.id), // all files from space roots
|
|
155
|
+
(0, _drizzleorm.eq)(_filesschema.files.id, _spacesrootsschema.spacesRoots.fileId), // all files under the space roots
|
|
156
|
+
(0, _drizzleorm.and)((0, _drizzleorm.isNotNull)(spaceRootFile.id), (0, _drizzleorm.eq)(spaceRootFile.isDir, true), (0, _drizzleorm.sql)`${_filesschema.files.ownerId} <=> ${spaceRootFile.ownerId}`, (0, _drizzleorm.sql)`${_filesschema.files.path} REGEXP CONCAT('^', IF(${spaceRootFile.path} = '.', CONCAT(${spaceRootFile.name}, '(/.*|)$'), CONCAT(${spaceRootFile.path}, '/')))`))).innerJoin(_commentsschema.comments, (0, _drizzleorm.and)((0, _drizzleorm.eq)(_commentsschema.comments.fileId, _filesschema.files.id), (0, _drizzleorm.ne)(_commentsschema.comments.userId, userId))).innerJoin(_usersschema.users, (0, _drizzleorm.eq)(_usersschema.users.id, _commentsschema.comments.userId)).where((0, _drizzleorm.inArray)(_spacesschema.spaces.id, spaceIds)).groupBy(_commentsschema.comments.id).orderBy((0, _drizzleorm.desc)(_commentsschema.comments.id)).limit(limit);
|
|
157
|
+
}
|
|
158
|
+
async getRecentsFromUser(user, limit = 10) {
|
|
159
|
+
const [spaceIds, shareIds] = await Promise.all([
|
|
160
|
+
this.spacesQueries.spaceIds(user.id),
|
|
161
|
+
this.sharesQueries.shareIds(user.id, +user.isAdmin)
|
|
162
|
+
]);
|
|
163
|
+
const fromSpaces = this.getRecentsFromSpaces(user.id, spaceIds, limit * 2);
|
|
164
|
+
const fromShares = this.getRecentsFromShares(user.id, shareIds, limit * 2);
|
|
165
|
+
const unionAlias = (0, _mysqlcore.union)(fromSpaces, fromShares).as('unionAlias');
|
|
166
|
+
return this.db.select().from(unionAlias).groupBy(unionAlias.id).orderBy((0, _drizzleorm.desc)(unionAlias.id)).limit(limit);
|
|
167
|
+
}
|
|
168
|
+
constructor(db, spacesQueries, sharesQueries){
|
|
169
|
+
this.db = db;
|
|
170
|
+
this.spacesQueries = spacesQueries;
|
|
171
|
+
this.sharesQueries = sharesQueries;
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
CommentsQueries = _ts_decorate([
|
|
175
|
+
(0, _common.Injectable)(),
|
|
176
|
+
_ts_param(0, (0, _common.Inject)(_constants.DB_TOKEN_PROVIDER)),
|
|
177
|
+
_ts_metadata("design:type", Function),
|
|
178
|
+
_ts_metadata("design:paramtypes", [
|
|
179
|
+
typeof DBSchema === "undefined" ? Object : DBSchema,
|
|
180
|
+
typeof _spacesqueriesservice.SpacesQueries === "undefined" ? Object : _spacesqueriesservice.SpacesQueries,
|
|
181
|
+
typeof _sharesqueriesservice.SharesQueries === "undefined" ? Object : _sharesqueriesservice.SharesQueries
|
|
182
|
+
])
|
|
183
|
+
], CommentsQueries);
|
|
184
|
+
|
|
185
|
+
//# sourceMappingURL=comments-queries.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/comments/services/comments-queries.service.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { Inject, Injectable } from '@nestjs/common'\nimport { and, desc, eq, getTableColumns, inArray, isNotNull, isNull, ne, or, SelectedFields, SQL, sql } from 'drizzle-orm'\nimport { alias, union } from 'drizzle-orm/mysql-core'\nimport { DB_TOKEN_PROVIDER } from '../../../infrastructure/database/constants'\nimport type { DBSchema } from '../../../infrastructure/database/interfaces/database.interface'\nimport { dbCheckAffectedRows, dbGetInsertedId } from '../../../infrastructure/database/utils'\nimport { filePathSQL, files } from '../../files/schemas/files.schema'\nimport { UserMailNotification } from '../../notifications/interfaces/user-mail-notification'\nimport { shares } from '../../shares/schemas/shares.schema'\nimport { SharesQueries } from '../../shares/services/shares-queries.service'\nimport { SPACE_ALIAS, SPACE_REPOSITORY } from '../../spaces/constants/spaces'\nimport { spacesRoots } from '../../spaces/schemas/spaces-roots.schema'\nimport { spaces } from '../../spaces/schemas/spaces.schema'\nimport { SpacesQueries } from '../../spaces/services/spaces-queries.service'\nimport { UserModel } from '../../users/models/user.model'\nimport { userFullNameSQL, users } from '../../users/schemas/users.schema'\nimport { CommentRecent } from '../interfaces/comment-recent.interface'\nimport { Comment } from '../schemas/comment.interface'\nimport { comments } from '../schemas/comments.schema'\n\n@Injectable()\nexport class CommentsQueries {\n constructor(\n @Inject(DB_TOKEN_PROVIDER) private readonly db: DBSchema,\n private readonly spacesQueries: SpacesQueries,\n private readonly sharesQueries: SharesQueries\n ) {}\n\n getComments(userId: number, isFileOwner: boolean, fromFileId?: number, fromCommentId?: number, limit: number = undefined): Promise<Comment[]> {\n let where: SQL\n if (fromFileId) {\n where = eq(comments.fileId, fromFileId)\n } else if (fromCommentId) {\n where = eq(comments.id, fromCommentId)\n limit = 1\n } else {\n throw Error('fromFileId or fromCommentId must be provided')\n }\n return this.db\n .select({\n ...getTableColumns(comments),\n author: { login: users.login, fullName: userFullNameSQL(users), email: users.email, isAuthor: sql`${users.id} = ${userId}`.mapWith(Boolean) },\n isFileOwner: sql`${+isFileOwner}`.mapWith(Boolean)\n })\n .from(comments)\n .leftJoin(users, eq(users.id, comments.userId))\n .where(where)\n .orderBy(desc(comments.id))\n .limit(limit)\n }\n\n async createComment(userId: number, fileId: number, content: string): Promise<Comment['id']> {\n return dbGetInsertedId(await this.db.insert(comments).values({ userId: userId, fileId: fileId, content: content } as Comment))\n }\n\n async updateComment(userId: number, commentId: number, fileId: number, content: string): Promise<boolean> {\n return dbCheckAffectedRows(\n await this.db\n .update(comments)\n .set({ content: content } as Comment)\n .where(and(eq(comments.userId, userId), eq(comments.id, commentId), eq(comments.fileId, fileId)))\n .limit(1),\n 1,\n false\n )\n }\n\n async deleteComment(userId: number, commentId: number, fileId: number, isFileOwner: boolean): Promise<boolean> {\n return dbCheckAffectedRows(\n await this.db\n .delete(comments)\n .where(and(or(eq(sql`${+isFileOwner}`, 1), eq(comments.userId, userId)), eq(comments.id, commentId), eq(comments.fileId, fileId)))\n .limit(1),\n 1,\n false\n )\n }\n\n membersToNotify(fromUserId: number, fileId: number): Promise<UserMailNotification[]> {\n /* lists the owner of the file and the users who have commented on it */\n const select: UserMailNotification | SelectedFields<any, any> = {\n id: users.id,\n email: users.email,\n language: users.language,\n notification: users.notification\n }\n const fromComments = this.db\n .select(select)\n .from(comments)\n .innerJoin(users, and(eq(users.id, comments.userId), ne(users.id, fromUserId)))\n .where(eq(comments.fileId, fileId))\n const fromFile = this.db\n .select(select)\n .from(files)\n .innerJoin(users, and(eq(users.id, files.ownerId), ne(users.id, fromUserId)))\n .where(eq(files.id, fileId))\n return union(fromComments, fromFile) as any\n }\n\n getRecentsFromShares(userId: number, shareIds: number[], limit: number) {\n const shareFile: any = alias(files, 'shareFile')\n return this.db\n .select({\n id: comments.id,\n content: comments.content,\n modifiedAt: comments.modifiedAt,\n author: { login: users.login, fullName: userFullNameSQL(users).as('fullName'), email: users.email },\n file: {\n name: sql<string>`IF (${files.id} = ${shareFile.id}, ${shares.name}, ${files.name})`.as('name'),\n path: sql<string>`\n CONCAT_WS('/', '${sql.raw(SPACE_REPOSITORY.SHARES)}',\n IF (${shareFile.id} IS NOT NULL,\n IF (${files.id} = ${shareFile.id}, NULL, REGEXP_REPLACE(${files.path}, ${filePathSQL(shareFile)}, ${shares.alias})),\n CONCAT_WS('/', ${shares.alias}, IF (${files.path} = '.', NULL, ${files.path}))\n )\n )`.as('path'),\n mime: files.mime,\n inTrash: sql<number>`0`.as('inTrash'),\n fromSpace: sql<number>`0`.as('fromSpace'),\n fromShare: sql<number>`1`.as('fromShare')\n }\n } satisfies CommentRecent | SelectedFields<any, any>)\n .from(shares)\n .leftJoin(shareFile, eq(shareFile.id, shares.fileId))\n .leftJoin(spaces, eq(spaces.id, shareFile.spaceId))\n .leftJoin(spacesRoots, eq(spacesRoots.spaceId, spaces.id))\n .leftJoin(\n files,\n or(\n // file linked to the share\n eq(files.id, shareFile.id),\n // all files with an external share id\n and(isNull(shareFile.id), eq(files.shareExternalId, shares.id)),\n // all files under the share\n and(\n isNotNull(shareFile.id),\n eq(shareFile.isDir, true),\n sql`${files.spaceId} <=> ${shareFile.spaceId}`,\n sql`${files.ownerId} <=> ${shareFile.ownerId}`,\n sql`${files.spaceExternalRootId} <=> ${shareFile.spaceExternalRootId}`,\n sql`${files.shareExternalId} <=> ${shareFile.shareExternalId}`,\n sql`${files.path} REGEXP CONCAT('^', IF(${shareFile.path} = '.', CONCAT(${shareFile.name}, '(/.*|)$'), CONCAT(${shareFile.path}, '/')))`\n )\n )\n )\n .innerJoin(comments, and(eq(comments.fileId, files.id), ne(comments.userId, userId)))\n .innerJoin(users, eq(users.id, comments.userId))\n .where(inArray(shares.id, shareIds))\n .groupBy(comments.id)\n .orderBy(desc(comments.id))\n .limit(limit)\n }\n\n getRecentsFromSpaces(userId: number, spaceIds: number[], limit: number) {\n const spaceRootFile: any = alias(files, 'spaceRootFile')\n return this.db\n .select({\n id: comments.id,\n content: comments.content,\n modifiedAt: comments.modifiedAt,\n author: { login: users.login, fullName: userFullNameSQL(users).as('fullName'), email: users.email },\n file: {\n name: sql<string>`IF (${files.id} = ${spacesRoots.fileId}, ${spacesRoots.name}, ${files.name})`.as('name'),\n path: sql<string>`\n CONCAT_WS('/', IF (${files.inTrash} = 0, '${sql.raw(SPACE_REPOSITORY.FILES)}', '${sql.raw(SPACE_REPOSITORY.TRASH)}'), \n IF (${files.ownerId} = ${userId}, '${sql.raw(SPACE_ALIAS.PERSONAL)}', ${spaces.alias}),\n IF (${spaceRootFile.id} IS NOT NULL,\n IF (${files.id} = ${spaceRootFile.id}, NULL, REGEXP_REPLACE(${files.path}, ${filePathSQL(spaceRootFile)}, ${spacesRoots.alias})),\n NULLIF(\n CONCAT_WS('/', \n IF (${files.spaceExternalRootId} = ${spacesRoots.id}, ${spacesRoots.alias}, NULL), \n IF (${files.path} = '.', NULL, ${files.path})\n )\n , '')\n )\n )`.as('path'),\n mime: files.mime,\n inTrash: sql<number>`${files.inTrash}`.as('inTrash'),\n fromSpace: sql<number>`IF (${files.ownerId} = ${userId}, 0, 1)`.as('fromSpace'),\n fromShare: sql<number>`0`.as('fromShare')\n }\n } satisfies CommentRecent | SelectedFields<any, any>)\n .from(spaces)\n .leftJoin(spacesRoots, eq(spacesRoots.spaceId, spaces.id))\n .leftJoin(spaceRootFile, eq(spaceRootFile.id, spacesRoots.fileId))\n .leftJoin(\n files,\n or(\n // all files from user\n eq(files.ownerId, userId),\n // all files from spaces\n eq(files.spaceId, spaces.id),\n // all files from space roots\n eq(files.id, spacesRoots.fileId),\n // all files under the space roots\n and(\n isNotNull(spaceRootFile.id),\n eq(spaceRootFile.isDir, true),\n sql`${files.ownerId} <=> ${spaceRootFile.ownerId}`,\n sql`${files.path} REGEXP CONCAT('^', IF(${spaceRootFile.path} = '.', CONCAT(${spaceRootFile.name}, '(/.*|)$'), CONCAT(${spaceRootFile.path}, '/')))`\n )\n )\n )\n .innerJoin(comments, and(eq(comments.fileId, files.id), ne(comments.userId, userId)))\n .innerJoin(users, eq(users.id, comments.userId))\n .where(inArray(spaces.id, spaceIds))\n .groupBy(comments.id)\n .orderBy(desc(comments.id))\n .limit(limit)\n }\n\n async getRecentsFromUser(user: UserModel, limit = 10): Promise<CommentRecent[]> {\n const [spaceIds, shareIds] = await Promise.all([this.spacesQueries.spaceIds(user.id), this.sharesQueries.shareIds(user.id, +user.isAdmin)])\n const fromSpaces = this.getRecentsFromSpaces(user.id, spaceIds, limit * 2)\n const fromShares = this.getRecentsFromShares(user.id, shareIds, limit * 2)\n const unionAlias = union(fromSpaces, fromShares).as('unionAlias')\n return this.db.select().from(unionAlias).groupBy(unionAlias.id).orderBy(desc(unionAlias.id)).limit(limit)\n }\n}\n"],"names":["CommentsQueries","getComments","userId","isFileOwner","fromFileId","fromCommentId","limit","undefined","where","eq","comments","fileId","id","Error","db","select","getTableColumns","author","login","users","fullName","userFullNameSQL","email","isAuthor","sql","mapWith","Boolean","from","leftJoin","orderBy","desc","createComment","content","dbGetInsertedId","insert","values","updateComment","commentId","dbCheckAffectedRows","update","set","and","deleteComment","delete","or","membersToNotify","fromUserId","language","notification","fromComments","innerJoin","ne","fromFile","files","ownerId","union","getRecentsFromShares","shareIds","shareFile","alias","modifiedAt","as","file","name","shares","path","raw","SPACE_REPOSITORY","SHARES","filePathSQL","mime","inTrash","fromSpace","fromShare","spaces","spaceId","spacesRoots","isNull","shareExternalId","isNotNull","isDir","spaceExternalRootId","inArray","groupBy","getRecentsFromSpaces","spaceIds","spaceRootFile","FILES","TRASH","SPACE_ALIAS","PERSONAL","getRecentsFromUser","user","Promise","all","spacesQueries","sharesQueries","isAdmin","fromSpaces","fromShares","unionAlias"],"mappings":"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"}
|