@sync-in/server 1.10.1 → 2.0.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 +47 -0
- package/LICENSE +1 -1
- package/README.md +3 -11
- package/environment/environment.dist.min.yaml +1 -1
- package/environment/environment.dist.yaml +173 -28
- package/package.json +18 -17
- package/server/app.bootstrap.js +1 -5
- package/server/app.bootstrap.js.map +1 -1
- package/server/app.constants.js +1 -5
- package/server/app.constants.js.map +1 -1
- package/server/app.e2e-spec.js +1 -5
- package/server/app.e2e-spec.js.map +1 -1
- package/server/app.functions.js +1 -5
- package/server/app.functions.js.map +1 -1
- package/server/app.module.js +1 -5
- package/server/app.module.js.map +1 -1
- package/server/app.service.js +1 -5
- package/server/app.service.js.map +1 -1
- package/server/app.service.spec.js +2 -6
- package/server/app.service.spec.js.map +1 -1
- package/server/applications/admin/admin.module.js +1 -5
- package/server/applications/admin/admin.module.js.map +1 -1
- package/server/applications/admin/constants/routes.js +1 -5
- package/server/applications/admin/constants/routes.js.map +1 -1
- package/server/applications/admin/interfaces/check-update.interfaces.js +1 -5
- package/server/applications/admin/interfaces/check-update.interfaces.js.map +1 -1
- package/server/applications/admin/services/admin-scheduler.service.js +1 -5
- package/server/applications/admin/services/admin-scheduler.service.js.map +1 -1
- package/server/applications/admin/services/admin.service.js +13 -8
- package/server/applications/admin/services/admin.service.js.map +1 -1
- package/server/applications/admin/services/admin.service.spec.js +1 -5
- package/server/applications/admin/services/admin.service.spec.js.map +1 -1
- package/server/applications/admin/utils/check-update.js +1 -5
- package/server/applications/admin/utils/check-update.js.map +1 -1
- package/server/applications/applications.config.js +1 -5
- package/server/applications/applications.config.js.map +1 -1
- package/server/applications/applications.constants.js +5 -5
- package/server/applications/applications.constants.js.map +1 -1
- package/server/applications/applications.module.js +1 -5
- package/server/applications/applications.module.js.map +1 -1
- package/server/applications/comments/comments.controller.js +1 -5
- package/server/applications/comments/comments.controller.js.map +1 -1
- package/server/applications/comments/comments.controller.spec.js +1 -5
- package/server/applications/comments/comments.controller.spec.js.map +1 -1
- package/server/applications/comments/comments.module.js +1 -5
- package/server/applications/comments/comments.module.js.map +1 -1
- package/server/applications/comments/constants/routes.js +1 -5
- package/server/applications/comments/constants/routes.js.map +1 -1
- package/server/applications/comments/dto/comment.dto.js +1 -5
- package/server/applications/comments/dto/comment.dto.js.map +1 -1
- package/server/applications/comments/interfaces/comment-recent.interface.js +1 -5
- package/server/applications/comments/interfaces/comment-recent.interface.js.map +1 -1
- package/server/applications/comments/schemas/comment.interface.js +1 -5
- package/server/applications/comments/schemas/comment.interface.js.map +1 -1
- package/server/applications/comments/schemas/comments.schema.js +1 -5
- package/server/applications/comments/schemas/comments.schema.js.map +1 -1
- package/server/applications/comments/services/comments-manager.service.js +9 -7
- package/server/applications/comments/services/comments-manager.service.js.map +1 -1
- package/server/applications/comments/services/comments-manager.service.spec.js +10 -8
- package/server/applications/comments/services/comments-manager.service.spec.js.map +1 -1
- package/server/applications/comments/services/comments-queries.service.js +1 -5
- package/server/applications/comments/services/comments-queries.service.js.map +1 -1
- package/server/applications/files/adapters/files-indexer-mysql.service.js +29 -12
- package/server/applications/files/adapters/files-indexer-mysql.service.js.map +1 -1
- package/server/applications/files/adapters/files-indexer-mysql.service.spec.js +1 -5
- package/server/applications/files/adapters/files-indexer-mysql.service.spec.js.map +1 -1
- package/server/applications/files/constants/cache.js +1 -5
- package/server/applications/files/constants/cache.js.map +1 -1
- package/server/applications/files/constants/compress.js +1 -5
- package/server/applications/files/constants/compress.js.map +1 -1
- package/server/applications/files/constants/files.js +1 -5
- package/server/applications/files/constants/files.js.map +1 -1
- package/server/applications/files/constants/indexing.js +1 -5
- package/server/applications/files/constants/indexing.js.map +1 -1
- package/server/applications/files/constants/operations.js +1 -5
- package/server/applications/files/constants/operations.js.map +1 -1
- package/server/applications/files/constants/routes.js +1 -5
- package/server/applications/files/constants/routes.js.map +1 -1
- package/server/applications/files/constants/samples.js +1 -5
- package/server/applications/files/constants/samples.js.map +1 -1
- package/server/applications/files/dto/file-operations.dto.js +1 -5
- package/server/applications/files/dto/file-operations.dto.js.map +1 -1
- package/server/applications/files/events/file-task-event.js +1 -5
- package/server/applications/files/events/file-task-event.js.map +1 -1
- package/server/applications/files/files-tasks.controller.js +1 -5
- package/server/applications/files/files-tasks.controller.js.map +1 -1
- package/server/applications/files/files-tasks.controller.spec.js +1 -5
- package/server/applications/files/files-tasks.controller.spec.js.map +1 -1
- package/server/applications/files/files.config.js +1 -5
- package/server/applications/files/files.config.js.map +1 -1
- package/server/applications/files/files.controller.js +1 -5
- package/server/applications/files/files.controller.js.map +1 -1
- package/server/applications/files/files.controller.spec.js +1 -5
- package/server/applications/files/files.controller.spec.js.map +1 -1
- package/server/applications/files/files.module.js +1 -5
- package/server/applications/files/files.module.js.map +1 -1
- package/server/applications/files/interfaces/file-db-props.interface.js +1 -5
- package/server/applications/files/interfaces/file-db-props.interface.js.map +1 -1
- package/server/applications/files/interfaces/file-lock.interface.js +1 -5
- package/server/applications/files/interfaces/file-lock.interface.js.map +1 -1
- package/server/applications/files/interfaces/file-parse-index.js +1 -5
- package/server/applications/files/interfaces/file-parse-index.js.map +1 -1
- package/server/applications/files/interfaces/file-props.interface.js +1 -5
- package/server/applications/files/interfaces/file-props.interface.js.map +1 -1
- package/server/applications/files/interfaces/file-recent-location.interface.js +1 -5
- package/server/applications/files/interfaces/file-recent-location.interface.js.map +1 -1
- package/server/applications/files/interfaces/file-space.interface.js +1 -5
- package/server/applications/files/interfaces/file-space.interface.js.map +1 -1
- package/server/applications/files/interfaces/file-tree.interface.js +1 -5
- package/server/applications/files/interfaces/file-tree.interface.js.map +1 -1
- package/server/applications/files/models/file-error.js +1 -5
- package/server/applications/files/models/file-error.js.map +1 -1
- package/server/applications/files/models/file-lock-error.js +1 -5
- package/server/applications/files/models/file-lock-error.js.map +1 -1
- package/server/applications/files/models/file-task.js +1 -5
- package/server/applications/files/models/file-task.js.map +1 -1
- package/server/applications/files/models/files-indexer.js +1 -5
- package/server/applications/files/models/files-indexer.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online-environment.decorator.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online-environment.decorator.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online-manager.service.js +21 -10
- package/server/applications/files/modules/collabora-online/collabora-online-manager.service.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online-manager.service.spec.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online-manager.service.spec.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online.config.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online.config.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online.constants.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online.constants.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online.controller.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online.controller.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online.controller.spec.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online.controller.spec.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online.dtos.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online.dtos.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online.guard.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online.guard.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online.guard.spec.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online.guard.spec.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online.interface.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online.interface.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online.module.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online.module.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online.routes.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online.routes.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online.strategy.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online.strategy.js.map +1 -1
- package/server/applications/files/modules/collabora-online/collabora-online.utils.js +1 -5
- package/server/applications/files/modules/collabora-online/collabora-online.utils.js.map +1 -1
- package/server/applications/files/modules/file-editor-providers.interface.js +6 -0
- package/server/applications/files/modules/file-editor-providers.interface.js.map +1 -0
- package/server/applications/files/modules/only-office/only-office-environment.decorator.js +1 -5
- package/server/applications/files/modules/only-office/only-office-environment.decorator.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office-manager.service.js +57 -19
- package/server/applications/files/modules/only-office/only-office-manager.service.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office-manager.service.spec.js +1 -5
- package/server/applications/files/modules/only-office/only-office-manager.service.spec.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office.config.js +1 -5
- package/server/applications/files/modules/only-office/only-office.config.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office.constants.js +1 -5
- package/server/applications/files/modules/only-office/only-office.constants.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office.controller.js +1 -5
- package/server/applications/files/modules/only-office/only-office.controller.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office.controller.spec.js +1 -5
- package/server/applications/files/modules/only-office/only-office.controller.spec.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office.dtos.js +1 -5
- package/server/applications/files/modules/only-office/only-office.dtos.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office.guard.js +1 -5
- package/server/applications/files/modules/only-office/only-office.guard.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office.guard.spec.js +1 -5
- package/server/applications/files/modules/only-office/only-office.guard.spec.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office.interface.js +1 -5
- package/server/applications/files/modules/only-office/only-office.interface.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office.module.js +1 -5
- package/server/applications/files/modules/only-office/only-office.module.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office.routes.js +1 -5
- package/server/applications/files/modules/only-office/only-office.routes.js.map +1 -1
- package/server/applications/files/modules/only-office/only-office.strategy.js +1 -5
- package/server/applications/files/modules/only-office/only-office.strategy.js.map +1 -1
- package/server/applications/files/schemas/file-content.interface.js +1 -5
- package/server/applications/files/schemas/file-content.interface.js.map +1 -1
- package/server/applications/files/schemas/file-recent.interface.js +1 -5
- package/server/applications/files/schemas/file-recent.interface.js.map +1 -1
- package/server/applications/files/schemas/file.interface.js +1 -5
- package/server/applications/files/schemas/file.interface.js.map +1 -1
- package/server/applications/files/schemas/files-content.schema.js +1 -5
- package/server/applications/files/schemas/files-content.schema.js.map +1 -1
- package/server/applications/files/schemas/files-recents.schema.js +1 -5
- package/server/applications/files/schemas/files-recents.schema.js.map +1 -1
- package/server/applications/files/schemas/files.schema.js +1 -5
- package/server/applications/files/schemas/files.schema.js.map +1 -1
- package/server/applications/files/services/files-content-manager.service.js +45 -16
- package/server/applications/files/services/files-content-manager.service.js.map +1 -1
- package/server/applications/files/services/files-lock-manager.service.js +53 -18
- package/server/applications/files/services/files-lock-manager.service.js.map +1 -1
- package/server/applications/files/services/files-lock-manager.service.spec.js +1 -5
- package/server/applications/files/services/files-lock-manager.service.spec.js.map +1 -1
- package/server/applications/files/services/files-manager.service.js +77 -24
- package/server/applications/files/services/files-manager.service.js.map +1 -1
- package/server/applications/files/services/files-manager.service.spec.js +1 -5
- package/server/applications/files/services/files-manager.service.spec.js.map +1 -1
- package/server/applications/files/services/files-methods.service.js +5 -6
- package/server/applications/files/services/files-methods.service.js.map +1 -1
- package/server/applications/files/services/files-methods.service.spec.js +1 -5
- package/server/applications/files/services/files-methods.service.spec.js.map +1 -1
- package/server/applications/files/services/files-parser.service.js +13 -8
- package/server/applications/files/services/files-parser.service.js.map +1 -1
- package/server/applications/files/services/files-parser.service.spec.js +1 -5
- package/server/applications/files/services/files-parser.service.spec.js.map +1 -1
- package/server/applications/files/services/files-queries.service.js +29 -12
- package/server/applications/files/services/files-queries.service.js.map +1 -1
- package/server/applications/files/services/files-recents.service.js +1 -5
- package/server/applications/files/services/files-recents.service.js.map +1 -1
- package/server/applications/files/services/files-recents.service.spec.js +1 -5
- package/server/applications/files/services/files-recents.service.spec.js.map +1 -1
- package/server/applications/files/services/files-scheduler.service.js +77 -24
- package/server/applications/files/services/files-scheduler.service.js.map +1 -1
- package/server/applications/files/services/files-search-manager.service.js +9 -7
- package/server/applications/files/services/files-search-manager.service.js.map +1 -1
- package/server/applications/files/services/files-search-manager.service.spec.js +1 -5
- package/server/applications/files/services/files-search-manager.service.spec.js.map +1 -1
- package/server/applications/files/services/files-tasks-manager.service.js +77 -24
- package/server/applications/files/services/files-tasks-manager.service.js.map +1 -1
- package/server/applications/files/services/files-tasks-manager.service.spec.js +1 -5
- package/server/applications/files/services/files-tasks-manager.service.spec.js.map +1 -1
- package/server/applications/files/utils/doc-textify/adapters/excel.js +1 -5
- package/server/applications/files/utils/doc-textify/adapters/excel.js.map +1 -1
- package/server/applications/files/utils/doc-textify/adapters/html.js +1 -5
- package/server/applications/files/utils/doc-textify/adapters/html.js.map +1 -1
- package/server/applications/files/utils/doc-textify/adapters/open-office.js +1 -5
- package/server/applications/files/utils/doc-textify/adapters/open-office.js.map +1 -1
- package/server/applications/files/utils/doc-textify/adapters/pdf.js +1 -5
- package/server/applications/files/utils/doc-textify/adapters/pdf.js.map +1 -1
- package/server/applications/files/utils/doc-textify/adapters/power-point.js +1 -5
- package/server/applications/files/utils/doc-textify/adapters/power-point.js.map +1 -1
- package/server/applications/files/utils/doc-textify/adapters/text.js +1 -5
- package/server/applications/files/utils/doc-textify/adapters/text.js.map +1 -1
- package/server/applications/files/utils/doc-textify/adapters/word.js +1 -5
- package/server/applications/files/utils/doc-textify/adapters/word.js.map +1 -1
- package/server/applications/files/utils/doc-textify/doc-textify.js +1 -5
- package/server/applications/files/utils/doc-textify/doc-textify.js.map +1 -1
- package/server/applications/files/utils/doc-textify/interfaces/doc-textify.interfaces.js +1 -5
- package/server/applications/files/utils/doc-textify/interfaces/doc-textify.interfaces.js.map +1 -1
- package/server/applications/files/utils/doc-textify/utils/clean.js +1 -5
- package/server/applications/files/utils/doc-textify/utils/clean.js.map +1 -1
- package/server/applications/files/utils/files-search.js +1 -5
- package/server/applications/files/utils/files-search.js.map +1 -1
- package/server/applications/files/utils/files-tree.js +1 -5
- package/server/applications/files/utils/files-tree.js.map +1 -1
- package/server/applications/files/utils/files.js +1 -5
- package/server/applications/files/utils/files.js.map +1 -1
- package/server/applications/files/utils/send-file.js +1 -5
- package/server/applications/files/utils/send-file.js.map +1 -1
- package/server/applications/files/utils/unzip-file.js +1 -5
- package/server/applications/files/utils/unzip-file.js.map +1 -1
- package/server/applications/files/utils/url-file.js +1 -5
- package/server/applications/files/utils/url-file.js.map +1 -1
- package/server/applications/links/constants/cache.js +1 -5
- package/server/applications/links/constants/cache.js.map +1 -1
- package/server/applications/links/constants/links.js +1 -5
- package/server/applications/links/constants/links.js.map +1 -1
- package/server/applications/links/constants/routes.js +1 -5
- package/server/applications/links/constants/routes.js.map +1 -1
- package/server/applications/links/dto/create-or-update-link.dto.js +1 -5
- package/server/applications/links/dto/create-or-update-link.dto.js.map +1 -1
- package/server/applications/links/interfaces/link-guest.interface.js +1 -5
- package/server/applications/links/interfaces/link-guest.interface.js.map +1 -1
- package/server/applications/links/interfaces/link-space.interface.js +1 -5
- package/server/applications/links/interfaces/link-space.interface.js.map +1 -1
- package/server/applications/links/links.controller.js +1 -5
- package/server/applications/links/links.controller.js.map +1 -1
- package/server/applications/links/links.controller.spec.js +1 -5
- package/server/applications/links/links.controller.spec.js.map +1 -1
- package/server/applications/links/schemas/link.interface.js +1 -5
- package/server/applications/links/schemas/link.interface.js.map +1 -1
- package/server/applications/links/schemas/links.schema.js +1 -5
- package/server/applications/links/schemas/links.schema.js.map +1 -1
- package/server/applications/links/services/links-manager.service.js +55 -20
- package/server/applications/links/services/links-manager.service.js.map +1 -1
- package/server/applications/links/services/links-manager.service.spec.js +3 -7
- package/server/applications/links/services/links-manager.service.spec.js.map +1 -1
- package/server/applications/links/services/links-queries.service.js +1 -5
- package/server/applications/links/services/links-queries.service.js.map +1 -1
- package/server/applications/notifications/constants/notifications.js +1 -5
- package/server/applications/notifications/constants/notifications.js.map +1 -1
- package/server/applications/notifications/constants/routes.js +1 -5
- package/server/applications/notifications/constants/routes.js.map +1 -1
- package/server/applications/notifications/constants/websocket.js +1 -5
- package/server/applications/notifications/constants/websocket.js.map +1 -1
- package/server/applications/notifications/i18n/de.js +1 -9
- package/server/applications/notifications/i18n/de.js.map +1 -1
- package/server/applications/notifications/i18n/es.js +1 -5
- package/server/applications/notifications/i18n/es.js.map +1 -1
- package/server/applications/notifications/i18n/fr.js +1 -5
- package/server/applications/notifications/i18n/fr.js.map +1 -1
- package/server/applications/notifications/i18n/hi.js +1 -5
- package/server/applications/notifications/i18n/hi.js.map +1 -1
- package/server/applications/notifications/i18n/index.js +1 -5
- package/server/applications/notifications/i18n/index.js.map +1 -1
- package/server/applications/notifications/i18n/it.js +1 -5
- package/server/applications/notifications/i18n/it.js.map +1 -1
- package/server/applications/notifications/i18n/ja.js +1 -5
- package/server/applications/notifications/i18n/ja.js.map +1 -1
- package/server/applications/notifications/i18n/ko.js +1 -5
- package/server/applications/notifications/i18n/ko.js.map +1 -1
- package/server/applications/notifications/i18n/pl.js +1 -5
- package/server/applications/notifications/i18n/pl.js.map +1 -1
- package/server/applications/notifications/i18n/pt.js +1 -5
- package/server/applications/notifications/i18n/pt.js.map +1 -1
- package/server/applications/notifications/i18n/pt_br.js +1 -5
- package/server/applications/notifications/i18n/pt_br.js.map +1 -1
- package/server/applications/notifications/i18n/ru.js +1 -5
- package/server/applications/notifications/i18n/ru.js.map +1 -1
- package/server/applications/notifications/i18n/tr.js +1 -5
- package/server/applications/notifications/i18n/tr.js.map +1 -1
- package/server/applications/notifications/i18n/zh.js +1 -5
- package/server/applications/notifications/i18n/zh.js.map +1 -1
- package/server/applications/notifications/interfaces/notification-properties.interface.js +1 -5
- package/server/applications/notifications/interfaces/notification-properties.interface.js.map +1 -1
- package/server/applications/notifications/interfaces/user-mail-notification.interface.js +1 -5
- package/server/applications/notifications/interfaces/user-mail-notification.interface.js.map +1 -1
- package/server/applications/notifications/mails/models.js +1 -5
- package/server/applications/notifications/mails/models.js.map +1 -1
- package/server/applications/notifications/mails/templates.js +1 -5
- package/server/applications/notifications/mails/templates.js.map +1 -1
- package/server/applications/notifications/mails/urls.js +1 -5
- package/server/applications/notifications/mails/urls.js.map +1 -1
- package/server/applications/notifications/notifications.controller.js +1 -5
- package/server/applications/notifications/notifications.controller.js.map +1 -1
- package/server/applications/notifications/notifications.controller.spec.js +1 -5
- package/server/applications/notifications/notifications.controller.spec.js.map +1 -1
- package/server/applications/notifications/notifications.gateway.js +1 -5
- package/server/applications/notifications/notifications.gateway.js.map +1 -1
- package/server/applications/notifications/notifications.module.js +1 -5
- package/server/applications/notifications/notifications.module.js.map +1 -1
- package/server/applications/notifications/schemas/notification.interface.js +1 -5
- package/server/applications/notifications/schemas/notification.interface.js.map +1 -1
- package/server/applications/notifications/schemas/notifications.schema.js +1 -5
- package/server/applications/notifications/schemas/notifications.schema.js.map +1 -1
- package/server/applications/notifications/services/notifications-manager.service.js +25 -11
- package/server/applications/notifications/services/notifications-manager.service.js.map +1 -1
- package/server/applications/notifications/services/notifications-manager.service.spec.js +20 -11
- package/server/applications/notifications/services/notifications-manager.service.spec.js.map +1 -1
- package/server/applications/notifications/services/notifications-queries.service.js +1 -5
- package/server/applications/notifications/services/notifications-queries.service.js.map +1 -1
- package/server/applications/shares/constants/routes.js +1 -5
- package/server/applications/shares/constants/routes.js.map +1 -1
- package/server/applications/shares/constants/shares.js +1 -5
- package/server/applications/shares/constants/shares.js.map +1 -1
- package/server/applications/shares/dto/create-or-update-share.dto.js +1 -5
- package/server/applications/shares/dto/create-or-update-share.dto.js.map +1 -1
- package/server/applications/shares/interfaces/share-child.interface.js +1 -5
- package/server/applications/shares/interfaces/share-child.interface.js.map +1 -1
- package/server/applications/shares/interfaces/share-env.interface.js +1 -5
- package/server/applications/shares/interfaces/share-env.interface.js.map +1 -1
- package/server/applications/shares/interfaces/share-file.interface.js +1 -5
- package/server/applications/shares/interfaces/share-file.interface.js.map +1 -1
- package/server/applications/shares/interfaces/share-link.interface.js +1 -5
- package/server/applications/shares/interfaces/share-link.interface.js.map +1 -1
- package/server/applications/shares/interfaces/share-props.interface.js +1 -5
- package/server/applications/shares/interfaces/share-props.interface.js.map +1 -1
- package/server/applications/shares/models/share-child.model.js +1 -5
- package/server/applications/shares/models/share-child.model.js.map +1 -1
- package/server/applications/shares/schemas/share-members.interface.js +1 -5
- package/server/applications/shares/schemas/share-members.interface.js.map +1 -1
- package/server/applications/shares/schemas/share.interface.js +1 -5
- package/server/applications/shares/schemas/share.interface.js.map +1 -1
- package/server/applications/shares/schemas/shares-members.schema.js +1 -5
- package/server/applications/shares/schemas/shares-members.schema.js.map +1 -1
- package/server/applications/shares/schemas/shares.schema.js +1 -5
- package/server/applications/shares/schemas/shares.schema.js.map +1 -1
- package/server/applications/shares/services/shares-manager.service.js +214 -68
- package/server/applications/shares/services/shares-manager.service.js.map +1 -1
- package/server/applications/shares/services/shares-manager.service.spec.js +1 -5
- package/server/applications/shares/services/shares-manager.service.spec.js.map +1 -1
- package/server/applications/shares/services/shares-queries.service.js +49 -17
- package/server/applications/shares/services/shares-queries.service.js.map +1 -1
- package/server/applications/shares/shares.controller.js +1 -5
- package/server/applications/shares/shares.controller.js.map +1 -1
- package/server/applications/shares/shares.controller.spec.js +1 -5
- package/server/applications/shares/shares.controller.spec.js.map +1 -1
- package/server/applications/shares/shares.module.js +1 -5
- package/server/applications/shares/shares.module.js.map +1 -1
- package/server/applications/spaces/constants/cache.js +1 -5
- package/server/applications/spaces/constants/cache.js.map +1 -1
- package/server/applications/spaces/constants/routes.js +1 -5
- package/server/applications/spaces/constants/routes.js.map +1 -1
- package/server/applications/spaces/constants/spaces.js +1 -5
- package/server/applications/spaces/constants/spaces.js.map +1 -1
- package/server/applications/spaces/decorators/space-override-permission.decorator.js +1 -5
- package/server/applications/spaces/decorators/space-override-permission.decorator.js.map +1 -1
- package/server/applications/spaces/decorators/space-skip-guard.decorator.js +1 -5
- package/server/applications/spaces/decorators/space-skip-guard.decorator.js.map +1 -1
- package/server/applications/spaces/decorators/space-skip-permissions.decorator.js +1 -5
- package/server/applications/spaces/decorators/space-skip-permissions.decorator.js.map +1 -1
- package/server/applications/spaces/decorators/space.decorator.js +1 -5
- package/server/applications/spaces/decorators/space.decorator.js.map +1 -1
- package/server/applications/spaces/dto/create-or-update-space.dto.js +1 -5
- package/server/applications/spaces/dto/create-or-update-space.dto.js.map +1 -1
- package/server/applications/spaces/dto/delete-space.dto.js +1 -5
- package/server/applications/spaces/dto/delete-space.dto.js.map +1 -1
- package/server/applications/spaces/dto/search-space.dto.js +1 -5
- package/server/applications/spaces/dto/search-space.dto.js.map +1 -1
- package/server/applications/spaces/dto/space-roots.dto.js +1 -5
- package/server/applications/spaces/dto/space-roots.dto.js.map +1 -1
- package/server/applications/spaces/guards/space.guard.js +17 -9
- package/server/applications/spaces/guards/space.guard.js.map +1 -1
- package/server/applications/spaces/guards/space.guard.spec.js +1 -5
- package/server/applications/spaces/guards/space.guard.spec.js.map +1 -1
- package/server/applications/spaces/interfaces/space-diff.interface.js +1 -5
- package/server/applications/spaces/interfaces/space-diff.interface.js.map +1 -1
- package/server/applications/spaces/interfaces/space-files.interface.js +1 -5
- package/server/applications/spaces/interfaces/space-files.interface.js.map +1 -1
- package/server/applications/spaces/interfaces/space-request.interface.js +1 -5
- package/server/applications/spaces/interfaces/space-request.interface.js.map +1 -1
- package/server/applications/spaces/interfaces/space-trash.interface.js +1 -5
- package/server/applications/spaces/interfaces/space-trash.interface.js.map +1 -1
- package/server/applications/spaces/models/space-env.model.js +1 -5
- package/server/applications/spaces/models/space-env.model.js.map +1 -1
- package/server/applications/spaces/models/space-props.model.js +1 -5
- package/server/applications/spaces/models/space-props.model.js.map +1 -1
- package/server/applications/spaces/models/space-root-props.model.js +1 -5
- package/server/applications/spaces/models/space-root-props.model.js.map +1 -1
- package/server/applications/spaces/models/space.model.js +1 -5
- package/server/applications/spaces/models/space.model.js.map +1 -1
- package/server/applications/spaces/schemas/space-members.interface.js +1 -5
- package/server/applications/spaces/schemas/space-members.interface.js.map +1 -1
- package/server/applications/spaces/schemas/space-root.interface.js +1 -5
- package/server/applications/spaces/schemas/space-root.interface.js.map +1 -1
- package/server/applications/spaces/schemas/space.interface.js +1 -5
- package/server/applications/spaces/schemas/space.interface.js.map +1 -1
- package/server/applications/spaces/schemas/spaces-members.schema.js +1 -5
- package/server/applications/spaces/schemas/spaces-members.schema.js.map +1 -1
- package/server/applications/spaces/schemas/spaces-roots.schema.js +1 -5
- package/server/applications/spaces/schemas/spaces-roots.schema.js.map +1 -1
- package/server/applications/spaces/schemas/spaces.schema.js +1 -5
- package/server/applications/spaces/schemas/spaces.schema.js.map +1 -1
- package/server/applications/spaces/services/spaces-browser.service.js +77 -24
- package/server/applications/spaces/services/spaces-browser.service.js.map +1 -1
- package/server/applications/spaces/services/spaces-browser.service.spec.js +1 -5
- package/server/applications/spaces/services/spaces-browser.service.spec.js.map +1 -1
- package/server/applications/spaces/services/spaces-manager.service.js +193 -53
- package/server/applications/spaces/services/spaces-manager.service.js.map +1 -1
- package/server/applications/spaces/services/spaces-manager.service.spec.js +1 -5
- package/server/applications/spaces/services/spaces-manager.service.spec.js.map +1 -1
- package/server/applications/spaces/services/spaces-queries.service.js +65 -21
- package/server/applications/spaces/services/spaces-queries.service.js.map +1 -1
- package/server/applications/spaces/services/spaces-scheduler.service.js +49 -17
- package/server/applications/spaces/services/spaces-scheduler.service.js.map +1 -1
- package/server/applications/spaces/spaces.controller.js +1 -5
- package/server/applications/spaces/spaces.controller.js.map +1 -1
- package/server/applications/spaces/spaces.controller.spec.js +1 -5
- package/server/applications/spaces/spaces.controller.spec.js.map +1 -1
- package/server/applications/spaces/spaces.module.js +1 -5
- package/server/applications/spaces/spaces.module.js.map +1 -1
- package/server/applications/spaces/utils/paths.js +1 -5
- package/server/applications/spaces/utils/paths.js.map +1 -1
- package/server/applications/spaces/utils/permissions.js +1 -5
- package/server/applications/spaces/utils/permissions.js.map +1 -1
- package/server/applications/spaces/utils/routes.js +1 -5
- package/server/applications/spaces/utils/routes.js.map +1 -1
- package/server/applications/sync/constants/auth.js +1 -5
- package/server/applications/sync/constants/auth.js.map +1 -1
- package/server/applications/sync/constants/routes.js +6 -5
- package/server/applications/sync/constants/routes.js.map +1 -1
- package/server/applications/sync/constants/store.js +1 -9
- package/server/applications/sync/constants/store.js.map +1 -1
- package/server/applications/sync/constants/sync.js +2 -6
- package/server/applications/sync/constants/sync.js.map +1 -1
- package/server/applications/sync/decorators/sync-context.decorator.js +1 -5
- package/server/applications/sync/decorators/sync-context.decorator.js.map +1 -1
- package/server/applications/sync/decorators/sync-environment.decorator.js +1 -5
- package/server/applications/sync/decorators/sync-environment.decorator.js.map +1 -1
- package/server/applications/sync/dtos/sync-client-auth.dto.js +12 -8
- package/server/applications/sync/dtos/sync-client-auth.dto.js.map +1 -1
- package/server/applications/sync/dtos/sync-client-info.dto.js +49 -0
- package/server/applications/sync/dtos/sync-client-info.dto.js.map +1 -0
- package/server/applications/sync/dtos/sync-client-registration.dto.js +34 -11
- package/server/applications/sync/dtos/sync-client-registration.dto.js.map +1 -1
- package/server/applications/sync/dtos/sync-operations.dto.js +1 -5
- package/server/applications/sync/dtos/sync-operations.dto.js.map +1 -1
- package/server/applications/sync/dtos/sync-path.dto.js +1 -5
- package/server/applications/sync/dtos/sync-path.dto.js.map +1 -1
- package/server/applications/sync/dtos/sync-upload.dto.js +1 -5
- package/server/applications/sync/dtos/sync-upload.dto.js.map +1 -1
- package/server/applications/sync/interceptors/sync-diff-gzip-body.interceptor.js +1 -5
- package/server/applications/sync/interceptors/sync-diff-gzip-body.interceptor.js.map +1 -1
- package/server/applications/sync/interceptors/sync-diff-gzip-body.interceptor.spec.js +1 -5
- package/server/applications/sync/interceptors/sync-diff-gzip-body.interceptor.spec.js.map +1 -1
- package/server/applications/sync/interfaces/store-manifest.interface.js +1 -5
- package/server/applications/sync/interfaces/store-manifest.interface.js.map +1 -1
- package/server/applications/sync/interfaces/sync-client-auth.interface.js +1 -25
- package/server/applications/sync/interfaces/sync-client-auth.interface.js.map +1 -1
- package/server/applications/sync/interfaces/sync-client-paths.interface.js +1 -5
- package/server/applications/sync/interfaces/sync-client-paths.interface.js.map +1 -1
- package/server/applications/sync/interfaces/sync-client.interface.js +1 -5
- package/server/applications/sync/interfaces/sync-client.interface.js.map +1 -1
- package/server/applications/sync/interfaces/sync-diff.interface.js +1 -5
- package/server/applications/sync/interfaces/sync-diff.interface.js.map +1 -1
- package/server/applications/sync/interfaces/sync-path.interface.js +1 -5
- package/server/applications/sync/interfaces/sync-path.interface.js.map +1 -1
- package/server/applications/sync/schemas/sync-client.interface.js +1 -5
- package/server/applications/sync/schemas/sync-client.interface.js.map +1 -1
- package/server/applications/sync/schemas/sync-clients.schema.js +1 -5
- package/server/applications/sync/schemas/sync-clients.schema.js.map +1 -1
- package/server/applications/sync/schemas/sync-path.interface.js +1 -5
- package/server/applications/sync/schemas/sync-path.interface.js.map +1 -1
- package/server/applications/sync/schemas/sync-paths.schema.js +1 -5
- package/server/applications/sync/schemas/sync-paths.schema.js.map +1 -1
- package/server/applications/sync/services/sync-clients-manager.service.js +108 -44
- package/server/applications/sync/services/sync-clients-manager.service.js.map +1 -1
- package/server/applications/sync/services/sync-clients-manager.service.spec.js +14 -17
- package/server/applications/sync/services/sync-clients-manager.service.spec.js.map +1 -1
- package/server/applications/sync/services/sync-manager.service.js +29 -12
- package/server/applications/sync/services/sync-manager.service.js.map +1 -1
- package/server/applications/sync/services/sync-manager.service.spec.js +1 -5
- package/server/applications/sync/services/sync-manager.service.spec.js.map +1 -1
- package/server/applications/sync/services/sync-paths-manager.service.js +27 -17
- package/server/applications/sync/services/sync-paths-manager.service.js.map +1 -1
- package/server/applications/sync/services/sync-paths-manager.service.spec.js +11 -15
- package/server/applications/sync/services/sync-paths-manager.service.spec.js.map +1 -1
- package/server/applications/sync/services/sync-queries.service.js +1 -5
- package/server/applications/sync/services/sync-queries.service.js.map +1 -1
- package/server/applications/sync/sync.config.js +1 -5
- package/server/applications/sync/sync.config.js.map +1 -1
- package/server/applications/sync/sync.controller.js +21 -6
- package/server/applications/sync/sync.controller.js.map +1 -1
- package/server/applications/sync/sync.controller.spec.js +1 -5
- package/server/applications/sync/sync.controller.spec.js.map +1 -1
- package/server/applications/sync/sync.module.js +1 -5
- package/server/applications/sync/sync.module.js.map +1 -1
- package/server/applications/sync/utils/functions.js +1 -5
- package/server/applications/sync/utils/functions.js.map +1 -1
- package/server/applications/sync/utils/normalizedMap.js +1 -5
- package/server/applications/sync/utils/normalizedMap.js.map +1 -1
- package/server/applications/sync/utils/routes.js +1 -5
- package/server/applications/sync/utils/routes.js.map +1 -1
- package/server/applications/users/admin-users.controller.js +2 -6
- package/server/applications/users/admin-users.controller.js.map +1 -1
- package/server/applications/users/admin-users.controller.spec.js +6 -10
- package/server/applications/users/admin-users.controller.spec.js.map +1 -1
- package/server/applications/users/constants/group.js +1 -5
- package/server/applications/users/constants/group.js.map +1 -1
- package/server/applications/users/constants/member.js +1 -5
- package/server/applications/users/constants/member.js.map +1 -1
- package/server/applications/users/constants/routes.js +1 -5
- package/server/applications/users/constants/routes.js.map +1 -1
- package/server/applications/users/constants/user.js +1 -5
- package/server/applications/users/constants/user.js.map +1 -1
- package/server/applications/users/constants/websocket.js +1 -5
- package/server/applications/users/constants/websocket.js.map +1 -1
- package/server/applications/users/decorators/permissions.decorator.js +1 -5
- package/server/applications/users/decorators/permissions.decorator.js.map +1 -1
- package/server/applications/users/decorators/roles.decorator.js +1 -5
- package/server/applications/users/decorators/roles.decorator.js.map +1 -1
- package/server/applications/users/decorators/user.decorator.js +1 -5
- package/server/applications/users/decorators/user.decorator.js.map +1 -1
- package/server/applications/users/dto/create-or-update-group.dto.js +1 -5
- package/server/applications/users/dto/create-or-update-group.dto.js.map +1 -1
- package/server/applications/users/dto/create-or-update-user.dto.js +1 -5
- package/server/applications/users/dto/create-or-update-user.dto.js.map +1 -1
- package/server/applications/users/dto/delete-user.dto.js +1 -5
- package/server/applications/users/dto/delete-user.dto.js.map +1 -1
- package/server/applications/users/dto/search-members.dto.js +1 -5
- package/server/applications/users/dto/search-members.dto.js.map +1 -1
- package/server/applications/users/dto/user-properties.dto.js +1 -5
- package/server/applications/users/dto/user-properties.dto.js.map +1 -1
- package/server/applications/users/guards/permissions.guard.js +1 -5
- package/server/applications/users/guards/permissions.guard.js.map +1 -1
- package/server/applications/users/guards/permissions.guard.spec.js +1 -5
- package/server/applications/users/guards/permissions.guard.spec.js.map +1 -1
- package/server/applications/users/guards/roles.guard.js +1 -5
- package/server/applications/users/guards/roles.guard.js.map +1 -1
- package/server/applications/users/guards/roles.guard.spec.js +1 -5
- package/server/applications/users/guards/roles.guard.spec.js.map +1 -1
- package/server/applications/users/interfaces/admin-group.interface.js +1 -5
- package/server/applications/users/interfaces/admin-group.interface.js.map +1 -1
- package/server/applications/users/interfaces/admin-user.interface.js +1 -5
- package/server/applications/users/interfaces/admin-user.interface.js.map +1 -1
- package/server/applications/users/interfaces/group-browse.interface.js +1 -5
- package/server/applications/users/interfaces/group-browse.interface.js.map +1 -1
- package/server/applications/users/interfaces/group-member.js +1 -5
- package/server/applications/users/interfaces/group-member.js.map +1 -1
- package/server/applications/users/interfaces/guest-user.interface.js +1 -5
- package/server/applications/users/interfaces/guest-user.interface.js.map +1 -1
- package/server/applications/users/interfaces/member.interface.js +1 -5
- package/server/applications/users/interfaces/member.interface.js.map +1 -1
- package/server/applications/users/interfaces/owner.interface.js +1 -5
- package/server/applications/users/interfaces/owner.interface.js.map +1 -1
- package/server/applications/users/interfaces/user-secrets.interface.js +1 -5
- package/server/applications/users/interfaces/user-secrets.interface.js.map +1 -1
- package/server/applications/users/interfaces/websocket.interface.js +1 -5
- package/server/applications/users/interfaces/websocket.interface.js.map +1 -1
- package/server/applications/users/models/user.model.js +1 -5
- package/server/applications/users/models/user.model.js.map +1 -1
- package/server/applications/users/schemas/group.interface.js +1 -5
- package/server/applications/users/schemas/group.interface.js.map +1 -1
- package/server/applications/users/schemas/groups.schema.js +1 -5
- package/server/applications/users/schemas/groups.schema.js.map +1 -1
- package/server/applications/users/schemas/user-group.interface.js +1 -5
- package/server/applications/users/schemas/user-group.interface.js.map +1 -1
- package/server/applications/users/schemas/user.interface.js +1 -5
- package/server/applications/users/schemas/user.interface.js.map +1 -1
- package/server/applications/users/schemas/users-groups.schema.js +1 -5
- package/server/applications/users/schemas/users-groups.schema.js.map +1 -1
- package/server/applications/users/schemas/users-guests.schema.js +1 -5
- package/server/applications/users/schemas/users-guests.schema.js.map +1 -1
- package/server/applications/users/schemas/users.schema.js +1 -5
- package/server/applications/users/schemas/users.schema.js.map +1 -1
- package/server/applications/users/services/admin-users-manager.service.js +67 -23
- package/server/applications/users/services/admin-users-manager.service.js.map +1 -1
- package/server/applications/users/services/admin-users-manager.service.spec.js +3 -7
- package/server/applications/users/services/admin-users-manager.service.spec.js.map +1 -1
- package/server/applications/users/services/admin-users-queries.service.js +65 -21
- package/server/applications/users/services/admin-users-queries.service.js.map +1 -1
- package/server/applications/users/services/users-manager.service.js +81 -25
- package/server/applications/users/services/users-manager.service.js.map +1 -1
- package/server/applications/users/services/users-manager.service.spec.js +14 -12
- package/server/applications/users/services/users-manager.service.spec.js.map +1 -1
- package/server/applications/users/services/users-queries.service.js +49 -17
- package/server/applications/users/services/users-queries.service.js.map +1 -1
- package/server/applications/users/users.controller.js +2 -6
- package/server/applications/users/users.controller.js.map +1 -1
- package/server/applications/users/users.controller.spec.js +5 -9
- package/server/applications/users/users.controller.spec.js.map +1 -1
- package/server/applications/users/users.e2e-spec.js +3 -7
- package/server/applications/users/users.e2e-spec.js.map +1 -1
- package/server/applications/users/users.gateway.js +29 -12
- package/server/applications/users/users.gateway.js.map +1 -1
- package/server/applications/users/users.gateway.spec.js +1 -5
- package/server/applications/users/users.gateway.spec.js.map +1 -1
- package/server/applications/users/users.module.js +1 -5
- package/server/applications/users/users.module.js.map +1 -1
- package/server/applications/users/utils/avatar.js +1 -5
- package/server/applications/users/utils/avatar.js.map +1 -1
- package/server/applications/users/utils/test.js +1 -5
- package/server/applications/users/utils/test.js.map +1 -1
- package/server/applications/webdav/constants/routes.js +1 -5
- package/server/applications/webdav/constants/routes.js.map +1 -1
- package/server/applications/webdav/constants/webdav.js +1 -5
- package/server/applications/webdav/constants/webdav.js.map +1 -1
- package/server/applications/webdav/decorators/if-header.decorator.js +1 -5
- package/server/applications/webdav/decorators/if-header.decorator.js.map +1 -1
- package/server/applications/webdav/decorators/webdav-context.decorator.js +1 -5
- package/server/applications/webdav/decorators/webdav-context.decorator.js.map +1 -1
- package/server/applications/webdav/filters/webdav.filter.js +1 -5
- package/server/applications/webdav/filters/webdav.filter.js.map +1 -1
- package/server/applications/webdav/filters/webdav.filter.spec.js +1 -5
- package/server/applications/webdav/filters/webdav.filter.spec.js.map +1 -1
- package/server/applications/webdav/guards/webdav-protocol.guard.js +54 -20
- package/server/applications/webdav/guards/webdav-protocol.guard.js.map +1 -1
- package/server/applications/webdav/guards/webdav-protocol.guard.spec.js +54 -0
- package/server/applications/webdav/guards/webdav-protocol.guard.spec.js.map +1 -1
- package/server/applications/webdav/interfaces/if-header.interface.js +1 -5
- package/server/applications/webdav/interfaces/if-header.interface.js.map +1 -1
- package/server/applications/webdav/interfaces/webdav.interface.js +1 -5
- package/server/applications/webdav/interfaces/webdav.interface.js.map +1 -1
- package/server/applications/webdav/models/webdav-file.model.js +1 -5
- package/server/applications/webdav/models/webdav-file.model.js.map +1 -1
- package/server/applications/webdav/services/webdav-methods.service.js +74 -26
- package/server/applications/webdav/services/webdav-methods.service.js.map +1 -1
- package/server/applications/webdav/services/webdav-methods.service.spec.js +15 -18
- package/server/applications/webdav/services/webdav-methods.service.spec.js.map +1 -1
- package/server/applications/webdav/services/webdav-spaces.service.js +17 -9
- package/server/applications/webdav/services/webdav-spaces.service.js.map +1 -1
- package/server/applications/webdav/services/webdav-spaces.service.spec.js +1 -5
- package/server/applications/webdav/services/webdav-spaces.service.spec.js.map +1 -1
- package/server/applications/webdav/utils/bootstrap.js +1 -5
- package/server/applications/webdav/utils/bootstrap.js.map +1 -1
- package/server/applications/webdav/utils/if-header.js +1 -5
- package/server/applications/webdav/utils/if-header.js.map +1 -1
- package/server/applications/webdav/utils/routes.js +1 -5
- package/server/applications/webdav/utils/routes.js.map +1 -1
- package/server/applications/webdav/utils/webdav.js +1 -5
- package/server/applications/webdav/utils/webdav.js.map +1 -1
- package/server/applications/webdav/utils/xml.js +1 -5
- package/server/applications/webdav/utils/xml.js.map +1 -1
- package/server/applications/webdav/webdav.controller.js +1 -5
- package/server/applications/webdav/webdav.controller.js.map +1 -1
- package/server/applications/webdav/webdav.controller.spec.js +1 -5
- package/server/applications/webdav/webdav.controller.spec.js.map +1 -1
- package/server/applications/webdav/webdav.e2e-spec.js +1 -5
- package/server/applications/webdav/webdav.e2e-spec.js.map +1 -1
- package/server/applications/webdav/webdav.module.js +1 -5
- package/server/applications/webdav/webdav.module.js.map +1 -1
- package/server/authentication/auth.config.js +23 -123
- package/server/authentication/auth.config.js.map +1 -1
- package/server/authentication/auth.controller.js +27 -21
- package/server/authentication/auth.controller.js.map +1 -1
- package/server/authentication/auth.controller.spec.js +6 -10
- package/server/authentication/auth.controller.spec.js.map +1 -1
- package/server/authentication/auth.e2e-spec.js +1 -5
- package/server/authentication/auth.e2e-spec.js.map +1 -1
- package/server/authentication/auth.module.js +17 -20
- package/server/authentication/auth.module.js.map +1 -1
- package/server/authentication/{services/auth-manager.service.js → auth.service.js} +41 -18
- package/server/authentication/auth.service.js.map +1 -0
- package/server/authentication/{services/auth-manager.service.spec.js → auth.service.spec.js} +6 -10
- package/server/authentication/auth.service.spec.js.map +1 -0
- package/server/authentication/constants/auth.js +1 -5
- package/server/authentication/constants/auth.js.map +1 -1
- package/server/authentication/constants/routes.js +41 -30
- package/server/authentication/constants/routes.js.map +1 -1
- package/server/authentication/constants/scope.js +2 -5
- package/server/authentication/constants/scope.js.map +1 -1
- package/server/authentication/decorators/auth-token-optional.decorator.js +1 -5
- package/server/authentication/decorators/auth-token-optional.decorator.js.map +1 -1
- package/server/authentication/decorators/auth-token-skip.decorator.js +1 -5
- package/server/authentication/decorators/auth-token-skip.decorator.js.map +1 -1
- package/server/authentication/dto/login-response.dto.js +1 -10
- package/server/authentication/dto/login-response.dto.js.map +1 -1
- package/server/authentication/dto/token-response.dto.js +1 -5
- package/server/authentication/dto/token-response.dto.js.map +1 -1
- package/server/authentication/guards/auth-anonymous.guard.js +1 -5
- package/server/authentication/guards/auth-anonymous.guard.js.map +1 -1
- package/server/authentication/guards/auth-anonymous.guard.spec.js +1 -5
- package/server/authentication/guards/auth-anonymous.guard.spec.js.map +1 -1
- package/server/authentication/guards/auth-anonymous.strategy.js +1 -5
- package/server/authentication/guards/auth-anonymous.strategy.js.map +1 -1
- package/server/authentication/guards/auth-basic.guard.js +1 -5
- package/server/authentication/guards/auth-basic.guard.js.map +1 -1
- package/server/authentication/guards/auth-basic.guard.spec.js +13 -14
- package/server/authentication/guards/auth-basic.guard.spec.js.map +1 -1
- package/server/authentication/guards/auth-basic.strategy.js +10 -11
- package/server/authentication/guards/auth-basic.strategy.js.map +1 -1
- package/server/authentication/guards/auth-digest.guard.js +1 -5
- package/server/authentication/guards/auth-digest.guard.js.map +1 -1
- package/server/authentication/guards/auth-digest.strategy.js +1 -5
- package/server/authentication/guards/auth-digest.strategy.js.map +1 -1
- package/server/authentication/guards/auth-local.guard.js +1 -5
- package/server/authentication/guards/auth-local.guard.js.map +1 -1
- package/server/authentication/guards/auth-local.guard.spec.js +9 -13
- package/server/authentication/guards/auth-local.guard.spec.js.map +1 -1
- package/server/authentication/guards/auth-local.strategy.js +6 -10
- package/server/authentication/guards/auth-local.strategy.js.map +1 -1
- package/server/authentication/guards/auth-token-access.guard.js +1 -5
- package/server/authentication/guards/auth-token-access.guard.js.map +1 -1
- package/server/authentication/guards/auth-token-access.guard.spec.js +3 -7
- package/server/authentication/guards/auth-token-access.guard.spec.js.map +1 -1
- package/server/authentication/guards/auth-token-access.strategy.js +3 -7
- package/server/authentication/guards/auth-token-access.strategy.js.map +1 -1
- package/server/authentication/guards/auth-token-refresh.guard.js +1 -5
- package/server/authentication/guards/auth-token-refresh.guard.js.map +1 -1
- package/server/authentication/guards/auth-token-refresh.guard.spec.js +3 -7
- package/server/authentication/guards/auth-token-refresh.guard.spec.js.map +1 -1
- package/server/authentication/guards/auth-token-refresh.strategy.js +3 -7
- package/server/authentication/guards/auth-token-refresh.strategy.js.map +1 -1
- package/server/authentication/guards/implementations/http-basic.strategy.js +1 -5
- package/server/authentication/guards/implementations/http-basic.strategy.js.map +1 -1
- package/server/authentication/guards/implementations/http-digest.strategy.js +1 -5
- package/server/authentication/guards/implementations/http-digest.strategy.js.map +1 -1
- package/server/authentication/interfaces/auth-request.interface.js +1 -5
- package/server/authentication/interfaces/auth-request.interface.js.map +1 -1
- package/server/authentication/interfaces/jwt-payload.interface.js +1 -5
- package/server/authentication/interfaces/jwt-payload.interface.js.map +1 -1
- package/server/authentication/interfaces/token.interface.js +1 -5
- package/server/authentication/interfaces/token.interface.js.map +1 -1
- package/server/authentication/providers/auth-providers.constants.js +18 -0
- package/server/authentication/providers/auth-providers.constants.js.map +1 -0
- package/server/authentication/providers/auth-providers.models.js +14 -0
- package/server/authentication/providers/auth-providers.models.js.map +1 -0
- package/server/authentication/providers/auth-providers.utils.js +42 -0
- package/server/authentication/providers/auth-providers.utils.js.map +1 -0
- package/server/authentication/providers/ldap/auth-ldap.config.js +143 -0
- package/server/authentication/providers/ldap/auth-ldap.config.js.map +1 -0
- package/server/authentication/{constants/auth-ldap.js → providers/ldap/auth-ldap.constants.js} +12 -6
- package/server/authentication/providers/ldap/auth-ldap.constants.js.map +1 -0
- package/server/authentication/providers/ldap/auth-provider-ldap.service.js +506 -0
- package/server/authentication/providers/ldap/auth-provider-ldap.service.js.map +1 -0
- package/server/authentication/providers/ldap/auth-provider-ldap.service.spec.js +674 -0
- package/server/authentication/providers/ldap/auth-provider-ldap.service.spec.js.map +1 -0
- package/server/authentication/{services/auth-methods/auth-method-database.service.js → providers/mysql/auth-provider-mysql.service.js} +16 -14
- package/server/authentication/providers/mysql/auth-provider-mysql.service.js.map +1 -0
- package/server/authentication/{services/auth-methods/auth-method-database.service.spec.js → providers/mysql/auth-provider-mysql.service.spec.js} +15 -19
- package/server/authentication/providers/mysql/auth-provider-mysql.service.spec.js.map +1 -0
- package/server/authentication/providers/oidc/auth-oidc-desktop.constants.js +30 -0
- package/server/authentication/providers/oidc/auth-oidc-desktop.constants.js.map +1 -0
- package/server/authentication/providers/oidc/auth-oidc.config.js +149 -0
- package/server/authentication/providers/oidc/auth-oidc.config.js.map +1 -0
- package/server/authentication/providers/oidc/auth-oidc.constants.js +39 -0
- package/server/authentication/providers/oidc/auth-oidc.constants.js.map +1 -0
- package/server/authentication/providers/oidc/auth-oidc.controller.js +83 -0
- package/server/authentication/providers/oidc/auth-oidc.controller.js.map +1 -0
- package/server/authentication/providers/oidc/auth-oidc.interfaces.js +6 -0
- package/server/authentication/providers/oidc/auth-oidc.interfaces.js.map +1 -0
- package/server/authentication/providers/oidc/auth-provider-oidc.module.js +36 -0
- package/server/authentication/providers/oidc/auth-provider-oidc.module.js.map +1 -0
- package/server/authentication/providers/oidc/auth-provider-oidc.service.js +373 -0
- package/server/authentication/providers/oidc/auth-provider-oidc.service.js.map +1 -0
- package/server/authentication/providers/oidc/auth-provider-oidc.service.spec.js +270 -0
- package/server/authentication/providers/oidc/auth-provider-oidc.service.spec.js.map +1 -0
- package/server/authentication/{services/auth-methods/auth-method-two-fa.service.js → providers/two-fa/auth-provider-two-fa.service.js} +56 -38
- package/server/authentication/providers/two-fa/auth-provider-two-fa.service.js.map +1 -0
- package/server/authentication/{services/auth-methods/auth-method-two-fa.service.spec.js → providers/two-fa/auth-provider-two-fa.service.spec.js} +6 -10
- package/server/authentication/providers/two-fa/auth-provider-two-fa.service.spec.js.map +1 -0
- package/server/authentication/{guards → providers/two-fa}/auth-two-fa-guard.js +10 -14
- package/server/authentication/providers/two-fa/auth-two-fa-guard.js.map +1 -0
- package/server/authentication/providers/two-fa/auth-two-fa.config.js +57 -0
- package/server/authentication/providers/two-fa/auth-two-fa.config.js.map +1 -0
- package/server/authentication/{dto/two-fa-verify.dto.js → providers/two-fa/auth-two-fa.dtos.js} +8 -6
- package/server/authentication/providers/two-fa/auth-two-fa.dtos.js.map +1 -0
- package/server/authentication/providers/two-fa/auth-two-fa.interfaces.js +6 -0
- package/server/authentication/providers/two-fa/auth-two-fa.interfaces.js.map +1 -0
- package/server/authentication/utils/crypt-secret.js +1 -5
- package/server/authentication/utils/crypt-secret.js.map +1 -1
- package/server/common/constants.js +1 -5
- package/server/common/constants.js.map +1 -1
- package/server/common/decorators.js +1 -5
- package/server/common/decorators.js.map +1 -1
- package/server/common/functions.js +25 -9
- package/server/common/functions.js.map +1 -1
- package/server/common/i18n.js +1 -5
- package/server/common/i18n.js.map +1 -1
- package/server/common/image.js +1 -5
- package/server/common/image.js.map +1 -1
- package/server/common/interfaces.js +1 -5
- package/server/common/interfaces.js.map +1 -1
- package/server/common/qrcode.js +1 -5
- package/server/common/qrcode.js.map +1 -1
- package/server/common/shared.js +6 -6
- package/server/common/shared.js.map +1 -1
- package/server/configuration/config.constants.js +1 -5
- package/server/configuration/config.constants.js.map +1 -1
- package/server/configuration/config.environment.js +2 -6
- package/server/configuration/config.environment.js.map +1 -1
- package/server/configuration/config.interfaces.js +1 -5
- package/server/configuration/config.interfaces.js.map +1 -1
- package/server/configuration/config.loader.js +1 -5
- package/server/configuration/config.loader.js.map +1 -1
- package/server/configuration/config.logger.js +4 -8
- package/server/configuration/config.logger.js.map +1 -1
- package/server/configuration/config.validation.js +7 -5
- package/server/configuration/config.validation.js.map +1 -1
- package/server/infrastructure/cache/adapters/mysql-cache.adapter.js +9 -7
- package/server/infrastructure/cache/adapters/mysql-cache.adapter.js.map +1 -1
- package/server/infrastructure/cache/adapters/redis-cache.adapter.js +1 -5
- package/server/infrastructure/cache/adapters/redis-cache.adapter.js.map +1 -1
- package/server/infrastructure/cache/cache.config.js +1 -5
- package/server/infrastructure/cache/cache.config.js.map +1 -1
- package/server/infrastructure/cache/cache.decorator.js +9 -7
- package/server/infrastructure/cache/cache.decorator.js.map +1 -1
- package/server/infrastructure/cache/cache.e2e-spec.js +1 -5
- package/server/infrastructure/cache/cache.e2e-spec.js.map +1 -1
- package/server/infrastructure/cache/cache.module.js +1 -5
- package/server/infrastructure/cache/cache.module.js.map +1 -1
- package/server/infrastructure/cache/schemas/mysql-cache.interface.js +1 -5
- package/server/infrastructure/cache/schemas/mysql-cache.interface.js.map +1 -1
- package/server/infrastructure/cache/schemas/mysql-cache.schema.js +1 -5
- package/server/infrastructure/cache/schemas/mysql-cache.schema.js.map +1 -1
- package/server/infrastructure/cache/services/cache.service.js +1 -5
- package/server/infrastructure/cache/services/cache.service.js.map +1 -1
- package/server/infrastructure/context/context.module.js +1 -5
- package/server/infrastructure/context/context.module.js.map +1 -1
- package/server/infrastructure/context/interceptors/context.interceptor.js +1 -5
- package/server/infrastructure/context/interceptors/context.interceptor.js.map +1 -1
- package/server/infrastructure/context/interceptors/context.interceptor.spec.js +2 -6
- package/server/infrastructure/context/interceptors/context.interceptor.spec.js.map +1 -1
- package/server/infrastructure/context/interfaces/context-store.interface.js +1 -5
- package/server/infrastructure/context/interfaces/context-store.interface.js.map +1 -1
- package/server/infrastructure/context/services/context-manager.service.js +1 -5
- package/server/infrastructure/context/services/context-manager.service.js.map +1 -1
- package/server/infrastructure/context/services/context-manager.service.spec.js +1 -5
- package/server/infrastructure/context/services/context-manager.service.spec.js.map +1 -1
- package/server/infrastructure/database/columns.js +1 -5
- package/server/infrastructure/database/columns.js.map +1 -1
- package/server/infrastructure/database/configuration.js +1 -5
- package/server/infrastructure/database/configuration.js.map +1 -1
- package/server/infrastructure/database/constants.js +2 -6
- package/server/infrastructure/database/constants.js.map +1 -1
- package/server/infrastructure/database/database.config.js +1 -5
- package/server/infrastructure/database/database.config.js.map +1 -1
- package/server/infrastructure/database/database.logger.js +1 -5
- package/server/infrastructure/database/database.logger.js.map +1 -1
- package/server/infrastructure/database/database.module.js +1 -5
- package/server/infrastructure/database/database.module.js.map +1 -1
- package/server/infrastructure/database/interfaces/database.interface.js +1 -5
- package/server/infrastructure/database/interfaces/database.interface.js.map +1 -1
- package/server/infrastructure/database/schema.js +1 -5
- package/server/infrastructure/database/schema.js.map +1 -1
- package/server/infrastructure/database/scripts/create-user.js +1 -5
- package/server/infrastructure/database/scripts/create-user.js.map +1 -1
- package/server/infrastructure/database/scripts/db.js +1 -5
- package/server/infrastructure/database/scripts/db.js.map +1 -1
- package/server/infrastructure/database/scripts/seed/main.js +1 -5
- package/server/infrastructure/database/scripts/seed/main.js.map +1 -1
- package/server/infrastructure/database/scripts/seed/usersgroups.js +1 -5
- package/server/infrastructure/database/scripts/seed/usersgroups.js.map +1 -1
- package/server/infrastructure/database/utils.js +1 -5
- package/server/infrastructure/database/utils.js.map +1 -1
- package/server/infrastructure/mailer/interfaces/mail.interface.js +1 -5
- package/server/infrastructure/mailer/interfaces/mail.interface.js.map +1 -1
- package/server/infrastructure/mailer/mailer.config.js +1 -5
- package/server/infrastructure/mailer/mailer.config.js.map +1 -1
- package/server/infrastructure/mailer/mailer.module.js +1 -5
- package/server/infrastructure/mailer/mailer.module.js.map +1 -1
- package/server/infrastructure/mailer/mailer.service.js +1 -5
- package/server/infrastructure/mailer/mailer.service.js.map +1 -1
- package/server/infrastructure/mailer/mailer.service.spec.js +2 -6
- package/server/infrastructure/mailer/mailer.service.spec.js.map +1 -1
- package/server/infrastructure/scheduler/scheduler.constants.js +1 -5
- package/server/infrastructure/scheduler/scheduler.constants.js.map +1 -1
- package/server/infrastructure/scheduler/scheduler.module.js +1 -5
- package/server/infrastructure/scheduler/scheduler.module.js.map +1 -1
- package/server/infrastructure/websocket/adapters/cluster.adapter.js +1 -5
- package/server/infrastructure/websocket/adapters/cluster.adapter.js.map +1 -1
- package/server/infrastructure/websocket/adapters/redis.adapter.js +1 -5
- package/server/infrastructure/websocket/adapters/redis.adapter.js.map +1 -1
- package/server/infrastructure/websocket/adapters/web-socket.adapter.js +1 -5
- package/server/infrastructure/websocket/adapters/web-socket.adapter.js.map +1 -1
- package/server/infrastructure/websocket/decorators/web-socket-user.decorator.js +1 -5
- package/server/infrastructure/websocket/decorators/web-socket-user.decorator.js.map +1 -1
- package/server/infrastructure/websocket/interfaces/auth-socket-io.interface.js +1 -5
- package/server/infrastructure/websocket/interfaces/auth-socket-io.interface.js.map +1 -1
- package/server/infrastructure/websocket/utils.js +1 -5
- package/server/infrastructure/websocket/utils.js.map +1 -1
- package/server/infrastructure/websocket/web-socket.config.js +1 -5
- package/server/infrastructure/websocket/web-socket.config.js.map +1 -1
- package/server/main.js +5 -0
- package/server/main.js.map +1 -1
- package/static/assets/pdfjs/build/pdf.mjs +724 -745
- package/static/assets/pdfjs/build/pdf.mjs.map +1 -1
- package/static/assets/pdfjs/build/pdf.sandbox.mjs +2 -2
- package/static/assets/pdfjs/build/pdf.worker.mjs +706 -193
- package/static/assets/pdfjs/build/pdf.worker.mjs.map +1 -1
- package/static/assets/pdfjs/version +1 -1
- package/static/assets/pdfjs/web/locale/dsb/viewer.ftl +5 -5
- package/static/assets/pdfjs/web/locale/en-US/viewer.ftl +1 -0
- package/static/assets/pdfjs/web/locale/fur/viewer.ftl +5 -0
- package/static/assets/pdfjs/web/locale/kk/viewer.ftl +28 -0
- package/static/assets/pdfjs/web/locale/ml/viewer.ftl +4 -0
- package/static/assets/pdfjs/web/locale/ru/viewer.ftl +3 -3
- package/static/assets/pdfjs/web/viewer.css +207 -65
- package/static/assets/pdfjs/web/viewer.html +11 -10
- package/static/assets/pdfjs/web/viewer.mjs +850 -270
- package/static/assets/pdfjs/web/viewer.mjs.map +1 -1
- package/static/assets/pdfjs/web/wasm/LICENSE_JBIG2 +196 -0
- package/static/assets/pdfjs/web/wasm/LICENSE_PDFJS_JBIG2 +13 -0
- package/static/assets/pdfjs/web/wasm/jbig2.wasm +0 -0
- package/static/chunk-22TZP6HW.js +1 -0
- package/static/{chunk-U5E5H2DD.js → chunk-27ATUHBH.js} +1 -1
- package/static/{chunk-HZAB6F4Q.js → chunk-2CKLZ3FM.js} +1 -1
- package/static/{chunk-XZHWESIY.js → chunk-2QZPX7LO.js} +1 -1
- package/static/{chunk-UOK3LKSX.js → chunk-2R6IBBPZ.js} +1 -1
- package/static/{chunk-DVCN3P7Q.js → chunk-4FIGEBNL.js} +1 -1
- package/static/chunk-4P3JABAP.js +13 -0
- package/static/chunk-5CZOSAMZ.js +1 -0
- package/static/{chunk-RBTLSPYJ.js → chunk-677WUBCT.js} +1 -1
- package/static/{chunk-KEZNIIFH.js → chunk-74CAHBFM.js} +1 -1
- package/static/{chunk-WRK2FTKU.js → chunk-7GWW6MJO.js} +1 -1
- package/static/{chunk-EKWB5W72.js → chunk-7WOPGQXB.js} +1 -1
- package/static/{chunk-IMFO2MI7.js → chunk-A4UGPSWX.js} +1 -1
- package/static/{chunk-KDUAB76O.js → chunk-AHO37FKW.js} +1 -1
- package/static/chunk-AQCXMKP3.js +1 -0
- package/static/chunk-B6PDYCRO.js +3 -0
- package/static/{chunk-PPJCVBJH.js → chunk-CU76ATCF.js} +1 -1
- package/static/{chunk-ARS47O5X.js → chunk-CWYHOPOP.js} +1 -1
- package/static/{chunk-CSVPAZHK.js → chunk-E5WI5725.js} +1 -1
- package/static/{chunk-XX3JPJUM.js → chunk-FC5HTKVM.js} +1 -1
- package/static/{chunk-QGHNJVJ6.js → chunk-FOSM7EYI.js} +1 -1
- package/static/{chunk-JAJ7VXMB.js → chunk-GAZO25PI.js} +1 -1
- package/static/{chunk-IHS5LSJJ.js → chunk-GB7ABR5N.js} +1 -1
- package/static/{chunk-27V66YJV.js → chunk-GEHFKZQ5.js} +2 -2
- package/static/{chunk-3QTROEHV.js → chunk-GQFMWVFD.js} +1 -1
- package/static/{chunk-FWQJ4ZCD.js → chunk-GVNTC564.js} +1 -1
- package/static/{chunk-4NIYCYRS.js → chunk-HGL3NYP2.js} +2 -2
- package/static/chunk-HLIWPWRA.js +1 -0
- package/static/{chunk-3VRUIWQG.js → chunk-HNYB3M4S.js} +1 -1
- package/static/{chunk-7HJFIMNF.js → chunk-HUXAUQMN.js} +1 -1
- package/static/chunk-I2XA6PPK.js +1 -0
- package/static/{chunk-RJULB733.js → chunk-ISV3BO6R.js} +1 -1
- package/static/{chunk-R4VYKZVJ.js → chunk-IWWBV6EM.js} +1 -1
- package/static/{chunk-TTWMFWEC.js → chunk-JV3AGU5B.js} +1 -1
- package/static/{chunk-X7NHX5C7.js → chunk-K25E7YGG.js} +1 -1
- package/static/chunk-K46PUTZB.js +1 -0
- package/static/{chunk-D2MLAO5N.js → chunk-KERFLJ56.js} +1 -7
- package/static/{chunk-LZUHREOF.js → chunk-KJD3KFF3.js} +1 -1
- package/static/chunk-KPKSI23S.js +1 -0
- package/static/{chunk-CMNMPG6Z.js → chunk-KZS7CTNR.js} +1 -1
- package/static/{chunk-RNVPQQKT.js → chunk-L5IHUVXL.js} +1 -1
- package/static/{chunk-2GXOVGTD.js → chunk-L7RRX2M3.js} +1 -1
- package/static/{chunk-WFMEUST4.js → chunk-LGWJ2WKU.js} +1 -1
- package/static/{chunk-ZOMRIN3G.js → chunk-MLC7JK2H.js} +2 -2
- package/static/{chunk-76REYAEA.js → chunk-MOHNYW2A.js} +1 -1
- package/static/{chunk-ZHUBWKA2.js → chunk-MTRXBVWZ.js} +1 -1
- package/static/{chunk-QJ22N76V.js → chunk-MZQK6LNV.js} +1 -1
- package/static/{chunk-SDJNZULP.js → chunk-NCDUOVMW.js} +1 -1
- package/static/chunk-NGUAJIGI.js +1 -0
- package/static/chunk-NIPP6JDI.js +1 -0
- package/static/{chunk-VD5JHSDS.js → chunk-NMTBMHUL.js} +1 -1
- package/static/chunk-O4XXMZFX.js +4 -0
- package/static/{chunk-WZPF4LS2.js → chunk-OANZITPM.js} +1 -1
- package/static/{chunk-JNTNMIUH.js → chunk-OGE4SAHU.js} +1 -1
- package/static/{chunk-S6H2ELRY.js → chunk-OI3ME22C.js} +1 -1
- package/static/{chunk-7KAYOR3A.js → chunk-Q3EGCMF5.js} +1 -1
- package/static/chunk-QF2NSHZA.js +1 -0
- package/static/{chunk-3ZBAQTHJ.js → chunk-QIGUDEZF.js} +1 -1
- package/static/{chunk-76M3BMK6.js → chunk-QJVC3SRJ.js} +11 -11
- package/static/{chunk-VBTZDHZ3.js → chunk-QKN6LAAA.js} +1 -1
- package/static/{chunk-JRXG43AA.js → chunk-QRFESU5O.js} +2 -2
- package/static/chunk-QVRVFYJH.js +1 -0
- package/static/{chunk-BCN4T5DO.js → chunk-RFJIPIOK.js} +2 -2
- package/static/{chunk-2RWLNKZH.js → chunk-RLL634K4.js} +1 -1
- package/static/{chunk-D5FQ72R4.js → chunk-RS2OFKWP.js} +1 -1
- package/static/{chunk-CN5YVRFT.js → chunk-RWAAC3A4.js} +1 -1
- package/static/{chunk-LWSCODLD.js → chunk-RWCNTCU5.js} +1 -1
- package/static/{chunk-FTFEQDWH.js → chunk-S5Y64DDS.js} +1 -1
- package/static/{chunk-J7474P3L.js → chunk-SLG5KDU6.js} +1 -1
- package/static/chunk-TJ4CVFEL.js +1 -0
- package/static/{chunk-KAUCN24H.js → chunk-TWCGKSYE.js} +1 -1
- package/static/{chunk-PDG7DOEF.js → chunk-UMDRE4S7.js} +1 -1
- package/static/chunk-VRIOLRYR.js +5 -0
- package/static/chunk-VS4O2XDP.js +1 -0
- package/static/{chunk-ZEJLIGAY.js → chunk-VSBFNFOM.js} +1 -1
- package/static/{chunk-XSURUW7C.js → chunk-WN4WXCVK.js} +1 -1
- package/static/{chunk-S44QIK3G.js → chunk-WX7RXW7K.js} +1 -1
- package/static/{chunk-3ZLBVUCX.js → chunk-XC4POKR3.js} +2 -2
- package/static/{chunk-TNCKNU6I.js → chunk-Y4AUYQTG.js} +1 -1
- package/static/{chunk-3MVPXC3U.js → chunk-Y67J3BOL.js} +1 -1
- package/static/{chunk-QTPIEEZW.js → chunk-YMIXHRJQ.js} +1 -7
- package/static/{chunk-VZFZUI6D.js → chunk-ZUNKFAKP.js} +1 -1
- package/static/index.html +3 -3
- package/static/main-QN4UCOC5.js +5 -0
- package/static/{styles-XLLEY5Y3.css → styles-46GLIE7Y.css} +1 -1
- package/server/authentication/constants/auth-ldap.js.map +0 -1
- package/server/authentication/dto/two-fa-verify.dto.js.map +0 -1
- package/server/authentication/guards/auth-two-fa-guard.js.map +0 -1
- package/server/authentication/interfaces/two-fa-setup.interface.js +0 -10
- package/server/authentication/interfaces/two-fa-setup.interface.js.map +0 -1
- package/server/authentication/models/auth-method.js +0 -18
- package/server/authentication/models/auth-method.js.map +0 -1
- package/server/authentication/services/auth-manager.service.js.map +0 -1
- package/server/authentication/services/auth-manager.service.spec.js.map +0 -1
- package/server/authentication/services/auth-methods/auth-method-database.service.js.map +0 -1
- package/server/authentication/services/auth-methods/auth-method-database.service.spec.js.map +0 -1
- package/server/authentication/services/auth-methods/auth-method-ldap.service.js +0 -326
- package/server/authentication/services/auth-methods/auth-method-ldap.service.js.map +0 -1
- package/server/authentication/services/auth-methods/auth-method-ldap.service.spec.js +0 -534
- package/server/authentication/services/auth-methods/auth-method-ldap.service.spec.js.map +0 -1
- package/server/authentication/services/auth-methods/auth-method-two-fa.service.js.map +0 -1
- package/server/authentication/services/auth-methods/auth-method-two-fa.service.spec.js.map +0 -1
- package/static/chunk-2YQ4SX3A.js +0 -13
- package/static/chunk-46TJLPJY.js +0 -1
- package/static/chunk-6OEOADR6.js +0 -1
- package/static/chunk-AALPWGPB.js +0 -3
- package/static/chunk-CVXLHSO5.js +0 -1
- package/static/chunk-G7RZN7HN.js +0 -1
- package/static/chunk-LTJNLOX2.js +0 -1
- package/static/chunk-NIKNG2FX.js +0 -1
- package/static/chunk-NNZWSNAW.js +0 -1
- package/static/chunk-NWKBB7J4.js +0 -1
- package/static/chunk-PVYVY3GD.js +0 -1
- package/static/chunk-Q5X5TPAG.js +0 -1
- package/static/chunk-R4VMWCM5.js +0 -1
- package/static/chunk-SNOOCDJD.js +0 -1
- package/static/chunk-SPQH3ATC.js +0 -5
- package/static/chunk-ZCSHU3D7.js +0 -1
- package/static/chunk-ZU5MQTFN.js +0 -4
- package/static/main-5O3KLGIR.js +0 -11
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../backend/src/applications/spaces/spaces.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 {\n Body,\n Controller,\n DefaultValuePipe,\n Delete,\n Get,\n HttpException,\n HttpStatus,\n Param,\n ParseArrayPipe,\n ParseBoolPipe,\n ParseIntPipe,\n Post,\n Put,\n Query,\n Search,\n UseGuards,\n UseInterceptors\n} from '@nestjs/common'\nimport { ContextInterceptor } from '../../infrastructure/context/interceptors/context.interceptor'\nimport { FileTree } from '../files/interfaces/file-tree.interface'\nimport { FileError } from '../files/models/file-error'\nimport { checkExternalPath } from '../files/utils/files'\nimport { convertToFilesTree, convertToSpacesTree } from '../files/utils/files-tree'\nimport { CreateOrUpdateShareDto } from '../shares/dto/create-or-update-share.dto'\nimport { ShareLink } from '../shares/interfaces/share-link.interface'\nimport { ShareProps } from '../shares/interfaces/share-props.interface'\nimport { ShareChild } from '../shares/models/share-child.model'\nimport { USER_PERMISSION, USER_ROLE } from '../users/constants/user'\nimport { UserHavePermission } from '../users/decorators/permissions.decorator'\nimport { UserHaveRole } from '../users/decorators/roles.decorator'\nimport { GetUser } from '../users/decorators/user.decorator'\nimport { UserPermissionsGuard } from '../users/guards/permissions.guard'\nimport { UserRolesGuard } from '../users/guards/roles.guard'\nimport { UserModel } from '../users/models/user.model'\nimport { SPACES_BASE_ROUTE, SPACES_ROUTE } from './constants/routes'\nimport { GetSpace } from './decorators/space.decorator'\nimport { CreateOrUpdateSpaceDto } from './dto/create-or-update-space.dto'\nimport { DeleteSpaceDto } from './dto/delete-space.dto'\nimport { SearchSpaceDto } from './dto/search-space.dto'\nimport { CheckRootExternalPathDto, SpaceRootDto } from './dto/space-roots.dto'\nimport { SpaceGuard } from './guards/space.guard'\nimport { SpaceFiles } from './interfaces/space-files.interface'\nimport { SpaceTrash } from './interfaces/space-trash.interface'\nimport { SpaceEnv } from './models/space-env.model'\nimport { SpaceProps } from './models/space-props.model'\nimport { SpacesBrowser } from './services/spaces-browser.service'\nimport { SpacesManager } from './services/spaces-manager.service'\n\n@Controller(SPACES_ROUTE.BASE)\n@UserHaveRole(USER_ROLE.USER)\n@UserHavePermission(USER_PERMISSION.SPACES)\n@UseGuards(UserRolesGuard, UserPermissionsGuard)\n@UseInterceptors(ContextInterceptor)\nexport class SpacesController {\n constructor(\n private readonly spacesManager: SpacesManager,\n private readonly spacesBrowser: SpacesBrowser\n ) {}\n\n @Get(`${SPACES_ROUTE.BROWSE}/*`)\n @UserHaveRole() // override: all roles\n @UserHavePermission() // override: checked in space guard\n @UseGuards(SpaceGuard)\n async browseSpace(@GetUser() user: UserModel, @GetSpace() space: SpaceEnv): Promise<SpaceFiles> {\n return this.spacesBrowser.browse(user, space, { withLocks: true, withSpacesAndShares: true, withSyncs: true, withHasComments: true })\n }\n\n @Get(`${SPACES_ROUTE.TREE}/${SPACES_BASE_ROUTE}`)\n @UserHaveRole() // override: all roles\n async treeSpaces(@GetUser() user: UserModel): Promise<FileTree[]> {\n const spaces = await this.spacesManager.listSpacesWithPermissions(user)\n return convertToSpacesTree(spaces)\n }\n\n @Get(`${SPACES_ROUTE.TREE}/*`)\n @UserHaveRole() // override: all roles\n @UserHavePermission() // override: checked in space guard\n @UseGuards(SpaceGuard)\n async treeFiles(\n @GetUser() user: UserModel,\n @GetSpace() space: SpaceEnv,\n @Query('showFiles', new DefaultValuePipe(false), ParseBoolPipe) showFiles?: boolean\n ): Promise<FileTree[]> {\n const spaceFiles = await this.spacesBrowser.browse(user, space)\n return convertToFilesTree(space, spaceFiles.files, !showFiles)\n }\n\n @Get(SPACES_ROUTE.LIST)\n @UserHaveRole() // override: all roles\n listSpaces(@GetUser() user: UserModel): Promise<SpaceProps[]> {\n return this.spacesManager.spacesWithDetails(user.id)\n }\n\n @UserHavePermission([USER_PERMISSION.PERSONAL_SPACE, USER_PERMISSION.SPACES])\n @Get(`${SPACES_ROUTE.TRASH}/${SPACES_ROUTE.LIST}`)\n listTrashes(@GetUser() user: UserModel): Promise<SpaceTrash[]> {\n return this.spacesManager.listTrashes(user)\n }\n\n /* MANAGE SPACES */\n\n @Search()\n searchSpaces(@GetUser() user: UserModel, @Body() searchSpaceDto: SearchSpaceDto): Promise<SpaceProps[]> {\n return this.spacesManager.searchSpaces(user.id, searchSpaceDto)\n }\n\n @Get(':id')\n getSpace(@GetUser() user: UserModel, @Param('id', ParseIntPipe) spaceId: number): Promise<SpaceProps> {\n return this.spacesManager.getSpace(user, spaceId)\n }\n\n @Post()\n @UserHavePermission(USER_PERMISSION.SPACES_ADMIN)\n createSpace(@GetUser() user: UserModel, @Body() createOrUpdateSpaceDto: CreateOrUpdateSpaceDto): Promise<SpaceProps> {\n return this.spacesManager.createSpace(user, createOrUpdateSpaceDto)\n }\n\n @Put(':id')\n // can be used by space managers\n updateSpace(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Body() createOrUpdateSpaceDto: CreateOrUpdateSpaceDto\n ): Promise<SpaceProps> {\n return this.spacesManager.updateSpace(user, spaceId, createOrUpdateSpaceDto)\n }\n\n @Delete(':id')\n // can be used by space managers\n deleteSpace(@GetUser() user: UserModel, @Param('id', ParseIntPipe) spaceId: number, @Body() deleteSpaceDto?: DeleteSpaceDto) {\n return this.spacesManager.deleteSpace(user, spaceId, deleteSpaceDto)\n }\n\n /* MANAGE SPACE ROOTS */\n\n @Get(`:id/${SPACES_ROUTE.ROOTS}`)\n getUserRoots(@GetUser() user: UserModel, @Param('id', ParseIntPipe) spaceId: number): Promise<SpaceRootDto[]> {\n return this.spacesManager.getUserRoots(user, spaceId)\n }\n\n @Post(`:id/${SPACES_ROUTE.ROOTS}`)\n createUserRoots(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Body(new ParseArrayPipe({ items: SpaceRootDto, whitelist: true })) roots: SpaceRootDto[]\n ): Promise<SpaceRootDto[]> {\n return this.spacesManager.updateUserRoots(user, spaceId, roots, true)\n }\n\n @Put(`:id/${SPACES_ROUTE.ROOTS}`)\n updateUserRoots(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Body(new ParseArrayPipe({ items: SpaceRootDto, whitelist: true })) roots: SpaceRootDto[]\n ): Promise<SpaceRootDto[]> {\n return this.spacesManager.updateUserRoots(user, spaceId, roots)\n }\n\n // Check admin root external path\n @Post(SPACES_ROUTE.ROOT_CHECK)\n @UserHavePermission(USER_PERMISSION.SPACES_ADMIN)\n @UserHaveRole(USER_ROLE.ADMINISTRATOR)\n async checkRootExternalPath(@Body() checkRootExternalPathDto: CheckRootExternalPathDto) {\n /* reserved to admins */\n try {\n await checkExternalPath(checkRootExternalPathDto.path)\n } catch (e: any) {\n if (e instanceof FileError) {\n throw new HttpException(e.message, e.httpCode)\n } else {\n throw new HttpException(e.message, HttpStatus.INTERNAL_SERVER_ERROR)\n }\n }\n }\n\n /* MANAGE SPACE SHARES */\n\n @Get(`:id/${SPACES_ROUTE.SHARES}`)\n listSpaceShares(@GetUser() user: UserModel, @Param('id', ParseIntPipe) spaceId: number): Promise<ShareChild[]> {\n return this.spacesManager.listSpaceShares(user, spaceId)\n }\n\n @Get(`:id/${SPACES_ROUTE.SHARES}/:sid`)\n getSpaceShare(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Param('sid', ParseIntPipe) shareId: number\n ): Promise<ShareProps> {\n return this.spacesManager.getSpaceShare(user, spaceId, shareId)\n }\n\n @Put(`:id/${SPACES_ROUTE.SHARES}/:sid`)\n updateSpaceShare(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Param('sid', ParseIntPipe) shareId: number,\n @Body() createOrUpdateShareDto: CreateOrUpdateShareDto\n ): Promise<ShareProps> {\n return this.spacesManager.updateSpaceShare(user, spaceId, shareId, createOrUpdateShareDto)\n }\n\n @Delete(`:id/${SPACES_ROUTE.SHARES}/:sid`)\n deleteSpaceShare(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Param('sid', ParseIntPipe) shareId: number\n ): Promise<void> {\n return this.spacesManager.deleteSpaceShare(user, spaceId, shareId)\n }\n\n @Get(`:id/${SPACES_ROUTE.LINKS}/:sid`)\n getSpaceShareLink(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Param('sid', ParseIntPipe) shareId: number\n ): Promise<ShareLink> {\n return this.spacesManager.getSpaceShareLink(user, spaceId, shareId)\n }\n}\n"],"names":["SpacesController","browseSpace","user","space","spacesBrowser","browse","withLocks","withSpacesAndShares","withSyncs","withHasComments","treeSpaces","spaces","spacesManager","listSpacesWithPermissions","convertToSpacesTree","treeFiles","showFiles","spaceFiles","convertToFilesTree","files","listSpaces","spacesWithDetails","id","listTrashes","searchSpaces","searchSpaceDto","getSpace","spaceId","createSpace","createOrUpdateSpaceDto","updateSpace","deleteSpace","deleteSpaceDto","getUserRoots","createUserRoots","roots","updateUserRoots","checkRootExternalPath","checkRootExternalPathDto","checkExternalPath","path","e","FileError","HttpException","message","httpCode","HttpStatus","INTERNAL_SERVER_ERROR","listSpaceShares","getSpaceShare","shareId","updateSpaceShare","createOrUpdateShareDto","deleteSpaceShare","getSpaceShareLink","SPACES_ROUTE","BROWSE","TREE","SPACES_BASE_ROUTE","DefaultValuePipe","LIST","USER_PERMISSION","PERSONAL_SPACE","SPACES","TRASH","SPACES_ADMIN","ROOTS","ParseArrayPipe","items","SpaceRootDto","whitelist","ROOT_CHECK","ADMINISTRATOR","SHARES","LINKS","BASE","USER"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../backend/src/applications/spaces/spaces.controller.ts"],"sourcesContent":["import {\n Body,\n Controller,\n DefaultValuePipe,\n Delete,\n Get,\n HttpException,\n HttpStatus,\n Param,\n ParseArrayPipe,\n ParseBoolPipe,\n ParseIntPipe,\n Post,\n Put,\n Query,\n Search,\n UseGuards,\n UseInterceptors\n} from '@nestjs/common'\nimport { ContextInterceptor } from '../../infrastructure/context/interceptors/context.interceptor'\nimport { FileTree } from '../files/interfaces/file-tree.interface'\nimport { FileError } from '../files/models/file-error'\nimport { checkExternalPath } from '../files/utils/files'\nimport { convertToFilesTree, convertToSpacesTree } from '../files/utils/files-tree'\nimport { CreateOrUpdateShareDto } from '../shares/dto/create-or-update-share.dto'\nimport { ShareLink } from '../shares/interfaces/share-link.interface'\nimport { ShareProps } from '../shares/interfaces/share-props.interface'\nimport { ShareChild } from '../shares/models/share-child.model'\nimport { USER_PERMISSION, USER_ROLE } from '../users/constants/user'\nimport { UserHavePermission } from '../users/decorators/permissions.decorator'\nimport { UserHaveRole } from '../users/decorators/roles.decorator'\nimport { GetUser } from '../users/decorators/user.decorator'\nimport { UserPermissionsGuard } from '../users/guards/permissions.guard'\nimport { UserRolesGuard } from '../users/guards/roles.guard'\nimport { UserModel } from '../users/models/user.model'\nimport { SPACES_BASE_ROUTE, SPACES_ROUTE } from './constants/routes'\nimport { GetSpace } from './decorators/space.decorator'\nimport { CreateOrUpdateSpaceDto } from './dto/create-or-update-space.dto'\nimport { DeleteSpaceDto } from './dto/delete-space.dto'\nimport { SearchSpaceDto } from './dto/search-space.dto'\nimport { CheckRootExternalPathDto, SpaceRootDto } from './dto/space-roots.dto'\nimport { SpaceGuard } from './guards/space.guard'\nimport { SpaceFiles } from './interfaces/space-files.interface'\nimport { SpaceTrash } from './interfaces/space-trash.interface'\nimport { SpaceEnv } from './models/space-env.model'\nimport { SpaceProps } from './models/space-props.model'\nimport { SpacesBrowser } from './services/spaces-browser.service'\nimport { SpacesManager } from './services/spaces-manager.service'\n\n@Controller(SPACES_ROUTE.BASE)\n@UserHaveRole(USER_ROLE.USER)\n@UserHavePermission(USER_PERMISSION.SPACES)\n@UseGuards(UserRolesGuard, UserPermissionsGuard)\n@UseInterceptors(ContextInterceptor)\nexport class SpacesController {\n constructor(\n private readonly spacesManager: SpacesManager,\n private readonly spacesBrowser: SpacesBrowser\n ) {}\n\n @Get(`${SPACES_ROUTE.BROWSE}/*`)\n @UserHaveRole() // override: all roles\n @UserHavePermission() // override: checked in space guard\n @UseGuards(SpaceGuard)\n async browseSpace(@GetUser() user: UserModel, @GetSpace() space: SpaceEnv): Promise<SpaceFiles> {\n return this.spacesBrowser.browse(user, space, { withLocks: true, withSpacesAndShares: true, withSyncs: true, withHasComments: true })\n }\n\n @Get(`${SPACES_ROUTE.TREE}/${SPACES_BASE_ROUTE}`)\n @UserHaveRole() // override: all roles\n async treeSpaces(@GetUser() user: UserModel): Promise<FileTree[]> {\n const spaces = await this.spacesManager.listSpacesWithPermissions(user)\n return convertToSpacesTree(spaces)\n }\n\n @Get(`${SPACES_ROUTE.TREE}/*`)\n @UserHaveRole() // override: all roles\n @UserHavePermission() // override: checked in space guard\n @UseGuards(SpaceGuard)\n async treeFiles(\n @GetUser() user: UserModel,\n @GetSpace() space: SpaceEnv,\n @Query('showFiles', new DefaultValuePipe(false), ParseBoolPipe) showFiles?: boolean\n ): Promise<FileTree[]> {\n const spaceFiles = await this.spacesBrowser.browse(user, space)\n return convertToFilesTree(space, spaceFiles.files, !showFiles)\n }\n\n @Get(SPACES_ROUTE.LIST)\n @UserHaveRole() // override: all roles\n listSpaces(@GetUser() user: UserModel): Promise<SpaceProps[]> {\n return this.spacesManager.spacesWithDetails(user.id)\n }\n\n @UserHavePermission([USER_PERMISSION.PERSONAL_SPACE, USER_PERMISSION.SPACES])\n @Get(`${SPACES_ROUTE.TRASH}/${SPACES_ROUTE.LIST}`)\n listTrashes(@GetUser() user: UserModel): Promise<SpaceTrash[]> {\n return this.spacesManager.listTrashes(user)\n }\n\n /* MANAGE SPACES */\n\n @Search()\n searchSpaces(@GetUser() user: UserModel, @Body() searchSpaceDto: SearchSpaceDto): Promise<SpaceProps[]> {\n return this.spacesManager.searchSpaces(user.id, searchSpaceDto)\n }\n\n @Get(':id')\n getSpace(@GetUser() user: UserModel, @Param('id', ParseIntPipe) spaceId: number): Promise<SpaceProps> {\n return this.spacesManager.getSpace(user, spaceId)\n }\n\n @Post()\n @UserHavePermission(USER_PERMISSION.SPACES_ADMIN)\n createSpace(@GetUser() user: UserModel, @Body() createOrUpdateSpaceDto: CreateOrUpdateSpaceDto): Promise<SpaceProps> {\n return this.spacesManager.createSpace(user, createOrUpdateSpaceDto)\n }\n\n @Put(':id')\n // can be used by space managers\n updateSpace(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Body() createOrUpdateSpaceDto: CreateOrUpdateSpaceDto\n ): Promise<SpaceProps> {\n return this.spacesManager.updateSpace(user, spaceId, createOrUpdateSpaceDto)\n }\n\n @Delete(':id')\n // can be used by space managers\n deleteSpace(@GetUser() user: UserModel, @Param('id', ParseIntPipe) spaceId: number, @Body() deleteSpaceDto?: DeleteSpaceDto) {\n return this.spacesManager.deleteSpace(user, spaceId, deleteSpaceDto)\n }\n\n /* MANAGE SPACE ROOTS */\n\n @Get(`:id/${SPACES_ROUTE.ROOTS}`)\n getUserRoots(@GetUser() user: UserModel, @Param('id', ParseIntPipe) spaceId: number): Promise<SpaceRootDto[]> {\n return this.spacesManager.getUserRoots(user, spaceId)\n }\n\n @Post(`:id/${SPACES_ROUTE.ROOTS}`)\n createUserRoots(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Body(new ParseArrayPipe({ items: SpaceRootDto, whitelist: true })) roots: SpaceRootDto[]\n ): Promise<SpaceRootDto[]> {\n return this.spacesManager.updateUserRoots(user, spaceId, roots, true)\n }\n\n @Put(`:id/${SPACES_ROUTE.ROOTS}`)\n updateUserRoots(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Body(new ParseArrayPipe({ items: SpaceRootDto, whitelist: true })) roots: SpaceRootDto[]\n ): Promise<SpaceRootDto[]> {\n return this.spacesManager.updateUserRoots(user, spaceId, roots)\n }\n\n // Check admin root external path\n @Post(SPACES_ROUTE.ROOT_CHECK)\n @UserHavePermission(USER_PERMISSION.SPACES_ADMIN)\n @UserHaveRole(USER_ROLE.ADMINISTRATOR)\n async checkRootExternalPath(@Body() checkRootExternalPathDto: CheckRootExternalPathDto) {\n /* reserved to admins */\n try {\n await checkExternalPath(checkRootExternalPathDto.path)\n } catch (e: any) {\n if (e instanceof FileError) {\n throw new HttpException(e.message, e.httpCode)\n } else {\n throw new HttpException(e.message, HttpStatus.INTERNAL_SERVER_ERROR)\n }\n }\n }\n\n /* MANAGE SPACE SHARES */\n\n @Get(`:id/${SPACES_ROUTE.SHARES}`)\n listSpaceShares(@GetUser() user: UserModel, @Param('id', ParseIntPipe) spaceId: number): Promise<ShareChild[]> {\n return this.spacesManager.listSpaceShares(user, spaceId)\n }\n\n @Get(`:id/${SPACES_ROUTE.SHARES}/:sid`)\n getSpaceShare(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Param('sid', ParseIntPipe) shareId: number\n ): Promise<ShareProps> {\n return this.spacesManager.getSpaceShare(user, spaceId, shareId)\n }\n\n @Put(`:id/${SPACES_ROUTE.SHARES}/:sid`)\n updateSpaceShare(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Param('sid', ParseIntPipe) shareId: number,\n @Body() createOrUpdateShareDto: CreateOrUpdateShareDto\n ): Promise<ShareProps> {\n return this.spacesManager.updateSpaceShare(user, spaceId, shareId, createOrUpdateShareDto)\n }\n\n @Delete(`:id/${SPACES_ROUTE.SHARES}/:sid`)\n deleteSpaceShare(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Param('sid', ParseIntPipe) shareId: number\n ): Promise<void> {\n return this.spacesManager.deleteSpaceShare(user, spaceId, shareId)\n }\n\n @Get(`:id/${SPACES_ROUTE.LINKS}/:sid`)\n getSpaceShareLink(\n @GetUser() user: UserModel,\n @Param('id', ParseIntPipe) spaceId: number,\n @Param('sid', ParseIntPipe) shareId: number\n ): Promise<ShareLink> {\n return this.spacesManager.getSpaceShareLink(user, spaceId, shareId)\n }\n}\n"],"names":["SpacesController","browseSpace","user","space","spacesBrowser","browse","withLocks","withSpacesAndShares","withSyncs","withHasComments","treeSpaces","spaces","spacesManager","listSpacesWithPermissions","convertToSpacesTree","treeFiles","showFiles","spaceFiles","convertToFilesTree","files","listSpaces","spacesWithDetails","id","listTrashes","searchSpaces","searchSpaceDto","getSpace","spaceId","createSpace","createOrUpdateSpaceDto","updateSpace","deleteSpace","deleteSpaceDto","getUserRoots","createUserRoots","roots","updateUserRoots","checkRootExternalPath","checkRootExternalPathDto","checkExternalPath","path","e","FileError","HttpException","message","httpCode","HttpStatus","INTERNAL_SERVER_ERROR","listSpaceShares","getSpaceShare","shareId","updateSpaceShare","createOrUpdateShareDto","deleteSpaceShare","getSpaceShareLink","SPACES_ROUTE","BROWSE","TREE","SPACES_BASE_ROUTE","DefaultValuePipe","LIST","USER_PERMISSION","PERSONAL_SPACE","SPACES","TRASH","SPACES_ADMIN","ROOTS","ParseArrayPipe","items","SpaceRootDto","whitelist","ROOT_CHECK","ADMINISTRATOR","SHARES","LINKS","BASE","USER"],"mappings":"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"}
|
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../backend/src/applications/spaces/spaces.controller.spec.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../backend/src/applications/spaces/spaces.controller.spec.ts"],"sourcesContent":["import { Test, TestingModule } from '@nestjs/testing'\nimport { Cache } from '../../infrastructure/cache/services/cache.service'\nimport { ContextManager } from '../../infrastructure/context/services/context-manager.service'\nimport { DB_TOKEN_PROVIDER } from '../../infrastructure/database/constants'\nimport { FilesLockManager } from '../files/services/files-lock-manager.service'\nimport { FilesQueries } from '../files/services/files-queries.service'\nimport { FilesRecents } from '../files/services/files-recents.service'\nimport { LinksQueries } from '../links/services/links-queries.service'\nimport { NotificationsManager } from '../notifications/services/notifications-manager.service'\nimport { SharesManager } from '../shares/services/shares-manager.service'\nimport { SharesQueries } from '../shares/services/shares-queries.service'\nimport { UsersQueries } from '../users/services/users-queries.service'\nimport { SpacesBrowser } from './services/spaces-browser.service'\nimport { SpacesManager } from './services/spaces-manager.service'\nimport { SpacesQueries } from './services/spaces-queries.service'\nimport { SpacesController } from './spaces.controller'\n\ndescribe(SpacesController.name, () => {\n let spacesController: SpacesController\n\n beforeAll(async () => {\n const module: TestingModule = await Test.createTestingModule({\n controllers: [SpacesController],\n providers: [\n { provide: DB_TOKEN_PROVIDER, useValue: {} },\n {\n provide: NotificationsManager,\n useValue: {}\n },\n {\n provide: Cache,\n useValue: {}\n },\n ContextManager,\n SpacesManager,\n SpacesQueries,\n SpacesBrowser,\n SharesManager,\n SharesQueries,\n FilesQueries,\n FilesLockManager,\n UsersQueries,\n LinksQueries,\n FilesRecents\n ]\n }).compile()\n\n spacesController = module.get<SpacesController>(SpacesController)\n })\n\n it('should be defined', () => {\n expect(spacesController).toBeDefined()\n })\n})\n"],"names":["describe","SpacesController","name","spacesController","beforeAll","module","Test","createTestingModule","controllers","providers","provide","DB_TOKEN_PROVIDER","useValue","NotificationsManager","Cache","ContextManager","SpacesManager","SpacesQueries","SpacesBrowser","SharesManager","SharesQueries","FilesQueries","FilesLockManager","UsersQueries","LinksQueries","FilesRecents","compile","get","it","expect","toBeDefined"],"mappings":";;;;yBAAoC;8BACd;uCACS;2BACG;yCACD;qCACJ;qCACA;qCACA;6CACQ;sCACP;sCACA;qCACD;sCACC;sCACA;sCACA;kCACG;AAEjCA,SAASC,kCAAgB,CAACC,IAAI,EAAE;IAC9B,IAAIC;IAEJC,UAAU;QACR,MAAMC,SAAwB,MAAMC,aAAI,CAACC,mBAAmB,CAAC;YAC3DC,aAAa;gBAACP,kCAAgB;aAAC;YAC/BQ,WAAW;gBACT;oBAAEC,SAASC,4BAAiB;oBAAEC,UAAU,CAAC;gBAAE;gBAC3C;oBACEF,SAASG,iDAAoB;oBAC7BD,UAAU,CAAC;gBACb;gBACA;oBACEF,SAASI,mBAAK;oBACdF,UAAU,CAAC;gBACb;gBACAG,qCAAc;gBACdC,mCAAa;gBACbC,mCAAa;gBACbC,mCAAa;gBACbC,mCAAa;gBACbC,mCAAa;gBACbC,iCAAY;gBACZC,yCAAgB;gBAChBC,iCAAY;gBACZC,iCAAY;gBACZC,iCAAY;aACb;QACH,GAAGC,OAAO;QAEVvB,mBAAmBE,OAAOsB,GAAG,CAAmB1B,kCAAgB;IAClE;IAEA2B,GAAG,qBAAqB;QACtBC,OAAO1B,kBAAkB2B,WAAW;IACtC;AACF"}
|
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../backend/src/applications/spaces/spaces.module.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../backend/src/applications/spaces/spaces.module.ts"],"sourcesContent":["import { Module } from '@nestjs/common'\nimport { SpaceGuard } from './guards/space.guard'\nimport { SpacesBrowser } from './services/spaces-browser.service'\nimport { SpacesManager } from './services/spaces-manager.service'\nimport { SpacesQueries } from './services/spaces-queries.service'\nimport { SpacesScheduler } from './services/spaces-scheduler.service'\nimport { SpacesController } from './spaces.controller'\n\n@Module({\n controllers: [SpacesController],\n providers: [SpaceGuard, SpacesManager, SpacesBrowser, SpacesQueries, SpacesScheduler],\n exports: [SpaceGuard, SpacesManager, SpacesBrowser, SpacesQueries]\n})\nexport class SpacesModule {}\n"],"names":["SpacesModule","controllers","SpacesController","providers","SpaceGuard","SpacesManager","SpacesBrowser","SpacesQueries","SpacesScheduler","exports"],"mappings":";;;;+BAaaA;;;eAAAA;;;wBAbU;4BACI;sCACG;sCACA;sCACA;wCACE;kCACC;;;;;;;AAO1B,IAAA,AAAMA,eAAN,MAAMA;AAAc;;;QAJzBC,aAAa;YAACC,kCAAgB;SAAC;QAC/BC,WAAW;YAACC,sBAAU;YAAEC,mCAAa;YAAEC,mCAAa;YAAEC,mCAAa;YAAEC,uCAAe;SAAC;QACrFC,SAAS;YAACL,sBAAU;YAAEC,mCAAa;YAAEC,mCAAa;YAAEC,mCAAa;SAAC"}
|
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../backend/src/applications/spaces/utils/paths.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 { HttpStatus } from '@nestjs/common'\nimport fs from 'fs/promises'\nimport path from 'node:path'\nimport { FileDBProps } from '../../files/interfaces/file-db-props.interface'\nimport { FileProps } from '../../files/interfaces/file-props.interface'\nimport { FileError } from '../../files/models/file-error'\nimport { UserModel } from '../../users/models/user.model'\nimport { CACHE_QUOTA_SHARE_PREFIX, CACHE_QUOTA_SPACE_PREFIX, CACHE_QUOTA_USER_PREFIX } from '../constants/cache'\nimport { SPACE_REPOSITORY } from '../constants/spaces'\nimport { SpaceEnv } from '../models/space-env.model'\nimport { SpaceModel } from '../models/space.model'\n\nexport async function IsRealPathIsDirAndExists(rPath: string) {\n try {\n const stats = await fs.stat(rPath)\n if (!stats.isDirectory()) {\n throw new FileError(HttpStatus.BAD_REQUEST, 'Location is not a directory')\n }\n } catch (e) {\n if (e instanceof FileError) {\n throw new FileError(e.httpCode, e.message)\n }\n if (e.code === 'ENOENT') {\n throw new FileError(HttpStatus.NOT_FOUND, 'Location not found')\n }\n throw new FileError(HttpStatus.BAD_REQUEST, e.message)\n }\n}\n\nexport function realPathFromSpace(user: UserModel, space: SpaceEnv, withBasePath: true): string[]\nexport function realPathFromSpace(user: UserModel, space: SpaceEnv, withBasePath?: false): string\nexport function realPathFromSpace(user: UserModel, space: SpaceEnv, withBasePath: boolean = false): string | string[] {\n let bPath: string\n let fPath: string[]\n if (space.inPersonalSpace) {\n // personal user space (ignore root alias)\n bPath = UserModel.getRepositoryPath(user.login, space.inTrashRepository)\n fPath = space.paths\n } else if (space.root?.externalPath) {\n // external path from space or share\n bPath = space.root.externalPath\n if (space.inSharesRepository && space.root.file?.path) {\n // child share with an external path and file.id\n fPath = [...space.root.file.path.split('/'), ...space.paths]\n } else {\n fPath = space.paths\n }\n } else if (space.root.file?.path && space.root.owner?.login) {\n // space root linked to a file in a personal space\n bPath = path.join(UserModel.getRepositoryPath(space.root.owner.login, space.root.file.inTrash), space.root.file.path)\n fPath = space.paths\n } else if (space.root.file?.space?.id) {\n // share case\n if (space.root.file.root?.id) {\n // share linked to a file in a root space with an external path or directly to the root space\n bPath = path.join(space.root.file.root.externalPath, space.root.file.path || '')\n } else {\n // share linked to a file in a space\n bPath = path.join(SpaceModel.getRepositoryPath(space.root.file.space.alias, space.root.file.inTrash), space.root.file.path || '')\n }\n fPath = space.paths\n } else if (space.alias) {\n // space files (no root)\n bPath = SpaceModel.getRepositoryPath(space.alias, space.inTrashRepository)\n fPath = [space.root.alias, ...space.paths]\n } else {\n throw new FileError(HttpStatus.NOT_FOUND, 'Space root not found')\n }\n const rPath = path.resolve(bPath, ...fPath)\n // prevent path traversal\n if (!rPath.startsWith(bPath)) {\n throw new FileError(HttpStatus.FORBIDDEN, 'Location is not allowed')\n }\n return withBasePath ? [bPath, rPath] : rPath\n}\n\nexport function realTrashPathFromSpace(user: UserModel, space: SpaceEnv) {\n if (space.inPersonalSpace) {\n // personal user space\n return UserModel.getTrashPath(user.login)\n } else if (space.root?.externalPath) {\n // external path from space or share\n // space case: use the space trash\n if (space.root.file?.space?.alias) {\n return SpaceModel.getTrashPath(space.root.file.space.alias)\n } else if (space.inFilesRepository && !space.inSharesRepository) {\n return SpaceModel.getTrashPath(space.alias)\n }\n // share case: use the user's trash because this type of share has no owner\n return UserModel.getTrashPath(user.login)\n } else if (space.root?.file?.path && space.root.owner?.login) {\n // space root is linked to a file in a personal space\n return UserModel.getTrashPath(space.root.owner.login)\n } else if (space.root?.file?.space?.id) {\n // share linked to a space (with an external path or not)\n return SpaceModel.getTrashPath(space.root.file.space.alias)\n } else if (space.alias) {\n // space files (no root)\n return SpaceModel.getTrashPath(space.alias)\n }\n return null\n}\n\nexport function realPathFromRootFile(f: FileProps): string {\n // get realpath\n if (f.origin) {\n // share case (the order of the tests is important)\n if (f.origin.ownerLogin) {\n return path.join(UserModel.getRepositoryPath(f.origin.ownerLogin, f.inTrash), f.path)\n } else if (f.root.externalPath) {\n // in case of share child from a share with external path, child share should have an external path and a fileId (file path)\n return path.join(f.root.externalPath, f.path || '')\n } else if (f.origin.spaceRootExternalPath) {\n return path.join(f.origin.spaceRootExternalPath, f.path)\n } else if (f.origin.spaceAlias) {\n return path.join(SpaceModel.getRepositoryPath(f.origin.spaceAlias, f.inTrash), f.path)\n }\n } else {\n // space case\n if (f.root.owner.login) {\n return path.join(UserModel.getRepositoryPath(f.root.owner.login, f.inTrash), f.path)\n } else if (f.root.externalPath) {\n return f.root.externalPath\n }\n }\n return undefined\n}\n\nexport function dbFileFromSpace(userId: number, space: SpaceEnv): FileDBProps {\n const dbFile: FileDBProps = {} as any\n dbFile.inTrash = space.repository === SPACE_REPOSITORY.TRASH\n if (space.inPersonalSpace) {\n // personal user space (ignore root alias)\n dbFile.ownerId = userId\n dbFile.path = path.join(...space.paths)\n dbFile.inTrash = space.inTrashRepository\n } else if (space.root?.externalPath) {\n // external path from space or share\n dbFile.spaceId = space.inSharesRepository ? null : space.id\n dbFile.spaceExternalRootId = space.inSharesRepository ? null : space.root.id\n if (space.inSharesRepository) {\n // in this case space.id is the share.id\n // if the `externalParentShareId` property is defined, it's an external child share that must use the parent id\n dbFile.shareExternalId = space.root?.externalParentShareId ? space.root.externalParentShareId : space.id\n } else {\n dbFile.shareExternalId = null\n }\n if (space.inSharesRepository && space.root.file?.path) {\n // child share with an external path and file.id\n dbFile.path = path.join(space.root.file.path, ...space.paths)\n } else {\n dbFile.path = path.join(...space.paths)\n }\n } else if (space.root.file?.path && space.root.owner?.login) {\n // space root linked to a file in a personal space\n dbFile.ownerId = space.root.owner.id\n dbFile.inTrash = space.root.file.inTrash\n dbFile.path = path.join(space.root.file.path, ...space.paths)\n } else if (space.root.file?.space?.id) {\n // share linked to a file in a space file or an external space root\n dbFile.spaceId = space.root.file.space.id\n dbFile.spaceExternalRootId = space.root.file.root?.id || null\n dbFile.shareExternalId = null\n if (space.root.file.id) {\n dbFile.inTrash = space.root.file.inTrash\n }\n dbFile.path = path.join(space.root.file.path || '', ...space.paths)\n } else if (space.id) {\n // space files (no root)\n dbFile.spaceId = space.id\n dbFile.spaceExternalRootId = null\n dbFile.path = path.join(space.root.alias, ...space.paths)\n dbFile.inTrash = space.inTrashRepository\n } else {\n throw new FileError(HttpStatus.NOT_FOUND, 'Space root not found')\n }\n return dbFile\n}\n\nexport function quotaKeyFromSpace(userId: number, space: SpaceEnv) {\n if (space.inPersonalSpace) {\n // Personal user space\n return `${CACHE_QUOTA_USER_PREFIX}-${userId}`\n } else if (space.root?.externalPath) {\n // External paths used as shares or as space roots share the same quota as their origin\n if (space.inSharesRepository) {\n return `${CACHE_QUOTA_SHARE_PREFIX}-${space.root?.externalParentShareId || space.id}`\n }\n return `${CACHE_QUOTA_SPACE_PREFIX}-${space.id}`\n } else if (space.root.file?.path && space.root.owner?.login) {\n // Space root is linked on a user file\n return `${CACHE_QUOTA_USER_PREFIX}-${space.root.owner.id}`\n } else if (space.root.file?.space?.id) {\n return `${CACHE_QUOTA_SPACE_PREFIX}-${space.root.file.space.id}`\n } else if (space.id) {\n return `${CACHE_QUOTA_SPACE_PREFIX}-${space.id}`\n } else {\n throw new FileError(HttpStatus.NOT_FOUND, 'Space root not found')\n }\n}\n"],"names":["IsRealPathIsDirAndExists","dbFileFromSpace","quotaKeyFromSpace","realPathFromRootFile","realPathFromSpace","realTrashPathFromSpace","rPath","stats","fs","stat","isDirectory","FileError","HttpStatus","BAD_REQUEST","e","httpCode","message","code","NOT_FOUND","user","space","withBasePath","bPath","fPath","inPersonalSpace","UserModel","getRepositoryPath","login","inTrashRepository","paths","root","externalPath","inSharesRepository","file","path","split","owner","join","inTrash","id","SpaceModel","alias","resolve","startsWith","FORBIDDEN","getTrashPath","inFilesRepository","f","origin","ownerLogin","spaceRootExternalPath","spaceAlias","undefined","userId","dbFile","repository","SPACE_REPOSITORY","TRASH","ownerId","spaceId","spaceExternalRootId","shareExternalId","externalParentShareId","CACHE_QUOTA_USER_PREFIX","CACHE_QUOTA_SHARE_PREFIX","CACHE_QUOTA_SPACE_PREFIX"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/spaces/utils/paths.ts"],"sourcesContent":["import { HttpStatus } from '@nestjs/common'\nimport fs from 'fs/promises'\nimport path from 'node:path'\nimport { FileDBProps } from '../../files/interfaces/file-db-props.interface'\nimport { FileProps } from '../../files/interfaces/file-props.interface'\nimport { FileError } from '../../files/models/file-error'\nimport { UserModel } from '../../users/models/user.model'\nimport { CACHE_QUOTA_SHARE_PREFIX, CACHE_QUOTA_SPACE_PREFIX, CACHE_QUOTA_USER_PREFIX } from '../constants/cache'\nimport { SPACE_REPOSITORY } from '../constants/spaces'\nimport { SpaceEnv } from '../models/space-env.model'\nimport { SpaceModel } from '../models/space.model'\n\nexport async function IsRealPathIsDirAndExists(rPath: string) {\n try {\n const stats = await fs.stat(rPath)\n if (!stats.isDirectory()) {\n throw new FileError(HttpStatus.BAD_REQUEST, 'Location is not a directory')\n }\n } catch (e) {\n if (e instanceof FileError) {\n throw new FileError(e.httpCode, e.message)\n }\n if (e.code === 'ENOENT') {\n throw new FileError(HttpStatus.NOT_FOUND, 'Location not found')\n }\n throw new FileError(HttpStatus.BAD_REQUEST, e.message)\n }\n}\n\nexport function realPathFromSpace(user: UserModel, space: SpaceEnv, withBasePath: true): string[]\nexport function realPathFromSpace(user: UserModel, space: SpaceEnv, withBasePath?: false): string\nexport function realPathFromSpace(user: UserModel, space: SpaceEnv, withBasePath: boolean = false): string | string[] {\n let bPath: string\n let fPath: string[]\n if (space.inPersonalSpace) {\n // personal user space (ignore root alias)\n bPath = UserModel.getRepositoryPath(user.login, space.inTrashRepository)\n fPath = space.paths\n } else if (space.root?.externalPath) {\n // external path from space or share\n bPath = space.root.externalPath\n if (space.inSharesRepository && space.root.file?.path) {\n // child share with an external path and file.id\n fPath = [...space.root.file.path.split('/'), ...space.paths]\n } else {\n fPath = space.paths\n }\n } else if (space.root.file?.path && space.root.owner?.login) {\n // space root linked to a file in a personal space\n bPath = path.join(UserModel.getRepositoryPath(space.root.owner.login, space.root.file.inTrash), space.root.file.path)\n fPath = space.paths\n } else if (space.root.file?.space?.id) {\n // share case\n if (space.root.file.root?.id) {\n // share linked to a file in a root space with an external path or directly to the root space\n bPath = path.join(space.root.file.root.externalPath, space.root.file.path || '')\n } else {\n // share linked to a file in a space\n bPath = path.join(SpaceModel.getRepositoryPath(space.root.file.space.alias, space.root.file.inTrash), space.root.file.path || '')\n }\n fPath = space.paths\n } else if (space.alias) {\n // space files (no root)\n bPath = SpaceModel.getRepositoryPath(space.alias, space.inTrashRepository)\n fPath = [space.root.alias, ...space.paths]\n } else {\n throw new FileError(HttpStatus.NOT_FOUND, 'Space root not found')\n }\n const rPath = path.resolve(bPath, ...fPath)\n // prevent path traversal\n if (!rPath.startsWith(bPath)) {\n throw new FileError(HttpStatus.FORBIDDEN, 'Location is not allowed')\n }\n return withBasePath ? [bPath, rPath] : rPath\n}\n\nexport function realTrashPathFromSpace(user: UserModel, space: SpaceEnv) {\n if (space.inPersonalSpace) {\n // personal user space\n return UserModel.getTrashPath(user.login)\n } else if (space.root?.externalPath) {\n // external path from space or share\n // space case: use the space trash\n if (space.root.file?.space?.alias) {\n return SpaceModel.getTrashPath(space.root.file.space.alias)\n } else if (space.inFilesRepository && !space.inSharesRepository) {\n return SpaceModel.getTrashPath(space.alias)\n }\n // share case: use the user's trash because this type of share has no owner\n return UserModel.getTrashPath(user.login)\n } else if (space.root?.file?.path && space.root.owner?.login) {\n // space root is linked to a file in a personal space\n return UserModel.getTrashPath(space.root.owner.login)\n } else if (space.root?.file?.space?.id) {\n // share linked to a space (with an external path or not)\n return SpaceModel.getTrashPath(space.root.file.space.alias)\n } else if (space.alias) {\n // space files (no root)\n return SpaceModel.getTrashPath(space.alias)\n }\n return null\n}\n\nexport function realPathFromRootFile(f: FileProps): string {\n // get realpath\n if (f.origin) {\n // share case (the order of the tests is important)\n if (f.origin.ownerLogin) {\n return path.join(UserModel.getRepositoryPath(f.origin.ownerLogin, f.inTrash), f.path)\n } else if (f.root.externalPath) {\n // in case of share child from a share with external path, child share should have an external path and a fileId (file path)\n return path.join(f.root.externalPath, f.path || '')\n } else if (f.origin.spaceRootExternalPath) {\n return path.join(f.origin.spaceRootExternalPath, f.path)\n } else if (f.origin.spaceAlias) {\n return path.join(SpaceModel.getRepositoryPath(f.origin.spaceAlias, f.inTrash), f.path)\n }\n } else {\n // space case\n if (f.root.owner.login) {\n return path.join(UserModel.getRepositoryPath(f.root.owner.login, f.inTrash), f.path)\n } else if (f.root.externalPath) {\n return f.root.externalPath\n }\n }\n return undefined\n}\n\nexport function dbFileFromSpace(userId: number, space: SpaceEnv): FileDBProps {\n const dbFile: FileDBProps = {} as any\n dbFile.inTrash = space.repository === SPACE_REPOSITORY.TRASH\n if (space.inPersonalSpace) {\n // personal user space (ignore root alias)\n dbFile.ownerId = userId\n dbFile.path = path.join(...space.paths)\n dbFile.inTrash = space.inTrashRepository\n } else if (space.root?.externalPath) {\n // external path from space or share\n dbFile.spaceId = space.inSharesRepository ? null : space.id\n dbFile.spaceExternalRootId = space.inSharesRepository ? null : space.root.id\n if (space.inSharesRepository) {\n // in this case space.id is the share.id\n // if the `externalParentShareId` property is defined, it's an external child share that must use the parent id\n dbFile.shareExternalId = space.root?.externalParentShareId ? space.root.externalParentShareId : space.id\n } else {\n dbFile.shareExternalId = null\n }\n if (space.inSharesRepository && space.root.file?.path) {\n // child share with an external path and file.id\n dbFile.path = path.join(space.root.file.path, ...space.paths)\n } else {\n dbFile.path = path.join(...space.paths)\n }\n } else if (space.root.file?.path && space.root.owner?.login) {\n // space root linked to a file in a personal space\n dbFile.ownerId = space.root.owner.id\n dbFile.inTrash = space.root.file.inTrash\n dbFile.path = path.join(space.root.file.path, ...space.paths)\n } else if (space.root.file?.space?.id) {\n // share linked to a file in a space file or an external space root\n dbFile.spaceId = space.root.file.space.id\n dbFile.spaceExternalRootId = space.root.file.root?.id || null\n dbFile.shareExternalId = null\n if (space.root.file.id) {\n dbFile.inTrash = space.root.file.inTrash\n }\n dbFile.path = path.join(space.root.file.path || '', ...space.paths)\n } else if (space.id) {\n // space files (no root)\n dbFile.spaceId = space.id\n dbFile.spaceExternalRootId = null\n dbFile.path = path.join(space.root.alias, ...space.paths)\n dbFile.inTrash = space.inTrashRepository\n } else {\n throw new FileError(HttpStatus.NOT_FOUND, 'Space root not found')\n }\n return dbFile\n}\n\nexport function quotaKeyFromSpace(userId: number, space: SpaceEnv) {\n if (space.inPersonalSpace) {\n // Personal user space\n return `${CACHE_QUOTA_USER_PREFIX}-${userId}`\n } else if (space.root?.externalPath) {\n // External paths used as shares or as space roots share the same quota as their origin\n if (space.inSharesRepository) {\n return `${CACHE_QUOTA_SHARE_PREFIX}-${space.root?.externalParentShareId || space.id}`\n }\n return `${CACHE_QUOTA_SPACE_PREFIX}-${space.id}`\n } else if (space.root.file?.path && space.root.owner?.login) {\n // Space root is linked on a user file\n return `${CACHE_QUOTA_USER_PREFIX}-${space.root.owner.id}`\n } else if (space.root.file?.space?.id) {\n return `${CACHE_QUOTA_SPACE_PREFIX}-${space.root.file.space.id}`\n } else if (space.id) {\n return `${CACHE_QUOTA_SPACE_PREFIX}-${space.id}`\n } else {\n throw new FileError(HttpStatus.NOT_FOUND, 'Space root not found')\n }\n}\n"],"names":["IsRealPathIsDirAndExists","dbFileFromSpace","quotaKeyFromSpace","realPathFromRootFile","realPathFromSpace","realTrashPathFromSpace","rPath","stats","fs","stat","isDirectory","FileError","HttpStatus","BAD_REQUEST","e","httpCode","message","code","NOT_FOUND","user","space","withBasePath","bPath","fPath","inPersonalSpace","UserModel","getRepositoryPath","login","inTrashRepository","paths","root","externalPath","inSharesRepository","file","path","split","owner","join","inTrash","id","SpaceModel","alias","resolve","startsWith","FORBIDDEN","getTrashPath","inFilesRepository","f","origin","ownerLogin","spaceRootExternalPath","spaceAlias","undefined","userId","dbFile","repository","SPACE_REPOSITORY","TRASH","ownerId","spaceId","spaceExternalRootId","shareExternalId","externalParentShareId","CACHE_QUOTA_USER_PREFIX","CACHE_QUOTA_SHARE_PREFIX","CACHE_QUOTA_SPACE_PREFIX"],"mappings":";;;;;;;;;;;QAYsBA;eAAAA;;QAoHNC;eAAAA;;QAmDAC;eAAAA;;QA5EAC;eAAAA;;QAxEAC;eAAAA;;QA6CAC;eAAAA;;;wBA5EW;iEACZ;iEACE;2BAGS;2BACA;uBACkE;wBAC3D;4BAEN;;;;;;AAEpB,eAAeL,yBAAyBM,KAAa;IAC1D,IAAI;QACF,MAAMC,QAAQ,MAAMC,iBAAE,CAACC,IAAI,CAACH;QAC5B,IAAI,CAACC,MAAMG,WAAW,IAAI;YACxB,MAAM,IAAIC,oBAAS,CAACC,kBAAU,CAACC,WAAW,EAAE;QAC9C;IACF,EAAE,OAAOC,GAAG;QACV,IAAIA,aAAaH,oBAAS,EAAE;YAC1B,MAAM,IAAIA,oBAAS,CAACG,EAAEC,QAAQ,EAAED,EAAEE,OAAO;QAC3C;QACA,IAAIF,EAAEG,IAAI,KAAK,UAAU;YACvB,MAAM,IAAIN,oBAAS,CAACC,kBAAU,CAACM,SAAS,EAAE;QAC5C;QACA,MAAM,IAAIP,oBAAS,CAACC,kBAAU,CAACC,WAAW,EAAEC,EAAEE,OAAO;IACvD;AACF;AAIO,SAASZ,kBAAkBe,IAAe,EAAEC,KAAe,EAAEC,eAAwB,KAAK;IAC/F,IAAIC;IACJ,IAAIC;IACJ,IAAIH,MAAMI,eAAe,EAAE;QACzB,0CAA0C;QAC1CF,QAAQG,oBAAS,CAACC,iBAAiB,CAACP,KAAKQ,KAAK,EAAEP,MAAMQ,iBAAiB;QACvEL,QAAQH,MAAMS,KAAK;IACrB,OAAO,IAAIT,MAAMU,IAAI,EAAEC,cAAc;QACnC,oCAAoC;QACpCT,QAAQF,MAAMU,IAAI,CAACC,YAAY;QAC/B,IAAIX,MAAMY,kBAAkB,IAAIZ,MAAMU,IAAI,CAACG,IAAI,EAAEC,MAAM;YACrD,gDAAgD;YAChDX,QAAQ;mBAAIH,MAAMU,IAAI,CAACG,IAAI,CAACC,IAAI,CAACC,KAAK,CAAC;mBAASf,MAAMS,KAAK;aAAC;QAC9D,OAAO;YACLN,QAAQH,MAAMS,KAAK;QACrB;IACF,OAAO,IAAIT,MAAMU,IAAI,CAACG,IAAI,EAAEC,QAAQd,MAAMU,IAAI,CAACM,KAAK,EAAET,OAAO;QAC3D,kDAAkD;QAClDL,QAAQY,iBAAI,CAACG,IAAI,CAACZ,oBAAS,CAACC,iBAAiB,CAACN,MAAMU,IAAI,CAACM,KAAK,CAACT,KAAK,EAAEP,MAAMU,IAAI,CAACG,IAAI,CAACK,OAAO,GAAGlB,MAAMU,IAAI,CAACG,IAAI,CAACC,IAAI;QACpHX,QAAQH,MAAMS,KAAK;IACrB,OAAO,IAAIT,MAAMU,IAAI,CAACG,IAAI,EAAEb,OAAOmB,IAAI;QACrC,aAAa;QACb,IAAInB,MAAMU,IAAI,CAACG,IAAI,CAACH,IAAI,EAAES,IAAI;YAC5B,6FAA6F;YAC7FjB,QAAQY,iBAAI,CAACG,IAAI,CAACjB,MAAMU,IAAI,CAACG,IAAI,CAACH,IAAI,CAACC,YAAY,EAAEX,MAAMU,IAAI,CAACG,IAAI,CAACC,IAAI,IAAI;QAC/E,OAAO;YACL,oCAAoC;YACpCZ,QAAQY,iBAAI,CAACG,IAAI,CAACG,sBAAU,CAACd,iBAAiB,CAACN,MAAMU,IAAI,CAACG,IAAI,CAACb,KAAK,CAACqB,KAAK,EAAErB,MAAMU,IAAI,CAACG,IAAI,CAACK,OAAO,GAAGlB,MAAMU,IAAI,CAACG,IAAI,CAACC,IAAI,IAAI;QAChI;QACAX,QAAQH,MAAMS,KAAK;IACrB,OAAO,IAAIT,MAAMqB,KAAK,EAAE;QACtB,wBAAwB;QACxBnB,QAAQkB,sBAAU,CAACd,iBAAiB,CAACN,MAAMqB,KAAK,EAAErB,MAAMQ,iBAAiB;QACzEL,QAAQ;YAACH,MAAMU,IAAI,CAACW,KAAK;eAAKrB,MAAMS,KAAK;SAAC;IAC5C,OAAO;QACL,MAAM,IAAIlB,oBAAS,CAACC,kBAAU,CAACM,SAAS,EAAE;IAC5C;IACA,MAAMZ,QAAQ4B,iBAAI,CAACQ,OAAO,CAACpB,UAAUC;IACrC,yBAAyB;IACzB,IAAI,CAACjB,MAAMqC,UAAU,CAACrB,QAAQ;QAC5B,MAAM,IAAIX,oBAAS,CAACC,kBAAU,CAACgC,SAAS,EAAE;IAC5C;IACA,OAAOvB,eAAe;QAACC;QAAOhB;KAAM,GAAGA;AACzC;AAEO,SAASD,uBAAuBc,IAAe,EAAEC,KAAe;IACrE,IAAIA,MAAMI,eAAe,EAAE;QACzB,sBAAsB;QACtB,OAAOC,oBAAS,CAACoB,YAAY,CAAC1B,KAAKQ,KAAK;IAC1C,OAAO,IAAIP,MAAMU,IAAI,EAAEC,cAAc;QACnC,oCAAoC;QACpC,kCAAkC;QAClC,IAAIX,MAAMU,IAAI,CAACG,IAAI,EAAEb,OAAOqB,OAAO;YACjC,OAAOD,sBAAU,CAACK,YAAY,CAACzB,MAAMU,IAAI,CAACG,IAAI,CAACb,KAAK,CAACqB,KAAK;QAC5D,OAAO,IAAIrB,MAAM0B,iBAAiB,IAAI,CAAC1B,MAAMY,kBAAkB,EAAE;YAC/D,OAAOQ,sBAAU,CAACK,YAAY,CAACzB,MAAMqB,KAAK;QAC5C;QACA,2EAA2E;QAC3E,OAAOhB,oBAAS,CAACoB,YAAY,CAAC1B,KAAKQ,KAAK;IAC1C,OAAO,IAAIP,MAAMU,IAAI,EAAEG,MAAMC,QAAQd,MAAMU,IAAI,CAACM,KAAK,EAAET,OAAO;QAC5D,qDAAqD;QACrD,OAAOF,oBAAS,CAACoB,YAAY,CAACzB,MAAMU,IAAI,CAACM,KAAK,CAACT,KAAK;IACtD,OAAO,IAAIP,MAAMU,IAAI,EAAEG,MAAMb,OAAOmB,IAAI;QACtC,yDAAyD;QACzD,OAAOC,sBAAU,CAACK,YAAY,CAACzB,MAAMU,IAAI,CAACG,IAAI,CAACb,KAAK,CAACqB,KAAK;IAC5D,OAAO,IAAIrB,MAAMqB,KAAK,EAAE;QACtB,wBAAwB;QACxB,OAAOD,sBAAU,CAACK,YAAY,CAACzB,MAAMqB,KAAK;IAC5C;IACA,OAAO;AACT;AAEO,SAAStC,qBAAqB4C,CAAY;IAC/C,eAAe;IACf,IAAIA,EAAEC,MAAM,EAAE;QACZ,mDAAmD;QACnD,IAAID,EAAEC,MAAM,CAACC,UAAU,EAAE;YACvB,OAAOf,iBAAI,CAACG,IAAI,CAACZ,oBAAS,CAACC,iBAAiB,CAACqB,EAAEC,MAAM,CAACC,UAAU,EAAEF,EAAET,OAAO,GAAGS,EAAEb,IAAI;QACtF,OAAO,IAAIa,EAAEjB,IAAI,CAACC,YAAY,EAAE;YAC9B,4HAA4H;YAC5H,OAAOG,iBAAI,CAACG,IAAI,CAACU,EAAEjB,IAAI,CAACC,YAAY,EAAEgB,EAAEb,IAAI,IAAI;QAClD,OAAO,IAAIa,EAAEC,MAAM,CAACE,qBAAqB,EAAE;YACzC,OAAOhB,iBAAI,CAACG,IAAI,CAACU,EAAEC,MAAM,CAACE,qBAAqB,EAAEH,EAAEb,IAAI;QACzD,OAAO,IAAIa,EAAEC,MAAM,CAACG,UAAU,EAAE;YAC9B,OAAOjB,iBAAI,CAACG,IAAI,CAACG,sBAAU,CAACd,iBAAiB,CAACqB,EAAEC,MAAM,CAACG,UAAU,EAAEJ,EAAET,OAAO,GAAGS,EAAEb,IAAI;QACvF;IACF,OAAO;QACL,aAAa;QACb,IAAIa,EAAEjB,IAAI,CAACM,KAAK,CAACT,KAAK,EAAE;YACtB,OAAOO,iBAAI,CAACG,IAAI,CAACZ,oBAAS,CAACC,iBAAiB,CAACqB,EAAEjB,IAAI,CAACM,KAAK,CAACT,KAAK,EAAEoB,EAAET,OAAO,GAAGS,EAAEb,IAAI;QACrF,OAAO,IAAIa,EAAEjB,IAAI,CAACC,YAAY,EAAE;YAC9B,OAAOgB,EAAEjB,IAAI,CAACC,YAAY;QAC5B;IACF;IACA,OAAOqB;AACT;AAEO,SAASnD,gBAAgBoD,MAAc,EAAEjC,KAAe;IAC7D,MAAMkC,SAAsB,CAAC;IAC7BA,OAAOhB,OAAO,GAAGlB,MAAMmC,UAAU,KAAKC,wBAAgB,CAACC,KAAK;IAC5D,IAAIrC,MAAMI,eAAe,EAAE;QACzB,0CAA0C;QAC1C8B,OAAOI,OAAO,GAAGL;QACjBC,OAAOpB,IAAI,GAAGA,iBAAI,CAACG,IAAI,IAAIjB,MAAMS,KAAK;QACtCyB,OAAOhB,OAAO,GAAGlB,MAAMQ,iBAAiB;IAC1C,OAAO,IAAIR,MAAMU,IAAI,EAAEC,cAAc;QACnC,oCAAoC;QACpCuB,OAAOK,OAAO,GAAGvC,MAAMY,kBAAkB,GAAG,OAAOZ,MAAMmB,EAAE;QAC3De,OAAOM,mBAAmB,GAAGxC,MAAMY,kBAAkB,GAAG,OAAOZ,MAAMU,IAAI,CAACS,EAAE;QAC5E,IAAInB,MAAMY,kBAAkB,EAAE;YAC5B,wCAAwC;YACxC,+GAA+G;YAC/GsB,OAAOO,eAAe,GAAGzC,MAAMU,IAAI,EAAEgC,wBAAwB1C,MAAMU,IAAI,CAACgC,qBAAqB,GAAG1C,MAAMmB,EAAE;QAC1G,OAAO;YACLe,OAAOO,eAAe,GAAG;QAC3B;QACA,IAAIzC,MAAMY,kBAAkB,IAAIZ,MAAMU,IAAI,CAACG,IAAI,EAAEC,MAAM;YACrD,gDAAgD;YAChDoB,OAAOpB,IAAI,GAAGA,iBAAI,CAACG,IAAI,CAACjB,MAAMU,IAAI,CAACG,IAAI,CAACC,IAAI,KAAKd,MAAMS,KAAK;QAC9D,OAAO;YACLyB,OAAOpB,IAAI,GAAGA,iBAAI,CAACG,IAAI,IAAIjB,MAAMS,KAAK;QACxC;IACF,OAAO,IAAIT,MAAMU,IAAI,CAACG,IAAI,EAAEC,QAAQd,MAAMU,IAAI,CAACM,KAAK,EAAET,OAAO;QAC3D,kDAAkD;QAClD2B,OAAOI,OAAO,GAAGtC,MAAMU,IAAI,CAACM,KAAK,CAACG,EAAE;QACpCe,OAAOhB,OAAO,GAAGlB,MAAMU,IAAI,CAACG,IAAI,CAACK,OAAO;QACxCgB,OAAOpB,IAAI,GAAGA,iBAAI,CAACG,IAAI,CAACjB,MAAMU,IAAI,CAACG,IAAI,CAACC,IAAI,KAAKd,MAAMS,KAAK;IAC9D,OAAO,IAAIT,MAAMU,IAAI,CAACG,IAAI,EAAEb,OAAOmB,IAAI;QACrC,mEAAmE;QACnEe,OAAOK,OAAO,GAAGvC,MAAMU,IAAI,CAACG,IAAI,CAACb,KAAK,CAACmB,EAAE;QACzCe,OAAOM,mBAAmB,GAAGxC,MAAMU,IAAI,CAACG,IAAI,CAACH,IAAI,EAAES,MAAM;QACzDe,OAAOO,eAAe,GAAG;QACzB,IAAIzC,MAAMU,IAAI,CAACG,IAAI,CAACM,EAAE,EAAE;YACtBe,OAAOhB,OAAO,GAAGlB,MAAMU,IAAI,CAACG,IAAI,CAACK,OAAO;QAC1C;QACAgB,OAAOpB,IAAI,GAAGA,iBAAI,CAACG,IAAI,CAACjB,MAAMU,IAAI,CAACG,IAAI,CAACC,IAAI,IAAI,OAAOd,MAAMS,KAAK;IACpE,OAAO,IAAIT,MAAMmB,EAAE,EAAE;QACnB,wBAAwB;QACxBe,OAAOK,OAAO,GAAGvC,MAAMmB,EAAE;QACzBe,OAAOM,mBAAmB,GAAG;QAC7BN,OAAOpB,IAAI,GAAGA,iBAAI,CAACG,IAAI,CAACjB,MAAMU,IAAI,CAACW,KAAK,KAAKrB,MAAMS,KAAK;QACxDyB,OAAOhB,OAAO,GAAGlB,MAAMQ,iBAAiB;IAC1C,OAAO;QACL,MAAM,IAAIjB,oBAAS,CAACC,kBAAU,CAACM,SAAS,EAAE;IAC5C;IACA,OAAOoC;AACT;AAEO,SAASpD,kBAAkBmD,MAAc,EAAEjC,KAAe;IAC/D,IAAIA,MAAMI,eAAe,EAAE;QACzB,sBAAsB;QACtB,OAAO,GAAGuC,8BAAuB,CAAC,CAAC,EAAEV,QAAQ;IAC/C,OAAO,IAAIjC,MAAMU,IAAI,EAAEC,cAAc;QACnC,uFAAuF;QACvF,IAAIX,MAAMY,kBAAkB,EAAE;YAC5B,OAAO,GAAGgC,+BAAwB,CAAC,CAAC,EAAE5C,MAAMU,IAAI,EAAEgC,yBAAyB1C,MAAMmB,EAAE,EAAE;QACvF;QACA,OAAO,GAAG0B,+BAAwB,CAAC,CAAC,EAAE7C,MAAMmB,EAAE,EAAE;IAClD,OAAO,IAAInB,MAAMU,IAAI,CAACG,IAAI,EAAEC,QAAQd,MAAMU,IAAI,CAACM,KAAK,EAAET,OAAO;QAC3D,sCAAsC;QACtC,OAAO,GAAGoC,8BAAuB,CAAC,CAAC,EAAE3C,MAAMU,IAAI,CAACM,KAAK,CAACG,EAAE,EAAE;IAC5D,OAAO,IAAInB,MAAMU,IAAI,CAACG,IAAI,EAAEb,OAAOmB,IAAI;QACrC,OAAO,GAAG0B,+BAAwB,CAAC,CAAC,EAAE7C,MAAMU,IAAI,CAACG,IAAI,CAACb,KAAK,CAACmB,EAAE,EAAE;IAClE,OAAO,IAAInB,MAAMmB,EAAE,EAAE;QACnB,OAAO,GAAG0B,+BAAwB,CAAC,CAAC,EAAE7C,MAAMmB,EAAE,EAAE;IAClD,OAAO;QACL,MAAM,IAAI5B,oBAAS,CAACC,kBAAU,CAACM,SAAS,EAAE;IAC5C;AACF"}
|
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../backend/src/applications/spaces/utils/permissions.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/spaces/utils/permissions.ts"],"sourcesContent":["import { intersectPermissions } from '../../../common/shared'\nimport { USER_PERMISSION } from '../../users/constants/user'\nimport type { UserModel } from '../../users/models/user.model'\nimport { SPACE_ALIAS, SPACE_OPERATION, SPACE_PERMS_SEP, SPACE_REPOSITORY } from '../constants/spaces'\nimport type { SpaceEnv } from '../models/space-env.model'\nimport type { SpaceProps } from '../models/space-props.model'\nimport type { SpaceRoot } from '../schemas/space-root.interface'\n\nexport function havePermission(currentPermissions: string, mustHavePermission: SPACE_OPERATION): boolean {\n return currentPermissions.indexOf(mustHavePermission) > -1\n}\n\nexport function haveSpaceEnvPermissions(space: SpaceEnv, permission: SPACE_OPERATION): boolean {\n if (permission) {\n return havePermission(space.envPermissions, permission)\n }\n return true\n}\n\nexport function haveSpacePermission(space: Partial<SpaceProps>, permission: SPACE_OPERATION): boolean {\n return havePermission(space.permissions, permission)\n}\n\nexport function getEnvPermissions(space: SpaceEnv, root: Partial<SpaceRoot>): string {\n /* In a root space, we have to intersect the space & the root permissions */\n if (root?.id && typeof root?.permissions === 'string') {\n return intersectPermissions(space.permissions, root.permissions)\n } else {\n return space.permissions\n }\n}\n\nexport function removePermissions(permissions: string, rmPermissions: SPACE_OPERATION[]): string {\n return permissions\n .split(SPACE_PERMS_SEP)\n .filter((p: SPACE_OPERATION) => rmPermissions.indexOf(p) === -1)\n .sort()\n .join(SPACE_PERMS_SEP)\n}\n\nexport function canAccessToSpaceUrl(user: UserModel, urlSegments: string[]): boolean {\n if (urlSegments[1] === SPACE_ALIAS.PERSONAL && (urlSegments[0] === SPACE_REPOSITORY.FILES || urlSegments[0] === SPACE_REPOSITORY.TRASH)) {\n return user.havePermission(USER_PERMISSION.PERSONAL_SPACE)\n } else if (urlSegments[0] === SPACE_REPOSITORY.FILES) {\n return user.havePermission(USER_PERMISSION.SPACES)\n } else if (urlSegments[0] === SPACE_REPOSITORY.SHARES) {\n return user.havePermission(USER_PERMISSION.SHARES)\n } else if (urlSegments[0] === SPACE_REPOSITORY.TRASH) {\n return user.havePermission(USER_PERMISSION.SPACES) || user.havePermission(USER_PERMISSION.PERSONAL_SPACE)\n }\n return false\n}\n\nexport function canAccessToSpace(user: UserModel, space: SpaceEnv): boolean {\n if (space.inPersonalSpace) {\n return user.havePermission(USER_PERMISSION.PERSONAL_SPACE)\n } else if (space.inFilesRepository) {\n return user.havePermission(USER_PERMISSION.SPACES)\n } else if (space.inSharesRepository) {\n return user.havePermission(USER_PERMISSION.SHARES)\n } else if (space.inTrashRepository) {\n return user.havePermission(USER_PERMISSION.SPACES) || user.havePermission(USER_PERMISSION.PERSONAL_SPACE)\n }\n return false\n}\n"],"names":["canAccessToSpace","canAccessToSpaceUrl","getEnvPermissions","havePermission","haveSpaceEnvPermissions","haveSpacePermission","removePermissions","currentPermissions","mustHavePermission","indexOf","space","permission","envPermissions","permissions","root","id","intersectPermissions","rmPermissions","split","SPACE_PERMS_SEP","filter","p","sort","join","user","urlSegments","SPACE_ALIAS","PERSONAL","SPACE_REPOSITORY","FILES","TRASH","USER_PERMISSION","PERSONAL_SPACE","SPACES","SHARES","inPersonalSpace","inFilesRepository","inSharesRepository","inTrashRepository"],"mappings":";;;;;;;;;;;QAqDgBA;eAAAA;;QAbAC;eAAAA;;QAjBAC;eAAAA;;QAfAC;eAAAA;;QAIAC;eAAAA;;QAOAC;eAAAA;;QAaAC;eAAAA;;;wBAhCqB;sBACL;wBAEgD;AAKzE,SAASH,eAAeI,kBAA0B,EAAEC,kBAAmC;IAC5F,OAAOD,mBAAmBE,OAAO,CAACD,sBAAsB,CAAC;AAC3D;AAEO,SAASJ,wBAAwBM,KAAe,EAAEC,UAA2B;IAClF,IAAIA,YAAY;QACd,OAAOR,eAAeO,MAAME,cAAc,EAAED;IAC9C;IACA,OAAO;AACT;AAEO,SAASN,oBAAoBK,KAA0B,EAAEC,UAA2B;IACzF,OAAOR,eAAeO,MAAMG,WAAW,EAAEF;AAC3C;AAEO,SAAST,kBAAkBQ,KAAe,EAAEI,IAAwB;IACzE,0EAA0E,GAC1E,IAAIA,MAAMC,MAAM,OAAOD,MAAMD,gBAAgB,UAAU;QACrD,OAAOG,IAAAA,4BAAoB,EAACN,MAAMG,WAAW,EAAEC,KAAKD,WAAW;IACjE,OAAO;QACL,OAAOH,MAAMG,WAAW;IAC1B;AACF;AAEO,SAASP,kBAAkBO,WAAmB,EAAEI,aAAgC;IACrF,OAAOJ,YACJK,KAAK,CAACC,uBAAe,EACrBC,MAAM,CAAC,CAACC,IAAuBJ,cAAcR,OAAO,CAACY,OAAO,CAAC,GAC7DC,IAAI,GACJC,IAAI,CAACJ,uBAAe;AACzB;AAEO,SAASlB,oBAAoBuB,IAAe,EAAEC,WAAqB;IACxE,IAAIA,WAAW,CAAC,EAAE,KAAKC,mBAAW,CAACC,QAAQ,IAAKF,CAAAA,WAAW,CAAC,EAAE,KAAKG,wBAAgB,CAACC,KAAK,IAAIJ,WAAW,CAAC,EAAE,KAAKG,wBAAgB,CAACE,KAAK,AAAD,GAAI;QACvI,OAAON,KAAKrB,cAAc,CAAC4B,qBAAe,CAACC,cAAc;IAC3D,OAAO,IAAIP,WAAW,CAAC,EAAE,KAAKG,wBAAgB,CAACC,KAAK,EAAE;QACpD,OAAOL,KAAKrB,cAAc,CAAC4B,qBAAe,CAACE,MAAM;IACnD,OAAO,IAAIR,WAAW,CAAC,EAAE,KAAKG,wBAAgB,CAACM,MAAM,EAAE;QACrD,OAAOV,KAAKrB,cAAc,CAAC4B,qBAAe,CAACG,MAAM;IACnD,OAAO,IAAIT,WAAW,CAAC,EAAE,KAAKG,wBAAgB,CAACE,KAAK,EAAE;QACpD,OAAON,KAAKrB,cAAc,CAAC4B,qBAAe,CAACE,MAAM,KAAKT,KAAKrB,cAAc,CAAC4B,qBAAe,CAACC,cAAc;IAC1G;IACA,OAAO;AACT;AAEO,SAAShC,iBAAiBwB,IAAe,EAAEd,KAAe;IAC/D,IAAIA,MAAMyB,eAAe,EAAE;QACzB,OAAOX,KAAKrB,cAAc,CAAC4B,qBAAe,CAACC,cAAc;IAC3D,OAAO,IAAItB,MAAM0B,iBAAiB,EAAE;QAClC,OAAOZ,KAAKrB,cAAc,CAAC4B,qBAAe,CAACE,MAAM;IACnD,OAAO,IAAIvB,MAAM2B,kBAAkB,EAAE;QACnC,OAAOb,KAAKrB,cAAc,CAAC4B,qBAAe,CAACG,MAAM;IACnD,OAAO,IAAIxB,MAAM4B,iBAAiB,EAAE;QAClC,OAAOd,KAAKrB,cAAc,CAAC4B,qBAAe,CAACE,MAAM,KAAKT,KAAKrB,cAAc,CAAC4B,qBAAe,CAACC,cAAc;IAC1G;IACA,OAAO;AACT"}
|
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../backend/src/applications/spaces/utils/routes.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/spaces/utils/routes.ts"],"sourcesContent":["import { sanitizePath } from '../../files/utils/files'\n\nexport function PATH_TO_SPACE_SEGMENTS(path: string): string[] {\n return sanitizePath(path).split('/').filter(Boolean)\n}\n"],"names":["PATH_TO_SPACE_SEGMENTS","path","sanitizePath","split","filter","Boolean"],"mappings":";;;;+BAEgBA;;;eAAAA;;;uBAFa;AAEtB,SAASA,uBAAuBC,IAAY;IACjD,OAAOC,IAAAA,mBAAY,EAACD,MAAME,KAAK,CAAC,KAAKC,MAAM,CAACC;AAC9C"}
|
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../backend/src/applications/sync/constants/auth.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/sync/constants/auth.ts"],"sourcesContent":["export enum CLIENT_AUTH_TYPE {\n COOKIE = 'cookie',\n TOKEN = 'token'\n}\n\nexport const CLIENT_TOKEN_EXPIRATION_TIME = '120d'\nexport const CLIENT_TOKEN_RENEW_TIME = '60d'\nexport const CLIENT_TOKEN_EXPIRED_ERROR = 'Client token is expired'\n"],"names":["CLIENT_AUTH_TYPE","CLIENT_TOKEN_EXPIRATION_TIME","CLIENT_TOKEN_EXPIRED_ERROR","CLIENT_TOKEN_RENEW_TIME"],"mappings":";;;;;;;;;;;QAAYA;eAAAA;;QAKCC;eAAAA;;QAEAC;eAAAA;;QADAC;eAAAA;;;AANN,IAAA,AAAKH,0CAAAA;;;WAAAA;;AAKL,MAAMC,+BAA+B;AACrC,MAAME,0BAA0B;AAChC,MAAMD,6BAA6B"}
|
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -19,6 +15,9 @@ _export(exports, {
|
|
|
19
15
|
get API_SYNC_CLIENTS () {
|
|
20
16
|
return API_SYNC_CLIENTS;
|
|
21
17
|
},
|
|
18
|
+
get API_SYNC_REGISTER_AUTH () {
|
|
19
|
+
return API_SYNC_REGISTER_AUTH;
|
|
20
|
+
},
|
|
22
21
|
get SYNC_BASE_ROUTE () {
|
|
23
22
|
return SYNC_BASE_ROUTE;
|
|
24
23
|
},
|
|
@@ -33,6 +32,7 @@ const SYNC_ROUTE = {
|
|
|
33
32
|
HANDSHAKE: 'handshake',
|
|
34
33
|
REGISTER: 'register',
|
|
35
34
|
UNREGISTER: 'unregister',
|
|
35
|
+
REGISTER_AUTH: 'register/auth',
|
|
36
36
|
APP_STORE: 'app-store',
|
|
37
37
|
AUTH: 'auth',
|
|
38
38
|
CLIENTS: 'clients',
|
|
@@ -43,5 +43,6 @@ const SYNC_ROUTE = {
|
|
|
43
43
|
};
|
|
44
44
|
const API_SYNC_AUTH_COOKIE = `${SYNC_ROUTE.BASE}/${SYNC_ROUTE.AUTH}/cookie`;
|
|
45
45
|
const API_SYNC_CLIENTS = `${SYNC_ROUTE.BASE}/${SYNC_ROUTE.CLIENTS}`;
|
|
46
|
+
const API_SYNC_REGISTER_AUTH = `${SYNC_ROUTE.BASE}/${SYNC_ROUTE.REGISTER_AUTH}`;
|
|
46
47
|
|
|
47
48
|
//# sourceMappingURL=routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../backend/src/applications/sync/constants/routes.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/sync/constants/routes.ts"],"sourcesContent":["import { APP_BASE_ROUTE } from '../../applications.constants'\n\nexport const SYNC_BASE_ROUTE = 'sync'\nexport const SYNC_ROUTE = {\n BASE: `${APP_BASE_ROUTE}/${SYNC_BASE_ROUTE}`,\n HANDSHAKE: 'handshake',\n REGISTER: 'register',\n UNREGISTER: 'unregister',\n REGISTER_AUTH: 'register/auth',\n APP_STORE: 'app-store',\n AUTH: 'auth',\n CLIENTS: 'clients',\n PATHS: 'paths',\n OPERATION: 'operation',\n DIFF: 'diff',\n MAKE: 'make'\n}\n\nexport const API_SYNC_AUTH_COOKIE = `${SYNC_ROUTE.BASE}/${SYNC_ROUTE.AUTH}/cookie`\nexport const API_SYNC_CLIENTS = `${SYNC_ROUTE.BASE}/${SYNC_ROUTE.CLIENTS}`\nexport const API_SYNC_REGISTER_AUTH = `${SYNC_ROUTE.BASE}/${SYNC_ROUTE.REGISTER_AUTH}`\n"],"names":["API_SYNC_AUTH_COOKIE","API_SYNC_CLIENTS","API_SYNC_REGISTER_AUTH","SYNC_BASE_ROUTE","SYNC_ROUTE","BASE","APP_BASE_ROUTE","HANDSHAKE","REGISTER","UNREGISTER","REGISTER_AUTH","APP_STORE","AUTH","CLIENTS","PATHS","OPERATION","DIFF","MAKE"],"mappings":";;;;;;;;;;;QAkBaA;eAAAA;;QACAC;eAAAA;;QACAC;eAAAA;;QAlBAC;eAAAA;;QACAC;eAAAA;;;uCAHkB;AAExB,MAAMD,kBAAkB;AACxB,MAAMC,aAAa;IACxBC,MAAM,GAAGC,qCAAc,CAAC,CAAC,EAAEH,iBAAiB;IAC5CI,WAAW;IACXC,UAAU;IACVC,YAAY;IACZC,eAAe;IACfC,WAAW;IACXC,MAAM;IACNC,SAAS;IACTC,OAAO;IACPC,WAAW;IACXC,MAAM;IACNC,MAAM;AACR;AAEO,MAAMjB,uBAAuB,GAAGI,WAAWC,IAAI,CAAC,CAAC,EAAED,WAAWQ,IAAI,CAAC,OAAO,CAAC;AAC3E,MAAMX,mBAAmB,GAAGG,WAAWC,IAAI,CAAC,CAAC,EAAED,WAAWS,OAAO,EAAE;AACnE,MAAMX,yBAAyB,GAAGE,WAAWC,IAAI,CAAC,CAAC,EAAED,WAAWM,aAAa,EAAE"}
|
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -24,12 +20,8 @@ _export(exports, {
|
|
|
24
20
|
},
|
|
25
21
|
get APP_STORE_REPOSITORY () {
|
|
26
22
|
return APP_STORE_REPOSITORY;
|
|
27
|
-
},
|
|
28
|
-
get APP_STORE_URL () {
|
|
29
|
-
return APP_STORE_URL;
|
|
30
23
|
}
|
|
31
24
|
});
|
|
32
|
-
const APP_STORE_URL = 'https://updates.sync-in.org';
|
|
33
25
|
const APP_STORE_DIRNAME = 'releases';
|
|
34
26
|
const APP_STORE_MANIFEST_FILE = 'latest.json';
|
|
35
27
|
var APP_STORE_REPOSITORY = /*#__PURE__*/ function(APP_STORE_REPOSITORY) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../backend/src/applications/sync/constants/store.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/sync/constants/store.ts"],"sourcesContent":["export const APP_STORE_DIRNAME = 'releases'\nexport const APP_STORE_MANIFEST_FILE = 'latest.json'\n\nexport enum APP_STORE_REPOSITORY {\n LOCAL = 'local',\n PUBLIC = 'public'\n}\n\nexport enum APP_STORE_PLATFORM {\n WIN = 'win',\n MAC = 'mac',\n LINUX = 'linux',\n NODE = 'node'\n}\n"],"names":["APP_STORE_DIRNAME","APP_STORE_MANIFEST_FILE","APP_STORE_PLATFORM","APP_STORE_REPOSITORY"],"mappings":";;;;;;;;;;;QAAaA;eAAAA;;QACAC;eAAAA;;QAODC;eAAAA;;QALAC;eAAAA;;;AAHL,MAAMH,oBAAoB;AAC1B,MAAMC,0BAA0B;AAEhC,IAAA,AAAKE,8CAAAA;;;WAAAA;;AAKL,IAAA,AAAKD,4CAAAA;;;;;WAAAA"}
|
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -64,7 +60,7 @@ const CHECK_SERVER_RESP = {
|
|
|
64
60
|
const SYNC_CHECKSUM_ALG = 'sha512-256';
|
|
65
61
|
const SYNC_DIFF_DONE = 'done';
|
|
66
62
|
const SYNC_FILE_NAME_PREFIX = '.sync-in.';
|
|
67
|
-
var SYNC_REPOSITORY =
|
|
63
|
+
var SYNC_REPOSITORY = function(SYNC_REPOSITORY) {
|
|
68
64
|
SYNC_REPOSITORY[SYNC_REPOSITORY["PERSONAL"] = _spaces.SPACE_ALIAS.PERSONAL] = "PERSONAL";
|
|
69
65
|
SYNC_REPOSITORY[SYNC_REPOSITORY["SPACES"] = _spaces.SPACE_ALIAS.SPACES] = "SPACES";
|
|
70
66
|
SYNC_REPOSITORY[SYNC_REPOSITORY["SHARES"] = _spaces.SPACE_ALIAS.SHARES] = "SHARES";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../backend/src/applications/sync/constants/sync.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/sync/constants/sync.ts"],"sourcesContent":["import { SPACE_ALIAS, SPACE_REPOSITORY } from '../../spaces/constants/spaces'\n\nexport const SYNC_IN_SERVER_AGENT = 'sync-in' as const\nexport const CHECK_SERVER_RESP = { server: SYNC_IN_SERVER_AGENT } as const\nexport const SYNC_CHECKSUM_ALG = 'sha512-256'\nexport const SYNC_DIFF_DONE = 'done'\nexport const SYNC_FILE_NAME_PREFIX = '.sync-in.'\n\nexport enum SYNC_REPOSITORY {\n PERSONAL = SPACE_ALIAS.PERSONAL,\n SPACES = SPACE_ALIAS.SPACES,\n SHARES = SPACE_ALIAS.SHARES\n}\n\nexport const SYNC_PATH_REPOSITORY = {\n [SYNC_REPOSITORY.PERSONAL]: [SPACE_REPOSITORY.FILES, SYNC_REPOSITORY.PERSONAL],\n [SYNC_REPOSITORY.SPACES]: [SPACE_REPOSITORY.FILES],\n [SYNC_REPOSITORY.SHARES]: [SPACE_REPOSITORY.SHARES]\n} as const\n\nexport enum SYNC_CLIENT_TYPE {\n DESKTOP = 'sync-in-desktop',\n CLI = 'sync-in-cli'\n}\n\nexport enum SYNC_PATH_MODE {\n DOWNLOAD = 'download',\n UPLOAD = 'upload',\n BOTH = 'both'\n}\n\nexport enum SYNC_PATH_DIFF_MODE {\n FAST = 'fast',\n SECURE = 'secure'\n}\n\nexport enum SYNC_PATH_CONFLICT_MODE {\n RECENT = 'recent',\n LOCAL = 'local',\n REMOTE = 'remote'\n}\n\nexport enum SYNC_PATH_SCHEDULER_UNIT {\n DISABLED = 'disabled',\n MINUTE = 'minute',\n HOUR = 'hour',\n DAY = 'day'\n}\n\nexport enum F_STAT {\n IS_DIR = 0,\n SIZE = 1,\n MTIME = 2,\n INO = 3,\n CHECKSUM = 4\n}\n\nexport enum F_SPECIAL_STAT {\n FILTERED = 'filtered',\n ERROR = 'error'\n}\n"],"names":["CHECK_SERVER_RESP","F_SPECIAL_STAT","F_STAT","SYNC_CHECKSUM_ALG","SYNC_CLIENT_TYPE","SYNC_DIFF_DONE","SYNC_FILE_NAME_PREFIX","SYNC_IN_SERVER_AGENT","SYNC_PATH_CONFLICT_MODE","SYNC_PATH_DIFF_MODE","SYNC_PATH_MODE","SYNC_PATH_REPOSITORY","SYNC_PATH_SCHEDULER_UNIT","SYNC_REPOSITORY","server","SPACE_ALIAS","PERSONAL","SPACES","SHARES","SPACE_REPOSITORY","FILES"],"mappings":";;;;;;;;;;;QAGaA;eAAAA;;QAsDDC;eAAAA;;QARAC;eAAAA;;QA7CCC;eAAAA;;QAgBDC;eAAAA;;QAfCC;eAAAA;;QACAC;eAAAA;;QAJAC;eAAAA;;QAkCDC;eAAAA;;QALAC;eAAAA;;QANAC;eAAAA;;QAXCC;eAAAA;;QA4BDC;eAAAA;;QAlCAC;eAAAA;;;wBARkC;AAEvC,MAAMN,uBAAuB;AAC7B,MAAMP,oBAAoB;IAAEc,QAAQP;AAAqB;AACzD,MAAMJ,oBAAoB;AAC1B,MAAME,iBAAiB;AACvB,MAAMC,wBAAwB;AAE9B,IAAA,AAAKO,2BAAAA;kDACCE,mBAAW,CAACC,QAAQ;gDACtBD,mBAAW,CAACE,MAAM;gDAClBF,mBAAW,CAACG,MAAM;WAHjBL;;AAML,MAAMF,uBAAuB;IAClC,CAACE,gBAAgBG,QAAQ,CAAC,EAAE;QAACG,wBAAgB,CAACC,KAAK;QAAEP,gBAAgBG,QAAQ;KAAC;IAC9E,CAACH,gBAAgBI,MAAM,CAAC,EAAE;QAACE,wBAAgB,CAACC,KAAK;KAAC;IAClD,CAACP,gBAAgBK,MAAM,CAAC,EAAE;QAACC,wBAAgB,CAACD,MAAM;KAAC;AACrD;AAEO,IAAA,AAAKd,0CAAAA;;;WAAAA;;AAKL,IAAA,AAAKM,wCAAAA;;;;WAAAA;;AAML,IAAA,AAAKD,6CAAAA;;;WAAAA;;AAKL,IAAA,AAAKD,iDAAAA;;;;WAAAA;;AAML,IAAA,AAAKI,kDAAAA;;;;;WAAAA;;AAOL,IAAA,AAAKV,gCAAAA;;;;;;WAAAA;;AAQL,IAAA,AAAKD,wCAAAA;;;WAAAA"}
|
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../backend/src/applications/sync/decorators/sync-context.decorator.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/sync/decorators/sync-context.decorator.ts"],"sourcesContent":["import { SetMetadata } from '@nestjs/common'\n\nexport const SYNC_CONTEXT = 'SyncContext'\nexport const SyncContext = () => SetMetadata(SYNC_CONTEXT, true)\n"],"names":["SYNC_CONTEXT","SyncContext","SetMetadata"],"mappings":";;;;;;;;;;;QAEaA;eAAAA;;QACAC;eAAAA;;;wBAHe;AAErB,MAAMD,eAAe;AACrB,MAAMC,cAAc,IAAMC,IAAAA,mBAAW,EAACF,cAAc"}
|
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../backend/src/applications/sync/decorators/sync-environment.decorator.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/sync/decorators/sync-environment.decorator.ts"],"sourcesContent":["import { applyDecorators, UseGuards } from '@nestjs/common'\nimport { SpaceGuard } from '../../spaces/guards/space.guard'\nimport { USER_PERMISSION } from '../../users/constants/user'\nimport { UserHavePermission } from '../../users/decorators/permissions.decorator'\nimport { UserPermissionsGuard } from '../../users/guards/permissions.guard'\nimport { SyncContext } from './sync-context.decorator'\n\nexport const SyncEnvironment = () => {\n return applyDecorators(UserHavePermission(USER_PERMISSION.DESKTOP_APP_SYNC), SyncContext(), UseGuards(UserPermissionsGuard, SpaceGuard))\n}\n"],"names":["SyncEnvironment","applyDecorators","UserHavePermission","USER_PERMISSION","DESKTOP_APP_SYNC","SyncContext","UseGuards","UserPermissionsGuard","SpaceGuard"],"mappings":";;;;+BAOaA;;;eAAAA;;;wBAP8B;4BAChB;sBACK;sCACG;kCACE;sCACT;AAErB,MAAMA,kBAAkB;IAC7B,OAAOC,IAAAA,uBAAe,EAACC,IAAAA,wCAAkB,EAACC,qBAAe,CAACC,gBAAgB,GAAGC,IAAAA,iCAAW,KAAIC,IAAAA,iBAAS,EAACC,sCAAoB,EAAEC,sBAAU;AACxI"}
|
|
@@ -1,8 +1,4 @@
|
|
|
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";
|
|
1
|
+
"use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -12,8 +8,9 @@ Object.defineProperty(exports, "SyncClientAuthDto", {
|
|
|
12
8
|
return SyncClientAuthDto;
|
|
13
9
|
}
|
|
14
10
|
});
|
|
11
|
+
const _classtransformer = require("class-transformer");
|
|
15
12
|
const _classvalidator = require("class-validator");
|
|
16
|
-
const
|
|
13
|
+
const _syncclientinfodto = require("./sync-client-info.dto");
|
|
17
14
|
function _ts_decorate(decorators, target, key, desc) {
|
|
18
15
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
16
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -39,9 +36,16 @@ _ts_decorate([
|
|
|
39
36
|
], SyncClientAuthDto.prototype, "token", void 0);
|
|
40
37
|
_ts_decorate([
|
|
41
38
|
(0, _classvalidator.IsDefined)(),
|
|
42
|
-
(0, _classvalidator.IsNotEmptyObject)(),
|
|
43
39
|
(0, _classvalidator.IsObject)(),
|
|
44
|
-
|
|
40
|
+
(0, _classvalidator.IsNotEmptyObject)(),
|
|
41
|
+
(0, _classvalidator.ValidateNested)(),
|
|
42
|
+
(0, _classtransformer.Type)(()=>_syncclientinfodto.SyncClientInfoDto),
|
|
43
|
+
_ts_metadata("design:type", typeof _syncclientinfodto.SyncClientInfoDto === "undefined" ? Object : _syncclientinfodto.SyncClientInfoDto)
|
|
45
44
|
], SyncClientAuthDto.prototype, "info", void 0);
|
|
45
|
+
_ts_decorate([
|
|
46
|
+
(0, _classvalidator.IsOptional)(),
|
|
47
|
+
(0, _classvalidator.IsBoolean)(),
|
|
48
|
+
_ts_metadata("design:type", Boolean)
|
|
49
|
+
], SyncClientAuthDto.prototype, "tokenHasExpired", void 0);
|
|
46
50
|
|
|
47
51
|
//# sourceMappingURL=sync-client-auth.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../backend/src/applications/sync/dtos/sync-client-auth.dto.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/sync/dtos/sync-client-auth.dto.ts"],"sourcesContent":["import { Type } from 'class-transformer'\nimport { IsBoolean, IsDefined, IsNotEmpty, IsNotEmptyObject, IsObject, IsOptional, IsString, IsUUID, ValidateNested } from 'class-validator'\nimport { SyncClientInfoDto } from './sync-client-info.dto'\n\nexport class SyncClientAuthDto {\n @IsNotEmpty()\n @IsString()\n @IsUUID()\n clientId: string\n\n @IsNotEmpty()\n @IsString()\n @IsUUID()\n token: string\n\n @IsDefined()\n @IsObject()\n @IsNotEmptyObject()\n @ValidateNested()\n @Type(() => SyncClientInfoDto)\n info: SyncClientInfoDto\n\n @IsOptional()\n @IsBoolean()\n tokenHasExpired?: boolean\n}\n"],"names":["SyncClientAuthDto","SyncClientInfoDto"],"mappings":";;;;+BAIaA;;;eAAAA;;;kCAJQ;gCACsG;mCACzF;;;;;;;;;;AAE3B,IAAA,AAAMA,oBAAN,MAAMA;AAqBb;;;;;;;;;;;;;;;;;;oCANcC,oCAAiB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "SyncClientInfoDto", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return SyncClientInfoDto;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _classvalidator = require("class-validator");
|
|
12
|
+
const _sync = require("../constants/sync");
|
|
13
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
14
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
16
|
+
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;
|
|
17
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
18
|
+
}
|
|
19
|
+
function _ts_metadata(k, v) {
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
21
|
+
}
|
|
22
|
+
let SyncClientInfoDto = class SyncClientInfoDto {
|
|
23
|
+
};
|
|
24
|
+
_ts_decorate([
|
|
25
|
+
(0, _classvalidator.IsString)(),
|
|
26
|
+
_ts_metadata("design:type", String)
|
|
27
|
+
], SyncClientInfoDto.prototype, "node", void 0);
|
|
28
|
+
_ts_decorate([
|
|
29
|
+
(0, _classvalidator.IsString)(),
|
|
30
|
+
_ts_metadata("design:type", String)
|
|
31
|
+
], SyncClientInfoDto.prototype, "os", void 0);
|
|
32
|
+
_ts_decorate([
|
|
33
|
+
(0, _classvalidator.IsString)(),
|
|
34
|
+
_ts_metadata("design:type", String)
|
|
35
|
+
], SyncClientInfoDto.prototype, "osRelease", void 0);
|
|
36
|
+
_ts_decorate([
|
|
37
|
+
(0, _classvalidator.IsString)(),
|
|
38
|
+
_ts_metadata("design:type", String)
|
|
39
|
+
], SyncClientInfoDto.prototype, "user", void 0);
|
|
40
|
+
_ts_decorate([
|
|
41
|
+
(0, _classvalidator.IsEnum)(_sync.SYNC_CLIENT_TYPE),
|
|
42
|
+
_ts_metadata("design:type", typeof _sync.SYNC_CLIENT_TYPE === "undefined" ? Object : _sync.SYNC_CLIENT_TYPE)
|
|
43
|
+
], SyncClientInfoDto.prototype, "type", void 0);
|
|
44
|
+
_ts_decorate([
|
|
45
|
+
(0, _classvalidator.IsString)(),
|
|
46
|
+
_ts_metadata("design:type", String)
|
|
47
|
+
], SyncClientInfoDto.prototype, "version", void 0);
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=sync-client-info.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/applications/sync/dtos/sync-client-info.dto.ts"],"sourcesContent":["import { IsEnum, IsString } from 'class-validator'\nimport { SYNC_CLIENT_TYPE } from '../constants/sync'\nimport { SyncClientInfo } from '../interfaces/sync-client.interface'\n\nexport class SyncClientInfoDto implements SyncClientInfo {\n @IsString()\n node: string\n\n @IsString()\n os: string\n\n @IsString()\n osRelease: string\n\n @IsString()\n user: string\n\n @IsEnum(SYNC_CLIENT_TYPE)\n type: SYNC_CLIENT_TYPE\n\n @IsString()\n version: string\n}\n"],"names":["SyncClientInfoDto"],"mappings":";;;;+BAIaA;;;eAAAA;;;gCAJoB;sBACA;;;;;;;;;;AAG1B,IAAA,AAAMA,oBAAN,MAAMA;AAkBb"}
|