@sync-in/server 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +93 -0
- package/LICENSE +660 -0
- package/README.md +106 -0
- package/environment/environment.dist.min.yaml +11 -0
- package/environment/environment.dist.yaml +95 -0
- package/migrations/0000_init.sql +324 -0
- package/migrations/meta/0000_snapshot.json +2417 -0
- package/migrations/meta/_journal.json +13 -0
- package/package.json +80 -0
- package/server/app.bootstrap.js +103 -0
- package/server/app.bootstrap.js.map +1 -0
- package/server/app.constants.js +58 -0
- package/server/app.constants.js.map +1 -0
- package/server/app.e2e-spec.js +34 -0
- package/server/app.e2e-spec.js.map +1 -0
- package/server/app.module.js +72 -0
- package/server/app.module.js.map +1 -0
- package/server/app.service.js +72 -0
- package/server/app.service.js.map +1 -0
- package/server/app.service.spec.js +94 -0
- package/server/app.service.spec.js.map +1 -0
- package/server/applications/admin/admin.module.js +31 -0
- package/server/applications/admin/admin.module.js.map +1 -0
- package/server/applications/admin/constants/routes.js +19 -0
- package/server/applications/admin/constants/routes.js.map +1 -0
- package/server/applications/applications.config.js +50 -0
- package/server/applications/applications.config.js.map +1 -0
- package/server/applications/applications.constants.js +69 -0
- package/server/applications/applications.constants.js.map +1 -0
- package/server/applications/applications.module.js +59 -0
- package/server/applications/applications.module.js.map +1 -0
- package/server/applications/comments/comments.controller.js +133 -0
- package/server/applications/comments/comments.controller.js.map +1 -0
- package/server/applications/comments/comments.controller.spec.js +63 -0
- package/server/applications/comments/comments.controller.spec.js.map +1 -0
- package/server/applications/comments/comments.module.js +39 -0
- package/server/applications/comments/comments.module.js.map +1 -0
- package/server/applications/comments/constants/routes.js +35 -0
- package/server/applications/comments/constants/routes.js.map +1 -0
- package/server/applications/comments/dto/comment.dto.js +62 -0
- package/server/applications/comments/dto/comment.dto.js.map +1 -0
- package/server/applications/comments/interfaces/comment-recent.interface.js +10 -0
- package/server/applications/comments/interfaces/comment-recent.interface.js.map +1 -0
- package/server/applications/comments/schemas/comment.interface.js +18 -0
- package/server/applications/comments/schemas/comment.interface.js.map +1 -0
- package/server/applications/comments/schemas/comments.schema.js +57 -0
- package/server/applications/comments/schemas/comments.schema.js.map +1 -0
- package/server/applications/comments/services/comments-manager.service.js +137 -0
- package/server/applications/comments/services/comments-manager.service.js.map +1 -0
- package/server/applications/comments/services/comments-manager.service.spec.js +51 -0
- package/server/applications/comments/services/comments-manager.service.spec.js.map +1 -0
- package/server/applications/comments/services/comments-queries.service.js +185 -0
- package/server/applications/comments/services/comments-queries.service.js.map +1 -0
- package/server/applications/files/adapters/files-indexer-mysql.service.js +174 -0
- package/server/applications/files/adapters/files-indexer-mysql.service.js.map +1 -0
- package/server/applications/files/assets/samples/sample.docx +0 -0
- package/server/applications/files/assets/samples/sample.odp +0 -0
- package/server/applications/files/assets/samples/sample.ods +0 -0
- package/server/applications/files/assets/samples/sample.odt +0 -0
- package/server/applications/files/assets/samples/sample.pptx +0 -0
- package/server/applications/files/assets/samples/sample.rtf +194 -0
- package/server/applications/files/assets/samples/sample.xlsx +0 -0
- package/server/applications/files/constants/cache.js +36 -0
- package/server/applications/files/constants/cache.js.map +1 -0
- package/server/applications/files/constants/compress.js +26 -0
- package/server/applications/files/constants/compress.js.map +1 -0
- package/server/applications/files/constants/files.js +103 -0
- package/server/applications/files/constants/files.js.map +1 -0
- package/server/applications/files/constants/indexing.js +49 -0
- package/server/applications/files/constants/indexing.js.map +1 -0
- package/server/applications/files/constants/only-office.js +536 -0
- package/server/applications/files/constants/only-office.js.map +1 -0
- package/server/applications/files/constants/operations.js +29 -0
- package/server/applications/files/constants/operations.js.map +1 -0
- package/server/applications/files/constants/routes.js +100 -0
- package/server/applications/files/constants/routes.js.map +1 -0
- package/server/applications/files/constants/samples.js +35 -0
- package/server/applications/files/constants/samples.js.map +1 -0
- package/server/applications/files/decorators/only-office-environment.decorator.js +32 -0
- package/server/applications/files/decorators/only-office-environment.decorator.js.map +1 -0
- package/server/applications/files/dto/file-operations.dto.js +145 -0
- package/server/applications/files/dto/file-operations.dto.js.map +1 -0
- package/server/applications/files/events/file-task-event.js +23 -0
- package/server/applications/files/events/file-task-event.js.map +1 -0
- package/server/applications/files/files-only-office.controller.js +111 -0
- package/server/applications/files/files-only-office.controller.js.map +1 -0
- package/server/applications/files/files-only-office.controller.spec.js +47 -0
- package/server/applications/files/files-only-office.controller.spec.js.map +1 -0
- package/server/applications/files/files-tasks.controller.js +97 -0
- package/server/applications/files/files-tasks.controller.js.map +1 -0
- package/server/applications/files/files-tasks.controller.spec.js +40 -0
- package/server/applications/files/files-tasks.controller.spec.js.map +1 -0
- package/server/applications/files/files.config.js +96 -0
- package/server/applications/files/files.config.js.map +1 -0
- package/server/applications/files/files.controller.js +319 -0
- package/server/applications/files/files.controller.js.map +1 -0
- package/server/applications/files/files.controller.spec.js +84 -0
- package/server/applications/files/files.controller.spec.js.map +1 -0
- package/server/applications/files/files.module.js +78 -0
- package/server/applications/files/files.module.js.map +1 -0
- package/server/applications/files/guards/files-only-office.guard.js +48 -0
- package/server/applications/files/guards/files-only-office.guard.js.map +1 -0
- package/server/applications/files/guards/files-only-office.guard.spec.js +16 -0
- package/server/applications/files/guards/files-only-office.guard.spec.js.map +1 -0
- package/server/applications/files/guards/files-only-office.strategy.js +60 -0
- package/server/applications/files/guards/files-only-office.strategy.js.map +1 -0
- package/server/applications/files/interfaces/file-db-props.interface.js +10 -0
- package/server/applications/files/interfaces/file-db-props.interface.js.map +1 -0
- package/server/applications/files/interfaces/file-lock.interface.js +10 -0
- package/server/applications/files/interfaces/file-lock.interface.js.map +1 -0
- package/server/applications/files/interfaces/file-parse-index.js +10 -0
- package/server/applications/files/interfaces/file-parse-index.js.map +1 -0
- package/server/applications/files/interfaces/file-props.interface.js +10 -0
- package/server/applications/files/interfaces/file-props.interface.js.map +1 -0
- package/server/applications/files/interfaces/file-recent-location.interface.js +10 -0
- package/server/applications/files/interfaces/file-recent-location.interface.js.map +1 -0
- package/server/applications/files/interfaces/file-space.interface.js +18 -0
- package/server/applications/files/interfaces/file-space.interface.js.map +1 -0
- package/server/applications/files/interfaces/file-tree.interface.js +10 -0
- package/server/applications/files/interfaces/file-tree.interface.js.map +1 -0
- package/server/applications/files/interfaces/only-office-config.interface.js +10 -0
- package/server/applications/files/interfaces/only-office-config.interface.js.map +1 -0
- package/server/applications/files/models/file-error.js +23 -0
- package/server/applications/files/models/file-error.js.map +1 -0
- package/server/applications/files/models/file-lock-error.js +23 -0
- package/server/applications/files/models/file-lock-error.js.map +1 -0
- package/server/applications/files/models/file-task.js +52 -0
- package/server/applications/files/models/file-task.js.map +1 -0
- package/server/applications/files/models/files-indexer.js +18 -0
- package/server/applications/files/models/files-indexer.js.map +1 -0
- package/server/applications/files/schemas/file-content.interface.js +10 -0
- package/server/applications/files/schemas/file-content.interface.js.map +1 -0
- package/server/applications/files/schemas/file-recent.interface.js +18 -0
- package/server/applications/files/schemas/file-recent.interface.js.map +1 -0
- package/server/applications/files/schemas/file.interface.js +18 -0
- package/server/applications/files/schemas/file.interface.js.map +1 -0
- package/server/applications/files/schemas/files-content.schema.js +41 -0
- package/server/applications/files/schemas/files-content.schema.js.map +1 -0
- package/server/applications/files/schemas/files-recents.schema.js +63 -0
- package/server/applications/files/schemas/files-recents.schema.js.map +1 -0
- package/server/applications/files/schemas/files.schema.js +100 -0
- package/server/applications/files/schemas/files.schema.js.map +1 -0
- package/server/applications/files/services/files-content-manager.service.js +204 -0
- package/server/applications/files/services/files-content-manager.service.js.map +1 -0
- package/server/applications/files/services/files-lock-manager.service.js +285 -0
- package/server/applications/files/services/files-lock-manager.service.js.map +1 -0
- package/server/applications/files/services/files-lock-manager.service.spec.js +40 -0
- package/server/applications/files/services/files-lock-manager.service.spec.js.map +1 -0
- package/server/applications/files/services/files-manager.service.js +565 -0
- package/server/applications/files/services/files-manager.service.js.map +1 -0
- package/server/applications/files/services/files-manager.service.spec.js +43 -0
- package/server/applications/files/services/files-manager.service.spec.js.map +1 -0
- package/server/applications/files/services/files-methods.service.js +180 -0
- package/server/applications/files/services/files-methods.service.js.map +1 -0
- package/server/applications/files/services/files-methods.service.spec.js +135 -0
- package/server/applications/files/services/files-methods.service.spec.js.map +1 -0
- package/server/applications/files/services/files-only-office-manager.service.js +395 -0
- package/server/applications/files/services/files-only-office-manager.service.js.map +1 -0
- package/server/applications/files/services/files-only-office-manager.service.spec.js +58 -0
- package/server/applications/files/services/files-only-office-manager.service.spec.js.map +1 -0
- package/server/applications/files/services/files-parser.service.js +189 -0
- package/server/applications/files/services/files-parser.service.js.map +1 -0
- package/server/applications/files/services/files-parser.service.spec.js +31 -0
- package/server/applications/files/services/files-parser.service.spec.js.map +1 -0
- package/server/applications/files/services/files-queries.service.js +314 -0
- package/server/applications/files/services/files-queries.service.js.map +1 -0
- package/server/applications/files/services/files-recents.service.js +97 -0
- package/server/applications/files/services/files-recents.service.js.map +1 -0
- package/server/applications/files/services/files-recents.service.spec.js +41 -0
- package/server/applications/files/services/files-recents.service.spec.js.map +1 -0
- package/server/applications/files/services/files-scheduler.service.js +179 -0
- package/server/applications/files/services/files-scheduler.service.js.map +1 -0
- package/server/applications/files/services/files-search-manager.service.js +146 -0
- package/server/applications/files/services/files-search-manager.service.js.map +1 -0
- package/server/applications/files/services/files-search-manager.service.spec.js +46 -0
- package/server/applications/files/services/files-search-manager.service.spec.js.map +1 -0
- package/server/applications/files/services/files-tasks-manager.service.js +253 -0
- package/server/applications/files/services/files-tasks-manager.service.js.map +1 -0
- package/server/applications/files/services/files-tasks-manager.service.spec.js +46 -0
- package/server/applications/files/services/files-tasks-manager.service.spec.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/excel.js +91 -0
- package/server/applications/files/utils/doc-textify/adapters/excel.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/html.js +33 -0
- package/server/applications/files/utils/doc-textify/adapters/html.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/open-office.js +110 -0
- package/server/applications/files/utils/doc-textify/adapters/open-office.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/pdf.js +67 -0
- package/server/applications/files/utils/doc-textify/adapters/pdf.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/power-point.js +111 -0
- package/server/applications/files/utils/doc-textify/adapters/power-point.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/text.js +27 -0
- package/server/applications/files/utils/doc-textify/adapters/text.js.map +1 -0
- package/server/applications/files/utils/doc-textify/adapters/word.js +101 -0
- package/server/applications/files/utils/doc-textify/adapters/word.js.map +1 -0
- package/server/applications/files/utils/doc-textify/doc-textify.js +75 -0
- package/server/applications/files/utils/doc-textify/doc-textify.js.map +1 -0
- package/server/applications/files/utils/doc-textify/interfaces/doc-textify.interfaces.js +10 -0
- package/server/applications/files/utils/doc-textify/interfaces/doc-textify.interfaces.js.map +1 -0
- package/server/applications/files/utils/doc-textify/utils/clean.js +34 -0
- package/server/applications/files/utils/doc-textify/utils/clean.js.map +1 -0
- package/server/applications/files/utils/files-search.js +144 -0
- package/server/applications/files/utils/files-search.js.map +1 -0
- package/server/applications/files/utils/files-tree.js +86 -0
- package/server/applications/files/utils/files-tree.js.map +1 -0
- package/server/applications/files/utils/files.js +386 -0
- package/server/applications/files/utils/files.js.map +1 -0
- package/server/applications/files/utils/send-file.js +70 -0
- package/server/applications/files/utils/send-file.js.map +1 -0
- package/server/applications/files/utils/unzip-file.js +60 -0
- package/server/applications/files/utils/unzip-file.js.map +1 -0
- package/server/applications/files/utils/url-file.js +39 -0
- package/server/applications/files/utils/url-file.js.map +1 -0
- package/server/applications/links/constants/cache.js +28 -0
- package/server/applications/links/constants/cache.js.map +1 -0
- package/server/applications/links/constants/links.js +36 -0
- package/server/applications/links/constants/links.js.map +1 -0
- package/server/applications/links/constants/routes.js +41 -0
- package/server/applications/links/constants/routes.js.map +1 -0
- package/server/applications/links/dto/create-or-update-link.dto.js +95 -0
- package/server/applications/links/dto/create-or-update-link.dto.js.map +1 -0
- package/server/applications/links/interfaces/link-guest.interface.js +10 -0
- package/server/applications/links/interfaces/link-guest.interface.js.map +1 -0
- package/server/applications/links/interfaces/link-space.interface.js +10 -0
- package/server/applications/links/interfaces/link-space.interface.js.map +1 -0
- package/server/applications/links/links.controller.js +107 -0
- package/server/applications/links/links.controller.js.map +1 -0
- package/server/applications/links/links.controller.spec.js +88 -0
- package/server/applications/links/links.controller.spec.js.map +1 -0
- package/server/applications/links/schemas/link.interface.js +18 -0
- package/server/applications/links/schemas/link.interface.js.map +1 -0
- package/server/applications/links/schemas/links.schema.js +56 -0
- package/server/applications/links/schemas/links.schema.js.map +1 -0
- package/server/applications/links/services/links-manager.service.js +158 -0
- package/server/applications/links/services/links-manager.service.js.map +1 -0
- package/server/applications/links/services/links-manager.service.spec.js +84 -0
- package/server/applications/links/services/links-manager.service.spec.js.map +1 -0
- package/server/applications/links/services/links-queries.service.js +181 -0
- package/server/applications/links/services/links-queries.service.js.map +1 -0
- package/server/applications/notifications/constants/notifications.js +62 -0
- package/server/applications/notifications/constants/notifications.js.map +1 -0
- package/server/applications/notifications/constants/routes.js +30 -0
- package/server/applications/notifications/constants/routes.js.map +1 -0
- package/server/applications/notifications/constants/websocket.js +22 -0
- package/server/applications/notifications/constants/websocket.js.map +1 -0
- package/server/applications/notifications/i18n/fr.js +43 -0
- package/server/applications/notifications/i18n/fr.js.map +1 -0
- package/server/applications/notifications/i18n/index.js +37 -0
- package/server/applications/notifications/i18n/index.js.map +1 -0
- package/server/applications/notifications/interfaces/notification-properties.interface.js +10 -0
- package/server/applications/notifications/interfaces/notification-properties.interface.js.map +1 -0
- package/server/applications/notifications/interfaces/user-mail-notification.js +10 -0
- package/server/applications/notifications/interfaces/user-mail-notification.js.map +1 -0
- package/server/applications/notifications/mails/models.js +133 -0
- package/server/applications/notifications/mails/models.js.map +1 -0
- package/server/applications/notifications/mails/templates.js +51 -0
- package/server/applications/notifications/mails/templates.js.map +1 -0
- package/server/applications/notifications/mails/urls.js +51 -0
- package/server/applications/notifications/mails/urls.js.map +1 -0
- package/server/applications/notifications/notifications.controller.js +110 -0
- package/server/applications/notifications/notifications.controller.js.map +1 -0
- package/server/applications/notifications/notifications.controller.spec.js +33 -0
- package/server/applications/notifications/notifications.controller.spec.js.map +1 -0
- package/server/applications/notifications/notifications.gateway.js +45 -0
- package/server/applications/notifications/notifications.gateway.js.map +1 -0
- package/server/applications/notifications/notifications.module.js +44 -0
- package/server/applications/notifications/notifications.module.js.map +1 -0
- package/server/applications/notifications/schemas/notification.interface.js +18 -0
- package/server/applications/notifications/schemas/notification.interface.js.map +1 -0
- package/server/applications/notifications/schemas/notifications.schema.js +45 -0
- package/server/applications/notifications/schemas/notifications.schema.js.map +1 -0
- package/server/applications/notifications/services/notifications-manager.service.js +143 -0
- package/server/applications/notifications/services/notifications-manager.service.js.map +1 -0
- package/server/applications/notifications/services/notifications-manager.service.spec.js +46 -0
- package/server/applications/notifications/services/notifications-manager.service.spec.js.map +1 -0
- package/server/applications/notifications/services/notifications-queries.service.js +100 -0
- package/server/applications/notifications/services/notifications-queries.service.js.map +1 -0
- package/server/applications/shares/constants/routes.js +46 -0
- package/server/applications/shares/constants/routes.js.map +1 -0
- package/server/applications/shares/constants/shares.js +31 -0
- package/server/applications/shares/constants/shares.js.map +1 -0
- package/server/applications/shares/dto/create-or-update-share.dto.js +232 -0
- package/server/applications/shares/dto/create-or-update-share.dto.js.map +1 -0
- package/server/applications/shares/interfaces/share-child.interface.js +10 -0
- package/server/applications/shares/interfaces/share-child.interface.js.map +1 -0
- package/server/applications/shares/interfaces/share-env.interface.js +10 -0
- package/server/applications/shares/interfaces/share-env.interface.js.map +1 -0
- package/server/applications/shares/interfaces/share-file.interface.js +21 -0
- package/server/applications/shares/interfaces/share-file.interface.js.map +1 -0
- package/server/applications/shares/interfaces/share-link.interface.js +10 -0
- package/server/applications/shares/interfaces/share-link.interface.js.map +1 -0
- package/server/applications/shares/interfaces/share-props.interface.js +22 -0
- package/server/applications/shares/interfaces/share-props.interface.js.map +1 -0
- package/server/applications/shares/models/share-child.model.js +30 -0
- package/server/applications/shares/models/share-child.model.js.map +1 -0
- package/server/applications/shares/schemas/share-members.interface.js +18 -0
- package/server/applications/shares/schemas/share-members.interface.js.map +1 -0
- package/server/applications/shares/schemas/share.interface.js +18 -0
- package/server/applications/shares/schemas/share.interface.js.map +1 -0
- package/server/applications/shares/schemas/shares-members.schema.js +69 -0
- package/server/applications/shares/schemas/shares-members.schema.js.map +1 -0
- package/server/applications/shares/schemas/shares.schema.js +91 -0
- package/server/applications/shares/schemas/shares.schema.js.map +1 -0
- package/server/applications/shares/services/shares-manager.service.js +1010 -0
- package/server/applications/shares/services/shares-manager.service.js.map +1 -0
- package/server/applications/shares/services/shares-manager.service.spec.js +56 -0
- package/server/applications/shares/services/shares-manager.service.spec.js.map +1 -0
- package/server/applications/shares/services/shares-queries.service.js +892 -0
- package/server/applications/shares/services/shares-queries.service.js.map +1 -0
- package/server/applications/shares/shares.controller.js +293 -0
- package/server/applications/shares/shares.controller.js.map +1 -0
- package/server/applications/shares/shares.controller.spec.js +60 -0
- package/server/applications/shares/shares.controller.spec.js.map +1 -0
- package/server/applications/shares/shares.module.js +49 -0
- package/server/applications/shares/shares.module.js.map +1 -0
- package/server/applications/spaces/constants/cache.js +32 -0
- package/server/applications/spaces/constants/cache.js.map +1 -0
- package/server/applications/spaces/constants/routes.js +58 -0
- package/server/applications/spaces/constants/routes.js.map +1 -0
- package/server/applications/spaces/constants/spaces.js +104 -0
- package/server/applications/spaces/constants/spaces.js.map +1 -0
- package/server/applications/spaces/decorators/space-skip-guard.decorator.js +27 -0
- package/server/applications/spaces/decorators/space-skip-guard.decorator.js.map +1 -0
- package/server/applications/spaces/decorators/space-skip-permissions.decorator.js +27 -0
- package/server/applications/spaces/decorators/space-skip-permissions.decorator.js.map +1 -0
- package/server/applications/spaces/decorators/space.decorator.js +20 -0
- package/server/applications/spaces/decorators/space.decorator.js.map +1 -0
- package/server/applications/spaces/dto/create-or-update-space.dto.js +164 -0
- package/server/applications/spaces/dto/create-or-update-space.dto.js.map +1 -0
- package/server/applications/spaces/dto/delete-space.dto.js +33 -0
- package/server/applications/spaces/dto/delete-space.dto.js.map +1 -0
- package/server/applications/spaces/dto/search-space.dto.js +47 -0
- package/server/applications/spaces/dto/search-space.dto.js.map +1 -0
- package/server/applications/spaces/dto/space-roots.dto.js +117 -0
- package/server/applications/spaces/dto/space-roots.dto.js.map +1 -0
- package/server/applications/spaces/guards/space.guard.js +151 -0
- package/server/applications/spaces/guards/space.guard.js.map +1 -0
- package/server/applications/spaces/guards/space.guard.spec.js +457 -0
- package/server/applications/spaces/guards/space.guard.spec.js.map +1 -0
- package/server/applications/spaces/interfaces/space-diff.interface.js +10 -0
- package/server/applications/spaces/interfaces/space-diff.interface.js.map +1 -0
- package/server/applications/spaces/interfaces/space-files.interface.js +10 -0
- package/server/applications/spaces/interfaces/space-files.interface.js.map +1 -0
- package/server/applications/spaces/interfaces/space-quota.interface.js +10 -0
- package/server/applications/spaces/interfaces/space-quota.interface.js.map +1 -0
- package/server/applications/spaces/interfaces/space-request.interface.js +10 -0
- package/server/applications/spaces/interfaces/space-request.interface.js.map +1 -0
- package/server/applications/spaces/interfaces/space-trash.interface.js +10 -0
- package/server/applications/spaces/interfaces/space-trash.interface.js.map +1 -0
- package/server/applications/spaces/models/space-env.model.js +112 -0
- package/server/applications/spaces/models/space-env.model.js.map +1 -0
- package/server/applications/spaces/models/space-props.model.js +60 -0
- package/server/applications/spaces/models/space-props.model.js.map +1 -0
- package/server/applications/spaces/models/space-root-props.model.js +18 -0
- package/server/applications/spaces/models/space-root-props.model.js.map +1 -0
- package/server/applications/spaces/models/space.model.js +64 -0
- package/server/applications/spaces/models/space.model.js.map +1 -0
- package/server/applications/spaces/schemas/space-members.interface.js +18 -0
- package/server/applications/spaces/schemas/space-members.interface.js.map +1 -0
- package/server/applications/spaces/schemas/space-root.interface.js +18 -0
- package/server/applications/spaces/schemas/space-root.interface.js.map +1 -0
- package/server/applications/spaces/schemas/space.interface.js +18 -0
- package/server/applications/spaces/schemas/space.interface.js.map +1 -0
- package/server/applications/spaces/schemas/spaces-members.schema.js +73 -0
- package/server/applications/spaces/schemas/spaces-members.schema.js.map +1 -0
- package/server/applications/spaces/schemas/spaces-roots.schema.js +61 -0
- package/server/applications/spaces/schemas/spaces-roots.schema.js.map +1 -0
- package/server/applications/spaces/schemas/spaces.schema.js +63 -0
- package/server/applications/spaces/schemas/spaces.schema.js.map +1 -0
- package/server/applications/spaces/services/spaces-browser.service.js +308 -0
- package/server/applications/spaces/services/spaces-browser.service.js.map +1 -0
- package/server/applications/spaces/services/spaces-browser.service.spec.js +74 -0
- package/server/applications/spaces/services/spaces-browser.service.spec.js.map +1 -0
- package/server/applications/spaces/services/spaces-manager.service.js +818 -0
- package/server/applications/spaces/services/spaces-manager.service.js.map +1 -0
- package/server/applications/spaces/services/spaces-manager.service.spec.js +269 -0
- package/server/applications/spaces/services/spaces-manager.service.spec.js.map +1 -0
- package/server/applications/spaces/services/spaces-queries.service.js +763 -0
- package/server/applications/spaces/services/spaces-queries.service.js.map +1 -0
- package/server/applications/spaces/services/spaces-scheduler.service.js +88 -0
- package/server/applications/spaces/services/spaces-scheduler.service.js.map +1 -0
- package/server/applications/spaces/spaces.controller.js +386 -0
- package/server/applications/spaces/spaces.controller.js.map +1 -0
- package/server/applications/spaces/spaces.controller.spec.js +65 -0
- package/server/applications/spaces/spaces.controller.spec.js.map +1 -0
- package/server/applications/spaces/spaces.module.js +51 -0
- package/server/applications/spaces/spaces.module.js.map +1 -0
- package/server/applications/spaces/utils/paths.js +241 -0
- package/server/applications/spaces/utils/paths.js.map +1 -0
- package/server/applications/spaces/utils/permissions.js +88 -0
- package/server/applications/spaces/utils/permissions.js.map +1 -0
- package/server/applications/spaces/utils/routes.js +20 -0
- package/server/applications/spaces/utils/routes.js.map +1 -0
- package/server/applications/sync/constants/auth.js +38 -0
- package/server/applications/sync/constants/auth.js.map +1 -0
- package/server/applications/sync/constants/routes.js +47 -0
- package/server/applications/sync/constants/routes.js.map +1 -0
- package/server/applications/sync/constants/store.js +48 -0
- package/server/applications/sync/constants/store.js.map +1 -0
- package/server/applications/sync/constants/sync.js +128 -0
- package/server/applications/sync/constants/sync.js.map +1 -0
- package/server/applications/sync/decorators/sync-context.decorator.js +27 -0
- package/server/applications/sync/decorators/sync-context.decorator.js.map +1 -0
- package/server/applications/sync/decorators/sync-environment.decorator.js +25 -0
- package/server/applications/sync/decorators/sync-environment.decorator.js.map +1 -0
- package/server/applications/sync/dtos/sync-client-auth.dto.js +47 -0
- package/server/applications/sync/dtos/sync-client-auth.dto.js.map +1 -0
- package/server/applications/sync/dtos/sync-client-registration.dto.js +51 -0
- package/server/applications/sync/dtos/sync-client-registration.dto.js.map +1 -0
- package/server/applications/sync/dtos/sync-operations.dto.js +104 -0
- package/server/applications/sync/dtos/sync-operations.dto.js.map +1 -0
- package/server/applications/sync/dtos/sync-path.dto.js +130 -0
- package/server/applications/sync/dtos/sync-path.dto.js.map +1 -0
- package/server/applications/sync/dtos/sync-upload.dto.js +49 -0
- package/server/applications/sync/dtos/sync-upload.dto.js.map +1 -0
- package/server/applications/sync/interceptors/sync-diff-gzip-body.interceptor.js +55 -0
- package/server/applications/sync/interceptors/sync-diff-gzip-body.interceptor.js.map +1 -0
- package/server/applications/sync/interfaces/store-manifest.interface.js +10 -0
- package/server/applications/sync/interfaces/store-manifest.interface.js.map +1 -0
- package/server/applications/sync/interfaces/sync-client-auth.interface.js +30 -0
- package/server/applications/sync/interfaces/sync-client-auth.interface.js.map +1 -0
- package/server/applications/sync/interfaces/sync-client-paths.interface.js +10 -0
- package/server/applications/sync/interfaces/sync-client-paths.interface.js.map +1 -0
- package/server/applications/sync/interfaces/sync-client.interface.js +10 -0
- package/server/applications/sync/interfaces/sync-client.interface.js.map +1 -0
- package/server/applications/sync/interfaces/sync-diff.interface.js +11 -0
- package/server/applications/sync/interfaces/sync-diff.interface.js.map +1 -0
- package/server/applications/sync/interfaces/sync-path.interface.js +10 -0
- package/server/applications/sync/interfaces/sync-path.interface.js.map +1 -0
- package/server/applications/sync/schemas/sync-client.interface.js +18 -0
- package/server/applications/sync/schemas/sync-client.interface.js.map +1 -0
- package/server/applications/sync/schemas/sync-clients.schema.js +57 -0
- package/server/applications/sync/schemas/sync-clients.schema.js.map +1 -0
- package/server/applications/sync/schemas/sync-path.interface.js +18 -0
- package/server/applications/sync/schemas/sync-path.interface.js.map +1 -0
- package/server/applications/sync/schemas/sync-paths.schema.js +76 -0
- package/server/applications/sync/schemas/sync-paths.schema.js.map +1 -0
- package/server/applications/sync/services/sync-clients-manager.service.js +218 -0
- package/server/applications/sync/services/sync-clients-manager.service.js.map +1 -0
- package/server/applications/sync/services/sync-clients-manager.service.spec.js +56 -0
- package/server/applications/sync/services/sync-clients-manager.service.spec.js.map +1 -0
- package/server/applications/sync/services/sync-manager.service.js +299 -0
- package/server/applications/sync/services/sync-manager.service.js.map +1 -0
- package/server/applications/sync/services/sync-manager.service.spec.js +41 -0
- package/server/applications/sync/services/sync-manager.service.spec.js.map +1 -0
- package/server/applications/sync/services/sync-paths-manager.service.js +290 -0
- package/server/applications/sync/services/sync-paths-manager.service.js.map +1 -0
- package/server/applications/sync/services/sync-paths-manager.service.spec.js +56 -0
- package/server/applications/sync/services/sync-paths-manager.service.spec.js.map +1 -0
- package/server/applications/sync/services/sync-queries.service.js +238 -0
- package/server/applications/sync/services/sync-queries.service.js.map +1 -0
- package/server/applications/sync/sync.config.js +36 -0
- package/server/applications/sync/sync.config.js.map +1 -0
- package/server/applications/sync/sync.controller.js +407 -0
- package/server/applications/sync/sync.controller.js.map +1 -0
- package/server/applications/sync/sync.controller.spec.js +53 -0
- package/server/applications/sync/sync.controller.spec.js.map +1 -0
- package/server/applications/sync/sync.module.js +45 -0
- package/server/applications/sync/sync.module.js.map +1 -0
- package/server/applications/sync/utils/functions.js +26 -0
- package/server/applications/sync/utils/functions.js.map +1 -0
- package/server/applications/sync/utils/normalizedMap.js +52 -0
- package/server/applications/sync/utils/normalizedMap.js.map +1 -0
- package/server/applications/sync/utils/routes.js +27 -0
- package/server/applications/sync/utils/routes.js.map +1 -0
- package/server/applications/users/admin-users.controller.js +350 -0
- package/server/applications/users/admin-users.controller.js.map +1 -0
- package/server/applications/users/admin-users.controller.spec.js +60 -0
- package/server/applications/users/admin-users.controller.spec.js.map +1 -0
- package/server/applications/users/constants/group.js +35 -0
- package/server/applications/users/constants/group.js.map +1 -0
- package/server/applications/users/constants/member.js +39 -0
- package/server/applications/users/constants/member.js.map +1 -0
- package/server/applications/users/constants/routes.js +134 -0
- package/server/applications/users/constants/routes.js.map +1 -0
- package/server/applications/users/constants/user.js +118 -0
- package/server/applications/users/constants/user.js.map +1 -0
- package/server/applications/users/constants/websocket.js +33 -0
- package/server/applications/users/constants/websocket.js.map +1 -0
- package/server/applications/users/decorators/permissions.decorator.js +18 -0
- package/server/applications/users/decorators/permissions.decorator.js.map +1 -0
- package/server/applications/users/decorators/roles.decorator.js +18 -0
- package/server/applications/users/decorators/roles.decorator.js.map +1 -0
- package/server/applications/users/decorators/user.decorator.js +20 -0
- package/server/applications/users/decorators/user.decorator.js.map +1 -0
- package/server/applications/users/dto/create-or-update-group.dto.js +66 -0
- package/server/applications/users/dto/create-or-update-group.dto.js.map +1 -0
- package/server/applications/users/dto/create-or-update-user.dto.js +167 -0
- package/server/applications/users/dto/create-or-update-user.dto.js.map +1 -0
- package/server/applications/users/dto/delete-user.dto.js +54 -0
- package/server/applications/users/dto/delete-user.dto.js.map +1 -0
- package/server/applications/users/dto/search-members.dto.js +79 -0
- package/server/applications/users/dto/search-members.dto.js.map +1 -0
- package/server/applications/users/dto/user-password.dto.js +35 -0
- package/server/applications/users/dto/user-password.dto.js.map +1 -0
- package/server/applications/users/dto/user-properties.dto.js +64 -0
- package/server/applications/users/dto/user-properties.dto.js.map +1 -0
- package/server/applications/users/guards/permissions.guard.js +71 -0
- package/server/applications/users/guards/permissions.guard.js.map +1 -0
- package/server/applications/users/guards/permissions.guard.spec.js +103 -0
- package/server/applications/users/guards/permissions.guard.spec.js.map +1 -0
- package/server/applications/users/guards/roles.guard.js +62 -0
- package/server/applications/users/guards/roles.guard.js.map +1 -0
- package/server/applications/users/guards/roles.guard.spec.js +90 -0
- package/server/applications/users/guards/roles.guard.spec.js.map +1 -0
- package/server/applications/users/interfaces/admin-group.interface.js +10 -0
- package/server/applications/users/interfaces/admin-group.interface.js.map +1 -0
- package/server/applications/users/interfaces/admin-user.interface.js +10 -0
- package/server/applications/users/interfaces/admin-user.interface.js.map +1 -0
- package/server/applications/users/interfaces/group-browse.interface.js +10 -0
- package/server/applications/users/interfaces/group-browse.interface.js.map +1 -0
- package/server/applications/users/interfaces/group-member.js +10 -0
- package/server/applications/users/interfaces/group-member.js.map +1 -0
- package/server/applications/users/interfaces/guest-user.interface.js +10 -0
- package/server/applications/users/interfaces/guest-user.interface.js.map +1 -0
- package/server/applications/users/interfaces/member.interface.js +10 -0
- package/server/applications/users/interfaces/member.interface.js.map +1 -0
- package/server/applications/users/interfaces/owner.interface.js +10 -0
- package/server/applications/users/interfaces/owner.interface.js.map +1 -0
- package/server/applications/users/interfaces/websocket.interface.js +10 -0
- package/server/applications/users/interfaces/websocket.interface.js.map +1 -0
- package/server/applications/users/models/user.model.js +226 -0
- package/server/applications/users/models/user.model.js.map +1 -0
- package/server/applications/users/schemas/group.interface.js +18 -0
- package/server/applications/users/schemas/group.interface.js.map +1 -0
- package/server/applications/users/schemas/groups.schema.js +56 -0
- package/server/applications/users/schemas/groups.schema.js.map +1 -0
- package/server/applications/users/schemas/user-group.interface.js +18 -0
- package/server/applications/users/schemas/user-group.interface.js.map +1 -0
- package/server/applications/users/schemas/user.interface.js +18 -0
- package/server/applications/users/schemas/user.interface.js.map +1 -0
- package/server/applications/users/schemas/users-groups.schema.js +49 -0
- package/server/applications/users/schemas/users-groups.schema.js.map +1 -0
- package/server/applications/users/schemas/users-guests.schema.js +46 -0
- package/server/applications/users/schemas/users-guests.schema.js.map +1 -0
- package/server/applications/users/schemas/users.schema.js +94 -0
- package/server/applications/users/schemas/users.schema.js.map +1 -0
- package/server/applications/users/services/admin-users-manager.service.js +385 -0
- package/server/applications/users/services/admin-users-manager.service.js.map +1 -0
- package/server/applications/users/services/admin-users-manager.service.spec.js +50 -0
- package/server/applications/users/services/admin-users-manager.service.spec.js.map +1 -0
- package/server/applications/users/services/admin-users-queries.service.js +315 -0
- package/server/applications/users/services/admin-users-queries.service.js.map +1 -0
- package/server/applications/users/services/users-manager.service.js +424 -0
- package/server/applications/users/services/users-manager.service.js.map +1 -0
- package/server/applications/users/services/users-manager.service.spec.js +151 -0
- package/server/applications/users/services/users-manager.service.spec.js.map +1 -0
- package/server/applications/users/services/users-queries.service.js +570 -0
- package/server/applications/users/services/users-queries.service.js.map +1 -0
- package/server/applications/users/users.controller.js +371 -0
- package/server/applications/users/users.controller.js.map +1 -0
- package/server/applications/users/users.controller.spec.js +86 -0
- package/server/applications/users/users.controller.spec.js.map +1 -0
- package/server/applications/users/users.e2e-spec.js +97 -0
- package/server/applications/users/users.e2e-spec.js.map +1 -0
- package/server/applications/users/users.gateway.js +182 -0
- package/server/applications/users/users.gateway.js.map +1 -0
- package/server/applications/users/users.gateway.spec.js +36 -0
- package/server/applications/users/users.gateway.spec.js.map +1 -0
- package/server/applications/users/users.module.js +57 -0
- package/server/applications/users/users.module.js.map +1 -0
- package/server/applications/users/utils/test.js +34 -0
- package/server/applications/users/utils/test.js.map +1 -0
- package/server/applications/webdav/constants/routes.js +73 -0
- package/server/applications/webdav/constants/routes.js.map +1 -0
- package/server/applications/webdav/constants/webdav.js +168 -0
- package/server/applications/webdav/constants/webdav.js.map +1 -0
- package/server/applications/webdav/decorators/if-header.decorator.js +27 -0
- package/server/applications/webdav/decorators/if-header.decorator.js.map +1 -0
- package/server/applications/webdav/decorators/webdav-context.decorator.js +36 -0
- package/server/applications/webdav/decorators/webdav-context.decorator.js.map +1 -0
- package/server/applications/webdav/filters/webdav.filter.js +45 -0
- package/server/applications/webdav/filters/webdav.filter.js.map +1 -0
- package/server/applications/webdav/guards/webdav-protocol.guard.js +262 -0
- package/server/applications/webdav/guards/webdav-protocol.guard.js.map +1 -0
- package/server/applications/webdav/interfaces/if-header.interface.js +10 -0
- package/server/applications/webdav/interfaces/if-header.interface.js.map +1 -0
- package/server/applications/webdav/interfaces/webdav.interface.js +10 -0
- package/server/applications/webdav/interfaces/webdav.interface.js.map +1 -0
- package/server/applications/webdav/models/webdav-file.model.js +74 -0
- package/server/applications/webdav/models/webdav-file.model.js.map +1 -0
- package/server/applications/webdav/services/webdav-methods.service.js +520 -0
- package/server/applications/webdav/services/webdav-methods.service.js.map +1 -0
- package/server/applications/webdav/services/webdav-methods.service.spec.js +41 -0
- package/server/applications/webdav/services/webdav-methods.service.spec.js.map +1 -0
- package/server/applications/webdav/services/webdav-spaces.service.js +169 -0
- package/server/applications/webdav/services/webdav-spaces.service.js.map +1 -0
- package/server/applications/webdav/services/webdav-spaces.service.spec.js +36 -0
- package/server/applications/webdav/services/webdav-spaces.service.spec.js.map +1 -0
- package/server/applications/webdav/utils/if-header.js +89 -0
- package/server/applications/webdav/utils/if-header.js.map +1 -0
- package/server/applications/webdav/utils/routes.js +30 -0
- package/server/applications/webdav/utils/routes.js.map +1 -0
- package/server/applications/webdav/utils/webdav.js +167 -0
- package/server/applications/webdav/utils/webdav.js.map +1 -0
- package/server/applications/webdav/utils/xml.js +72 -0
- package/server/applications/webdav/utils/xml.js.map +1 -0
- package/server/applications/webdav/webdav.controller.js +173 -0
- package/server/applications/webdav/webdav.controller.js.map +1 -0
- package/server/applications/webdav/webdav.controller.spec.js +41 -0
- package/server/applications/webdav/webdav.controller.spec.js.map +1 -0
- package/server/applications/webdav/webdav.e2e-spec.js +69 -0
- package/server/applications/webdav/webdav.e2e-spec.js.map +1 -0
- package/server/applications/webdav/webdav.module.js +41 -0
- package/server/applications/webdav/webdav.module.js.map +1 -0
- package/server/authentication/auth.config.js +223 -0
- package/server/authentication/auth.config.js.map +1 -0
- package/server/authentication/auth.controller.js +126 -0
- package/server/authentication/auth.controller.js.map +1 -0
- package/server/authentication/auth.controller.spec.js +132 -0
- package/server/authentication/auth.controller.spec.js.map +1 -0
- package/server/authentication/auth.e2e-spec.js +340 -0
- package/server/authentication/auth.e2e-spec.js.map +1 -0
- package/server/authentication/auth.module.js +84 -0
- package/server/authentication/auth.module.js.map +1 -0
- package/server/authentication/constants/auth.js +54 -0
- package/server/authentication/constants/auth.js.map +1 -0
- package/server/authentication/constants/routes.js +55 -0
- package/server/authentication/constants/routes.js.map +1 -0
- package/server/authentication/decorators/auth-token-optional.decorator.js +26 -0
- package/server/authentication/decorators/auth-token-optional.decorator.js.map +1 -0
- package/server/authentication/decorators/auth-token-skip.decorator.js +27 -0
- package/server/authentication/decorators/auth-token-skip.decorator.js.map +1 -0
- package/server/authentication/dto/login-response.dto.js +23 -0
- package/server/authentication/dto/login-response.dto.js.map +1 -0
- package/server/authentication/dto/token-response.dto.js +44 -0
- package/server/authentication/dto/token-response.dto.js.map +1 -0
- package/server/authentication/guards/auth-anonymous.guard.js +37 -0
- package/server/authentication/guards/auth-anonymous.guard.js.map +1 -0
- package/server/authentication/guards/auth-anonymous.guard.spec.js +65 -0
- package/server/authentication/guards/auth-anonymous.guard.spec.js.map +1 -0
- package/server/authentication/guards/auth-anonymous.strategy.js +44 -0
- package/server/authentication/guards/auth-anonymous.strategy.js.map +1 -0
- package/server/authentication/guards/auth-basic.guard.js +54 -0
- package/server/authentication/guards/auth-basic.guard.js.map +1 -0
- package/server/authentication/guards/auth-basic.guard.spec.js +148 -0
- package/server/authentication/guards/auth-basic.guard.spec.js.map +1 -0
- package/server/authentication/guards/auth-basic.strategy.js +79 -0
- package/server/authentication/guards/auth-basic.strategy.js.map +1 -0
- package/server/authentication/guards/auth-digest.guard.js +24 -0
- package/server/authentication/guards/auth-digest.guard.js.map +1 -0
- package/server/authentication/guards/auth-digest.strategy.js +28 -0
- package/server/authentication/guards/auth-digest.strategy.js.map +1 -0
- package/server/authentication/guards/auth-local.guard.js +40 -0
- package/server/authentication/guards/auth-local.guard.js.map +1 -0
- package/server/authentication/guards/auth-local.guard.spec.js +87 -0
- package/server/authentication/guards/auth-local.guard.spec.js.map +1 -0
- package/server/authentication/guards/auth-local.strategy.js +59 -0
- package/server/authentication/guards/auth-local.strategy.js.map +1 -0
- package/server/authentication/guards/auth-token-access.guard.js +66 -0
- package/server/authentication/guards/auth-token-access.guard.js.map +1 -0
- package/server/authentication/guards/auth-token-access.guard.spec.js +262 -0
- package/server/authentication/guards/auth-token-access.guard.spec.js.map +1 -0
- package/server/authentication/guards/auth-token-access.strategy.js +68 -0
- package/server/authentication/guards/auth-token-access.strategy.js.map +1 -0
- package/server/authentication/guards/auth-token-refresh.guard.js +40 -0
- package/server/authentication/guards/auth-token-refresh.guard.js.map +1 -0
- package/server/authentication/guards/auth-token-refresh.guard.spec.js +189 -0
- package/server/authentication/guards/auth-token-refresh.guard.spec.js.map +1 -0
- package/server/authentication/guards/auth-token-refresh.strategy.js +72 -0
- package/server/authentication/guards/auth-token-refresh.strategy.js.map +1 -0
- package/server/authentication/interfaces/auth-request.interface.js +10 -0
- package/server/authentication/interfaces/auth-request.interface.js.map +1 -0
- package/server/authentication/interfaces/jwt-payload.interface.js +28 -0
- package/server/authentication/interfaces/jwt-payload.interface.js.map +1 -0
- package/server/authentication/interfaces/token.interface.js +23 -0
- package/server/authentication/interfaces/token.interface.js.map +1 -0
- package/server/authentication/models/auth-method.js +18 -0
- package/server/authentication/models/auth-method.js.map +1 -0
- package/server/authentication/services/auth-manager.service.js +174 -0
- package/server/authentication/services/auth-manager.service.js.map +1 -0
- package/server/authentication/services/auth-manager.service.spec.js +41 -0
- package/server/authentication/services/auth-manager.service.spec.js.map +1 -0
- package/server/authentication/services/auth-methods/auth-method-database.service.js +55 -0
- package/server/authentication/services/auth-methods/auth-method-database.service.js.map +1 -0
- package/server/authentication/services/auth-methods/auth-method-database.service.spec.js +88 -0
- package/server/authentication/services/auth-methods/auth-method-database.service.spec.js.map +1 -0
- package/server/authentication/services/auth-methods/auth-method-ldap.service.js +185 -0
- package/server/authentication/services/auth-methods/auth-method-ldap.service.js.map +1 -0
- package/server/authentication/services/auth-methods/auth-method-ldap.service.spec.js +36 -0
- package/server/authentication/services/auth-methods/auth-method-ldap.service.spec.js.map +1 -0
- package/server/common/constants.js +23 -0
- package/server/common/constants.js.map +1 -0
- package/server/common/decorators.js +35 -0
- package/server/common/decorators.js.map +1 -0
- package/server/common/fonts/avatar.ttf +0 -0
- package/server/common/functions.js +292 -0
- package/server/common/functions.js.map +1 -0
- package/server/common/image.js +113 -0
- package/server/common/image.js.map +1 -0
- package/server/common/interfaces.js +10 -0
- package/server/common/interfaces.js.map +1 -0
- package/server/common/shared.js +105 -0
- package/server/common/shared.js.map +1 -0
- package/server/configuration/config.constants.js +65 -0
- package/server/configuration/config.constants.js.map +1 -0
- package/server/configuration/config.environment.js +57 -0
- package/server/configuration/config.environment.js.map +1 -0
- package/server/configuration/config.loader.js +195 -0
- package/server/configuration/config.loader.js.map +1 -0
- package/server/configuration/config.logger.js +69 -0
- package/server/configuration/config.logger.js.map +1 -0
- package/server/configuration/config.validation.js +175 -0
- package/server/configuration/config.validation.js.map +1 -0
- package/server/infrastructure/cache/adapters/mysql-cache.adapter.js +169 -0
- package/server/infrastructure/cache/adapters/mysql-cache.adapter.js.map +1 -0
- package/server/infrastructure/cache/adapters/redis-cache.adapter.js +129 -0
- package/server/infrastructure/cache/adapters/redis-cache.adapter.js.map +1 -0
- package/server/infrastructure/cache/cache.config.js +53 -0
- package/server/infrastructure/cache/cache.config.js.map +1 -0
- package/server/infrastructure/cache/cache.decorator.js +53 -0
- package/server/infrastructure/cache/cache.decorator.js.map +1 -0
- package/server/infrastructure/cache/cache.e2e-spec.js +111 -0
- package/server/infrastructure/cache/cache.e2e-spec.js.map +1 -0
- package/server/infrastructure/cache/cache.module.js +58 -0
- package/server/infrastructure/cache/cache.module.js.map +1 -0
- package/server/infrastructure/cache/schemas/mysql-cache.interface.js +18 -0
- package/server/infrastructure/cache/schemas/mysql-cache.interface.js.map +1 -0
- package/server/infrastructure/cache/schemas/mysql-cache.schema.js +26 -0
- package/server/infrastructure/cache/schemas/mysql-cache.schema.js.map +1 -0
- package/server/infrastructure/cache/services/cache.service.js +18 -0
- package/server/infrastructure/cache/services/cache.service.js.map +1 -0
- package/server/infrastructure/context/context.module.js +40 -0
- package/server/infrastructure/context/context.module.js.map +1 -0
- package/server/infrastructure/context/interceptors/context.interceptor.js +45 -0
- package/server/infrastructure/context/interceptors/context.interceptor.js.map +1 -0
- package/server/infrastructure/context/interfaces/context-store.interface.js +10 -0
- package/server/infrastructure/context/interfaces/context-store.interface.js.map +1 -0
- package/server/infrastructure/context/services/context-manager.service.js +43 -0
- package/server/infrastructure/context/services/context-manager.service.js.map +1 -0
- package/server/infrastructure/database/configuration.js +29 -0
- package/server/infrastructure/database/configuration.js.map +1 -0
- package/server/infrastructure/database/constants.js +41 -0
- package/server/infrastructure/database/constants.js.map +1 -0
- package/server/infrastructure/database/database.config.js +44 -0
- package/server/infrastructure/database/database.config.js.map +1 -0
- package/server/infrastructure/database/database.logger.js +22 -0
- package/server/infrastructure/database/database.logger.js.map +1 -0
- package/server/infrastructure/database/database.module.js +94 -0
- package/server/infrastructure/database/database.module.js.map +1 -0
- package/server/infrastructure/database/interfaces/database.interface.js +10 -0
- package/server/infrastructure/database/interfaces/database.interface.js.map +1 -0
- package/server/infrastructure/database/schema.js +40 -0
- package/server/infrastructure/database/schema.js.map +1 -0
- package/server/infrastructure/database/scripts/create-user.js +97 -0
- package/server/infrastructure/database/scripts/create-user.js.map +1 -0
- package/server/infrastructure/database/scripts/db.js +68 -0
- package/server/infrastructure/database/scripts/db.js.map +1 -0
- package/server/infrastructure/database/scripts/seed/main.js +18 -0
- package/server/infrastructure/database/scripts/seed/main.js.map +1 -0
- package/server/infrastructure/database/scripts/seed/usersgroups.js +92 -0
- package/server/infrastructure/database/scripts/seed/usersgroups.js.map +1 -0
- package/server/infrastructure/database/utils.js +117 -0
- package/server/infrastructure/database/utils.js.map +1 -0
- package/server/infrastructure/mailer/interfaces/mail.interface.js +10 -0
- package/server/infrastructure/mailer/interfaces/mail.interface.js.map +1 -0
- package/server/infrastructure/mailer/mailer.config.js +94 -0
- package/server/infrastructure/mailer/mailer.config.js.map +1 -0
- package/server/infrastructure/mailer/mailer.module.js +37 -0
- package/server/infrastructure/mailer/mailer.module.js.map +1 -0
- package/server/infrastructure/mailer/mailer.service.js +93 -0
- package/server/infrastructure/mailer/mailer.service.js.map +1 -0
- package/server/infrastructure/scheduler/scheduler.constants.js +30 -0
- package/server/infrastructure/scheduler/scheduler.constants.js.map +1 -0
- package/server/infrastructure/scheduler/scheduler.module.js +52 -0
- package/server/infrastructure/scheduler/scheduler.module.js.map +1 -0
- package/server/infrastructure/websocket/adapters/cluster.adapter.js +40 -0
- package/server/infrastructure/websocket/adapters/cluster.adapter.js.map +1 -0
- package/server/infrastructure/websocket/adapters/redis.adapter.js +61 -0
- package/server/infrastructure/websocket/adapters/redis.adapter.js.map +1 -0
- package/server/infrastructure/websocket/adapters/web-socket.adapter.js +127 -0
- package/server/infrastructure/websocket/adapters/web-socket.adapter.js.map +1 -0
- package/server/infrastructure/websocket/decorators/web-socket-user.decorator.js +20 -0
- package/server/infrastructure/websocket/decorators/web-socket-user.decorator.js.map +1 -0
- package/server/infrastructure/websocket/interfaces/auth-socket-io.interface.js +10 -0
- package/server/infrastructure/websocket/interfaces/auth-socket-io.interface.js.map +1 -0
- package/server/infrastructure/websocket/utils.js +23 -0
- package/server/infrastructure/websocket/utils.js.map +1 -0
- package/server/infrastructure/websocket/web-socket.config.js +54 -0
- package/server/infrastructure/websocket/web-socket.config.js.map +1 -0
- package/server/main.js +27 -0
- package/server/main.js.map +1 -0
- package/static/3rdpartylicenses.txt +1522 -0
- package/static/assets/avatar.svg +7 -0
- package/static/assets/codemirror/mode/apl/apl.js +174 -0
- package/static/assets/codemirror/mode/asciiarmor/asciiarmor.js +74 -0
- package/static/assets/codemirror/mode/asn.1/asn.1.js +204 -0
- package/static/assets/codemirror/mode/asterisk/asterisk.js +220 -0
- package/static/assets/codemirror/mode/brainfuck/brainfuck.js +85 -0
- package/static/assets/codemirror/mode/clike/clike.js +942 -0
- package/static/assets/codemirror/mode/clojure/clojure.js +293 -0
- package/static/assets/codemirror/mode/cmake/cmake.js +97 -0
- package/static/assets/codemirror/mode/cobol/cobol.js +255 -0
- package/static/assets/codemirror/mode/coffeescript/coffeescript.js +359 -0
- package/static/assets/codemirror/mode/commonlisp/commonlisp.js +125 -0
- package/static/assets/codemirror/mode/crystal/crystal.js +433 -0
- package/static/assets/codemirror/mode/css/css.js +862 -0
- package/static/assets/codemirror/mode/cypher/cypher.js +152 -0
- package/static/assets/codemirror/mode/d/d.js +223 -0
- package/static/assets/codemirror/mode/dart/dart.js +168 -0
- package/static/assets/codemirror/mode/diff/diff.js +47 -0
- package/static/assets/codemirror/mode/django/django.js +356 -0
- package/static/assets/codemirror/mode/dockerfile/dockerfile.js +211 -0
- package/static/assets/codemirror/mode/dtd/dtd.js +142 -0
- package/static/assets/codemirror/mode/dylan/dylan.js +352 -0
- package/static/assets/codemirror/mode/ebnf/ebnf.js +195 -0
- package/static/assets/codemirror/mode/ecl/ecl.js +206 -0
- package/static/assets/codemirror/mode/eiffel/eiffel.js +160 -0
- package/static/assets/codemirror/mode/elm/elm.js +245 -0
- package/static/assets/codemirror/mode/erlang/erlang.js +619 -0
- package/static/assets/codemirror/mode/factor/factor.js +85 -0
- package/static/assets/codemirror/mode/fcl/fcl.js +173 -0
- package/static/assets/codemirror/mode/forth/forth.js +180 -0
- package/static/assets/codemirror/mode/fortran/fortran.js +188 -0
- package/static/assets/codemirror/mode/gas/gas.js +353 -0
- package/static/assets/codemirror/mode/gfm/gfm.js +129 -0
- package/static/assets/codemirror/mode/gherkin/gherkin.js +194 -0
- package/static/assets/codemirror/mode/go/go.js +187 -0
- package/static/assets/codemirror/mode/groovy/groovy.js +245 -0
- package/static/assets/codemirror/mode/haml/haml.js +161 -0
- package/static/assets/codemirror/mode/handlebars/handlebars.js +70 -0
- package/static/assets/codemirror/mode/haskell/haskell.js +268 -0
- package/static/assets/codemirror/mode/haskell-literate/haskell-literate.js +43 -0
- package/static/assets/codemirror/mode/haxe/haxe.js +515 -0
- package/static/assets/codemirror/mode/htmlembedded/htmlembedded.js +37 -0
- package/static/assets/codemirror/mode/htmlmixed/htmlmixed.js +153 -0
- package/static/assets/codemirror/mode/http/http.js +113 -0
- package/static/assets/codemirror/mode/idl/idl.js +290 -0
- package/static/assets/codemirror/mode/javascript/javascript.js +960 -0
- package/static/assets/codemirror/mode/jinja2/jinja2.js +193 -0
- package/static/assets/codemirror/mode/jsx/jsx.js +149 -0
- package/static/assets/codemirror/mode/julia/julia.js +390 -0
- package/static/assets/codemirror/mode/livescript/livescript.js +280 -0
- package/static/assets/codemirror/mode/lua/lua.js +160 -0
- package/static/assets/codemirror/mode/markdown/markdown.js +886 -0
- package/static/assets/codemirror/mode/mathematica/mathematica.js +176 -0
- package/static/assets/codemirror/mode/mbox/mbox.js +129 -0
- package/static/assets/codemirror/mode/meta.js +221 -0
- package/static/assets/codemirror/mode/mirc/mirc.js +193 -0
- package/static/assets/codemirror/mode/mllike/mllike.js +359 -0
- package/static/assets/codemirror/mode/modelica/modelica.js +245 -0
- package/static/assets/codemirror/mode/mscgen/mscgen.js +175 -0
- package/static/assets/codemirror/mode/mumps/mumps.js +148 -0
- package/static/assets/codemirror/mode/nginx/nginx.js +178 -0
- package/static/assets/codemirror/mode/nsis/nsis.js +95 -0
- package/static/assets/codemirror/mode/ntriples/ntriples.js +195 -0
- package/static/assets/codemirror/mode/octave/octave.js +139 -0
- package/static/assets/codemirror/mode/oz/oz.js +252 -0
- package/static/assets/codemirror/mode/pascal/pascal.js +136 -0
- package/static/assets/codemirror/mode/pegjs/pegjs.js +111 -0
- package/static/assets/codemirror/mode/perl/perl.js +836 -0
- package/static/assets/codemirror/mode/php/php.js +234 -0
- package/static/assets/codemirror/mode/pig/pig.js +178 -0
- package/static/assets/codemirror/mode/powershell/powershell.js +398 -0
- package/static/assets/codemirror/mode/properties/properties.js +78 -0
- package/static/assets/codemirror/mode/protobuf/protobuf.js +72 -0
- package/static/assets/codemirror/mode/pug/pug.js +591 -0
- package/static/assets/codemirror/mode/puppet/puppet.js +220 -0
- package/static/assets/codemirror/mode/python/python.js +402 -0
- package/static/assets/codemirror/mode/q/q.js +139 -0
- package/static/assets/codemirror/mode/r/r.js +190 -0
- package/static/assets/codemirror/mode/rpm/changes/index.html +66 -0
- package/static/assets/codemirror/mode/rpm/rpm.js +109 -0
- package/static/assets/codemirror/mode/rst/rst.js +557 -0
- package/static/assets/codemirror/mode/ruby/ruby.js +303 -0
- package/static/assets/codemirror/mode/rust/rust.js +72 -0
- package/static/assets/codemirror/mode/sas/sas.js +303 -0
- package/static/assets/codemirror/mode/sass/sass.js +459 -0
- package/static/assets/codemirror/mode/scheme/scheme.js +284 -0
- package/static/assets/codemirror/mode/shell/shell.js +168 -0
- package/static/assets/codemirror/mode/sieve/sieve.js +193 -0
- package/static/assets/codemirror/mode/slim/slim.js +575 -0
- package/static/assets/codemirror/mode/smalltalk/smalltalk.js +168 -0
- package/static/assets/codemirror/mode/smarty/smarty.js +225 -0
- package/static/assets/codemirror/mode/solr/solr.js +104 -0
- package/static/assets/codemirror/mode/soy/soy.js +665 -0
- package/static/assets/codemirror/mode/sparql/sparql.js +184 -0
- package/static/assets/codemirror/mode/spreadsheet/spreadsheet.js +112 -0
- package/static/assets/codemirror/mode/sql/sql.js +529 -0
- package/static/assets/codemirror/mode/stex/stex.js +264 -0
- package/static/assets/codemirror/mode/stylus/stylus.js +775 -0
- package/static/assets/codemirror/mode/swift/swift.js +221 -0
- package/static/assets/codemirror/mode/tcl/tcl.js +140 -0
- package/static/assets/codemirror/mode/textile/textile.js +469 -0
- package/static/assets/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
- package/static/assets/codemirror/mode/tiddlywiki/tiddlywiki.js +308 -0
- package/static/assets/codemirror/mode/tiki/tiki.css +26 -0
- package/static/assets/codemirror/mode/tiki/tiki.js +312 -0
- package/static/assets/codemirror/mode/toml/toml.js +88 -0
- package/static/assets/codemirror/mode/tornado/tornado.js +68 -0
- package/static/assets/codemirror/mode/troff/troff.js +84 -0
- package/static/assets/codemirror/mode/ttcn/ttcn.js +283 -0
- package/static/assets/codemirror/mode/ttcn-cfg/ttcn-cfg.js +214 -0
- package/static/assets/codemirror/mode/turtle/turtle.js +162 -0
- package/static/assets/codemirror/mode/twig/twig.js +141 -0
- package/static/assets/codemirror/mode/vb/vb.js +275 -0
- package/static/assets/codemirror/mode/vbscript/vbscript.js +350 -0
- package/static/assets/codemirror/mode/velocity/velocity.js +202 -0
- package/static/assets/codemirror/mode/verilog/verilog.js +781 -0
- package/static/assets/codemirror/mode/vhdl/vhdl.js +189 -0
- package/static/assets/codemirror/mode/vue/vue.js +77 -0
- package/static/assets/codemirror/mode/wast/wast.js +132 -0
- package/static/assets/codemirror/mode/webidl/webidl.js +195 -0
- package/static/assets/codemirror/mode/xml/xml.js +417 -0
- package/static/assets/codemirror/mode/xquery/xquery.js +448 -0
- package/static/assets/codemirror/mode/yacas/yacas.js +204 -0
- package/static/assets/codemirror/mode/yaml/yaml.js +120 -0
- package/static/assets/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +72 -0
- package/static/assets/codemirror/mode/z80/z80.js +116 -0
- package/static/assets/favicon.svg +25 -0
- package/static/assets/logo-dark.svg +32 -0
- package/static/assets/logo.svg +32 -0
- package/static/assets/mimes/7zip.svg +14 -0
- package/static/assets/mimes/application-7zip.svg +14 -0
- package/static/assets/mimes/application-atom+xml.svg +15 -0
- package/static/assets/mimes/application-atom.svg +15 -0
- package/static/assets/mimes/application-certificate.svg +28 -0
- package/static/assets/mimes/application-epub+zip.svg +10 -0
- package/static/assets/mimes/application-gzip.svg +16 -0
- package/static/assets/mimes/application-javascript.svg +6 -0
- package/static/assets/mimes/application-json.svg +11 -0
- package/static/assets/mimes/application-mathml+xml.svg +188 -0
- package/static/assets/mimes/application-mp4.svg +18 -0
- package/static/assets/mimes/application-msexcel.svg +1 -0
- package/static/assets/mimes/application-msword-template.svg +1 -0
- package/static/assets/mimes/application-msword.svg +1 -0
- package/static/assets/mimes/application-octet-stream.svg +273 -0
- package/static/assets/mimes/application-pdf.svg +13 -0
- package/static/assets/mimes/application-pgp-encrypted.svg +16 -0
- package/static/assets/mimes/application-pgp-keys.svg +16 -0
- package/static/assets/mimes/application-pgp-signature.svg +16 -0
- package/static/assets/mimes/application-pgp.svg +16 -0
- package/static/assets/mimes/application-postscript.svg +57 -0
- package/static/assets/mimes/application-powerpoint.svg +1 -0
- package/static/assets/mimes/application-rdf+xml.svg +14 -0
- package/static/assets/mimes/application-rss+xml.svg +15 -0
- package/static/assets/mimes/application-rtf.svg +14 -0
- package/static/assets/mimes/application-script-blank.svg +15 -0
- package/static/assets/mimes/application-sql.svg +1 -0
- package/static/assets/mimes/application-text.svg +14 -0
- package/static/assets/mimes/application-vnd.android.package-archive.svg +16 -0
- package/static/assets/mimes/application-vnd.apple.keynote.svg +16 -0
- package/static/assets/mimes/application-vnd.apple.numbers.svg +16 -0
- package/static/assets/mimes/application-vnd.apple.pages.svg +16 -0
- package/static/assets/mimes/application-vnd.ms-excel.sheet.binary.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-excel.sheet.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-excel.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-excel.template.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-powerpoint.presentation.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-powerpoint.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-powerpoint.template.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-word.document.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-word.svg +1 -0
- package/static/assets/mimes/application-vnd.ms-word.template.macroenabled.12.svg +1 -0
- package/static/assets/mimes/application-vnd.mspowerpoint.svg +1 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.chart.svg +1 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.database.svg +155 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.formula-template.svg +263 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.formula.svg +188 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.graphics-template.svg +530 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.graphics.svg +89 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.presentation-template.svg +197 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.presentation.svg +122 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.spreadsheet-template.svg +452 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.spreadsheet.svg +266 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.text-master.svg +92 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.text-template.svg +90 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.text-web.svg +18 -0
- package/static/assets/mimes/application-vnd.oasis.opendocument.text.svg +92 -0
- package/static/assets/mimes/application-vnd.openofficeorg.extension.svg +59 -0
- package/static/assets/mimes/application-vnd.openxmlformats-officedocument.presentationml.presentation.svg +1 -0
- package/static/assets/mimes/application-vnd.openxmlformats-officedocument.presentationml.slideshow.svg +1 -0
- package/static/assets/mimes/application-vnd.openxmlformats-officedocument.spreadsheetml.sheet.svg +1 -0
- package/static/assets/mimes/application-vnd.openxmlformats-officedocument.spreadsheetml.template.svg +1 -0
- package/static/assets/mimes/application-vnd.openxmlformats-officedocument.wordprocessingml.document.svg +1 -0
- package/static/assets/mimes/application-vnd.openxmlformats-officedocument.wordprocessingml.template.svg +1 -0
- package/static/assets/mimes/application-vnd.rn-realmedia.svg +18 -0
- package/static/assets/mimes/application-vnd.sun.xml.calc.svg +1 -0
- package/static/assets/mimes/application-vnd.sun.xml.writer-global.svg +1 -0
- package/static/assets/mimes/application-vnd.sun.xml.writer-template.svg +1 -0
- package/static/assets/mimes/application-vnd.sun.xml.writer.svg +1 -0
- package/static/assets/mimes/application-vnd.sun.xml.writer.template.svg +14 -0
- package/static/assets/mimes/application-vnd.visio.svg +26 -0
- package/static/assets/mimes/application-wps-office.doc.svg +1 -0
- package/static/assets/mimes/application-wps-office.docx.svg +1 -0
- package/static/assets/mimes/application-wps-office.ppt.svg +1 -0
- package/static/assets/mimes/application-wps-office.pptx.svg +1 -0
- package/static/assets/mimes/application-wps-office.xls.svg +1 -0
- package/static/assets/mimes/application-wps-office.xlsx.svg +1 -0
- package/static/assets/mimes/application-x-7z-compressed.svg +14 -0
- package/static/assets/mimes/application-x-7zip.svg +14 -0
- package/static/assets/mimes/application-x-ace.svg +14 -0
- package/static/assets/mimes/application-x-addon.svg +59 -0
- package/static/assets/mimes/application-x-apple-diskimage.svg +1 -0
- package/static/assets/mimes/application-x-ar.svg +16 -0
- package/static/assets/mimes/application-x-arc.svg +14 -0
- package/static/assets/mimes/application-x-archive.svg +16 -0
- package/static/assets/mimes/application-x-arj.svg +14 -0
- package/static/assets/mimes/application-x-audacity-project.svg +24 -0
- package/static/assets/mimes/application-x-bittorrent.svg +53 -0
- package/static/assets/mimes/application-x-blender.svg +353 -0
- package/static/assets/mimes/application-x-bzdvi.svg +14 -0
- package/static/assets/mimes/application-x-bzip-compressed-tar.svg +14 -0
- package/static/assets/mimes/application-x-bzip.svg +16 -0
- package/static/assets/mimes/application-x-cd-image.svg +292 -0
- package/static/assets/mimes/application-x-cda.svg +358 -0
- package/static/assets/mimes/application-x-class-file.svg +37 -0
- package/static/assets/mimes/application-x-compress-tar.svg +16 -0
- package/static/assets/mimes/application-x-compress.svg +16 -0
- package/static/assets/mimes/application-x-compressed-tar.svg +14 -0
- package/static/assets/mimes/application-x-core.svg +20 -0
- package/static/assets/mimes/application-x-cpio.svg +16 -0
- package/static/assets/mimes/application-x-deb.svg +14 -0
- package/static/assets/mimes/application-x-designer.svg +48 -0
- package/static/assets/mimes/application-x-egon.svg +12 -0
- package/static/assets/mimes/application-x-executable.svg +40 -0
- package/static/assets/mimes/application-x-extension-html.svg +18 -0
- package/static/assets/mimes/application-x-font-afm.svg +14 -0
- package/static/assets/mimes/application-x-font-snf.svg +14 -0
- package/static/assets/mimes/application-x-font-speedo.svg +14 -0
- package/static/assets/mimes/application-x-font-type1.svg +14 -0
- package/static/assets/mimes/application-x-gettext-translation.svg +14 -0
- package/static/assets/mimes/application-x-glade.svg +48 -0
- package/static/assets/mimes/application-x-gnome-theme-package.svg +109 -0
- package/static/assets/mimes/application-x-gzdvi.svg +16 -0
- package/static/assets/mimes/application-x-gzip.svg +16 -0
- package/static/assets/mimes/application-x-httpd-php.svg +18 -0
- package/static/assets/mimes/application-x-iso9660-image.svg +292 -0
- package/static/assets/mimes/application-x-java-archive.svg +16 -0
- package/static/assets/mimes/application-x-java.svg +37 -0
- package/static/assets/mimes/application-x-jokosher.svg +24 -0
- package/static/assets/mimes/application-x-kcachegrind.svg +273 -0
- package/static/assets/mimes/application-x-kcsrc.svg +109 -0
- package/static/assets/mimes/application-x-keepass.svg +2 -0
- package/static/assets/mimes/application-x-keepass2.svg +2 -0
- package/static/assets/mimes/application-x-kgetlist.svg +53 -0
- package/static/assets/mimes/application-x-lha.svg +14 -0
- package/static/assets/mimes/application-x-lzma-compressed-tar.svg +16 -0
- package/static/assets/mimes/application-x-lzop.svg +16 -0
- package/static/assets/mimes/application-x-m4.svg +14 -0
- package/static/assets/mimes/application-x-matroska.svg +18 -0
- package/static/assets/mimes/application-x-mplayer2.svg +18 -0
- package/static/assets/mimes/application-x-ms-application.svg +306 -0
- package/static/assets/mimes/application-x-ms-dos-executable.svg +306 -0
- package/static/assets/mimes/application-x-msdos-program.svg +306 -0
- package/static/assets/mimes/application-x-msdownload.svg +306 -0
- package/static/assets/mimes/application-x-msi.svg +306 -0
- package/static/assets/mimes/application-x-mswinurl.svg +18 -0
- package/static/assets/mimes/application-x-mswrite.svg +1 -0
- package/static/assets/mimes/application-x-nzb.svg +15 -0
- package/static/assets/mimes/application-x-object.svg +273 -0
- package/static/assets/mimes/application-x-ole-storage.svg +273 -0
- package/static/assets/mimes/application-x-pak.svg +16 -0
- package/static/assets/mimes/application-x-perl.svg +15 -0
- package/static/assets/mimes/application-x-php.svg +18 -0
- package/static/assets/mimes/application-x-plasma.svg +20 -0
- package/static/assets/mimes/application-x-python-bytecode.svg +16 -0
- package/static/assets/mimes/application-x-rar.svg +14 -0
- package/static/assets/mimes/application-x-rpm.svg +14 -0
- package/static/assets/mimes/application-x-ruby.svg +22 -0
- package/static/assets/mimes/application-x-sh.svg +17 -0
- package/static/assets/mimes/application-x-shared-library-la.svg +62 -0
- package/static/assets/mimes/application-x-sharedlib.svg +62 -0
- package/static/assets/mimes/application-x-shellscript.svg +17 -0
- package/static/assets/mimes/application-x-shockwave-flash.svg +18 -0
- package/static/assets/mimes/application-x-srt.svg +210 -0
- package/static/assets/mimes/application-x-subrip.svg +210 -0
- package/static/assets/mimes/application-x-tar.svg +16 -0
- package/static/assets/mimes/application-x-tarz.svg +14 -0
- package/static/assets/mimes/application-x-tex.svg +79 -0
- package/static/assets/mimes/application-x-theme.svg +109 -0
- package/static/assets/mimes/application-x-trash.svg +14 -0
- package/static/assets/mimes/application-x-tzo.svg +14 -0
- package/static/assets/mimes/application-x-wine-extension-pdd.svg +14 -0
- package/static/assets/mimes/application-x-zip.svg +14 -0
- package/static/assets/mimes/application-x-zoo.svg +14 -0
- package/static/assets/mimes/application-xhtml+xml.svg +18 -0
- package/static/assets/mimes/application-xhtml.svg +18 -0
- package/static/assets/mimes/application-xml.svg +18 -0
- package/static/assets/mimes/application-xsd.svg +18 -0
- package/static/assets/mimes/application-xslt+xml.svg +18 -0
- package/static/assets/mimes/application-zip.svg +14 -0
- package/static/assets/mimes/applications-java.svg +14 -0
- package/static/assets/mimes/archive.svg +16 -0
- package/static/assets/mimes/ascii.svg +14 -0
- package/static/assets/mimes/audio-ac3.svg +24 -0
- package/static/assets/mimes/audio-flac.svg +24 -0
- package/static/assets/mimes/audio-mpeg.svg +24 -0
- package/static/assets/mimes/audio-vn.rn-realmedia.svg +18 -0
- package/static/assets/mimes/audio-vnd.rn-realvideo.svg +18 -0
- package/static/assets/mimes/audio-x-adpcm.svg +24 -0
- package/static/assets/mimes/audio-x-aiff.svg +24 -0
- package/static/assets/mimes/audio-x-flac+ogg.svg +24 -0
- package/static/assets/mimes/audio-x-flac.svg +24 -0
- package/static/assets/mimes/audio-x-generic.svg +24 -0
- package/static/assets/mimes/audio-x-it.svg +24 -0
- package/static/assets/mimes/audio-x-monkey.svg +24 -0
- package/static/assets/mimes/audio-x-mpegurl.svg +24 -0
- package/static/assets/mimes/audio-x-wav.svg +24 -0
- package/static/assets/mimes/audio-x-xi.svg +24 -0
- package/static/assets/mimes/audio-x-xm.svg +24 -0
- package/static/assets/mimes/binary.svg +40 -0
- package/static/assets/mimes/deb.svg +14 -0
- package/static/assets/mimes/directory.svg +9 -0
- package/static/assets/mimes/directory_disabled.svg +9 -0
- package/static/assets/mimes/directory_error.svg +9 -0
- package/static/assets/mimes/directory_share.svg +9 -0
- package/static/assets/mimes/directory_sync.svg +9 -0
- package/static/assets/mimes/divx.svg +18 -0
- package/static/assets/mimes/document.svg +14 -0
- package/static/assets/mimes/emblem-package.svg +16 -0
- package/static/assets/mimes/eps.svg +24 -0
- package/static/assets/mimes/exec.svg +40 -0
- package/static/assets/mimes/extension.svg +59 -0
- package/static/assets/mimes/file.svg +12 -0
- package/static/assets/mimes/folder-tar.svg +16 -0
- package/static/assets/mimes/folder_tar.svg +16 -0
- package/static/assets/mimes/font-otf.svg +14 -0
- package/static/assets/mimes/font-x-generic.svg +14 -0
- package/static/assets/mimes/font.svg +14 -0
- package/static/assets/mimes/font_bitmap.svg +14 -0
- package/static/assets/mimes/font_truetype.svg +14 -0
- package/static/assets/mimes/font_type1.svg +14 -0
- package/static/assets/mimes/fonts-package.svg +16 -0
- package/static/assets/mimes/gedit-plugin.svg +59 -0
- package/static/assets/mimes/gnome-exe-thumbnailer-generic-x.svg +306 -0
- package/static/assets/mimes/gnome-exe-thumbnailer-generic.svg +306 -0
- package/static/assets/mimes/gnome-exe-thumbnailer-template.svg +306 -0
- package/static/assets/mimes/gnome-fs-executable.svg +40 -0
- package/static/assets/mimes/gnome-mime-application-atom+xml.svg +15 -0
- package/static/assets/mimes/gnome-mime-application-msexcel.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-msword.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-ogg.svg +24 -0
- package/static/assets/mimes/gnome-mime-application-pdf.svg +13 -0
- package/static/assets/mimes/gnome-mime-application-postscript.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-powerpoint.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-rss+xml.svg +15 -0
- package/static/assets/mimes/gnome-mime-application-rtf.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-vnd.ms-excel.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.ms-powerpoint.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.ms-word.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.mspowerpoint.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.oasis.opendocument.formula.svg +188 -0
- package/static/assets/mimes/gnome-mime-application-vnd.oasis.opendocument.text-web.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-vnd.openxmlformats-officedocument.presentationml.presentation.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.openxmlformats-officedocument.presentationml.slideshow.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.openxmlformats-officedocument.spreadsheetml.sheet.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.openxmlformats-officedocument.wordprocessingml.document.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-vnd.rn-realmedia-secure.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-vnd.rn-realmedia-vbr.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-vnd.rn-realmedia.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-wps-office.doc.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-wps-office.docx.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-wps-office.ppt.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-wps-office.pptx.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-wps-office.xls.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-wps-office.xlsx.svg +1 -0
- package/static/assets/mimes/gnome-mime-application-x-7z-compressed.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-7zip.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-archive.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-arj.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-bittorrent.svg +53 -0
- package/static/assets/mimes/gnome-mime-application-x-bzip-compressed-tar.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-bzip-compressed.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-bzip.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-class-file.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-compress.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-compressed-tar.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-cpio-compressed.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-cpio.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-deb.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-designer.svg +48 -0
- package/static/assets/mimes/gnome-mime-application-x-executable.svg +40 -0
- package/static/assets/mimes/gnome-mime-application-x-font-afm.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-font-bdf.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-font-linux-psf.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-font-pcf.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-font-sunos-news.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-font-ttf.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-glade.svg +48 -0
- package/static/assets/mimes/gnome-mime-application-x-gnome-app-info.svg +109 -0
- package/static/assets/mimes/gnome-mime-application-x-gnome-theme-package.svg +109 -0
- package/static/assets/mimes/gnome-mime-application-x-gzip.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-gzpostscript.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-jar.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-java.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-killustrator.svg +12 -0
- package/static/assets/mimes/gnome-mime-application-x-lha.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-lhz.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-lzma-compressed-tar.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-lzma.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-ms-dos-executable.svg +306 -0
- package/static/assets/mimes/gnome-mime-application-x-perl.svg +15 -0
- package/static/assets/mimes/gnome-mime-application-x-php.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-x-python-bytecode.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-rar.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-rpm.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-x-ruby.svg +22 -0
- package/static/assets/mimes/gnome-mime-application-x-shellscript.svg +17 -0
- package/static/assets/mimes/gnome-mime-application-x-shockwave-flash.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-x-stuffit.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-tar.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-tarz.svg +16 -0
- package/static/assets/mimes/gnome-mime-application-x-tex.svg +79 -0
- package/static/assets/mimes/gnome-mime-application-x-theme.svg +109 -0
- package/static/assets/mimes/gnome-mime-application-x-zip.svg +14 -0
- package/static/assets/mimes/gnome-mime-application-xhtml+xml.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-xml.svg +18 -0
- package/static/assets/mimes/gnome-mime-application-zip.svg +14 -0
- package/static/assets/mimes/gnome-mime-application.svg +40 -0
- package/static/assets/mimes/gnome-mime-audio.svg +24 -0
- package/static/assets/mimes/gnome-mime-image-vnd.adobe.photoshop.svg +14 -0
- package/static/assets/mimes/gnome-mime-image-x-cmu-raster.svg +12 -0
- package/static/assets/mimes/gnome-mime-image-x-killustrator.svg +12 -0
- package/static/assets/mimes/gnome-mime-image-x-psd.svg +14 -0
- package/static/assets/mimes/gnome-mime-image-x-xpixmap.svg +12 -0
- package/static/assets/mimes/gnome-mime-image.svg +12 -0
- package/static/assets/mimes/gnome-mime-text-html.svg +18 -0
- package/static/assets/mimes/gnome-mime-text-install.svg +20 -0
- package/static/assets/mimes/gnome-mime-text-plain.svg +14 -0
- package/static/assets/mimes/gnome-mime-text-vnd.wap.wml.svg +18 -0
- package/static/assets/mimes/gnome-mime-text-x-changelog.svg +208 -0
- package/static/assets/mimes/gnome-mime-text-x-copying.svg +17 -0
- package/static/assets/mimes/gnome-mime-text-x-csh.svg +17 -0
- package/static/assets/mimes/gnome-mime-text-x-gtkrc.svg +109 -0
- package/static/assets/mimes/gnome-mime-text-x-install.svg +17 -0
- package/static/assets/mimes/gnome-mime-text-x-java-source.svg +14 -0
- package/static/assets/mimes/gnome-mime-text-x-java.svg +14 -0
- package/static/assets/mimes/gnome-mime-text-x-makefile.svg +176 -0
- package/static/assets/mimes/gnome-mime-text-x-opml+xml.svg +15 -0
- package/static/assets/mimes/gnome-mime-text-x-opml.svg +15 -0
- package/static/assets/mimes/gnome-mime-text-x-python.svg +16 -0
- package/static/assets/mimes/gnome-mime-text-x-readme.svg +15 -0
- package/static/assets/mimes/gnome-mime-text-x-sh.svg +17 -0
- package/static/assets/mimes/gnome-mime-text-x-zsh.svg +17 -0
- package/static/assets/mimes/gnome-mime-text.svg +14 -0
- package/static/assets/mimes/gnome-mime-video-x-ms-asf.svg +18 -0
- package/static/assets/mimes/gnome-mime-video-x-ms-wmv.svg +18 -0
- package/static/assets/mimes/gnome-mime-video.svg +18 -0
- package/static/assets/mimes/gnome-mime-x-font-afm.svg +14 -0
- package/static/assets/mimes/gnome-mime-x-install.svg +20 -0
- package/static/assets/mimes/gnome-package.svg +16 -0
- package/static/assets/mimes/html.svg +18 -0
- package/static/assets/mimes/image-gif.svg +12 -0
- package/static/assets/mimes/image-jpeg.svg +12 -0
- package/static/assets/mimes/image-png.svg +12 -0
- package/static/assets/mimes/image-svg+xml-compressed.svg +12 -0
- package/static/assets/mimes/image-svg+xml.svg +12 -0
- package/static/assets/mimes/image-svg.svg +12 -0
- package/static/assets/mimes/image-vnd.adobe.photoshop.svg +14 -0
- package/static/assets/mimes/image-vnd.microsoft.icon.svg +12 -0
- package/static/assets/mimes/image-x-eps.svg +24 -0
- package/static/assets/mimes/image-x-generic.svg +12 -0
- package/static/assets/mimes/image-x-psd.svg +14 -0
- package/static/assets/mimes/image-x-psdimage-x-psd.svg +14 -0
- package/static/assets/mimes/image-x-xcf.svg +21 -0
- package/static/assets/mimes/image-x-xfig.svg +12 -0
- package/static/assets/mimes/image.svg +12 -0
- package/static/assets/mimes/internet-feed.svg +15 -0
- package/static/assets/mimes/libpeas-plugin.svg +59 -0
- package/static/assets/mimes/libreoffice-database.svg +155 -0
- package/static/assets/mimes/libreoffice-extension.svg +59 -0
- package/static/assets/mimes/libreoffice-extensionn.svg +59 -0
- package/static/assets/mimes/libreoffice-formula.svg +188 -0
- package/static/assets/mimes/libreoffice-oasis-formula.svg +188 -0
- package/static/assets/mimes/libreoffice34-extension.svg +59 -0
- package/static/assets/mimes/media-audio.svg +24 -0
- package/static/assets/mimes/media-video.svg +18 -0
- package/static/assets/mimes/mime-ascii.svg +14 -0
- package/static/assets/mimes/mime_ascii.svg +14 -0
- package/static/assets/mimes/misc.svg +14 -0
- package/static/assets/mimes/multipart-encrypted.svg +273 -0
- package/static/assets/mimes/music.svg +24 -0
- package/static/assets/mimes/none.svg +110 -0
- package/static/assets/mimes/old-file.svg +22 -0
- package/static/assets/mimes/openofficeorg3-extension.svg +59 -0
- package/static/assets/mimes/package-x-generic.svg +16 -0
- package/static/assets/mimes/package.svg +16 -0
- package/static/assets/mimes/package_editors.svg +14 -0
- package/static/assets/mimes/packages-gdebi.svg +14 -0
- package/static/assets/mimes/pdf.svg +13 -0
- package/static/assets/mimes/preferences-certificate.svg +28 -0
- package/static/assets/mimes/preferences-plugin.svg +59 -0
- package/static/assets/mimes/rar.svg +14 -0
- package/static/assets/mimes/raw.svg +12 -0
- package/static/assets/mimes/rpm.svg +14 -0
- package/static/assets/mimes/scii.svg +14 -0
- package/static/assets/mimes/shellscript.svg +17 -0
- package/static/assets/mimes/sound.svg +24 -0
- package/static/assets/mimes/stock_certificate.svg +28 -0
- package/static/assets/mimes/stock_new-formula.svg +188 -0
- package/static/assets/mimes/stock_new-html.svg +18 -0
- package/static/assets/mimes/stock_script.svg +17 -0
- package/static/assets/mimes/stock_scripts.svg +17 -0
- package/static/assets/mimes/tar.svg +16 -0
- package/static/assets/mimes/text-css.svg +18 -0
- package/static/assets/mimes/text-enriched.svg +14 -0
- package/static/assets/mimes/text-html.svg +18 -0
- package/static/assets/mimes/text-htmlh.svg +18 -0
- package/static/assets/mimes/text-javascript.svg +6 -0
- package/static/assets/mimes/text-markdown.svg +26 -0
- package/static/assets/mimes/text-mht.svg +18 -0
- package/static/assets/mimes/text-plain.svg +14 -0
- package/static/assets/mimes/text-richtext.svg +14 -0
- package/static/assets/mimes/text-typescript.svg +1 -0
- package/static/assets/mimes/text-x-bak.svg +14 -0
- package/static/assets/mimes/text-x-bibtex.svg +79 -0
- package/static/assets/mimes/text-x-changelog.svg +208 -0
- package/static/assets/mimes/text-x-copying.svg +17 -0
- package/static/assets/mimes/text-x-generic.svg +14 -0
- package/static/assets/mimes/text-x-gtkrc.svg +109 -0
- package/static/assets/mimes/text-x-install.svg +20 -0
- package/static/assets/mimes/text-x-java-source.svg +14 -0
- package/static/assets/mimes/text-x-java.svg +14 -0
- package/static/assets/mimes/text-x-log.svg +1135 -0
- package/static/assets/mimes/text-x-lua.svg +14 -0
- package/static/assets/mimes/text-x-makefile.svg +176 -0
- package/static/assets/mimes/text-x-microdvd.svg +210 -0
- package/static/assets/mimes/text-x-nfo.svg +14 -0
- package/static/assets/mimes/text-x-opml+xml.svg +15 -0
- package/static/assets/mimes/text-x-opml.svg +15 -0
- package/static/assets/mimes/text-x-patch.svg +19 -0
- package/static/assets/mimes/text-x-perl.svg +15 -0
- package/static/assets/mimes/text-x-python.svg +16 -0
- package/static/assets/mimes/text-x-readme.svg +15 -0
- package/static/assets/mimes/text-x-ruby.svg +22 -0
- package/static/assets/mimes/text-x-script.svg +17 -0
- package/static/assets/mimes/text-x-tex.svg +79 -0
- package/static/assets/mimes/text-x-vala.svg +14 -0
- package/static/assets/mimes/text-x.svg +14 -0
- package/static/assets/mimes/text-xmcd.svg +358 -0
- package/static/assets/mimes/text-xml.svg +18 -0
- package/static/assets/mimes/text-yaml.svg +1 -0
- package/static/assets/mimes/text.svg +14 -0
- package/static/assets/mimes/text2.svg +14 -0
- package/static/assets/mimes/tgz.svg +16 -0
- package/static/assets/mimes/txt.svg +14 -0
- package/static/assets/mimes/txt2.svg +14 -0
- package/static/assets/mimes/unknown.svg +110 -0
- package/static/assets/mimes/uri-mms.svg +18 -0
- package/static/assets/mimes/uri-mmst.svg +18 -0
- package/static/assets/mimes/uri-mmsu.svg +18 -0
- package/static/assets/mimes/uri-pnm.svg +18 -0
- package/static/assets/mimes/uri-rtspt.svg +18 -0
- package/static/assets/mimes/uri-rtspu.svg +18 -0
- package/static/assets/mimes/video-quicktime.svg +18 -0
- package/static/assets/mimes/video-vivo.svg +18 -0
- package/static/assets/mimes/video-wavelet.svg +18 -0
- package/static/assets/mimes/video-webm.svg +18 -0
- package/static/assets/mimes/video-x-anim.svg +18 -0
- package/static/assets/mimes/video-x-flic.svg +18 -0
- package/static/assets/mimes/video-x-generic.svg +18 -0
- package/static/assets/mimes/video-x-google-vlc-plugin.svg +18 -0
- package/static/assets/mimes/video-x-javafx.svg +18 -0
- package/static/assets/mimes/video-x-matroska.svg +18 -0
- package/static/assets/mimes/video-x-mng.svg +18 -0
- package/static/assets/mimes/video-x-ms-asf-plugin.svg +18 -0
- package/static/assets/mimes/video-x-ms-asf.svg +18 -0
- package/static/assets/mimes/video-x-ms-wmp.svg +18 -0
- package/static/assets/mimes/video-x-ms-wmv.svg +18 -0
- package/static/assets/mimes/video-x-nsv.svg +18 -0
- package/static/assets/mimes/video-x-sgi-movie.svg +18 -0
- package/static/assets/mimes/video-x-theora+ogg.svg +18 -0
- package/static/assets/mimes/video-x-wmv.svg +18 -0
- package/static/assets/mimes/video.svg +18 -0
- package/static/assets/mimes/www.svg +18 -0
- package/static/assets/mimes/x-kde-nsplugin-generated.svg +59 -0
- package/static/assets/mimes/zip.svg +14 -0
- package/static/assets/pdfjs/LICENSE +177 -0
- package/static/assets/pdfjs/build/pdf.mjs +23371 -0
- package/static/assets/pdfjs/build/pdf.mjs.map +1 -0
- package/static/assets/pdfjs/build/pdf.sandbox.mjs +218 -0
- package/static/assets/pdfjs/build/pdf.sandbox.mjs.map +1 -0
- package/static/assets/pdfjs/build/pdf.worker.mjs +58148 -0
- package/static/assets/pdfjs/build/pdf.worker.mjs.map +1 -0
- package/static/assets/pdfjs/version +1 -0
- package/static/assets/pdfjs/web/cmaps/78-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Add-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Add-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Add-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Add-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-0.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-1.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-3.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-4.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-5.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/B5pc-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/B5pc-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/CNS-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/CNS-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/CNS1-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/CNS1-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/CNS2-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/CNS2-V.bcmap +3 -0
- package/static/assets/pdfjs/web/cmaps/ETHK-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/ETHK-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/ETen-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/ETen-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/ETenms-B5-H.bcmap +3 -0
- package/static/assets/pdfjs/web/cmaps/ETenms-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Ext-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Ext-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GB-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GB-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GB-H.bcmap +4 -0
- package/static/assets/pdfjs/web/cmaps/GB-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBK-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBK-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBK2K-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBK2K-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBKp-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBKp-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBT-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBT-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBT-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBT-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBpc-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/GBpc-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKdla-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKdla-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKdlb-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKdlb-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKgccs-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKgccs-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKm314-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKm314-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKm471-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKm471-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKscs-B5-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/HKscs-B5-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Hankaku.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Hiragana.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSC-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSC-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSC-Johab-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSC-Johab-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSCms-UHC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSCms-UHC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Katakana.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/LICENSE +36 -0
- package/static/assets/pdfjs/web/cmaps/NWP-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/NWP-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/RKSJ-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/RKSJ-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/Roman.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/V.bcmap +0 -0
- package/static/assets/pdfjs/web/cmaps/WP-Symbol.bcmap +0 -0
- package/static/assets/pdfjs/web/compressed.tracemonkey-pldi-09.pdf +0 -0
- package/static/assets/pdfjs/web/debugger.css +114 -0
- package/static/assets/pdfjs/web/debugger.mjs +627 -0
- package/static/assets/pdfjs/web/iccs/CGATS001Compat-v2-micro.icc +0 -0
- package/static/assets/pdfjs/web/iccs/LICENSE +116 -0
- package/static/assets/pdfjs/web/images/altText_add.svg +3 -0
- package/static/assets/pdfjs/web/images/altText_disclaimer.svg +3 -0
- package/static/assets/pdfjs/web/images/altText_done.svg +3 -0
- package/static/assets/pdfjs/web/images/altText_spinner.svg +30 -0
- package/static/assets/pdfjs/web/images/altText_warning.svg +3 -0
- package/static/assets/pdfjs/web/images/annotation-check.svg +11 -0
- package/static/assets/pdfjs/web/images/annotation-comment.svg +16 -0
- package/static/assets/pdfjs/web/images/annotation-help.svg +26 -0
- package/static/assets/pdfjs/web/images/annotation-insert.svg +10 -0
- package/static/assets/pdfjs/web/images/annotation-key.svg +11 -0
- package/static/assets/pdfjs/web/images/annotation-newparagraph.svg +11 -0
- package/static/assets/pdfjs/web/images/annotation-noicon.svg +7 -0
- package/static/assets/pdfjs/web/images/annotation-note.svg +42 -0
- package/static/assets/pdfjs/web/images/annotation-paperclip.svg +6 -0
- package/static/assets/pdfjs/web/images/annotation-paragraph.svg +16 -0
- package/static/assets/pdfjs/web/images/annotation-pushpin.svg +7 -0
- package/static/assets/pdfjs/web/images/comment-actionsButton.svg +3 -0
- package/static/assets/pdfjs/web/images/comment-closeButton.svg +3 -0
- package/static/assets/pdfjs/web/images/comment-editButton.svg +3 -0
- package/static/assets/pdfjs/web/images/cursor-editorFreeHighlight.svg +6 -0
- package/static/assets/pdfjs/web/images/cursor-editorFreeText.svg +3 -0
- package/static/assets/pdfjs/web/images/cursor-editorInk.svg +4 -0
- package/static/assets/pdfjs/web/images/cursor-editorTextHighlight.svg +8 -0
- package/static/assets/pdfjs/web/images/editor-toolbar-delete.svg +5 -0
- package/static/assets/pdfjs/web/images/editor-toolbar-edit.svg +3 -0
- package/static/assets/pdfjs/web/images/findbarButton-next.svg +3 -0
- package/static/assets/pdfjs/web/images/findbarButton-previous.svg +3 -0
- package/static/assets/pdfjs/web/images/gv-toolbarButton-download.svg +3 -0
- package/static/assets/pdfjs/web/images/loading-icon.gif +0 -0
- package/static/assets/pdfjs/web/images/loading.svg +1 -0
- package/static/assets/pdfjs/web/images/messageBar_closingButton.svg +3 -0
- package/static/assets/pdfjs/web/images/messageBar_info.svg +3 -0
- package/static/assets/pdfjs/web/images/messageBar_warning.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-documentProperties.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-firstPage.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-handTool.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-lastPage.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-rotateCw.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-scrollPage.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-selectTool.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-spreadEven.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-spreadNone.svg +3 -0
- package/static/assets/pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-bookmark.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-currentOutlineItem.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-download.svg +4 -0
- package/static/assets/pdfjs/web/images/toolbarButton-editorFreeText.svg +5 -0
- package/static/assets/pdfjs/web/images/toolbarButton-editorHighlight.svg +6 -0
- package/static/assets/pdfjs/web/images/toolbarButton-editorInk.svg +4 -0
- package/static/assets/pdfjs/web/images/toolbarButton-editorSignature.svg +6 -0
- package/static/assets/pdfjs/web/images/toolbarButton-editorStamp.svg +8 -0
- package/static/assets/pdfjs/web/images/toolbarButton-menuArrow.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-openFile.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-pageDown.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-pageUp.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-presentationMode.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-print.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-search.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-sidebarToggle.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-viewAttachments.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-viewLayers.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-viewOutline.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-viewThumbnail.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-zoomIn.svg +3 -0
- package/static/assets/pdfjs/web/images/toolbarButton-zoomOut.svg +3 -0
- package/static/assets/pdfjs/web/images/treeitem-collapsed.svg +1 -0
- package/static/assets/pdfjs/web/images/treeitem-expanded.svg +1 -0
- package/static/assets/pdfjs/web/locale/ach/viewer.ftl +275 -0
- package/static/assets/pdfjs/web/locale/af/viewer.ftl +262 -0
- package/static/assets/pdfjs/web/locale/an/viewer.ftl +307 -0
- package/static/assets/pdfjs/web/locale/ar/viewer.ftl +627 -0
- package/static/assets/pdfjs/web/locale/ast/viewer.ftl +251 -0
- package/static/assets/pdfjs/web/locale/az/viewer.ftl +307 -0
- package/static/assets/pdfjs/web/locale/be/viewer.ftl +618 -0
- package/static/assets/pdfjs/web/locale/bg/viewer.ftl +451 -0
- package/static/assets/pdfjs/web/locale/bn/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/bo/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/br/viewer.ftl +382 -0
- package/static/assets/pdfjs/web/locale/brx/viewer.ftl +268 -0
- package/static/assets/pdfjs/web/locale/bs/viewer.ftl +618 -0
- package/static/assets/pdfjs/web/locale/ca/viewer.ftl +343 -0
- package/static/assets/pdfjs/web/locale/cak/viewer.ftl +341 -0
- package/static/assets/pdfjs/web/locale/ckb/viewer.ftl +292 -0
- package/static/assets/pdfjs/web/locale/cs/viewer.ftl +621 -0
- package/static/assets/pdfjs/web/locale/cy/viewer.ftl +627 -0
- package/static/assets/pdfjs/web/locale/da/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/de/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/dsb/viewer.ftl +621 -0
- package/static/assets/pdfjs/web/locale/el/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/en-CA/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/en-GB/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/en-US/viewer.ftl +667 -0
- package/static/assets/pdfjs/web/locale/eo/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/es-AR/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/es-CL/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/es-ES/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/es-MX/viewer.ftl +580 -0
- package/static/assets/pdfjs/web/locale/et/viewer.ftl +319 -0
- package/static/assets/pdfjs/web/locale/eu/viewer.ftl +619 -0
- package/static/assets/pdfjs/web/locale/fa/viewer.ftl +378 -0
- package/static/assets/pdfjs/web/locale/ff/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/fi/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/fr/viewer.ftl +611 -0
- package/static/assets/pdfjs/web/locale/fur/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/fy-NL/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/ga-IE/viewer.ftl +263 -0
- package/static/assets/pdfjs/web/locale/gd/viewer.ftl +343 -0
- package/static/assets/pdfjs/web/locale/gl/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/gn/viewer.ftl +614 -0
- package/static/assets/pdfjs/web/locale/gu-IN/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/he/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/hi-IN/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/hr/viewer.ftl +618 -0
- package/static/assets/pdfjs/web/locale/hsb/viewer.ftl +621 -0
- package/static/assets/pdfjs/web/locale/hu/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/hy-AM/viewer.ftl +314 -0
- package/static/assets/pdfjs/web/locale/hye/viewer.ftl +318 -0
- package/static/assets/pdfjs/web/locale/ia/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/id/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/is/viewer.ftl +600 -0
- package/static/assets/pdfjs/web/locale/it/viewer.ftl +623 -0
- package/static/assets/pdfjs/web/locale/ja/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/ka/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/kab/viewer.ftl +595 -0
- package/static/assets/pdfjs/web/locale/kk/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/km/viewer.ftl +273 -0
- package/static/assets/pdfjs/web/locale/kn/viewer.ftl +263 -0
- package/static/assets/pdfjs/web/locale/ko/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/lij/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/lo/viewer.ftl +343 -0
- package/static/assets/pdfjs/web/locale/locale.json +1 -0
- package/static/assets/pdfjs/web/locale/lt/viewer.ftl +318 -0
- package/static/assets/pdfjs/web/locale/ltg/viewer.ftl +296 -0
- package/static/assets/pdfjs/web/locale/lv/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/meh/viewer.ftl +137 -0
- package/static/assets/pdfjs/web/locale/mk/viewer.ftl +265 -0
- package/static/assets/pdfjs/web/locale/ml/viewer.ftl +524 -0
- package/static/assets/pdfjs/web/locale/mr/viewer.ftl +289 -0
- package/static/assets/pdfjs/web/locale/ms/viewer.ftl +297 -0
- package/static/assets/pdfjs/web/locale/my/viewer.ftl +256 -0
- package/static/assets/pdfjs/web/locale/nb-NO/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/ne-NP/viewer.ftl +284 -0
- package/static/assets/pdfjs/web/locale/nl/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/nn-NO/viewer.ftl +609 -0
- package/static/assets/pdfjs/web/locale/oc/viewer.ftl +436 -0
- package/static/assets/pdfjs/web/locale/pa-IN/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/pl/viewer.ftl +618 -0
- package/static/assets/pdfjs/web/locale/pt-BR/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/pt-PT/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/rm/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/ro/viewer.ftl +302 -0
- package/static/assets/pdfjs/web/locale/ru/viewer.ftl +618 -0
- package/static/assets/pdfjs/web/locale/sat/viewer.ftl +355 -0
- package/static/assets/pdfjs/web/locale/sc/viewer.ftl +394 -0
- package/static/assets/pdfjs/web/locale/scn/viewer.ftl +124 -0
- package/static/assets/pdfjs/web/locale/sco/viewer.ftl +314 -0
- package/static/assets/pdfjs/web/locale/si/viewer.ftl +301 -0
- package/static/assets/pdfjs/web/locale/sk/viewer.ftl +621 -0
- package/static/assets/pdfjs/web/locale/skr/viewer.ftl +524 -0
- package/static/assets/pdfjs/web/locale/sl/viewer.ftl +621 -0
- package/static/assets/pdfjs/web/locale/son/viewer.ftl +256 -0
- package/static/assets/pdfjs/web/locale/sq/viewer.ftl +606 -0
- package/static/assets/pdfjs/web/locale/sr/viewer.ftl +451 -0
- package/static/assets/pdfjs/web/locale/sv-SE/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/szl/viewer.ftl +307 -0
- package/static/assets/pdfjs/web/locale/ta/viewer.ftl +273 -0
- package/static/assets/pdfjs/web/locale/te/viewer.ftl +289 -0
- package/static/assets/pdfjs/web/locale/tg/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/th/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/tl/viewer.ftl +307 -0
- package/static/assets/pdfjs/web/locale/tr/viewer.ftl +615 -0
- package/static/assets/pdfjs/web/locale/trs/viewer.ftl +247 -0
- package/static/assets/pdfjs/web/locale/uk/viewer.ftl +618 -0
- package/static/assets/pdfjs/web/locale/ur/viewer.ftl +298 -0
- package/static/assets/pdfjs/web/locale/uz/viewer.ftl +237 -0
- package/static/assets/pdfjs/web/locale/vi/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/wo/viewer.ftl +177 -0
- package/static/assets/pdfjs/web/locale/xh/viewer.ftl +262 -0
- package/static/assets/pdfjs/web/locale/zh-CN/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/locale/zh-TW/viewer.ftl +603 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitDingbats.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitFixed.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitFixedBold.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitSerif.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitSerifBold.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/FoxitSymbol.pfb +0 -0
- package/static/assets/pdfjs/web/standard_fonts/LICENSE_FOXIT +27 -0
- package/static/assets/pdfjs/web/standard_fonts/LICENSE_LIBERATION +102 -0
- package/static/assets/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
- package/static/assets/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
- package/static/assets/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
- package/static/assets/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
- package/static/assets/pdfjs/web/viewer.css +6766 -0
- package/static/assets/pdfjs/web/viewer.html +768 -0
- package/static/assets/pdfjs/web/viewer.mjs +17445 -0
- package/static/assets/pdfjs/web/viewer.mjs.map +1 -0
- package/static/assets/pdfjs/web/wasm/LICENSE_OPENJPEG +39 -0
- package/static/assets/pdfjs/web/wasm/LICENSE_PDFJS_OPENJPEG +22 -0
- package/static/assets/pdfjs/web/wasm/LICENSE_PDFJS_QCMS +22 -0
- package/static/assets/pdfjs/web/wasm/LICENSE_QCMS +21 -0
- package/static/assets/pdfjs/web/wasm/openjpeg.wasm +0 -0
- package/static/assets/pdfjs/web/wasm/openjpeg_nowasm_fallback.js +29 -0
- package/static/assets/pdfjs/web/wasm/qcms_bg.wasm +0 -0
- package/static/assets/protected.png +0 -0
- package/static/chunk-2EBPSJJT.js +1 -0
- package/static/chunk-3V7XYPSJ.js +4 -0
- package/static/chunk-4IYQWOGR.js +1 -0
- package/static/chunk-5RFOYHL3.js +1 -0
- package/static/chunk-7PCJMNDR.js +1 -0
- package/static/chunk-7WRQICEB.js +1 -0
- package/static/chunk-AKM2LQUU.js +1 -0
- package/static/chunk-ATFX6EIO.js +1 -0
- package/static/chunk-ATLT5DK5.js +1 -0
- package/static/chunk-DVHXFWN7.js +1 -0
- package/static/chunk-E27KCFP6.js +24 -0
- package/static/chunk-FPEGN42P.js +564 -0
- package/static/chunk-GAL4ENT6.js +1 -0
- package/static/chunk-GWUCWOVK.js +1 -0
- package/static/chunk-I644MKAO.js +1 -0
- package/static/chunk-IFJD2ISM.js +1 -0
- package/static/chunk-IUUTIYHF.js +1 -0
- package/static/chunk-JXZCNFW7.js +1 -0
- package/static/chunk-MEKYVWV4.js +1 -0
- package/static/chunk-MQZEETHL.js +7 -0
- package/static/chunk-NPLV4M2H.js +1 -0
- package/static/chunk-NU3TPXFY.js +4 -0
- package/static/chunk-O4CXCITB.js +1 -0
- package/static/chunk-OWGR4BYT.js +1 -0
- package/static/chunk-QFRQQ4K3.js +1 -0
- package/static/chunk-RAVRSB6R.js +1 -0
- package/static/chunk-RUNMEQOV.js +1 -0
- package/static/chunk-UGSGMP2I.js +1 -0
- package/static/chunk-UV4UIX6J.js +1 -0
- package/static/chunk-VBD7QTEP.js +1 -0
- package/static/chunk-VBWPPICY.js +1 -0
- package/static/chunk-VQRN7HFP.js +1 -0
- package/static/chunk-WTPZUBNX.js +24 -0
- package/static/chunk-XI72YZ2M.js +1 -0
- package/static/chunk-Z6IHRUVL.js +1 -0
- package/static/chunk-ZVPX26RB.js +1 -0
- package/static/chunk-ZZ3LHYOY.js +1 -0
- package/static/favicon.ico +0 -0
- package/static/index.html +19 -0
- package/static/main-ILCPT3IK.js +10 -0
- package/static/media/videogular-54D7AHHD.woff +0 -0
- package/static/media/videogular-H7MSXT3I.eot +0 -0
- package/static/media/videogular-ULU7CHZC.ttf +0 -0
- package/static/media/videogular-WX5DESMV.svg +29 -0
- package/static/polyfills-GNKGQMRJ.js +2 -0
- package/static/prerendered-routes.json +3 -0
- package/static/scripts-MQMRSPYD.js +30 -0
- package/static/styles-TJJDSCD4.css +1 -0
- package/sync-in-server.js +309 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/users/services/users-queries.service.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { Inject, Injectable, Logger } from '@nestjs/common'\nimport { and, countDistinct, eq, inArray, like, lte, ne, notInArray, or, SelectedFields, SQL, sql } from 'drizzle-orm'\nimport { alias } from 'drizzle-orm/mysql-core'\nimport { MySql2PreparedQuery, MySqlQueryResult } from 'drizzle-orm/mysql2'\nimport { anonymizePassword, comparePassword, uniquePermissions } from '../../../common/functions'\nimport { CacheDecorator } from '../../../infrastructure/cache/cache.decorator'\nimport { Cache } from '../../../infrastructure/cache/services/cache.service'\nimport { DB_TOKEN_PROVIDER } from '../../../infrastructure/database/constants'\nimport { DBSchema } from '../../../infrastructure/database/interfaces/database.interface'\nimport {\n concatDistinctObjectsInArray,\n convertToSelect,\n dateTimeUTC,\n dbCheckAffectedRows,\n dbGetInsertedId\n} from '../../../infrastructure/database/utils'\nimport { GROUP_TYPE, GROUP_VISIBILITY } from '../constants/group'\nimport { MEMBER_TYPE } from '../constants/member'\nimport { USER_GROUP_ROLE, USER_ONLINE_STATUS, USER_PERMS_SEP, USER_ROLE } from '../constants/user'\nimport { UserCreateOrUpdateGroupDto } from '../dto/create-or-update-group.dto'\nimport { CreateUserDto } from '../dto/create-or-update-user.dto'\nimport { SearchMembersDto } from '../dto/search-members.dto'\nimport { GroupMember, GroupWithMembers } from '../interfaces/group-member'\nimport { GuestUser } from '../interfaces/guest-user.interface'\nimport { Member } from '../interfaces/member.interface'\nimport { UserOnline } from '../interfaces/websocket.interface'\nimport { UserModel } from '../models/user.model'\nimport { Group } from '../schemas/group.interface'\nimport { groups } from '../schemas/groups.schema'\nimport { UserGroup } from '../schemas/user-group.interface'\nimport { User } from '../schemas/user.interface'\nimport { usersGroups } from '../schemas/users-groups.schema'\nimport { usersGuests } from '../schemas/users-guests.schema'\nimport { userFullNameSQL, users } from '../schemas/users.schema'\n\n@Injectable()\nexport class UsersQueries {\n private readonly logger = new Logger(UsersQueries.name)\n private fromLoginOrEmailPermissionsQuery: MySql2PreparedQuery<any> = null\n private fromIdPermissionsQuery: MySql2PreparedQuery<any> = null\n\n constructor(\n @Inject(DB_TOKEN_PROVIDER) private readonly db: DBSchema,\n private readonly cache: Cache\n ) {}\n\n checkUserExists(login?: string, email?: string): Promise<{ login?: string; email?: string }> {\n if (!login && !email) {\n throw new Error('login or email must be specified')\n }\n const columns: { login?: boolean; email?: boolean } = {}\n const where: SQL[] = []\n if (login) {\n columns.login = true\n where.push(eq(users.login, login))\n }\n if (email) {\n columns.email = true\n where.push(eq(users.email, email))\n }\n const operator = login && email ? or : and\n return this.db.query.users.findFirst({\n columns: columns,\n where: operator(...where)\n })\n }\n\n setOnlineStatus(userId: number, onlineStatus: USER_ONLINE_STATUS): Promise<boolean> {\n return this.updateUserOrGuest(userId, { onlineStatus: onlineStatus })\n }\n\n getOnlineUsers(userIds: number[]): Promise<UserOnline[]> {\n return this.db\n .select({\n id: users.id,\n login: users.login,\n email: users.email,\n fullName: userFullNameSQL(users),\n onlineStatus: users.onlineStatus\n } satisfies UserOnline | SelectedFields<any, any>)\n .from(users)\n .where(inArray(users.id, userIds))\n }\n\n async checkGroupNameExists(groupName: string): Promise<boolean> {\n const [group] = await this.db.select({ name: groups.name }).from(groups).where(eq(groups.name, groupName)).limit(1)\n return !!group?.name\n }\n\n async compareUserPassword(userId: number, password: string): Promise<boolean> {\n const [hash] = (await this.selectUsers(['password'], [eq(users.id, userId)])) as { password: string }[]\n if (!hash) return false\n return comparePassword(password, hash.password)\n }\n\n async from(userId?: number, loginOrEmail?: string): Promise<User> {\n // retrieve user with application permissions\n let pQuery: MySql2PreparedQuery<any> = userId ? this.fromIdPermissionsQuery : this.fromLoginOrEmailPermissionsQuery\n if (!pQuery) {\n const where = userId\n ? eq(users.id, sql.placeholder('userId'))\n : or(eq(users.login, sql.placeholder('loginOrEmail')), eq(users.email, sql.placeholder('loginOrEmail')))\n pQuery = this.db\n .select({\n user: users,\n groupsPermissions: sql`GROUP_CONCAT(DISTINCT (${groups.permissions}) SEPARATOR ${USER_PERMS_SEP})`\n })\n .from(users)\n .leftJoin(usersGroups, eq(usersGroups.userId, users.id))\n .leftJoin(groups, and(eq(groups.id, usersGroups.groupId), ne(groups.permissions, '')))\n .where(where)\n .groupBy(users.id)\n .limit(1)\n .prepare()\n if (userId) {\n this.fromIdPermissionsQuery = pQuery\n } else {\n this.fromLoginOrEmailPermissionsQuery = pQuery\n }\n }\n const r = await pQuery.execute(userId ? { userId } : { loginOrEmail })\n if (!r.length) return null\n const [user, groupsPermissions] = [r[0].user, r[0].groupsPermissions]\n // merge user and groups permissions\n user.permissions = uniquePermissions(`${user.permissions},${groupsPermissions}`, USER_PERMS_SEP)\n return user\n }\n\n selectUsers(fields: Partial<keyof User>[] = ['id', 'login', 'email'], where: SQL[]): Promise<Partial<User>[]> {\n const select: Record<keyof User, any> = convertToSelect(users, fields)\n return this.db\n .select(select)\n .from(users)\n .where(and(...where))\n }\n\n async selectUserProperties(userId: number, fields: Partial<keyof User>[]): Promise<Record<string, any>> {\n const select: Record<keyof User, any> = convertToSelect(users, fields)\n const [r]: Record<string, any>[] = await this.db.select(select).from(users).where(eq(users.id, userId)).limit(1)\n return r\n }\n\n async createUserOrGuest(createUserDto: CreateUserDto, userRole: USER_ROLE): Promise<User['id']> {\n const userId: number = dbGetInsertedId(await this.db.insert(users).values({ ...createUserDto, role: userRole } as User))\n if (userRole === USER_ROLE.USER && createUserDto.groups?.length) {\n await this.db.insert(usersGroups).values(createUserDto.groups.map((gid: number) => ({ userId: userId, groupId: gid })))\n }\n if (userRole === USER_ROLE.GUEST && createUserDto.managers?.length) {\n await this.db.insert(usersGuests).values(createUserDto.managers.map((uid: number) => ({ guestId: userId, userId: uid })))\n }\n return userId\n }\n\n async updateUserOrGuest(userId: number, set: Partial<Record<keyof User, any>>, userRole?: USER_ROLE): Promise<boolean> {\n try {\n dbCheckAffectedRows(\n await this.db\n .update(users)\n .set({ ...set, ...(userRole && { role: userRole }) } as User)\n .where(eq(users.id, userId)),\n 1\n )\n this.logger.verbose(`${this.updateUserOrGuest.name} - user (${userId}) was updated : ${JSON.stringify(anonymizePassword(set))}`)\n return true\n } catch (e) {\n this.logger.error(`${this.updateUserOrGuest.name} - user (${userId}) was not updated : ${JSON.stringify(anonymizePassword(set))} : ${e}`)\n return false\n }\n }\n\n async deleteGuestLink(userId: number): Promise<void> {\n dbCheckAffectedRows(await this.db.delete(users).where(and(eq(users.id, userId), eq(users.role, USER_ROLE.LINK))), 1)\n }\n\n async searchUsersOrGroups(searchMembersDto: SearchMembersDto, userId?: number): Promise<Member[]> {\n const limit = searchMembersDto.onlyUsers || searchMembersDto.onlyGroups ? 6 : 3\n const members: Member[] = []\n if (!searchMembersDto.onlyGroups) {\n for (const u of await this.searchUsers(searchMembersDto, userId, limit)) {\n members.push({\n id: u.id,\n login: u.login,\n name: u.fullName,\n description: u.email,\n type: u.role === USER_ROLE.GUEST ? MEMBER_TYPE.GUEST : MEMBER_TYPE.USER,\n permissions: searchMembersDto.withPermissions ? u.permissions : undefined\n })\n }\n }\n if (!searchMembersDto.onlyUsers) {\n for (const g of await this.searchGroups(searchMembersDto, userId, limit)) {\n members.push({\n id: g.id,\n name: g.name,\n description: g.description,\n type: g.type === GROUP_TYPE.USER ? MEMBER_TYPE.GROUP : MEMBER_TYPE.PGROUP,\n permissions: searchMembersDto.withPermissions ? g.permissions : undefined\n })\n }\n }\n return members\n }\n\n async groupFromName(userId: number, name: string): Promise<Pick<Group, 'id' | 'name' | 'type'> & { role: UserGroup['role'] }> {\n const [group] = await this.db\n .select({\n id: groups.id,\n name: groups.name,\n type: groups.type,\n role: usersGroups.role\n } satisfies (Pick<Group, 'id' | 'name' | 'type'> & { role: UserGroup['role'] }) | SelectedFields<any, any>)\n .from(usersGroups)\n .innerJoin(groups, eq(groups.id, usersGroups.groupId))\n .where(and(eq(usersGroups.userId, userId), eq(groups.name, name)))\n .limit(1)\n return group\n }\n\n async browseRootGroups(userId: number): Promise<Member[]> {\n const members = alias(usersGroups, 'members')\n return this.db\n .select({\n id: groups.id,\n name: groups.name,\n description: groups.description,\n createdAt: groups.createdAt,\n modifiedAt: groups.modifiedAt,\n type: sql<MEMBER_TYPE>`IF(${groups.type} = ${GROUP_TYPE.USER}, ${MEMBER_TYPE.GROUP}, ${MEMBER_TYPE.PGROUP})`,\n groupRole: sql<USER_GROUP_ROLE>`${usersGroups.role}`,\n counts: { users: countDistinct(members.userId) }\n } satisfies Member | SelectedFields<any, any>)\n .from(usersGroups)\n .innerJoin(groups, and(eq(groups.id, usersGroups.groupId), eq(usersGroups.userId, userId)))\n .leftJoin(members, eq(members.groupId, groups.id))\n .groupBy(groups.id)\n }\n\n async browseGroupMembers(groupId: number): Promise<Member[]> {\n return this.db\n .select({\n id: users.id,\n login: users.login,\n name: userFullNameSQL(users).as('name'),\n description: users.email,\n createdAt: usersGroups.createdAt,\n type: sql<MEMBER_TYPE>`${MEMBER_TYPE.USER}`,\n groupRole: sql<USER_GROUP_ROLE>`${usersGroups.role}`\n } satisfies Member | SelectedFields<any, any>)\n .from(groups)\n .innerJoin(usersGroups, and(eq(usersGroups.groupId, groups.id), eq(usersGroups.groupId, groupId)))\n .leftJoin(users, eq(users.id, usersGroups.userId))\n .groupBy(users.id)\n }\n\n async canDeletePersonalGroup(userId: number, groupId: number): Promise<boolean> {\n const [group] = await this.db\n .select({ id: usersGroups.groupId })\n .from(usersGroups)\n .innerJoin(groups, and(eq(groups.id, usersGroups.groupId)))\n .where(\n and(\n eq(groups.type, GROUP_TYPE.PERSONAL),\n eq(usersGroups.userId, userId),\n eq(usersGroups.groupId, groupId),\n eq(usersGroups.role, USER_GROUP_ROLE.MANAGER)\n )\n )\n .limit(1)\n return !!group?.id\n }\n\n async getGroup(userId: number, groupId: number, asAdmin = false): Promise<GroupMember> {\n const [group] = await this.db\n .select({\n id: groups.id,\n name: groups.name,\n description: groups.description,\n createdAt: groups.createdAt,\n modifiedAt: groups.modifiedAt,\n type: sql<MEMBER_TYPE>`IF(${groups.type} = ${GROUP_TYPE.USER}, ${MEMBER_TYPE.GROUP}, ${MEMBER_TYPE.PGROUP})`\n })\n .from(usersGroups)\n .innerJoin(groups, and(eq(groups.id, usersGroups.groupId)))\n .where(\n and(\n eq(usersGroups.groupId, groupId),\n sql`IF(${+asAdmin} = 0, ${usersGroups.userId} = ${userId} AND ${usersGroups.role} = ${USER_GROUP_ROLE.MANAGER}, 1)`\n )\n )\n .limit(1)\n return group\n }\n\n async getGroupWithMembers(userId: number, groupId: number, asAdmin = false): Promise<GroupWithMembers> {\n const usersGroupsAlias: any = alias(usersGroups, 'usersFromGroups')\n const [group] = await this.db\n .select({\n id: groups.id,\n name: groups.name,\n description: groups.description,\n createdAt: groups.createdAt,\n modifiedAt: groups.modifiedAt,\n type: sql<MEMBER_TYPE>`IF(${groups.type} = ${GROUP_TYPE.USER}, ${sql.raw(`'${MEMBER_TYPE.GROUP}'`)}, ${sql.raw(`'${MEMBER_TYPE.PGROUP}'`)})`,\n members: concatDistinctObjectsInArray(users.id, {\n id: users.id,\n login: users.login,\n name: userFullNameSQL(users),\n description: users.email,\n type: sql.raw(`'${MEMBER_TYPE.USER}'`),\n groupRole: usersGroupsAlias.role,\n createdAt: dateTimeUTC(usersGroupsAlias.createdAt)\n } satisfies Record<keyof Pick<Member, 'id' | 'name' | 'login' | 'description' | 'type' | 'groupRole' | 'createdAt'>, any>)\n } satisfies GroupWithMembers | SelectedFields<any, any>)\n .from(usersGroups)\n .innerJoin(groups, eq(groups.id, usersGroups.groupId))\n .leftJoin(usersGroupsAlias, and(eq(usersGroupsAlias.groupId, groups.id)))\n .leftJoin(users, eq(users.id, usersGroupsAlias.userId))\n .where(\n and(\n eq(usersGroups.groupId, groupId),\n sql`IF(${+asAdmin} = 0, ${usersGroups.userId} = ${userId} AND ${usersGroups.role} = ${USER_GROUP_ROLE.MANAGER}, 1)`\n )\n )\n .groupBy(groups.id)\n .limit(1)\n return group\n }\n\n async deletePersonalGroup(groupId: number): Promise<boolean> {\n return dbCheckAffectedRows(\n await this.db\n .delete(groups)\n .where(and(eq(groups.id, groupId), eq(groups.type, GROUP_TYPE.PERSONAL)))\n .limit(1),\n 1,\n false\n )\n }\n\n async createPersonalGroup(managerId: number, userCreateOrUpdateGroupDto: UserCreateOrUpdateGroupDto): Promise<Group['id']> {\n const groupId: number = dbGetInsertedId(\n await this.db.insert(groups).values({\n ...userCreateOrUpdateGroupDto,\n type: GROUP_TYPE.PERSONAL,\n visibility: GROUP_VISIBILITY.PRIVATE\n } as Group)\n )\n await this.db.insert(usersGroups).values({ userId: managerId, groupId: groupId, role: USER_GROUP_ROLE.MANAGER } as UserGroup)\n return groupId\n }\n\n async updateGroup(groupId: number, set: Partial<Record<keyof Group, any>>) {\n if (Object.keys(set).length) {\n try {\n await this.db.update(groups).set(set).where(eq(groups.id, groupId))\n this.logger.log(`${this.updateGroup.name} - group (${groupId}) was updated : ${JSON.stringify(set)}`)\n } catch (e) {\n this.logger.error(`${this.updateGroup.name} - group (${groupId}) was not updated : ${JSON.stringify(set)} : ${e}`)\n throw new Error('Group was not updated')\n }\n }\n }\n\n async updateGroupMembers(\n groupId: number,\n members: {\n add?: Pick<Member, 'id' | 'groupRole'>[]\n remove?: UserGroup['userId'][]\n }\n ): Promise<void> {\n if (members?.add?.length) {\n try {\n await this.db.insert(usersGroups).values(members.add.map((m) => ({ userId: m.id, groupId: groupId, role: m.groupRole })))\n // clear cache\n this.clearWhiteListCaches(members.add.map((m) => m.id))\n this.logger.log(`${this.updateGroupMembers.name} - users ${JSON.stringify(members.add.map((m) => m.id))} was added to group (${groupId})`)\n } catch (e) {\n this.logger.error(\n `${this.updateGroupMembers.name} - users ${JSON.stringify(members.add.map((m) => m.id))} was not added to group (${groupId}) : ${e}`\n )\n throw new Error('Group members was not added')\n }\n }\n if (members?.remove?.length) {\n try {\n await this.db\n .delete(usersGroups)\n .where(and(eq(usersGroups.groupId, groupId), inArray(usersGroups.userId, members.remove)))\n .limit(members.remove.length)\n // clear cache\n this.clearWhiteListCaches(members.remove)\n this.logger.log(`${this.updateGroupMembers.name} - users ${JSON.stringify(members.remove)} was removed from group (${groupId})`)\n } catch (e) {\n this.logger.error(`${this.updateGroupMembers.name} - users ${JSON.stringify(members.remove)} was not removed from group (${groupId}) : ${e}`)\n throw new Error('Group members was not removed')\n }\n }\n }\n\n async listGuests(guestId: null, managerId?: number, asAdmin?: boolean): Promise<GuestUser[]>\n async listGuests(guestId: number, managerId?: number, asAdmin?: boolean): Promise<GuestUser>\n async listGuests(guestId: number | null, managerId?: number, asAdmin = false): Promise<GuestUser | GuestUser[]> {\n const where: SQL[] = [...(guestId ? [eq(usersGuests.guestId, guestId)] : []), ...(asAdmin ? [] : [eq(usersGuests.userId, managerId)])]\n const managersGuestAlias: any = alias(usersGuests, 'managersGuestAlias')\n const managersAlias: any = alias(users, 'managersAlias')\n const guests = await this.db\n .select({\n id: users.id,\n login: users.login,\n email: users.email,\n firstName: users.firstName,\n lastName: users.lastName,\n fullName: userFullNameSQL(users),\n role: users.role,\n isActive: users.isActive,\n passwordAttempts: users.passwordAttempts,\n language: users.language,\n notification: users.notification,\n currentAccess: users.currentAccess,\n lastAccess: users.lastAccess,\n currentIp: users.currentIp,\n lastIp: users.lastIp,\n createdAt: users.createdAt,\n managers: concatDistinctObjectsInArray(managersAlias.id, {\n id: managersAlias.id,\n login: managersAlias.login,\n name: userFullNameSQL(managersAlias),\n type: sql.raw(`'${MEMBER_TYPE.USER}'`),\n description: managersAlias.email,\n createdAt: dateTimeUTC(managersGuestAlias.createdAt)\n } satisfies Record<keyof Pick<Member, 'id' | 'name' | 'login' | 'description' | 'type' | 'createdAt'>, any>)\n } satisfies GuestUser | SelectedFields<any, any>)\n .from(usersGuests)\n .innerJoin(users, and(eq(users.id, usersGuests.guestId), eq(users.role, USER_ROLE.GUEST)))\n .leftJoin(managersGuestAlias, eq(managersGuestAlias.guestId, users.id))\n .leftJoin(managersAlias, eq(managersAlias.id, managersGuestAlias.userId))\n .where(and(...where))\n .groupBy(users.id)\n .limit(guestId ? 1 : undefined)\n return guestId ? guests[0] : guests\n }\n\n async isGuestManager(managerId: number, guestId: number): Promise<{ id: number; login: string } | undefined> {\n const [guest] = await this.db\n .select({ id: usersGuests.guestId, login: users.login })\n .from(usersGuests)\n .innerJoin(users, eq(users.id, usersGuests.guestId))\n .where(and(eq(usersGuests.userId, managerId), eq(usersGuests.guestId, guestId), eq(users.role, USER_ROLE.GUEST)))\n .limit(1)\n return guest\n }\n\n private async searchGroups(\n searchMembersDto: SearchMembersDto,\n userId?: number,\n limit = 3\n ): Promise<Pick<Group, 'id' | 'name' | 'description' | 'type' | 'permissions'>[]> {\n /* Search for groups */\n const where: SQL[] = [like(groups.name, `%${searchMembersDto.search}%`)]\n if (userId) {\n let idsWhitelist: number[] = await this.groupsWhitelist(userId)\n if (searchMembersDto.ignoreGroupIds?.length) {\n idsWhitelist = idsWhitelist.filter((id) => searchMembersDto.ignoreGroupIds.indexOf(id) === -1)\n }\n where.unshift(inArray(groups.id, idsWhitelist))\n } else if (searchMembersDto.ignoreGroupIds?.length) {\n where.unshift(notInArray(groups.id, searchMembersDto.ignoreGroupIds))\n }\n if (searchMembersDto.excludePersonalGroups) {\n where.unshift(eq(groups.type, GROUP_TYPE.USER))\n }\n return this.db\n .select({ id: groups.id, name: groups.name, description: groups.description, type: groups.type, permissions: groups.permissions })\n .from(groups)\n .where(and(...where))\n .limit(limit)\n }\n\n private async searchUsers(\n searchMembersDto: SearchMembersDto,\n userId?: number,\n limit = 3\n ): Promise<Pick<UserModel, 'id' | 'login' | 'email' | 'fullName' | 'role' | 'permissions'>[]> {\n /* Search for users */\n const where: SQL[] = [\n ne(users.role, USER_ROLE.LINK),\n or(like(sql`CONCAT_WS('-', ${users.login}, ${users.email}, ${users.firstName}, ${users.lastName})`, `%${searchMembersDto.search}%`))\n ]\n if (userId) {\n let idsWhitelist: number[] = await this.usersWhitelist(userId)\n if (searchMembersDto.ignoreUserIds?.length) {\n idsWhitelist = idsWhitelist.filter((id) => searchMembersDto.ignoreUserIds.indexOf(id) === -1)\n }\n where.unshift(inArray(users.id, idsWhitelist))\n } else {\n if (searchMembersDto.ignoreUserIds?.length) {\n where.unshift(notInArray(users.id, searchMembersDto.ignoreUserIds))\n }\n }\n if (typeof searchMembersDto.usersRole !== 'undefined') {\n if (searchMembersDto.usersRole === USER_ROLE.USER) {\n // allow admin users\n where.unshift(lte(users.role, searchMembersDto.usersRole))\n } else {\n where.unshift(eq(users.role, searchMembersDto.usersRole))\n }\n }\n return this.db\n .select({\n id: users.id,\n login: users.login,\n email: users.email,\n fullName: userFullNameSQL(users),\n role: users.role,\n permissions: users.permissions\n })\n .from(users)\n .where(and(...where))\n .limit(limit)\n }\n\n @CacheDecorator(900)\n async usersWhitelist(userId: number, lowerOrEqualUserRole: USER_ROLE = USER_ROLE.GUEST): Promise<number[]> {\n /* Get the list of user ids allowed to the current user\n - all users with no groups (except link users)\n - all users who are members of the current user's groups (excluding link users and members of isolated groups)\n - all guests managed by the current user\n - all managers who manage the current guest\n */\n const usersAlias: any = alias(users, 'usersAlias')\n const groupsAlias: any = alias(groups, 'groupsAlias')\n const userIds: any = sql`\n WITH RECURSIVE children (id, parentId) AS\n (SELECT ${groups.id},\n ${groups.parentId}\n FROM ${groups}\n WHERE (${groups.id} IN (SELECT ${usersGroups.groupId}\n FROM ${usersGroups}\n WHERE ${usersGroups.userId} = ${userId}\n AND ${groups.visibility} != ${GROUP_VISIBILITY.ISOLATED}))\n UNION\n SELECT ${groupsAlias.id},\n ${groupsAlias.parentId}\n FROM ${groups} AS groupsAlias\n INNER JOIN children cs ON ${groupsAlias.parentId} = cs.id AND ${groupsAlias.visibility} = ${sql.raw(`${GROUP_VISIBILITY.VISIBLE}`)})\n SELECT JSON_ARRAYAGG(id) AS ids\n FROM (\n -- Users from visible child groups\n SELECT ${users.id} AS id\n FROM children\n INNER JOIN ${usersGroups} ON ${usersGroups.groupId} = children.id\n INNER JOIN ${users} ON ${usersGroups.userId} = ${users.id} AND ${users.role} <= ${sql.raw(`${lowerOrEqualUserRole}`)}\n\n UNION\n -- Users visible but not assigned to groups\n SELECT ${usersAlias.id} AS id\n FROM ${users} AS usersAlias\n INNER JOIN ${users} ON ${users.id} = ${usersAlias.id} AND ${users.role} <= ${sql.raw(`${lowerOrEqualUserRole}`)}\n WHERE NOT EXISTS (SELECT ${usersGroups.userId} FROM ${usersGroups} WHERE ${usersGroups.userId} = ${usersAlias.id})\n UNION\n -- Users or guests that are manager/managed\n SELECT CASE\n WHEN ${usersGuests.userId} = ${userId} THEN ${usersGuests.guestId}\n WHEN ${usersGuests.guestId} = ${userId} THEN ${usersGuests.userId}\n END AS id\n FROM ${usersGuests}\n WHERE ${usersGuests.userId} = ${userId}\n OR ${usersGuests.guestId} = ${userId}) AS usersUnion\n `\n const [r] = await this.db.execute(userIds)\n return JSON.parse(r[0].ids) || []\n }\n\n @CacheDecorator(900)\n async groupsWhitelist(userId: number): Promise<number[]> {\n /* Get the list of groups ids allowed to the current user\n - all parent groups for which the user is a member (includes personal groups, excludes isolated groups)\n - all subgroups inherited from parent groups\n */\n const groupsAlias: any = alias(groups, 'groupsAlias')\n const groupIds: any = sql`\n WITH RECURSIVE children (id, parentId, type) AS\n (SELECT ${groups.id},\n ${groups.parentId},\n ${groups.type}\n FROM ${groups}\n WHERE (${groups.id} IN (SELECT ${usersGroups.groupId}\n FROM ${usersGroups}\n WHERE ${usersGroups.userId} = ${userId}\n AND ${groups.visibility} != ${GROUP_VISIBILITY.ISOLATED}))\n UNION\n SELECT ${groupsAlias.id},\n ${groupsAlias.parentId},\n ${groupsAlias.type}\n FROM ${groups} AS groupsAlias\n INNER JOIN children cs ON ${groupsAlias.parentId} = cs.id AND ${groupsAlias.visibility} = ${GROUP_VISIBILITY.VISIBLE})\n SELECT JSON_ARRAYAGG(children.id) as ids\n FROM children\n `\n const [r] = await this.db.execute(groupIds)\n return JSON.parse(r[0].ids) || []\n }\n\n clearWhiteListCaches(userIds: number[]) {\n this.cache\n .mdel([\n ...userIds.map((id) => this.cache.genSlugKey(this.constructor.name, this.usersWhitelist.name, id)),\n ...userIds.map((id) => this.cache.genSlugKey(this.constructor.name, this.groupsWhitelist.name, id))\n ])\n .catch((e: Error) => this.logger.error(`${this.clearWhiteListCaches.name} - ${e}`))\n }\n\n async allUserIdsFromGroupsAndSubGroups(groupIds: number[]): Promise<number[]> {\n if (!groupIds.length) return []\n const subGroup: any = alias(groups, 'subGroup')\n const withChildren: any = sql`\n WITH RECURSIVE child (id, parentId) AS\n (SELECT ${groups.id}, ${groups.parentId}\n FROM ${groups}\n WHERE ${inArray(groups.id, groupIds)}\n UNION\n SELECT ${subGroup.id},\n ${subGroup.parentId}\n FROM ${groups} AS subGroup\n INNER JOIN child AS cs ON ${subGroup.parentId} = cs.id)\n SELECT DISTINCT ${usersGroups.userId} as userId\n FROM child\n INNER JOIN ${usersGroups} ON child.id = ${usersGroups.groupId}\n `\n const [r]: { userId: number }[][] = (await this.db.execute(withChildren)) as MySqlQueryResult\n return r.length ? r.map((r) => r.userId) : []\n }\n}\n"],"names":["UsersQueries","checkUserExists","login","email","Error","columns","where","push","eq","users","operator","or","and","db","query","findFirst","setOnlineStatus","userId","onlineStatus","updateUserOrGuest","getOnlineUsers","userIds","select","id","fullName","userFullNameSQL","from","inArray","checkGroupNameExists","groupName","group","name","groups","limit","compareUserPassword","password","hash","selectUsers","comparePassword","loginOrEmail","pQuery","fromIdPermissionsQuery","fromLoginOrEmailPermissionsQuery","sql","placeholder","user","groupsPermissions","permissions","USER_PERMS_SEP","leftJoin","usersGroups","groupId","ne","groupBy","prepare","r","execute","length","uniquePermissions","fields","convertToSelect","selectUserProperties","createUserOrGuest","createUserDto","userRole","dbGetInsertedId","insert","values","role","USER_ROLE","USER","map","gid","GUEST","managers","usersGuests","uid","guestId","set","dbCheckAffectedRows","update","logger","verbose","JSON","stringify","anonymizePassword","e","error","deleteGuestLink","delete","LINK","searchUsersOrGroups","searchMembersDto","onlyUsers","onlyGroups","members","u","searchUsers","description","type","MEMBER_TYPE","withPermissions","undefined","g","searchGroups","GROUP_TYPE","GROUP","PGROUP","groupFromName","innerJoin","browseRootGroups","alias","createdAt","modifiedAt","groupRole","counts","countDistinct","browseGroupMembers","as","canDeletePersonalGroup","PERSONAL","USER_GROUP_ROLE","MANAGER","getGroup","asAdmin","getGroupWithMembers","usersGroupsAlias","raw","concatDistinctObjectsInArray","dateTimeUTC","deletePersonalGroup","createPersonalGroup","managerId","userCreateOrUpdateGroupDto","visibility","GROUP_VISIBILITY","PRIVATE","updateGroup","Object","keys","log","updateGroupMembers","add","m","clearWhiteListCaches","remove","listGuests","managersGuestAlias","managersAlias","guests","firstName","lastName","isActive","passwordAttempts","language","notification","currentAccess","lastAccess","currentIp","lastIp","isGuestManager","guest","like","search","idsWhitelist","groupsWhitelist","ignoreGroupIds","filter","indexOf","unshift","notInArray","excludePersonalGroups","usersWhitelist","ignoreUserIds","usersRole","lte","lowerOrEqualUserRole","usersAlias","groupsAlias","parentId","ISOLATED","VISIBLE","parse","ids","groupIds","cache","mdel","genSlugKey","catch","allUserIdsFromGroupsAndSubGroups","subGroup","withChildren","Logger"],"mappings":"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"}
|
|
@@ -0,0 +1,371 @@
|
|
|
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, "UsersController", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function() {
|
|
12
|
+
return UsersController;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const _common = require("@nestjs/common");
|
|
16
|
+
const _fs = require("fs");
|
|
17
|
+
const _authrequestinterface = require("../../authentication/interfaces/auth-request.interface");
|
|
18
|
+
const _routes = require("./constants/routes");
|
|
19
|
+
const _user = require("./constants/user");
|
|
20
|
+
const _permissionsdecorator = require("./decorators/permissions.decorator");
|
|
21
|
+
const _rolesdecorator = require("./decorators/roles.decorator");
|
|
22
|
+
const _userdecorator = require("./decorators/user.decorator");
|
|
23
|
+
const _createorupdategroupdto = require("./dto/create-or-update-group.dto");
|
|
24
|
+
const _createorupdateuserdto = require("./dto/create-or-update-user.dto");
|
|
25
|
+
const _searchmembersdto = require("./dto/search-members.dto");
|
|
26
|
+
const _userpropertiesdto = require("./dto/user-properties.dto");
|
|
27
|
+
const _permissionsguard = require("./guards/permissions.guard");
|
|
28
|
+
const _rolesguard = require("./guards/roles.guard");
|
|
29
|
+
const _usermodel = require("./models/user.model");
|
|
30
|
+
const _usersmanagerservice = require("./services/users-manager.service");
|
|
31
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
32
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
33
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
34
|
+
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;
|
|
35
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
36
|
+
}
|
|
37
|
+
function _ts_metadata(k, v) {
|
|
38
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
39
|
+
}
|
|
40
|
+
function _ts_param(paramIndex, decorator) {
|
|
41
|
+
return function(target, key) {
|
|
42
|
+
decorator(target, key, paramIndex);
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
let UsersController = class UsersController {
|
|
46
|
+
me(user) {
|
|
47
|
+
return this.usersManager.me(user);
|
|
48
|
+
}
|
|
49
|
+
updateLanguage(user, userLanguageDto) {
|
|
50
|
+
return this.usersManager.updateLanguage(user, userLanguageDto);
|
|
51
|
+
}
|
|
52
|
+
updatePassword(user, userPasswordDto) {
|
|
53
|
+
return this.usersManager.updatePassword(user, userPasswordDto);
|
|
54
|
+
}
|
|
55
|
+
updateNotification(user, userNotificationDto) {
|
|
56
|
+
return this.usersManager.updateNotification(user, userNotificationDto);
|
|
57
|
+
}
|
|
58
|
+
async avatar(user, login) {
|
|
59
|
+
const isMe = login === 'me';
|
|
60
|
+
const [path, mime] = await this.usersManager.getAvatar(isMe ? user.login : login, false, isMe && user.role <= _user.USER_ROLE.USER);
|
|
61
|
+
return new _common.StreamableFile((0, _fs.createReadStream)(path), {
|
|
62
|
+
type: mime
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
updateAvatar(req) {
|
|
66
|
+
return this.usersManager.updateAvatar(req);
|
|
67
|
+
}
|
|
68
|
+
genAvatar(user) {
|
|
69
|
+
return this.usersManager.getAvatar(user.login, true);
|
|
70
|
+
}
|
|
71
|
+
searchMembers(user, searchMembersDto) {
|
|
72
|
+
return this.usersManager.searchMembers(user, searchMembersDto);
|
|
73
|
+
}
|
|
74
|
+
browseGroups(user, name) {
|
|
75
|
+
return this.usersManager.browseGroups(user, name);
|
|
76
|
+
}
|
|
77
|
+
createPersonalGroup(user, userCreateOrUpdateGroupDto) {
|
|
78
|
+
return this.usersManager.createPersonalGroup(user, userCreateOrUpdateGroupDto);
|
|
79
|
+
}
|
|
80
|
+
updatePersonalGroup(user, groupId, userCreateOrUpdateGroupDto) {
|
|
81
|
+
return this.usersManager.updatePersonalGroup(user, groupId, userCreateOrUpdateGroupDto);
|
|
82
|
+
}
|
|
83
|
+
deletePersonalGroup(user, groupId) {
|
|
84
|
+
return this.usersManager.deletePersonalGroup(user, groupId);
|
|
85
|
+
}
|
|
86
|
+
leavePersonalGroup(user, groupId) {
|
|
87
|
+
return this.usersManager.leavePersonalGroup(user, groupId);
|
|
88
|
+
}
|
|
89
|
+
addUsersToGroup(user, groupId, userIds) {
|
|
90
|
+
return this.usersManager.addUsersToGroup(user, groupId, userIds);
|
|
91
|
+
}
|
|
92
|
+
removeUserFromGroup(user, groupId, userId) {
|
|
93
|
+
return this.usersManager.removeUserFromGroup(user, groupId, userId);
|
|
94
|
+
}
|
|
95
|
+
updateUserFromPersonalGroup(user, groupId, userId, updateUserFromGroupDto) {
|
|
96
|
+
return this.usersManager.updateUserFromPersonalGroup(user, groupId, userId, updateUserFromGroupDto);
|
|
97
|
+
}
|
|
98
|
+
listGuests(user) {
|
|
99
|
+
return this.usersManager.listGuests(user);
|
|
100
|
+
}
|
|
101
|
+
getGuest(user, guestId) {
|
|
102
|
+
return this.usersManager.getGuest(user, guestId);
|
|
103
|
+
}
|
|
104
|
+
createGuest(user, createGuestDto) {
|
|
105
|
+
return this.usersManager.createGuest(user, createGuestDto);
|
|
106
|
+
}
|
|
107
|
+
updateGuest(user, guestId, updateGuestDto) {
|
|
108
|
+
return this.usersManager.updateGuest(user, guestId, updateGuestDto);
|
|
109
|
+
}
|
|
110
|
+
deleteGuest(user, guestId) {
|
|
111
|
+
return this.usersManager.deleteGuest(user, guestId);
|
|
112
|
+
}
|
|
113
|
+
constructor(usersManager){
|
|
114
|
+
this.usersManager = usersManager;
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
_ts_decorate([
|
|
118
|
+
(0, _common.Get)(_routes.USERS_ROUTE.ME),
|
|
119
|
+
(0, _rolesdecorator.UserHaveRole)(_user.USER_ROLE.LINK),
|
|
120
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
121
|
+
_ts_metadata("design:type", Function),
|
|
122
|
+
_ts_metadata("design:paramtypes", [
|
|
123
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel
|
|
124
|
+
]),
|
|
125
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
126
|
+
], UsersController.prototype, "me", null);
|
|
127
|
+
_ts_decorate([
|
|
128
|
+
(0, _common.Put)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.LANGUAGE}`),
|
|
129
|
+
(0, _rolesdecorator.UserHaveRole)(_user.USER_ROLE.GUEST),
|
|
130
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
131
|
+
_ts_param(1, (0, _common.Body)()),
|
|
132
|
+
_ts_metadata("design:type", Function),
|
|
133
|
+
_ts_metadata("design:paramtypes", [
|
|
134
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
135
|
+
typeof _userpropertiesdto.UserLanguageDto === "undefined" ? Object : _userpropertiesdto.UserLanguageDto
|
|
136
|
+
]),
|
|
137
|
+
_ts_metadata("design:returntype", void 0)
|
|
138
|
+
], UsersController.prototype, "updateLanguage", null);
|
|
139
|
+
_ts_decorate([
|
|
140
|
+
(0, _common.Put)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.PASSWORD}`),
|
|
141
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
142
|
+
_ts_param(1, (0, _common.Body)()),
|
|
143
|
+
_ts_metadata("design:type", Function),
|
|
144
|
+
_ts_metadata("design:paramtypes", [
|
|
145
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
146
|
+
typeof _userpropertiesdto.UserPasswordDto === "undefined" ? Object : _userpropertiesdto.UserPasswordDto
|
|
147
|
+
]),
|
|
148
|
+
_ts_metadata("design:returntype", void 0)
|
|
149
|
+
], UsersController.prototype, "updatePassword", null);
|
|
150
|
+
_ts_decorate([
|
|
151
|
+
(0, _common.Put)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.NOTIFICATION}`),
|
|
152
|
+
(0, _rolesdecorator.UserHaveRole)(_user.USER_ROLE.GUEST),
|
|
153
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
154
|
+
_ts_param(1, (0, _common.Body)()),
|
|
155
|
+
_ts_metadata("design:type", Function),
|
|
156
|
+
_ts_metadata("design:paramtypes", [
|
|
157
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
158
|
+
typeof _userpropertiesdto.UserNotificationDto === "undefined" ? Object : _userpropertiesdto.UserNotificationDto
|
|
159
|
+
]),
|
|
160
|
+
_ts_metadata("design:returntype", void 0)
|
|
161
|
+
], UsersController.prototype, "updateNotification", null);
|
|
162
|
+
_ts_decorate([
|
|
163
|
+
(0, _common.Get)(`${_routes.USERS_ROUTE.AVATAR}/:login`),
|
|
164
|
+
(0, _rolesdecorator.UserHaveRole)(_user.USER_ROLE.LINK),
|
|
165
|
+
(0, _common.Header)('cache-control', 'public,max-age=86400'),
|
|
166
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
167
|
+
_ts_param(1, (0, _common.Param)('login')),
|
|
168
|
+
_ts_metadata("design:type", Function),
|
|
169
|
+
_ts_metadata("design:paramtypes", [
|
|
170
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
171
|
+
String
|
|
172
|
+
]),
|
|
173
|
+
_ts_metadata("design:returntype", Promise)
|
|
174
|
+
], UsersController.prototype, "avatar", null);
|
|
175
|
+
_ts_decorate([
|
|
176
|
+
(0, _common.Put)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.AVATAR}`),
|
|
177
|
+
_ts_param(0, (0, _common.Req)()),
|
|
178
|
+
_ts_metadata("design:type", Function),
|
|
179
|
+
_ts_metadata("design:paramtypes", [
|
|
180
|
+
typeof _authrequestinterface.FastifyAuthenticatedRequest === "undefined" ? Object : _authrequestinterface.FastifyAuthenticatedRequest
|
|
181
|
+
]),
|
|
182
|
+
_ts_metadata("design:returntype", void 0)
|
|
183
|
+
], UsersController.prototype, "updateAvatar", null);
|
|
184
|
+
_ts_decorate([
|
|
185
|
+
(0, _common.Patch)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.AVATAR}`),
|
|
186
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
187
|
+
_ts_metadata("design:type", Function),
|
|
188
|
+
_ts_metadata("design:paramtypes", [
|
|
189
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel
|
|
190
|
+
]),
|
|
191
|
+
_ts_metadata("design:returntype", void 0)
|
|
192
|
+
], UsersController.prototype, "genAvatar", null);
|
|
193
|
+
_ts_decorate([
|
|
194
|
+
(0, _common.Search)(),
|
|
195
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
196
|
+
_ts_param(1, (0, _common.Body)()),
|
|
197
|
+
_ts_metadata("design:type", Function),
|
|
198
|
+
_ts_metadata("design:paramtypes", [
|
|
199
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
200
|
+
typeof _searchmembersdto.SearchMembersDto === "undefined" ? Object : _searchmembersdto.SearchMembersDto
|
|
201
|
+
]),
|
|
202
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
203
|
+
], UsersController.prototype, "searchMembers", null);
|
|
204
|
+
_ts_decorate([
|
|
205
|
+
(0, _common.Get)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GROUPS}/${_routes.USERS_ROUTE.BROWSE}/:name?`),
|
|
206
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
207
|
+
_ts_param(1, (0, _common.Param)('name')),
|
|
208
|
+
_ts_metadata("design:type", Function),
|
|
209
|
+
_ts_metadata("design:paramtypes", [
|
|
210
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
211
|
+
String
|
|
212
|
+
]),
|
|
213
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
214
|
+
], UsersController.prototype, "browseGroups", null);
|
|
215
|
+
_ts_decorate([
|
|
216
|
+
(0, _common.Post)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GROUPS}`),
|
|
217
|
+
(0, _permissionsdecorator.UserHavePermission)(_user.USER_PERMISSION.PERSONAL_GROUPS_ADMIN),
|
|
218
|
+
(0, _common.UseGuards)(_permissionsguard.UserPermissionsGuard),
|
|
219
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
220
|
+
_ts_param(1, (0, _common.Body)()),
|
|
221
|
+
_ts_metadata("design:type", Function),
|
|
222
|
+
_ts_metadata("design:paramtypes", [
|
|
223
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
224
|
+
typeof _createorupdategroupdto.UserCreateOrUpdateGroupDto === "undefined" ? Object : _createorupdategroupdto.UserCreateOrUpdateGroupDto
|
|
225
|
+
]),
|
|
226
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
227
|
+
], UsersController.prototype, "createPersonalGroup", null);
|
|
228
|
+
_ts_decorate([
|
|
229
|
+
(0, _common.Put)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GROUPS}/:id`),
|
|
230
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
231
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
232
|
+
_ts_param(2, (0, _common.Body)()),
|
|
233
|
+
_ts_metadata("design:type", Function),
|
|
234
|
+
_ts_metadata("design:paramtypes", [
|
|
235
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
236
|
+
Number,
|
|
237
|
+
typeof _createorupdategroupdto.UserCreateOrUpdateGroupDto === "undefined" ? Object : _createorupdategroupdto.UserCreateOrUpdateGroupDto
|
|
238
|
+
]),
|
|
239
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
240
|
+
], UsersController.prototype, "updatePersonalGroup", null);
|
|
241
|
+
_ts_decorate([
|
|
242
|
+
(0, _common.Delete)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GROUPS}/:id`),
|
|
243
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
244
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
245
|
+
_ts_metadata("design:type", Function),
|
|
246
|
+
_ts_metadata("design:paramtypes", [
|
|
247
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
248
|
+
Number
|
|
249
|
+
]),
|
|
250
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
251
|
+
], UsersController.prototype, "deletePersonalGroup", null);
|
|
252
|
+
_ts_decorate([
|
|
253
|
+
(0, _common.Delete)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GROUPS}/${_routes.USERS_ROUTE.GROUPS_LEAVE}/:id`),
|
|
254
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
255
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
256
|
+
_ts_metadata("design:type", Function),
|
|
257
|
+
_ts_metadata("design:paramtypes", [
|
|
258
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
259
|
+
Number
|
|
260
|
+
]),
|
|
261
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
262
|
+
], UsersController.prototype, "leavePersonalGroup", null);
|
|
263
|
+
_ts_decorate([
|
|
264
|
+
(0, _common.Patch)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GROUPS}/:groupId/${_routes.USERS_ROUTE.USERS}`),
|
|
265
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
266
|
+
_ts_param(1, (0, _common.Param)('groupId', _common.ParseIntPipe)),
|
|
267
|
+
_ts_param(2, (0, _common.Body)()),
|
|
268
|
+
_ts_metadata("design:type", Function),
|
|
269
|
+
_ts_metadata("design:paramtypes", [
|
|
270
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
271
|
+
Number,
|
|
272
|
+
Array
|
|
273
|
+
]),
|
|
274
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
275
|
+
], UsersController.prototype, "addUsersToGroup", null);
|
|
276
|
+
_ts_decorate([
|
|
277
|
+
(0, _common.Delete)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GROUPS}/:groupId/${_routes.USERS_ROUTE.USERS}/:userId`),
|
|
278
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
279
|
+
_ts_param(1, (0, _common.Param)('groupId', _common.ParseIntPipe)),
|
|
280
|
+
_ts_param(2, (0, _common.Param)('userId', _common.ParseIntPipe)),
|
|
281
|
+
_ts_metadata("design:type", Function),
|
|
282
|
+
_ts_metadata("design:paramtypes", [
|
|
283
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
284
|
+
Number,
|
|
285
|
+
Number
|
|
286
|
+
]),
|
|
287
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
288
|
+
], UsersController.prototype, "removeUserFromGroup", null);
|
|
289
|
+
_ts_decorate([
|
|
290
|
+
(0, _common.Patch)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GROUPS}/:groupId/${_routes.USERS_ROUTE.USERS}/:userId`),
|
|
291
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
292
|
+
_ts_param(1, (0, _common.Param)('groupId', _common.ParseIntPipe)),
|
|
293
|
+
_ts_param(2, (0, _common.Param)('userId', _common.ParseIntPipe)),
|
|
294
|
+
_ts_param(3, (0, _common.Body)()),
|
|
295
|
+
_ts_metadata("design:type", Function),
|
|
296
|
+
_ts_metadata("design:paramtypes", [
|
|
297
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
298
|
+
Number,
|
|
299
|
+
Number,
|
|
300
|
+
typeof _createorupdateuserdto.UpdateUserFromGroupDto === "undefined" ? Object : _createorupdateuserdto.UpdateUserFromGroupDto
|
|
301
|
+
]),
|
|
302
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
303
|
+
], UsersController.prototype, "updateUserFromPersonalGroup", null);
|
|
304
|
+
_ts_decorate([
|
|
305
|
+
(0, _common.Get)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GUESTS}`),
|
|
306
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
307
|
+
_ts_metadata("design:type", Function),
|
|
308
|
+
_ts_metadata("design:paramtypes", [
|
|
309
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel
|
|
310
|
+
]),
|
|
311
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
312
|
+
], UsersController.prototype, "listGuests", null);
|
|
313
|
+
_ts_decorate([
|
|
314
|
+
(0, _common.Get)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GUESTS}/:id`),
|
|
315
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
316
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
317
|
+
_ts_metadata("design:type", Function),
|
|
318
|
+
_ts_metadata("design:paramtypes", [
|
|
319
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
320
|
+
Number
|
|
321
|
+
]),
|
|
322
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
323
|
+
], UsersController.prototype, "getGuest", null);
|
|
324
|
+
_ts_decorate([
|
|
325
|
+
(0, _common.Post)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GUESTS}`),
|
|
326
|
+
(0, _permissionsdecorator.UserHavePermission)(_user.USER_PERMISSION.GUESTS_ADMIN),
|
|
327
|
+
(0, _common.UseGuards)(_permissionsguard.UserPermissionsGuard),
|
|
328
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
329
|
+
_ts_param(1, (0, _common.Body)()),
|
|
330
|
+
_ts_metadata("design:type", Function),
|
|
331
|
+
_ts_metadata("design:paramtypes", [
|
|
332
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
333
|
+
typeof _createorupdateuserdto.CreateUserDto === "undefined" ? Object : _createorupdateuserdto.CreateUserDto
|
|
334
|
+
]),
|
|
335
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
336
|
+
], UsersController.prototype, "createGuest", null);
|
|
337
|
+
_ts_decorate([
|
|
338
|
+
(0, _common.Put)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GUESTS}/:id`),
|
|
339
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
340
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
341
|
+
_ts_param(2, (0, _common.Body)()),
|
|
342
|
+
_ts_metadata("design:type", Function),
|
|
343
|
+
_ts_metadata("design:paramtypes", [
|
|
344
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
345
|
+
Number,
|
|
346
|
+
typeof _createorupdateuserdto.UpdateUserDto === "undefined" ? Object : _createorupdateuserdto.UpdateUserDto
|
|
347
|
+
]),
|
|
348
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
349
|
+
], UsersController.prototype, "updateGuest", null);
|
|
350
|
+
_ts_decorate([
|
|
351
|
+
(0, _common.Delete)(`${_routes.USERS_ROUTE.ME}/${_routes.USERS_ROUTE.GUESTS}/:id`),
|
|
352
|
+
_ts_param(0, (0, _userdecorator.GetUser)()),
|
|
353
|
+
_ts_param(1, (0, _common.Param)('id', _common.ParseIntPipe)),
|
|
354
|
+
_ts_metadata("design:type", Function),
|
|
355
|
+
_ts_metadata("design:paramtypes", [
|
|
356
|
+
typeof _usermodel.UserModel === "undefined" ? Object : _usermodel.UserModel,
|
|
357
|
+
Number
|
|
358
|
+
]),
|
|
359
|
+
_ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
|
|
360
|
+
], UsersController.prototype, "deleteGuest", null);
|
|
361
|
+
UsersController = _ts_decorate([
|
|
362
|
+
(0, _common.Controller)(_routes.USERS_ROUTE.BASE),
|
|
363
|
+
(0, _common.UseGuards)(_rolesguard.UserRolesGuard),
|
|
364
|
+
(0, _rolesdecorator.UserHaveRole)(_user.USER_ROLE.USER),
|
|
365
|
+
_ts_metadata("design:type", Function),
|
|
366
|
+
_ts_metadata("design:paramtypes", [
|
|
367
|
+
typeof _usersmanagerservice.UsersManager === "undefined" ? Object : _usersmanagerservice.UsersManager
|
|
368
|
+
])
|
|
369
|
+
], UsersController);
|
|
370
|
+
|
|
371
|
+
//# sourceMappingURL=users.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../backend/src/applications/users/users.controller.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { Body, Controller, Delete, Get, Header, Param, ParseIntPipe, Patch, Post, Put, Req, Search, StreamableFile, UseGuards } from '@nestjs/common'\nimport { createReadStream } from 'fs'\nimport { FastifyAuthenticatedRequest } from '../../authentication/interfaces/auth-request.interface'\nimport { USERS_ROUTE } from './constants/routes'\nimport { USER_PERMISSION, USER_ROLE } from './constants/user'\nimport { UserHavePermission } from './decorators/permissions.decorator'\nimport { UserHaveRole } from './decorators/roles.decorator'\nimport { GetUser } from './decorators/user.decorator'\nimport { UserCreateOrUpdateGroupDto } from './dto/create-or-update-group.dto'\nimport { CreateUserDto, UpdateUserDto, UpdateUserFromGroupDto } from './dto/create-or-update-user.dto'\nimport { SearchMembersDto } from './dto/search-members.dto'\nimport { UserLanguageDto, UserNotificationDto, UserPasswordDto } from './dto/user-properties.dto'\nimport { UserPermissionsGuard } from './guards/permissions.guard'\nimport { UserRolesGuard } from './guards/roles.guard'\nimport { GroupBrowse } from './interfaces/group-browse.interface'\nimport { GroupMember } from './interfaces/group-member'\nimport { GuestUser } from './interfaces/guest-user.interface'\nimport { Member } from './interfaces/member.interface'\nimport { UserModel } from './models/user.model'\nimport { UsersManager } from './services/users-manager.service'\n\n@Controller(USERS_ROUTE.BASE)\n@UseGuards(UserRolesGuard)\n@UserHaveRole(USER_ROLE.USER)\nexport class UsersController {\n constructor(private readonly usersManager: UsersManager) {}\n\n @Get(USERS_ROUTE.ME)\n @UserHaveRole(USER_ROLE.LINK)\n me(@GetUser() user: UserModel): Promise<{ user: Omit<UserModel, 'password'> }> {\n return this.usersManager.me(user)\n }\n\n @Put(`${USERS_ROUTE.ME}/${USERS_ROUTE.LANGUAGE}`)\n @UserHaveRole(USER_ROLE.GUEST)\n updateLanguage(@GetUser() user: UserModel, @Body() userLanguageDto: UserLanguageDto) {\n return this.usersManager.updateLanguage(user, userLanguageDto)\n }\n\n @Put(`${USERS_ROUTE.ME}/${USERS_ROUTE.PASSWORD}`)\n updatePassword(@GetUser() user: UserModel, @Body() userPasswordDto: UserPasswordDto) {\n return this.usersManager.updatePassword(user, userPasswordDto)\n }\n\n @Put(`${USERS_ROUTE.ME}/${USERS_ROUTE.NOTIFICATION}`)\n @UserHaveRole(USER_ROLE.GUEST)\n updateNotification(@GetUser() user: UserModel, @Body() userNotificationDto: UserNotificationDto) {\n return this.usersManager.updateNotification(user, userNotificationDto)\n }\n\n @Get(`${USERS_ROUTE.AVATAR}/:login`)\n @UserHaveRole(USER_ROLE.LINK)\n @Header('cache-control', 'public,max-age=86400')\n async avatar(@GetUser() user: UserModel, @Param('login') login: 'me' | string): Promise<StreamableFile> {\n const isMe: boolean = login === 'me'\n const [path, mime] = await this.usersManager.getAvatar(isMe ? user.login : login, false, isMe && user.role <= USER_ROLE.USER)\n return new StreamableFile(createReadStream(path), { type: mime })\n }\n\n @Put(`${USERS_ROUTE.ME}/${USERS_ROUTE.AVATAR}`)\n updateAvatar(@Req() req: FastifyAuthenticatedRequest) {\n return this.usersManager.updateAvatar(req)\n }\n\n @Patch(`${USERS_ROUTE.ME}/${USERS_ROUTE.AVATAR}`)\n genAvatar(@GetUser() user: UserModel) {\n return this.usersManager.getAvatar(user.login, true)\n }\n\n @Search()\n searchMembers(@GetUser() user: UserModel, @Body() searchMembersDto: SearchMembersDto): Promise<Member[]> {\n return this.usersManager.searchMembers(user, searchMembersDto)\n }\n\n @Get(`${USERS_ROUTE.ME}/${USERS_ROUTE.GROUPS}/${USERS_ROUTE.BROWSE}/:name?`)\n browseGroups(@GetUser() user: UserModel, @Param('name') name?: string): Promise<GroupBrowse> {\n return this.usersManager.browseGroups(user, name)\n }\n\n @Post(`${USERS_ROUTE.ME}/${USERS_ROUTE.GROUPS}`)\n @UserHavePermission(USER_PERMISSION.PERSONAL_GROUPS_ADMIN)\n @UseGuards(UserPermissionsGuard)\n createPersonalGroup(@GetUser() user: UserModel, @Body() userCreateOrUpdateGroupDto: UserCreateOrUpdateGroupDto): Promise<GroupMember> {\n return this.usersManager.createPersonalGroup(user, userCreateOrUpdateGroupDto)\n }\n\n @Put(`${USERS_ROUTE.ME}/${USERS_ROUTE.GROUPS}/:id`)\n updatePersonalGroup(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) groupId: number,\n @Body() userCreateOrUpdateGroupDto: UserCreateOrUpdateGroupDto\n ): Promise<GroupMember> {\n return this.usersManager.updatePersonalGroup(user, groupId, userCreateOrUpdateGroupDto)\n }\n\n @Delete(`${USERS_ROUTE.ME}/${USERS_ROUTE.GROUPS}/:id`)\n deletePersonalGroup(@GetUser() user: UserModel, @Param('id', ParseIntPipe) groupId: number): Promise<void> {\n return this.usersManager.deletePersonalGroup(user, groupId)\n }\n\n @Delete(`${USERS_ROUTE.ME}/${USERS_ROUTE.GROUPS}/${USERS_ROUTE.GROUPS_LEAVE}/:id`)\n leavePersonalGroup(@GetUser() user: UserModel, @Param('id', ParseIntPipe) groupId: number): Promise<void> {\n return this.usersManager.leavePersonalGroup(user, groupId)\n }\n\n @Patch(`${USERS_ROUTE.ME}/${USERS_ROUTE.GROUPS}/:groupId/${USERS_ROUTE.USERS}`)\n addUsersToGroup(@GetUser() user: UserModel, @Param('groupId', ParseIntPipe) groupId: number, @Body() userIds: number[]): Promise<void> {\n return this.usersManager.addUsersToGroup(user, groupId, userIds)\n }\n\n @Delete(`${USERS_ROUTE.ME}/${USERS_ROUTE.GROUPS}/:groupId/${USERS_ROUTE.USERS}/:userId`)\n removeUserFromGroup(\n @GetUser() user: UserModel,\n @Param('groupId', ParseIntPipe) groupId: number,\n @Param('userId', ParseIntPipe) userId: number\n ): Promise<void> {\n return this.usersManager.removeUserFromGroup(user, groupId, userId)\n }\n\n @Patch(`${USERS_ROUTE.ME}/${USERS_ROUTE.GROUPS}/:groupId/${USERS_ROUTE.USERS}/:userId`)\n updateUserFromPersonalGroup(\n @GetUser() user: UserModel,\n @Param('groupId', ParseIntPipe) groupId: number,\n @Param('userId', ParseIntPipe) userId: number,\n @Body() updateUserFromGroupDto: UpdateUserFromGroupDto\n ): Promise<void> {\n return this.usersManager.updateUserFromPersonalGroup(user, groupId, userId, updateUserFromGroupDto)\n }\n\n @Get(`${USERS_ROUTE.ME}/${USERS_ROUTE.GUESTS}`)\n listGuests(@GetUser() user: UserModel): Promise<GuestUser[]> {\n return this.usersManager.listGuests(user)\n }\n\n @Get(`${USERS_ROUTE.ME}/${USERS_ROUTE.GUESTS}/:id`)\n getGuest(@GetUser() user: UserModel, @Param('id', ParseIntPipe) guestId: number): Promise<GuestUser> {\n return this.usersManager.getGuest(user, guestId)\n }\n\n @Post(`${USERS_ROUTE.ME}/${USERS_ROUTE.GUESTS}`)\n @UserHavePermission(USER_PERMISSION.GUESTS_ADMIN)\n @UseGuards(UserPermissionsGuard)\n createGuest(@GetUser() user: UserModel, @Body() createGuestDto: CreateUserDto): Promise<GuestUser> {\n return this.usersManager.createGuest(user, createGuestDto)\n }\n\n @Put(`${USERS_ROUTE.ME}/${USERS_ROUTE.GUESTS}/:id`)\n updateGuest(@GetUser() user: UserModel, @Param('id', ParseIntPipe) guestId: number, @Body() updateGuestDto: UpdateUserDto): Promise<GuestUser> {\n return this.usersManager.updateGuest(user, guestId, updateGuestDto)\n }\n\n @Delete(`${USERS_ROUTE.ME}/${USERS_ROUTE.GUESTS}/:id`)\n deleteGuest(@GetUser() user: UserModel, @Param('id', ParseIntPipe) guestId: number): Promise<void> {\n return this.usersManager.deleteGuest(user, guestId)\n }\n}\n"],"names":["UsersController","me","user","usersManager","updateLanguage","userLanguageDto","updatePassword","userPasswordDto","updateNotification","userNotificationDto","avatar","login","isMe","path","mime","getAvatar","role","USER_ROLE","USER","StreamableFile","createReadStream","type","updateAvatar","req","genAvatar","searchMembers","searchMembersDto","browseGroups","name","createPersonalGroup","userCreateOrUpdateGroupDto","updatePersonalGroup","groupId","deletePersonalGroup","leavePersonalGroup","addUsersToGroup","userIds","removeUserFromGroup","userId","updateUserFromPersonalGroup","updateUserFromGroupDto","listGuests","getGuest","guestId","createGuest","createGuestDto","updateGuest","updateGuestDto","deleteGuest","ME","LINK","USERS_ROUTE","LANGUAGE","GUEST","PASSWORD","NOTIFICATION","AVATAR","GROUPS","BROWSE","PERSONAL_GROUPS_ADMIN","GROUPS_LEAVE","USERS","GUESTS","GUESTS_ADMIN","BASE"],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
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 _config = require("@nestjs/config");
|
|
10
|
+
const _jwt = require("@nestjs/jwt");
|
|
11
|
+
const _testing = require("@nestjs/testing");
|
|
12
|
+
const _authmanagerservice = require("../../authentication/services/auth-manager.service");
|
|
13
|
+
const _configenvironment = require("../../configuration/config.environment");
|
|
14
|
+
const _cacheservice = require("../../infrastructure/cache/services/cache.service");
|
|
15
|
+
const _constants = require("../../infrastructure/database/constants");
|
|
16
|
+
const _usermodel = require("./models/user.model");
|
|
17
|
+
const _adminusersmanagerservice = require("./services/admin-users-manager.service");
|
|
18
|
+
const _adminusersqueriesservice = require("./services/admin-users-queries.service");
|
|
19
|
+
const _usersmanagerservice = require("./services/users-manager.service");
|
|
20
|
+
const _usersqueriesservice = require("./services/users-queries.service");
|
|
21
|
+
const _userscontroller = require("./users.controller");
|
|
22
|
+
const _test = require("./utils/test");
|
|
23
|
+
describe(_userscontroller.UsersController.name, ()=>{
|
|
24
|
+
let module;
|
|
25
|
+
let userController;
|
|
26
|
+
let usersQueries;
|
|
27
|
+
let adminUsersManager;
|
|
28
|
+
let userTest;
|
|
29
|
+
beforeAll(async ()=>{
|
|
30
|
+
module = await _testing.Test.createTestingModule({
|
|
31
|
+
imports: [
|
|
32
|
+
await _config.ConfigModule.forRoot({
|
|
33
|
+
load: [
|
|
34
|
+
_configenvironment.exportConfiguration
|
|
35
|
+
],
|
|
36
|
+
isGlobal: true
|
|
37
|
+
})
|
|
38
|
+
],
|
|
39
|
+
controllers: [
|
|
40
|
+
_userscontroller.UsersController
|
|
41
|
+
],
|
|
42
|
+
providers: [
|
|
43
|
+
{
|
|
44
|
+
provide: _constants.DB_TOKEN_PROVIDER,
|
|
45
|
+
useValue: {}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
provide: _cacheservice.Cache,
|
|
49
|
+
useValue: {}
|
|
50
|
+
},
|
|
51
|
+
_usersmanagerservice.UsersManager,
|
|
52
|
+
_usersqueriesservice.UsersQueries,
|
|
53
|
+
_adminusersmanagerservice.AdminUsersManager,
|
|
54
|
+
_adminusersqueriesservice.AdminUsersQueries,
|
|
55
|
+
_authmanagerservice.AuthManager,
|
|
56
|
+
_jwt.JwtService
|
|
57
|
+
]
|
|
58
|
+
}).compile();
|
|
59
|
+
userController = module.get(_userscontroller.UsersController);
|
|
60
|
+
usersQueries = module.get(_usersqueriesservice.UsersQueries);
|
|
61
|
+
adminUsersManager = module.get(_adminusersmanagerservice.AdminUsersManager);
|
|
62
|
+
userTest = new _usermodel.UserModel((0, _test.generateUserTest)());
|
|
63
|
+
});
|
|
64
|
+
afterAll(async ()=>{
|
|
65
|
+
await expect(adminUsersManager.deleteUserSpace(userTest.login)).resolves.not.toThrow();
|
|
66
|
+
await module.close();
|
|
67
|
+
});
|
|
68
|
+
it('should be defined', ()=>{
|
|
69
|
+
expect(userController).toBeDefined();
|
|
70
|
+
expect(usersQueries).toBeDefined();
|
|
71
|
+
expect(userTest).toBeDefined();
|
|
72
|
+
});
|
|
73
|
+
it('should get the user profile', async ()=>{
|
|
74
|
+
usersQueries.from = jest.fn().mockReturnValue(userTest);
|
|
75
|
+
const profile = await userController.me(userTest);
|
|
76
|
+
expect(usersQueries.from).toHaveBeenCalled();
|
|
77
|
+
expect(profile.user).toBeInstanceOf(_usermodel.UserModel);
|
|
78
|
+
expect(profile.user.login).toBe(userTest.login);
|
|
79
|
+
});
|
|
80
|
+
it('should not generate the user avatar stream', async ()=>{
|
|
81
|
+
usersQueries.from = jest.fn().mockReturnValueOnce(null);
|
|
82
|
+
await expect(userController.genAvatar(userTest)).rejects.toThrow('does not exist');
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=users.controller.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../backend/src/applications/users/users.controller.spec.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { ConfigModule } from '@nestjs/config'\nimport { JwtService } from '@nestjs/jwt'\nimport { Test, TestingModule } from '@nestjs/testing'\nimport { AuthManager } from '../../authentication/services/auth-manager.service'\nimport { exportConfiguration } from '../../configuration/config.environment'\nimport { Cache } from '../../infrastructure/cache/services/cache.service'\nimport { DB_TOKEN_PROVIDER } from '../../infrastructure/database/constants'\nimport { UserModel } from './models/user.model'\nimport { AdminUsersManager } from './services/admin-users-manager.service'\nimport { AdminUsersQueries } from './services/admin-users-queries.service'\nimport { UsersManager } from './services/users-manager.service'\nimport { UsersQueries } from './services/users-queries.service'\nimport { UsersController } from './users.controller'\nimport { generateUserTest } from './utils/test'\n\ndescribe(UsersController.name, () => {\n let module: TestingModule\n let userController: UsersController\n let usersQueries: UsersQueries\n let adminUsersManager: AdminUsersManager\n let userTest: UserModel\n\n beforeAll(async () => {\n module = await Test.createTestingModule({\n imports: [await ConfigModule.forRoot({ load: [exportConfiguration], isGlobal: true })],\n controllers: [UsersController],\n providers: [\n { provide: DB_TOKEN_PROVIDER, useValue: {} },\n {\n provide: Cache,\n useValue: {}\n },\n UsersManager,\n UsersQueries,\n AdminUsersManager,\n AdminUsersQueries,\n AuthManager,\n JwtService\n ]\n }).compile()\n userController = module.get<UsersController>(UsersController)\n usersQueries = module.get<UsersQueries>(UsersQueries)\n adminUsersManager = module.get<AdminUsersManager>(AdminUsersManager)\n userTest = new UserModel(generateUserTest())\n })\n\n afterAll(async () => {\n await expect(adminUsersManager.deleteUserSpace(userTest.login)).resolves.not.toThrow()\n await module.close()\n })\n\n it('should be defined', () => {\n expect(userController).toBeDefined()\n expect(usersQueries).toBeDefined()\n expect(userTest).toBeDefined()\n })\n\n it('should get the user profile', async () => {\n usersQueries.from = jest.fn().mockReturnValue(userTest)\n const profile = await userController.me(userTest)\n expect(usersQueries.from).toHaveBeenCalled()\n expect(profile.user).toBeInstanceOf(UserModel)\n expect(profile.user.login).toBe(userTest.login)\n })\n\n it('should not generate the user avatar stream', async () => {\n usersQueries.from = jest.fn().mockReturnValueOnce(null)\n await expect(userController.genAvatar(userTest)).rejects.toThrow('does not exist')\n })\n})\n"],"names":["describe","UsersController","name","module","userController","usersQueries","adminUsersManager","userTest","beforeAll","Test","createTestingModule","imports","ConfigModule","forRoot","load","exportConfiguration","isGlobal","controllers","providers","provide","DB_TOKEN_PROVIDER","useValue","Cache","UsersManager","UsersQueries","AdminUsersManager","AdminUsersQueries","AuthManager","JwtService","compile","get","UserModel","generateUserTest","afterAll","expect","deleteUserSpace","login","resolves","not","toThrow","close","it","toBeDefined","from","jest","fn","mockReturnValue","profile","me","toHaveBeenCalled","user","toBeInstanceOf","toBe","mockReturnValueOnce","genAvatar","rejects"],"mappings":"AAAA;;;;CAIC;;;;wBAE4B;qBACF;yBACS;oCACR;mCACQ;8BACd;2BACY;2BACR;0CACQ;0CACA;qCACL;qCACA;iCACG;sBACC;AAEjCA,SAASC,gCAAe,CAACC,IAAI,EAAE;IAC7B,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IAEJC,UAAU;QACRL,SAAS,MAAMM,aAAI,CAACC,mBAAmB,CAAC;YACtCC,SAAS;gBAAC,MAAMC,oBAAY,CAACC,OAAO,CAAC;oBAAEC,MAAM;wBAACC,sCAAmB;qBAAC;oBAAEC,UAAU;gBAAK;aAAG;YACtFC,aAAa;gBAAChB,gCAAe;aAAC;YAC9BiB,WAAW;gBACT;oBAAEC,SAASC,4BAAiB;oBAAEC,UAAU,CAAC;gBAAE;gBAC3C;oBACEF,SAASG,mBAAK;oBACdD,UAAU,CAAC;gBACb;gBACAE,iCAAY;gBACZC,iCAAY;gBACZC,2CAAiB;gBACjBC,2CAAiB;gBACjBC,+BAAW;gBACXC,eAAU;aACX;QACH,GAAGC,OAAO;QACVzB,iBAAiBD,OAAO2B,GAAG,CAAkB7B,gCAAe;QAC5DI,eAAeF,OAAO2B,GAAG,CAAeN,iCAAY;QACpDlB,oBAAoBH,OAAO2B,GAAG,CAAoBL,2CAAiB;QACnElB,WAAW,IAAIwB,oBAAS,CAACC,IAAAA,sBAAgB;IAC3C;IAEAC,SAAS;QACP,MAAMC,OAAO5B,kBAAkB6B,eAAe,CAAC5B,SAAS6B,KAAK,GAAGC,QAAQ,CAACC,GAAG,CAACC,OAAO;QACpF,MAAMpC,OAAOqC,KAAK;IACpB;IAEAC,GAAG,qBAAqB;QACtBP,OAAO9B,gBAAgBsC,WAAW;QAClCR,OAAO7B,cAAcqC,WAAW;QAChCR,OAAO3B,UAAUmC,WAAW;IAC9B;IAEAD,GAAG,+BAA+B;QAChCpC,aAAasC,IAAI,GAAGC,KAAKC,EAAE,GAAGC,eAAe,CAACvC;QAC9C,MAAMwC,UAAU,MAAM3C,eAAe4C,EAAE,CAACzC;QACxC2B,OAAO7B,aAAasC,IAAI,EAAEM,gBAAgB;QAC1Cf,OAAOa,QAAQG,IAAI,EAAEC,cAAc,CAACpB,oBAAS;QAC7CG,OAAOa,QAAQG,IAAI,CAACd,KAAK,EAAEgB,IAAI,CAAC7C,SAAS6B,KAAK;IAChD;IAEAK,GAAG,8CAA8C;QAC/CpC,aAAasC,IAAI,GAAGC,KAAKC,EAAE,GAAGQ,mBAAmB,CAAC;QAClD,MAAMnB,OAAO9B,eAAekD,SAAS,CAAC/C,WAAWgD,OAAO,CAAChB,OAAO,CAAC;IACnE;AACF"}
|