@sync-in/server 1.11.0 → 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 +37 -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 +17 -16
- 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-G7TLKY5X.js → chunk-27ATUHBH.js} +1 -1
- package/static/{chunk-CQOQXVYG.js → chunk-2CKLZ3FM.js} +1 -1
- package/static/{chunk-FVFOX6OP.js → chunk-2QZPX7LO.js} +1 -1
- package/static/{chunk-32AVRWC3.js → chunk-2R6IBBPZ.js} +1 -1
- package/static/{chunk-76JDXKD7.js → chunk-4FIGEBNL.js} +1 -1
- package/static/{chunk-ACCGBDUZ.js → chunk-4P3JABAP.js} +4 -4
- package/static/chunk-5CZOSAMZ.js +1 -0
- package/static/{chunk-2PDTP6N4.js → chunk-677WUBCT.js} +1 -1
- package/static/{chunk-K5VO5XTG.js → chunk-74CAHBFM.js} +1 -1
- package/static/{chunk-WTWGBCFO.js → chunk-7GWW6MJO.js} +1 -1
- package/static/{chunk-JXZOYX4N.js → chunk-A4UGPSWX.js} +1 -1
- package/static/{chunk-44D7RWET.js → chunk-AHO37FKW.js} +1 -1
- package/static/{chunk-WB2DECOA.js → chunk-AQCXMKP3.js} +1 -1
- package/static/chunk-B6PDYCRO.js +3 -0
- package/static/{chunk-JVGN5V5E.js → chunk-CU76ATCF.js} +1 -1
- package/static/{chunk-Q5K4ZUHK.js → chunk-CWYHOPOP.js} +1 -1
- package/static/{chunk-IOX3ANJR.js → chunk-E5WI5725.js} +1 -1
- package/static/{chunk-NUG54Y65.js → chunk-FC5HTKVM.js} +1 -1
- package/static/{chunk-LRK6RNPR.js → chunk-FOSM7EYI.js} +1 -1
- package/static/{chunk-B4UP2EQM.js → chunk-GAZO25PI.js} +1 -1
- package/static/{chunk-3WBCGTYW.js → chunk-GB7ABR5N.js} +1 -1
- package/static/{chunk-XFZ37WVK.js → chunk-GEHFKZQ5.js} +1 -1
- package/static/{chunk-4CQLN5HL.js → chunk-GQFMWVFD.js} +1 -1
- package/static/{chunk-YBEH442D.js → chunk-GVNTC564.js} +1 -1
- package/static/{chunk-WO6GBHBZ.js → chunk-HGL3NYP2.js} +2 -2
- package/static/{chunk-IAWRRL6J.js → chunk-HLIWPWRA.js} +1 -1
- package/static/{chunk-6LHJBXUE.js → chunk-HNYB3M4S.js} +1 -1
- package/static/{chunk-5WTIUYFF.js → chunk-HUXAUQMN.js} +1 -1
- package/static/{chunk-VBH3Y2M5.js → chunk-I2XA6PPK.js} +1 -1
- package/static/{chunk-I3XI72AV.js → chunk-ISV3BO6R.js} +1 -1
- package/static/{chunk-P7X53PEP.js → chunk-JV3AGU5B.js} +1 -1
- package/static/{chunk-ZFAXICUH.js → chunk-K25E7YGG.js} +1 -1
- package/static/{chunk-CAD3RHAY.js → chunk-K46PUTZB.js} +1 -1
- package/static/{chunk-GYFLVCFN.js → chunk-KERFLJ56.js} +1 -7
- package/static/{chunk-WSTGWBVW.js → chunk-KJD3KFF3.js} +1 -1
- package/static/{chunk-R4P4NBUL.js → chunk-KPKSI23S.js} +1 -1
- package/static/{chunk-M7IFVC5D.js → chunk-KZS7CTNR.js} +1 -1
- package/static/{chunk-P2IJCGWD.js → chunk-L5IHUVXL.js} +1 -1
- package/static/{chunk-DXESTGOH.js → chunk-L7RRX2M3.js} +1 -1
- package/static/{chunk-WE3ISL7O.js → chunk-LGWJ2WKU.js} +1 -1
- package/static/{chunk-OKI3N5AI.js → chunk-MLC7JK2H.js} +2 -2
- package/static/{chunk-NG7QWUFM.js → chunk-MOHNYW2A.js} +1 -1
- package/static/{chunk-SQYWQUL4.js → chunk-NCDUOVMW.js} +1 -1
- package/static/chunk-NGUAJIGI.js +1 -0
- package/static/{chunk-OYPJUVD6.js → chunk-NIPP6JDI.js} +1 -1
- package/static/{chunk-Y433XOAJ.js → chunk-NMTBMHUL.js} +1 -1
- package/static/chunk-O4XXMZFX.js +4 -0
- package/static/{chunk-IOP3ON2H.js → chunk-OANZITPM.js} +1 -1
- package/static/{chunk-WJFKUJJX.js → chunk-OGE4SAHU.js} +1 -1
- package/static/{chunk-7EHP6HO3.js → chunk-OI3ME22C.js} +1 -1
- package/static/{chunk-D4XDSS6P.js → chunk-Q3EGCMF5.js} +1 -1
- package/static/{chunk-TQBCGNFG.js → chunk-QF2NSHZA.js} +1 -1
- package/static/{chunk-RBBMH2FM.js → chunk-QKN6LAAA.js} +1 -1
- package/static/{chunk-J45SD6RC.js → chunk-QRFESU5O.js} +2 -2
- package/static/chunk-QVRVFYJH.js +1 -0
- package/static/{chunk-BAHNSFET.js → chunk-RFJIPIOK.js} +1 -1
- package/static/{chunk-IZ7TCHUW.js → chunk-RLL634K4.js} +1 -1
- package/static/{chunk-MOWL3ILT.js → chunk-RS2OFKWP.js} +1 -1
- package/static/{chunk-WM56LPJ3.js → chunk-RWAAC3A4.js} +1 -1
- package/static/{chunk-F3GMI6OL.js → chunk-S5Y64DDS.js} +1 -1
- package/static/{chunk-VNNLMUK7.js → chunk-SLG5KDU6.js} +1 -1
- package/static/chunk-TJ4CVFEL.js +1 -0
- package/static/{chunk-SAN35XTD.js → chunk-TWCGKSYE.js} +1 -1
- package/static/{chunk-EUKVDBBK.js → chunk-UMDRE4S7.js} +1 -1
- package/static/{chunk-YKCUUBZP.js → chunk-VRIOLRYR.js} +4 -4
- package/static/chunk-VS4O2XDP.js +1 -0
- package/static/{chunk-2MRTBCSV.js → chunk-VSBFNFOM.js} +1 -1
- package/static/{chunk-CTPKDDVI.js → chunk-WN4WXCVK.js} +1 -1
- package/static/{chunk-2AA3WMW5.js → chunk-WX7RXW7K.js} +1 -1
- package/static/{chunk-J2BUPRCZ.js → chunk-XC4POKR3.js} +2 -2
- package/static/{chunk-AXLDYLIO.js → chunk-Y4AUYQTG.js} +1 -1
- package/static/{chunk-RPHWIW7S.js → chunk-YMIXHRJQ.js} +1 -7
- package/static/{chunk-AFNUBQMD.js → chunk-ZUNKFAKP.js} +1 -1
- package/static/index.html +3 -3
- package/static/main-QN4UCOC5.js +5 -0
- package/static/{styles-PD6764CP.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-3I6NPM62.js +0 -1
- package/static/chunk-GCPX3EFC.js +0 -1
- package/static/chunk-KBUIDMCK.js +0 -1
- package/static/chunk-KY6MNZLC.js +0 -1
- package/static/chunk-MPWD4VMY.js +0 -1
- package/static/chunk-QQAF3MLL.js +0 -1
- package/static/chunk-VHZKPUWE.js +0 -4
- package/static/chunk-YWLMFOB4.js +0 -3
- package/static/main-ZXEMCBMI.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
|
});
|
|
@@ -21,9 +17,9 @@ _export(exports, {
|
|
|
21
17
|
}
|
|
22
18
|
});
|
|
23
19
|
const _common = require("@nestjs/common");
|
|
24
|
-
const _configenvironment = require("
|
|
25
|
-
const _auth = require("
|
|
26
|
-
const
|
|
20
|
+
const _configenvironment = require("../../../configuration/config.environment");
|
|
21
|
+
const _auth = require("../../constants/auth");
|
|
22
|
+
const _authprovidertwofaservice = require("./auth-provider-two-fa.service");
|
|
27
23
|
function _ts_decorate(decorators, target, key, desc) {
|
|
28
24
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
29
25
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -43,12 +39,12 @@ function AuthTwoFaGuardFactory(options = {
|
|
|
43
39
|
let MixinAuthTwoFaGuard = class MixinAuthTwoFaGuard {
|
|
44
40
|
async canActivate(ctx) {
|
|
45
41
|
const req = ctx.switchToHttp().getRequest();
|
|
46
|
-
const user = await this.
|
|
42
|
+
const user = await this.authProvider2FA.loadUser(req.user.id, req.ip);
|
|
47
43
|
if (options.withPassword) {
|
|
48
44
|
if (!req.headers[_auth.TWO_FA_HEADER_PASSWORD]) {
|
|
49
45
|
throw new _common.HttpException('Missing TWO-FA password', _common.HttpStatus.FORBIDDEN);
|
|
50
46
|
}
|
|
51
|
-
await this.
|
|
47
|
+
await this.authProvider2FA.verifyUserPassword(user, req.headers[_auth.TWO_FA_HEADER_PASSWORD], req.ip);
|
|
52
48
|
}
|
|
53
49
|
if (!_configenvironment.configuration.auth.mfa.totp.enabled || !user.twoFaEnabled) {
|
|
54
50
|
return true;
|
|
@@ -56,7 +52,7 @@ function AuthTwoFaGuardFactory(options = {
|
|
|
56
52
|
if (!req.headers[_auth.TWO_FA_HEADER_CODE]) {
|
|
57
53
|
throw new _common.HttpException('Missing TWO-FA code', _common.HttpStatus.FORBIDDEN);
|
|
58
54
|
}
|
|
59
|
-
const auth = await this.
|
|
55
|
+
const auth = await this.authProvider2FA.verify({
|
|
60
56
|
code: req.headers[_auth.TWO_FA_HEADER_CODE]
|
|
61
57
|
}, req);
|
|
62
58
|
if (!auth.success) {
|
|
@@ -64,15 +60,15 @@ function AuthTwoFaGuardFactory(options = {
|
|
|
64
60
|
}
|
|
65
61
|
return true;
|
|
66
62
|
}
|
|
67
|
-
constructor(
|
|
68
|
-
this.
|
|
63
|
+
constructor(authProvider2FA){
|
|
64
|
+
this.authProvider2FA = authProvider2FA;
|
|
69
65
|
}
|
|
70
66
|
};
|
|
71
67
|
MixinAuthTwoFaGuard = _ts_decorate([
|
|
72
68
|
(0, _common.Injectable)(),
|
|
73
69
|
_ts_metadata("design:type", Function),
|
|
74
70
|
_ts_metadata("design:paramtypes", [
|
|
75
|
-
typeof
|
|
71
|
+
typeof _authprovidertwofaservice.AuthProvider2FA === "undefined" ? Object : _authprovidertwofaservice.AuthProvider2FA
|
|
76
72
|
])
|
|
77
73
|
], MixinAuthTwoFaGuard);
|
|
78
74
|
return (0, _common.mixin)(MixinAuthTwoFaGuard);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/authentication/providers/two-fa/auth-two-fa-guard.ts"],"sourcesContent":["import { CanActivate, ExecutionContext, HttpException, HttpStatus, Injectable, mixin, Type } from '@nestjs/common'\nimport { configuration } from '../../../configuration/config.environment'\nimport { TWO_FA_HEADER_CODE, TWO_FA_HEADER_PASSWORD } from '../../constants/auth'\nimport { FastifyAuthenticatedRequest } from '../../interfaces/auth-request.interface'\nimport { AuthProvider2FA } from './auth-provider-two-fa.service'\n\nexport const AuthTwoFaGuard = AuthTwoFaGuardFactory()\nexport const AuthTwoFaGuardWithoutPassword = AuthTwoFaGuardFactory({ withPassword: false })\n\ninterface TwoFaGuardOptions {\n withPassword?: boolean\n}\n\nfunction AuthTwoFaGuardFactory(options: TwoFaGuardOptions = { withPassword: true }): Type<CanActivate> {\n @Injectable()\n class MixinAuthTwoFaGuard implements CanActivate {\n constructor(private readonly authProvider2FA: AuthProvider2FA) {}\n\n async canActivate(ctx: ExecutionContext): Promise<boolean> {\n const req: FastifyAuthenticatedRequest = ctx.switchToHttp().getRequest()\n const user = await this.authProvider2FA.loadUser(req.user.id, req.ip)\n\n if (options.withPassword) {\n if (!req.headers[TWO_FA_HEADER_PASSWORD]) {\n throw new HttpException('Missing TWO-FA password', HttpStatus.FORBIDDEN)\n }\n await this.authProvider2FA.verifyUserPassword(user, req.headers[TWO_FA_HEADER_PASSWORD] as string, req.ip)\n }\n\n if (!configuration.auth.mfa.totp.enabled || !user.twoFaEnabled) {\n return true\n }\n\n if (!req.headers[TWO_FA_HEADER_CODE]) {\n throw new HttpException('Missing TWO-FA code', HttpStatus.FORBIDDEN)\n }\n\n const auth = await this.authProvider2FA.verify({ code: req.headers[TWO_FA_HEADER_CODE] as string }, req)\n\n if (!auth.success) {\n throw new HttpException(auth.message, HttpStatus.FORBIDDEN)\n }\n\n return true\n }\n }\n\n return mixin(MixinAuthTwoFaGuard)\n}\n"],"names":["AuthTwoFaGuard","AuthTwoFaGuardWithoutPassword","AuthTwoFaGuardFactory","withPassword","options","MixinAuthTwoFaGuard","canActivate","ctx","req","switchToHttp","getRequest","user","authProvider2FA","loadUser","id","ip","headers","TWO_FA_HEADER_PASSWORD","HttpException","HttpStatus","FORBIDDEN","verifyUserPassword","configuration","auth","mfa","totp","enabled","twoFaEnabled","TWO_FA_HEADER_CODE","verify","code","success","message","mixin"],"mappings":";;;;;;;;;;;QAMaA;eAAAA;;QACAC;eAAAA;;;wBAPqF;mCACpE;sBAC6B;0CAE3B;;;;;;;;;;AAEzB,MAAMD,iBAAiBE;AACvB,MAAMD,gCAAgCC,sBAAsB;IAAEC,cAAc;AAAM;AAMzF,SAASD,sBAAsBE,UAA6B;IAAED,cAAc;AAAK,CAAC;IAChF,IAAA,AACME,sBADN,MACMA;QAGJ,MAAMC,YAAYC,GAAqB,EAAoB;YACzD,MAAMC,MAAmCD,IAAIE,YAAY,GAAGC,UAAU;YACtE,MAAMC,OAAO,MAAM,IAAI,CAACC,eAAe,CAACC,QAAQ,CAACL,IAAIG,IAAI,CAACG,EAAE,EAAEN,IAAIO,EAAE;YAEpE,IAAIX,QAAQD,YAAY,EAAE;gBACxB,IAAI,CAACK,IAAIQ,OAAO,CAACC,4BAAsB,CAAC,EAAE;oBACxC,MAAM,IAAIC,qBAAa,CAAC,2BAA2BC,kBAAU,CAACC,SAAS;gBACzE;gBACA,MAAM,IAAI,CAACR,eAAe,CAACS,kBAAkB,CAACV,MAAMH,IAAIQ,OAAO,CAACC,4BAAsB,CAAC,EAAYT,IAAIO,EAAE;YAC3G;YAEA,IAAI,CAACO,gCAAa,CAACC,IAAI,CAACC,GAAG,CAACC,IAAI,CAACC,OAAO,IAAI,CAACf,KAAKgB,YAAY,EAAE;gBAC9D,OAAO;YACT;YAEA,IAAI,CAACnB,IAAIQ,OAAO,CAACY,wBAAkB,CAAC,EAAE;gBACpC,MAAM,IAAIV,qBAAa,CAAC,uBAAuBC,kBAAU,CAACC,SAAS;YACrE;YAEA,MAAMG,OAAO,MAAM,IAAI,CAACX,eAAe,CAACiB,MAAM,CAAC;gBAAEC,MAAMtB,IAAIQ,OAAO,CAACY,wBAAkB,CAAC;YAAW,GAAGpB;YAEpG,IAAI,CAACe,KAAKQ,OAAO,EAAE;gBACjB,MAAM,IAAIb,qBAAa,CAACK,KAAKS,OAAO,EAAEb,kBAAU,CAACC,SAAS;YAC5D;YAEA,OAAO;QACT;QA5BA,YAAY,AAAiBR,eAAgC,CAAE;iBAAlCA,kBAAAA;QAAmC;IA6BlE;;;;;;;;IAEA,OAAOqB,IAAAA,aAAK,EAAC5B;AACf"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get AuthMFAConfig () {
|
|
13
|
+
return AuthMFAConfig;
|
|
14
|
+
},
|
|
15
|
+
get AuthMFATotpConfig () {
|
|
16
|
+
return AuthMFATotpConfig;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _classtransformer = require("class-transformer");
|
|
20
|
+
const _classvalidator = require("class-validator");
|
|
21
|
+
const _shared = require("../../../common/shared");
|
|
22
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
23
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
25
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
26
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
27
|
+
}
|
|
28
|
+
function _ts_metadata(k, v) {
|
|
29
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
30
|
+
}
|
|
31
|
+
let AuthMFATotpConfig = class AuthMFATotpConfig {
|
|
32
|
+
constructor(){
|
|
33
|
+
this.enabled = true;
|
|
34
|
+
this.issuer = _shared.SERVER_NAME;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
_ts_decorate([
|
|
38
|
+
(0, _classvalidator.IsBoolean)()
|
|
39
|
+
], AuthMFATotpConfig.prototype, "enabled", void 0);
|
|
40
|
+
_ts_decorate([
|
|
41
|
+
(0, _classvalidator.IsString)()
|
|
42
|
+
], AuthMFATotpConfig.prototype, "issuer", void 0);
|
|
43
|
+
let AuthMFAConfig = class AuthMFAConfig {
|
|
44
|
+
constructor(){
|
|
45
|
+
this.totp = new AuthMFATotpConfig();
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
_ts_decorate([
|
|
49
|
+
(0, _classvalidator.IsDefined)(),
|
|
50
|
+
(0, _classvalidator.IsNotEmptyObject)(),
|
|
51
|
+
(0, _classvalidator.IsObject)(),
|
|
52
|
+
(0, _classvalidator.ValidateNested)(),
|
|
53
|
+
(0, _classtransformer.Type)(()=>AuthMFATotpConfig),
|
|
54
|
+
_ts_metadata("design:type", typeof AuthMFATotpConfig === "undefined" ? Object : AuthMFATotpConfig)
|
|
55
|
+
], AuthMFAConfig.prototype, "totp", void 0);
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=auth-two-fa.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/authentication/providers/two-fa/auth-two-fa.config.ts"],"sourcesContent":["import { Type } from 'class-transformer'\nimport { IsBoolean, IsDefined, IsNotEmptyObject, IsObject, IsString, ValidateNested } from 'class-validator'\nimport { SERVER_NAME } from '../../../common/shared'\n\nexport class AuthMFATotpConfig {\n @IsBoolean()\n enabled = true\n\n @IsString()\n issuer = SERVER_NAME\n}\n\nexport class AuthMFAConfig {\n @IsDefined()\n @IsNotEmptyObject()\n @IsObject()\n @ValidateNested()\n @Type(() => AuthMFATotpConfig)\n totp: AuthMFATotpConfig = new AuthMFATotpConfig()\n}\n"],"names":["AuthMFAConfig","AuthMFATotpConfig","enabled","issuer","SERVER_NAME","totp"],"mappings":";;;;;;;;;;;QAYaA;eAAAA;;QARAC;eAAAA;;;kCAJQ;gCACsE;wBAC/D;;;;;;;;;;AAErB,IAAA,AAAMA,oBAAN,MAAMA;;aAEXC,UAAU;aAGVC,SAASC,mBAAW;;AACtB;;;;;;;AAEO,IAAA,AAAMJ,gBAAN,MAAMA;;aAMXK,OAA0B,IAAIJ;;AAChC;;;;;;oCAFcA"}
|
package/server/authentication/{dto/two-fa-verify.dto.js → providers/two-fa/auth-two-fa.dtos.js}
RENAMED
|
@@ -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
|
});
|
|
@@ -13,6 +9,9 @@ function _export(target, all) {
|
|
|
13
9
|
});
|
|
14
10
|
}
|
|
15
11
|
_export(exports, {
|
|
12
|
+
get TwoFaResponseDto () {
|
|
13
|
+
return TwoFaResponseDto;
|
|
14
|
+
},
|
|
16
15
|
get TwoFaVerifyDto () {
|
|
17
16
|
return TwoFaVerifyDto;
|
|
18
17
|
},
|
|
@@ -21,6 +20,7 @@ _export(exports, {
|
|
|
21
20
|
}
|
|
22
21
|
});
|
|
23
22
|
const _classvalidator = require("class-validator");
|
|
23
|
+
const _loginresponsedto = require("../../dto/login-response.dto");
|
|
24
24
|
function _ts_decorate(decorators, target, key, desc) {
|
|
25
25
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
26
26
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -30,6 +30,8 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
30
30
|
function _ts_metadata(k, v) {
|
|
31
31
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
32
32
|
}
|
|
33
|
+
let TwoFaResponseDto = class TwoFaResponseDto extends _loginresponsedto.LoginResponseDto {
|
|
34
|
+
};
|
|
33
35
|
let TwoFaVerifyDto = class TwoFaVerifyDto {
|
|
34
36
|
};
|
|
35
37
|
_ts_decorate([
|
|
@@ -50,4 +52,4 @@ _ts_decorate([
|
|
|
50
52
|
_ts_metadata("design:type", String)
|
|
51
53
|
], TwoFaVerifyWithPasswordDto.prototype, "password", void 0);
|
|
52
54
|
|
|
53
|
-
//# sourceMappingURL=two-fa
|
|
55
|
+
//# sourceMappingURL=auth-two-fa.dtos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/authentication/providers/two-fa/auth-two-fa.dtos.ts"],"sourcesContent":["import { IsBoolean, IsNotEmpty, IsOptional, IsString } from 'class-validator'\nimport { LoginResponseDto } from '../../dto/login-response.dto'\n\nexport class TwoFaResponseDto extends LoginResponseDto {\n success: boolean\n message: string\n}\n\nexport class TwoFaVerifyDto {\n @IsString()\n @IsNotEmpty()\n code!: string\n\n @IsOptional()\n @IsBoolean()\n isRecoveryCode?: boolean\n}\n\nexport class TwoFaVerifyWithPasswordDto extends TwoFaVerifyDto {\n @IsString()\n @IsNotEmpty()\n password!: string\n}\n"],"names":["TwoFaResponseDto","TwoFaVerifyDto","TwoFaVerifyWithPasswordDto","LoginResponseDto"],"mappings":";;;;;;;;;;;QAGaA;eAAAA;;QAKAC;eAAAA;;QAUAC;eAAAA;;;gCAlB+C;kCAC3B;;;;;;;;;;AAE1B,IAAA,AAAMF,mBAAN,MAAMA,yBAAyBG,kCAAgB;AAGtD;AAEO,IAAA,AAAMF,iBAAN,MAAMA;AAQb;;;;;;;;;;;AAEO,IAAA,AAAMC,6BAAN,MAAMA,mCAAmCD;AAIhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/authentication/providers/two-fa/auth-two-fa.interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -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/authentication/utils/crypt-secret.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../backend/src/authentication/utils/crypt-secret.ts"],"sourcesContent":["import crypto from 'crypto'\n\n// Encrypt a plaintext string with a passphrase. Returns a compact string.\nexport function encryptSecret(plaintext: string, passphrase: string) {\n const salt = crypto.randomBytes(16) // for key derivation (scrypt)\n const iv = crypto.randomBytes(12) // recommended IV length for GCM\n const key = crypto.scryptSync(passphrase, salt, 32)\n\n const cipher = crypto.createCipheriv('aes-256-gcm', key, iv)\n const ciphertext = Buffer.concat([cipher.update(plaintext, 'utf8'), cipher.final()])\n const tag = cipher.getAuthTag()\n\n // Encode everything in base64 and concatenate: salt.iv.tag.cipher\n return [salt.toString('base64'), iv.toString('base64'), tag.toString('base64'), ciphertext.toString('base64')].join('.')\n}\n\n// Decrypt the string generated by encryptSecret with the same passphrase.\nexport function decryptSecret(payload: string, passphrase: string) {\n const [saltB64, ivB64, tagB64, ctB64] = payload.split('.')\n if (!saltB64 || !ivB64 || !tagB64 || !ctB64) {\n throw new Error('Invalid payload format')\n }\n\n const salt = Buffer.from(saltB64, 'base64')\n const iv = Buffer.from(ivB64, 'base64')\n const tag = Buffer.from(tagB64, 'base64')\n const ct = Buffer.from(ctB64, 'base64')\n\n const key = crypto.scryptSync(passphrase, salt, 32)\n const decipher = crypto.createDecipheriv('aes-256-gcm', key, iv)\n decipher.setAuthTag(tag)\n\n const plaintext = Buffer.concat([decipher.update(ct), decipher.final()])\n return plaintext.toString('utf8')\n}\n"],"names":["decryptSecret","encryptSecret","plaintext","passphrase","salt","crypto","randomBytes","iv","key","scryptSync","cipher","createCipheriv","ciphertext","Buffer","concat","update","final","tag","getAuthTag","toString","join","payload","saltB64","ivB64","tagB64","ctB64","split","Error","from","ct","decipher","createDecipheriv","setAuthTag"],"mappings":";;;;;;;;;;;QAiBgBA;eAAAA;;QAdAC;eAAAA;;;+DAHG;;;;;;AAGZ,SAASA,cAAcC,SAAiB,EAAEC,UAAkB;IACjE,MAAMC,OAAOC,eAAM,CAACC,WAAW,CAAC,IAAI,8BAA8B;;IAClE,MAAMC,KAAKF,eAAM,CAACC,WAAW,CAAC,IAAI,gCAAgC;;IAClE,MAAME,MAAMH,eAAM,CAACI,UAAU,CAACN,YAAYC,MAAM;IAEhD,MAAMM,SAASL,eAAM,CAACM,cAAc,CAAC,eAAeH,KAAKD;IACzD,MAAMK,aAAaC,OAAOC,MAAM,CAAC;QAACJ,OAAOK,MAAM,CAACb,WAAW;QAASQ,OAAOM,KAAK;KAAG;IACnF,MAAMC,MAAMP,OAAOQ,UAAU;IAE7B,kEAAkE;IAClE,OAAO;QAACd,KAAKe,QAAQ,CAAC;QAAWZ,GAAGY,QAAQ,CAAC;QAAWF,IAAIE,QAAQ,CAAC;QAAWP,WAAWO,QAAQ,CAAC;KAAU,CAACC,IAAI,CAAC;AACtH;AAGO,SAASpB,cAAcqB,OAAe,EAAElB,UAAkB;IAC/D,MAAM,CAACmB,SAASC,OAAOC,QAAQC,MAAM,GAAGJ,QAAQK,KAAK,CAAC;IACtD,IAAI,CAACJ,WAAW,CAACC,SAAS,CAACC,UAAU,CAACC,OAAO;QAC3C,MAAM,IAAIE,MAAM;IAClB;IAEA,MAAMvB,OAAOS,OAAOe,IAAI,CAACN,SAAS;IAClC,MAAMf,KAAKM,OAAOe,IAAI,CAACL,OAAO;IAC9B,MAAMN,MAAMJ,OAAOe,IAAI,CAACJ,QAAQ;IAChC,MAAMK,KAAKhB,OAAOe,IAAI,CAACH,OAAO;IAE9B,MAAMjB,MAAMH,eAAM,CAACI,UAAU,CAACN,YAAYC,MAAM;IAChD,MAAM0B,WAAWzB,eAAM,CAAC0B,gBAAgB,CAAC,eAAevB,KAAKD;IAC7DuB,SAASE,UAAU,CAACf;IAEpB,MAAMf,YAAYW,OAAOC,MAAM,CAAC;QAACgB,SAASf,MAAM,CAACc;QAAKC,SAASd,KAAK;KAAG;IACvE,OAAOd,UAAUiB,QAAQ,CAAC;AAC5B"}
|
|
@@ -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/common/constants.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../backend/src/common/constants.ts"],"sourcesContent":["export enum ACTION {\n ADD = 'add',\n UPDATE = 'update',\n DELETE = 'delete',\n DELETE_PERMANENTLY = 'deletePermanently'\n}\n"],"names":["ACTION"],"mappings":";;;;+BAAYA;;;eAAAA;;;AAAL,IAAA,AAAKA,gCAAAA;;;;;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/common/decorators.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../backend/src/common/decorators.ts"],"sourcesContent":["import { registerDecorator, ValidationArguments, ValidationOptions } from 'class-validator'\n\nexport function RejectIfMatch(regex: RegExp, validationOptions?: ValidationOptions) {\n return function (object: any, propertyName: string) {\n registerDecorator({\n name: 'RejectIfMatch',\n target: object.constructor,\n propertyName: propertyName,\n options: validationOptions,\n validator: {\n validate(value: any, _args: ValidationArguments) {\n return typeof value === 'string' && !regex.test(value)\n },\n defaultMessage(args: ValidationArguments) {\n return `${args.property} ne doit pas correspondre à ${regex}`\n }\n }\n })\n }\n}\n"],"names":["RejectIfMatch","regex","validationOptions","object","propertyName","registerDecorator","name","target","options","validator","validate","value","_args","test","defaultMessage","args","property"],"mappings":";;;;+BAEgBA;;;eAAAA;;;gCAF0D;AAEnE,SAASA,cAAcC,KAAa,EAAEC,iBAAqC;IAChF,OAAO,SAAUC,MAAW,EAAEC,YAAoB;QAChDC,IAAAA,iCAAiB,EAAC;YAChBC,MAAM;YACNC,QAAQJ,OAAO,WAAW;YAC1BC,cAAcA;YACdI,SAASN;YACTO,WAAW;gBACTC,UAASC,KAAU,EAAEC,KAA0B;oBAC7C,OAAO,OAAOD,UAAU,YAAY,CAACV,MAAMY,IAAI,CAACF;gBAClD;gBACAG,gBAAeC,IAAyB;oBACtC,OAAO,GAAGA,KAAKC,QAAQ,CAAC,4BAA4B,EAAEf,OAAO;gBAC/D;YACF;QACF;IACF;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
|
});
|
|
@@ -93,6 +89,7 @@ const _classvalidator = require("class-validator");
|
|
|
93
89
|
const _nodecrypto = /*#__PURE__*/ _interop_require_default(require("node:crypto"));
|
|
94
90
|
const _promises = require("node:timers/promises");
|
|
95
91
|
const _spaces = require("../applications/spaces/constants/spaces");
|
|
92
|
+
const _shared = require("./shared");
|
|
96
93
|
function _interop_require_default(obj) {
|
|
97
94
|
return obj && obj.__esModule ? obj : {
|
|
98
95
|
default: obj
|
|
@@ -171,13 +168,15 @@ function formatDateISOString(date) {
|
|
|
171
168
|
}
|
|
172
169
|
function urlToPath(url) {
|
|
173
170
|
// transform https://sync-in.com/webdav/ to /webdav/
|
|
171
|
+
let path;
|
|
174
172
|
try {
|
|
175
173
|
// transform https://sync-in.com/webdav/ to /webdav/
|
|
176
|
-
|
|
174
|
+
path = new URL(url).pathname;
|
|
177
175
|
} catch {
|
|
178
176
|
// or allows uri like : /webdav/
|
|
179
|
-
|
|
177
|
+
path = url;
|
|
180
178
|
}
|
|
179
|
+
return (0, _shared.decodeUrl)(path);
|
|
181
180
|
}
|
|
182
181
|
async function hashPassword(password) {
|
|
183
182
|
return await _bcryptjs.default.hash(password, 10);
|
|
@@ -220,12 +219,29 @@ function splitFullName(fullName) {
|
|
|
220
219
|
lastName
|
|
221
220
|
};
|
|
222
221
|
}
|
|
223
|
-
function
|
|
222
|
+
function formatValidationErrors(errors) {
|
|
223
|
+
const messages = [];
|
|
224
|
+
const walk = (items)=>{
|
|
225
|
+
for (const error of items){
|
|
226
|
+
if (error.constraints) {
|
|
227
|
+
messages.push(...Object.values(error.constraints));
|
|
228
|
+
}
|
|
229
|
+
if (error.children && error.children.length > 0) {
|
|
230
|
+
walk(error.children);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
walk(errors);
|
|
235
|
+
return messages;
|
|
236
|
+
}
|
|
237
|
+
function transformAndValidate(schema, object, transformOptions = {}, validatorOptions = {}, context) {
|
|
224
238
|
// warning: plainToInstance do not use constructor to instantiate class
|
|
225
239
|
const instance = (0, _classtransformer.plainToInstance)(schema, object, transformOptions);
|
|
226
240
|
const errors = (0, _classvalidator.validateSync)(instance, validatorOptions);
|
|
227
241
|
if (errors.length > 0) {
|
|
228
|
-
|
|
242
|
+
const messages = formatValidationErrors(errors);
|
|
243
|
+
const message = messages.length > 0 ? messages.join('; ') : errors.toString();
|
|
244
|
+
throw new Error(context ? `${context}: ${message}` : message);
|
|
229
245
|
}
|
|
230
246
|
return instance;
|
|
231
247
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../backend/src/common/functions.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 { parse as parseMs } from '@lukeed/ms'\nimport bcrypt from 'bcryptjs'\nimport { ClassTransformOptions, plainToInstance } from 'class-transformer'\nimport { validateSync } from 'class-validator'\nimport { ValidationError } from 'class-validator/types/validation/ValidationError'\nimport { ValidatorOptions } from 'class-validator/types/validation/ValidatorOptions'\nimport crypto from 'node:crypto'\nimport { setTimeout } from 'node:timers/promises'\nimport { SPACE_PERMS_SEP } from '../applications/spaces/constants/spaces'\n\nexport const regexpEscape = /[.*+?^${}()|[\\]\\\\]/g\nexport const regexSpecialChars = /[-[\\]{}()*+!<=:?./\\\\^$|#,]/g\nexport const regexSpecialCharsWithSpace = /[-[\\]{}()*+!<=:?./\\\\^$|#\\s,]/g\n\nexport async function loadOptionalModule(moduleName: string): Promise<any> {\n return await import(moduleName)\n}\n\nexport async function sleep(ms: number): Promise<void> {\n await setTimeout(ms)\n}\n\nexport function escapeSQLRegexp(input: string): string {\n return input.replace(regexSpecialCharsWithSpace, '\\\\\\\\$&').replaceAll(\"'\", \"''\")\n}\n\nexport function escapeString(input: string): string {\n return input.replace(regexSpecialChars, '\\\\$&')\n}\n\nexport function escapePath(path: string): string {\n return path.replace(regexpEscape, '\\\\$&')\n}\n\nexport function regExpPathPattern(path: string): RegExp {\n return new RegExp(`^${escapePath(path)}[/\\\\\\\\]`)\n}\n\nexport function convertHumanTimeToSeconds(value: string): number {\n return parseMs(value) / 1000\n}\n\nexport function convertHumanTimeToMs(value: string): number {\n return parseMs(value)\n}\n\nexport function formatDateISOString(date: Date): string {\n return date.toISOString().replaceAll('-', '.').replaceAll(':', '-').replace('T', ' ').replace('Z', '')\n}\n\nexport function urlToPath(url: string): string {\n // transform https://sync-in.com/webdav/ to /webdav/\n try {\n // transform https://sync-in.com/webdav/ to /webdav/\n return new URL(url).pathname\n } catch {\n // or allows uri like : /webdav/\n return url\n }\n}\n\nexport async function hashPassword(password: string): Promise<string> {\n return await bcrypt.hash(password, 10)\n}\n\nexport async function comparePassword(password: string, hash: string): Promise<boolean> {\n return await bcrypt.compare(password, hash)\n}\n\nexport function generateShortUUID(length: number = 32, encoding: BufferEncoding = 'base64url'): string {\n const bytes = Math.ceil((length * 3) / 4) // adapt to real length\n return crypto.randomBytes(bytes).toString(encoding)\n}\n\nexport function anonymizePassword(obj: { password?: string; secrets?: string }) {\n return { ...obj, ...(obj?.password && { password: '********' }), ...(obj?.secrets && { secrets: '********' }) }\n}\n\nexport function splitFullName(fullName?: string): { firstName: string; lastName: string } {\n if (!fullName || !fullName.trim()) return { firstName: '', lastName: '' }\n const parts = fullName.trim().split(/\\s+/)\n if (parts.length === 1) {\n return { firstName: '', lastName: parts[0] }\n }\n const lastName = parts.pop()!\n const firstName = parts.join(' ')\n return { firstName, lastName }\n}\n\nexport function transformAndValidate<T extends object>(\n schema: new () => T,\n object: any,\n transformOptions: ClassTransformOptions = {},\n validatorOptions: ValidatorOptions = {}\n): T {\n // warning: plainToInstance do not use constructor to instantiate class\n const instance: T = plainToInstance(schema, object, transformOptions)\n const errors: ValidationError[] = validateSync(instance, validatorOptions)\n if (errors.length > 0) {\n throw new Error(errors.toString())\n }\n return instance\n}\n\nexport function uniquePermissions(permissions: string, permissionsSeparator: string = SPACE_PERMS_SEP) {\n /*\n Returns unique permissions : 'c:r:w:c:r' -> 'c:r:w'\n */\n if (permissions.length === 0) return permissions\n return [\n ...new Set(\n permissions\n .split(permissionsSeparator)\n .filter((p: string) => p && p !== 'null')\n .sort()\n )\n ].join(permissionsSeparator)\n}\n\nexport function differencePermissions(aPermissions: string, bPermissions: string, permissionsSeparator: string = SPACE_PERMS_SEP): string[] {\n const aPerms = aPermissions.split(permissionsSeparator)\n const bPerms = bPermissions.split(permissionsSeparator)\n return aPerms.filter((p: string) => p !== '' && bPerms.indexOf(p) === -1).sort()\n}\n\nexport function sortObjByName(a: { name: string }, b: { name: string }, asc = false): 0 | 1 | -1 {\n const aN = a.name.toLowerCase()\n const bN = b.name.toLowerCase()\n if (asc) {\n return aN < bN ? 1 : aN > bN ? -1 : 0\n } else {\n return aN < bN ? -1 : aN > bN ? 1 : 0\n }\n}\n\nfunction diffProperties(a: any, b: any, props: string[]): boolean {\n for (const p of props) {\n if (a[p] !== b[p]) {\n return false\n }\n }\n return true\n}\n\nexport function diffCollection<T>(\n curCollection: T[],\n newCollection: T[],\n updateProps: string[],\n compareProps: string[] = ['id']\n): [T[], Record<string | 'object', { old: any; new: any } | T>[], T[]] {\n const toAdd: T[] = []\n const toUpdate: Record<string | 'object', { old: any; new: any } | T>[] = []\n const toRemove: T[] = curCollection.filter((c: T) => !newCollection.find((n: T) => diffProperties(c, n, compareProps)))\n for (const n of newCollection) {\n const o = curCollection.find((c: T) => diffProperties(c, n, compareProps))\n if (o) {\n const diff: Record<string | 'object', { old: any; new: any } | T> = {}\n for (const p of updateProps.filter((p: string) => n[p] !== o[p])) {\n diff[p] = { old: o[p], new: n[p] }\n }\n if (Object.keys(diff).length) {\n diff['object'] = n\n toUpdate.push(diff)\n }\n } else {\n toAdd.push(n)\n }\n }\n return [toAdd, toUpdate, toRemove]\n}\n\nexport function convertDiffUpdate(update: Record<string | 'object', { old: any; new: any } | any>[]): Record<string | 'object', any>[] {\n // only keep the new values\n return update.map((o) => Object.fromEntries(Object.entries(o).map(([p, v]) => [p, p === 'object' ? v : v.new])))\n}\n"],"names":["anonymizePassword","comparePassword","convertDiffUpdate","convertHumanTimeToMs","convertHumanTimeToSeconds","diffCollection","differencePermissions","escapePath","escapeSQLRegexp","escapeString","formatDateISOString","generateShortUUID","hashPassword","loadOptionalModule","regExpPathPattern","regexSpecialChars","regexSpecialCharsWithSpace","regexpEscape","sleep","sortObjByName","splitFullName","transformAndValidate","uniquePermissions","urlToPath","moduleName","ms","setTimeout","input","replace","replaceAll","path","RegExp","value","parseMs","date","toISOString","url","URL","pathname","password","bcrypt","hash","compare","length","encoding","bytes","Math","ceil","crypto","randomBytes","toString","obj","secrets","fullName","trim","firstName","lastName","parts","split","pop","join","schema","object","transformOptions","validatorOptions","instance","plainToInstance","errors","validateSync","Error","permissions","permissionsSeparator","SPACE_PERMS_SEP","Set","filter","p","sort","aPermissions","bPermissions","aPerms","bPerms","indexOf","a","b","asc","aN","name","toLowerCase","bN","diffProperties","props","curCollection","newCollection","updateProps","compareProps","toAdd","toUpdate","toRemove","c","find","n","o","diff","old","new","Object","keys","push","update","map","fromEntries","entries","v"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../backend/src/common/functions.ts"],"sourcesContent":["import { parse as parseMs } from '@lukeed/ms'\nimport bcrypt from 'bcryptjs'\nimport { ClassTransformOptions, plainToInstance } from 'class-transformer'\nimport { validateSync } from 'class-validator'\nimport { ValidationError } from 'class-validator/types/validation/ValidationError'\nimport { ValidatorOptions } from 'class-validator/types/validation/ValidatorOptions'\nimport crypto from 'node:crypto'\nimport { setTimeout } from 'node:timers/promises'\nimport { SPACE_PERMS_SEP } from '../applications/spaces/constants/spaces'\nimport { decodeUrl } from './shared'\n\nexport const regexpEscape = /[.*+?^${}()|[\\]\\\\]/g\nexport const regexSpecialChars = /[-[\\]{}()*+!<=:?./\\\\^$|#,]/g\nexport const regexSpecialCharsWithSpace = /[-[\\]{}()*+!<=:?./\\\\^$|#\\s,]/g\n\nexport async function loadOptionalModule(moduleName: string): Promise<any> {\n return await import(moduleName)\n}\n\nexport async function sleep(ms: number): Promise<void> {\n await setTimeout(ms)\n}\n\nexport function escapeSQLRegexp(input: string): string {\n return input.replace(regexSpecialCharsWithSpace, '\\\\\\\\$&').replaceAll(\"'\", \"''\")\n}\n\nexport function escapeString(input: string): string {\n return input.replace(regexSpecialChars, '\\\\$&')\n}\n\nexport function escapePath(path: string): string {\n return path.replace(regexpEscape, '\\\\$&')\n}\n\nexport function regExpPathPattern(path: string): RegExp {\n return new RegExp(`^${escapePath(path)}[/\\\\\\\\]`)\n}\n\nexport function convertHumanTimeToSeconds(value: string): number {\n return parseMs(value) / 1000\n}\n\nexport function convertHumanTimeToMs(value: string): number {\n return parseMs(value)\n}\n\nexport function formatDateISOString(date: Date): string {\n return date.toISOString().replaceAll('-', '.').replaceAll(':', '-').replace('T', ' ').replace('Z', '')\n}\n\nexport function urlToPath(url: string): string {\n // transform https://sync-in.com/webdav/ to /webdav/\n let path: string\n try {\n // transform https://sync-in.com/webdav/ to /webdav/\n path = new URL(url).pathname\n } catch {\n // or allows uri like : /webdav/\n path = url\n }\n return decodeUrl(path)\n}\n\nexport async function hashPassword(password: string): Promise<string> {\n return await bcrypt.hash(password, 10)\n}\n\nexport async function comparePassword(password: string, hash: string): Promise<boolean> {\n return await bcrypt.compare(password, hash)\n}\n\nexport function generateShortUUID(length: number = 32, encoding: BufferEncoding = 'base64url'): string {\n const bytes = Math.ceil((length * 3) / 4) // adapt to real length\n return crypto.randomBytes(bytes).toString(encoding)\n}\n\nexport function anonymizePassword(obj: { password?: string; secrets?: string }) {\n return { ...obj, ...(obj?.password && { password: '********' }), ...(obj?.secrets && { secrets: '********' }) }\n}\n\nexport function splitFullName(fullName?: string): { firstName: string; lastName: string } {\n if (!fullName || !fullName.trim()) return { firstName: '', lastName: '' }\n const parts = fullName.trim().split(/\\s+/)\n if (parts.length === 1) {\n return { firstName: '', lastName: parts[0] }\n }\n const lastName = parts.pop()!\n const firstName = parts.join(' ')\n return { firstName, lastName }\n}\n\nfunction formatValidationErrors(errors: ValidationError[]): string[] {\n const messages: string[] = []\n const walk = (items: ValidationError[]) => {\n for (const error of items) {\n if (error.constraints) {\n messages.push(...Object.values(error.constraints))\n }\n if (error.children && error.children.length > 0) {\n walk(error.children)\n }\n }\n }\n walk(errors)\n return messages\n}\n\nexport function transformAndValidate<T extends object>(\n schema: new () => T,\n object: any,\n transformOptions: ClassTransformOptions = {},\n validatorOptions: ValidatorOptions = {},\n context?: string\n): T {\n // warning: plainToInstance do not use constructor to instantiate class\n const instance: T = plainToInstance(schema, object, transformOptions)\n const errors: ValidationError[] = validateSync(instance, validatorOptions)\n if (errors.length > 0) {\n const messages = formatValidationErrors(errors)\n const message = messages.length > 0 ? messages.join('; ') : errors.toString()\n throw new Error(context ? `${context}: ${message}` : message)\n }\n return instance\n}\n\nexport function uniquePermissions(permissions: string, permissionsSeparator: string = SPACE_PERMS_SEP) {\n /*\n Returns unique permissions : 'c:r:w:c:r' -> 'c:r:w'\n */\n if (permissions.length === 0) return permissions\n return [\n ...new Set(\n permissions\n .split(permissionsSeparator)\n .filter((p: string) => p && p !== 'null')\n .sort()\n )\n ].join(permissionsSeparator)\n}\n\nexport function differencePermissions(aPermissions: string, bPermissions: string, permissionsSeparator: string = SPACE_PERMS_SEP): string[] {\n const aPerms = aPermissions.split(permissionsSeparator)\n const bPerms = bPermissions.split(permissionsSeparator)\n return aPerms.filter((p: string) => p !== '' && bPerms.indexOf(p) === -1).sort()\n}\n\nexport function sortObjByName(a: { name: string }, b: { name: string }, asc = false): 0 | 1 | -1 {\n const aN = a.name.toLowerCase()\n const bN = b.name.toLowerCase()\n if (asc) {\n return aN < bN ? 1 : aN > bN ? -1 : 0\n } else {\n return aN < bN ? -1 : aN > bN ? 1 : 0\n }\n}\n\nfunction diffProperties(a: any, b: any, props: string[]): boolean {\n for (const p of props) {\n if (a[p] !== b[p]) {\n return false\n }\n }\n return true\n}\n\nexport function diffCollection<T>(\n curCollection: T[],\n newCollection: T[],\n updateProps: string[],\n compareProps: string[] = ['id']\n): [T[], Record<string | 'object', { old: any; new: any } | T>[], T[]] {\n const toAdd: T[] = []\n const toUpdate: Record<string | 'object', { old: any; new: any } | T>[] = []\n const toRemove: T[] = curCollection.filter((c: T) => !newCollection.find((n: T) => diffProperties(c, n, compareProps)))\n for (const n of newCollection) {\n const o = curCollection.find((c: T) => diffProperties(c, n, compareProps))\n if (o) {\n const diff: Record<string | 'object', { old: any; new: any } | T> = {}\n for (const p of updateProps.filter((p: string) => n[p] !== o[p])) {\n diff[p] = { old: o[p], new: n[p] }\n }\n if (Object.keys(diff).length) {\n diff['object'] = n\n toUpdate.push(diff)\n }\n } else {\n toAdd.push(n)\n }\n }\n return [toAdd, toUpdate, toRemove]\n}\n\nexport function convertDiffUpdate(update: Record<string | 'object', { old: any; new: any } | any>[]): Record<string | 'object', any>[] {\n // only keep the new values\n return update.map((o) => Object.fromEntries(Object.entries(o).map(([p, v]) => [p, p === 'object' ? v : v.new])))\n}\n"],"names":["anonymizePassword","comparePassword","convertDiffUpdate","convertHumanTimeToMs","convertHumanTimeToSeconds","diffCollection","differencePermissions","escapePath","escapeSQLRegexp","escapeString","formatDateISOString","generateShortUUID","hashPassword","loadOptionalModule","regExpPathPattern","regexSpecialChars","regexSpecialCharsWithSpace","regexpEscape","sleep","sortObjByName","splitFullName","transformAndValidate","uniquePermissions","urlToPath","moduleName","ms","setTimeout","input","replace","replaceAll","path","RegExp","value","parseMs","date","toISOString","url","URL","pathname","decodeUrl","password","bcrypt","hash","compare","length","encoding","bytes","Math","ceil","crypto","randomBytes","toString","obj","secrets","fullName","trim","firstName","lastName","parts","split","pop","join","formatValidationErrors","errors","messages","walk","items","error","constraints","push","Object","values","children","schema","object","transformOptions","validatorOptions","context","instance","plainToInstance","validateSync","message","Error","permissions","permissionsSeparator","SPACE_PERMS_SEP","Set","filter","p","sort","aPermissions","bPermissions","aPerms","bPerms","indexOf","a","b","asc","aN","name","toLowerCase","bN","diffProperties","props","curCollection","newCollection","updateProps","compareProps","toAdd","toUpdate","toRemove","c","find","n","o","diff","old","new","keys","update","map","fromEntries","entries","v"],"mappings":";;;;;;;;;;;QA6EgBA;eAAAA;;QATMC;eAAAA;;QA6HNC;eAAAA;;QAtJAC;eAAAA;;QAJAC;eAAAA;;QA+HAC;eAAAA;;QAzBAC;eAAAA;;QA9GAC;eAAAA;;QARAC;eAAAA;;QAIAC;eAAAA;;QAoBAC;eAAAA;;QAyBAC;eAAAA;;QARMC;eAAAA;;QAjDAC;eAAAA;;QAoBNC;eAAAA;;QAvBHC;eAAAA;;QACAC;eAAAA;;QAFAC;eAAAA;;QAQSC;eAAAA;;QAgINC;eAAAA;;QAlEAC;eAAAA;;QA2BAC;eAAAA;;QAkBAC;eAAAA;;QA3EAC;eAAAA;;;oBAnDiB;iEACd;kCACoC;gCAC1B;mEAGV;0BACQ;wBACK;wBACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEnB,MAAMN,eAAe;AACrB,MAAMF,oBAAoB;AAC1B,MAAMC,6BAA6B;AAEnC,eAAeH,mBAAmBW,UAAkB;IACzD,OAAO,MAAM,gBAAOA,8DAAP;AACf;AAEO,eAAeN,MAAMO,EAAU;IACpC,MAAMC,IAAAA,oBAAU,EAACD;AACnB;AAEO,SAASjB,gBAAgBmB,KAAa;IAC3C,OAAOA,MAAMC,OAAO,CAACZ,4BAA4B,UAAUa,UAAU,CAAC,KAAK;AAC7E;AAEO,SAASpB,aAAakB,KAAa;IACxC,OAAOA,MAAMC,OAAO,CAACb,mBAAmB;AAC1C;AAEO,SAASR,WAAWuB,IAAY;IACrC,OAAOA,KAAKF,OAAO,CAACX,cAAc;AACpC;AAEO,SAASH,kBAAkBgB,IAAY;IAC5C,OAAO,IAAIC,OAAO,CAAC,CAAC,EAAExB,WAAWuB,MAAM,OAAO,CAAC;AACjD;AAEO,SAAS1B,0BAA0B4B,KAAa;IACrD,OAAOC,IAAAA,SAAO,EAACD,SAAS;AAC1B;AAEO,SAAS7B,qBAAqB6B,KAAa;IAChD,OAAOC,IAAAA,SAAO,EAACD;AACjB;AAEO,SAAStB,oBAAoBwB,IAAU;IAC5C,OAAOA,KAAKC,WAAW,GAAGN,UAAU,CAAC,KAAK,KAAKA,UAAU,CAAC,KAAK,KAAKD,OAAO,CAAC,KAAK,KAAKA,OAAO,CAAC,KAAK;AACrG;AAEO,SAASL,UAAUa,GAAW;IACnC,oDAAoD;IACpD,IAAIN;IACJ,IAAI;QACF,oDAAoD;QACpDA,OAAO,IAAIO,IAAID,KAAKE,QAAQ;IAC9B,EAAE,OAAM;QACN,gCAAgC;QAChCR,OAAOM;IACT;IACA,OAAOG,IAAAA,iBAAS,EAACT;AACnB;AAEO,eAAelB,aAAa4B,QAAgB;IACjD,OAAO,MAAMC,iBAAM,CAACC,IAAI,CAACF,UAAU;AACrC;AAEO,eAAevC,gBAAgBuC,QAAgB,EAAEE,IAAY;IAClE,OAAO,MAAMD,iBAAM,CAACE,OAAO,CAACH,UAAUE;AACxC;AAEO,SAAS/B,kBAAkBiC,SAAiB,EAAE,EAAEC,WAA2B,WAAW;IAC3F,MAAMC,QAAQC,KAAKC,IAAI,CAAC,AAACJ,SAAS,IAAK,GAAG,uBAAuB;;IACjE,OAAOK,mBAAM,CAACC,WAAW,CAACJ,OAAOK,QAAQ,CAACN;AAC5C;AAEO,SAAS7C,kBAAkBoD,GAA4C;IAC5E,OAAO;QAAE,GAAGA,GAAG;QAAE,GAAIA,KAAKZ,YAAY;YAAEA,UAAU;QAAW,CAAC;QAAG,GAAIY,KAAKC,WAAW;YAAEA,SAAS;QAAW,CAAC;IAAE;AAChH;AAEO,SAASjC,cAAckC,QAAiB;IAC7C,IAAI,CAACA,YAAY,CAACA,SAASC,IAAI,IAAI,OAAO;QAAEC,WAAW;QAAIC,UAAU;IAAG;IACxE,MAAMC,QAAQJ,SAASC,IAAI,GAAGI,KAAK,CAAC;IACpC,IAAID,MAAMd,MAAM,KAAK,GAAG;QACtB,OAAO;YAAEY,WAAW;YAAIC,UAAUC,KAAK,CAAC,EAAE;QAAC;IAC7C;IACA,MAAMD,WAAWC,MAAME,GAAG;IAC1B,MAAMJ,YAAYE,MAAMG,IAAI,CAAC;IAC7B,OAAO;QAAEL;QAAWC;IAAS;AAC/B;AAEA,SAASK,uBAAuBC,MAAyB;IACvD,MAAMC,WAAqB,EAAE;IAC7B,MAAMC,OAAO,CAACC;QACZ,KAAK,MAAMC,SAASD,MAAO;YACzB,IAAIC,MAAMC,WAAW,EAAE;gBACrBJ,SAASK,IAAI,IAAIC,OAAOC,MAAM,CAACJ,MAAMC,WAAW;YAClD;YACA,IAAID,MAAMK,QAAQ,IAAIL,MAAMK,QAAQ,CAAC5B,MAAM,GAAG,GAAG;gBAC/CqB,KAAKE,MAAMK,QAAQ;YACrB;QACF;IACF;IACAP,KAAKF;IACL,OAAOC;AACT;AAEO,SAAS3C,qBACdoD,MAAmB,EACnBC,MAAW,EACXC,mBAA0C,CAAC,CAAC,EAC5CC,mBAAqC,CAAC,CAAC,EACvCC,OAAgB;IAEhB,uEAAuE;IACvE,MAAMC,WAAcC,IAAAA,iCAAe,EAACN,QAAQC,QAAQC;IACpD,MAAMZ,SAA4BiB,IAAAA,4BAAY,EAACF,UAAUF;IACzD,IAAIb,OAAOnB,MAAM,GAAG,GAAG;QACrB,MAAMoB,WAAWF,uBAAuBC;QACxC,MAAMkB,UAAUjB,SAASpB,MAAM,GAAG,IAAIoB,SAASH,IAAI,CAAC,QAAQE,OAAOZ,QAAQ;QAC3E,MAAM,IAAI+B,MAAML,UAAU,GAAGA,QAAQ,EAAE,EAAEI,SAAS,GAAGA;IACvD;IACA,OAAOH;AACT;AAEO,SAASxD,kBAAkB6D,WAAmB,EAAEC,uBAA+BC,uBAAe;IACnG;;EAEA,GACA,IAAIF,YAAYvC,MAAM,KAAK,GAAG,OAAOuC;IACrC,OAAO;WACF,IAAIG,IACLH,YACGxB,KAAK,CAACyB,sBACNG,MAAM,CAAC,CAACC,IAAcA,KAAKA,MAAM,QACjCC,IAAI;KAEV,CAAC5B,IAAI,CAACuB;AACT;AAEO,SAAS9E,sBAAsBoF,YAAoB,EAAEC,YAAoB,EAAEP,uBAA+BC,uBAAe;IAC9H,MAAMO,SAASF,aAAa/B,KAAK,CAACyB;IAClC,MAAMS,SAASF,aAAahC,KAAK,CAACyB;IAClC,OAAOQ,OAAOL,MAAM,CAAC,CAACC,IAAcA,MAAM,MAAMK,OAAOC,OAAO,CAACN,OAAO,CAAC,GAAGC,IAAI;AAChF;AAEO,SAAStE,cAAc4E,CAAmB,EAAEC,CAAmB,EAAEC,MAAM,KAAK;IACjF,MAAMC,KAAKH,EAAEI,IAAI,CAACC,WAAW;IAC7B,MAAMC,KAAKL,EAAEG,IAAI,CAACC,WAAW;IAC7B,IAAIH,KAAK;QACP,OAAOC,KAAKG,KAAK,IAAIH,KAAKG,KAAK,CAAC,IAAI;IACtC,OAAO;QACL,OAAOH,KAAKG,KAAK,CAAC,IAAIH,KAAKG,KAAK,IAAI;IACtC;AACF;AAEA,SAASC,eAAeP,CAAM,EAAEC,CAAM,EAAEO,KAAe;IACrD,KAAK,MAAMf,KAAKe,MAAO;QACrB,IAAIR,CAAC,CAACP,EAAE,KAAKQ,CAAC,CAACR,EAAE,EAAE;YACjB,OAAO;QACT;IACF;IACA,OAAO;AACT;AAEO,SAASnF,eACdmG,aAAkB,EAClBC,aAAkB,EAClBC,WAAqB,EACrBC,eAAyB;IAAC;CAAK;IAE/B,MAAMC,QAAa,EAAE;IACrB,MAAMC,WAAoE,EAAE;IAC5E,MAAMC,WAAgBN,cAAcjB,MAAM,CAAC,CAACwB,IAAS,CAACN,cAAcO,IAAI,CAAC,CAACC,IAASX,eAAeS,GAAGE,GAAGN;IACxG,KAAK,MAAMM,KAAKR,cAAe;QAC7B,MAAMS,IAAIV,cAAcQ,IAAI,CAAC,CAACD,IAAST,eAAeS,GAAGE,GAAGN;QAC5D,IAAIO,GAAG;YACL,MAAMC,OAA8D,CAAC;YACrE,KAAK,MAAM3B,KAAKkB,YAAYnB,MAAM,CAAC,CAACC,IAAcyB,CAAC,CAACzB,EAAE,KAAK0B,CAAC,CAAC1B,EAAE,EAAG;gBAChE2B,IAAI,CAAC3B,EAAE,GAAG;oBAAE4B,KAAKF,CAAC,CAAC1B,EAAE;oBAAE6B,KAAKJ,CAAC,CAACzB,EAAE;gBAAC;YACnC;YACA,IAAIlB,OAAOgD,IAAI,CAACH,MAAMvE,MAAM,EAAE;gBAC5BuE,IAAI,CAAC,SAAS,GAAGF;gBACjBJ,SAASxC,IAAI,CAAC8C;YAChB;QACF,OAAO;YACLP,MAAMvC,IAAI,CAAC4C;QACb;IACF;IACA,OAAO;QAACL;QAAOC;QAAUC;KAAS;AACpC;AAEO,SAAS5G,kBAAkBqH,MAAiE;IACjG,2BAA2B;IAC3B,OAAOA,OAAOC,GAAG,CAAC,CAACN,IAAM5C,OAAOmD,WAAW,CAACnD,OAAOoD,OAAO,CAACR,GAAGM,GAAG,CAAC,CAAC,CAAChC,GAAGmC,EAAE,GAAK;gBAACnC;gBAAGA,MAAM,WAAWmC,IAAIA,EAAEN,GAAG;aAAC;AAC/G"}
|
package/server/common/i18n.js
CHANGED
|
@@ -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/common/i18n.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../backend/src/common/i18n.ts"],"sourcesContent":["export const LANG_DEFAULT = 'en' as const\nexport type i18nLocaleSupported = 'de' | 'en' | 'es' | 'fr' | 'hi' | 'it' | 'ja' | 'ko' | 'pl' | 'pt' | 'pt-BR' | 'ru' | 'tr' | 'zh'\nexport const LANG_SUPPORTED = new Set<i18nLocaleSupported>(['de', 'en', 'es', 'fr', 'hi', 'it', 'ja', 'ko', 'pl', 'pt', 'pt-BR', 'ru', 'tr', 'zh'])\nexport type i18nLocale = Exclude<i18nLocaleSupported, typeof LANG_DEFAULT>\n\nexport function normalizeLanguage(language: string): i18nLocaleSupported | null {\n if (!language) return null\n if (LANG_SUPPORTED.has(language as i18nLocaleSupported)) {\n return language as i18nLocaleSupported\n }\n const code = language.split('-')[0]\n return LANG_SUPPORTED.has(code as i18nLocaleSupported) ? (code as i18nLocaleSupported) : null\n}\n"],"names":["LANG_DEFAULT","LANG_SUPPORTED","normalizeLanguage","Set","language","has","code","split"],"mappings":";;;;;;;;;;;QAAaA;eAAAA;;QAEAC;eAAAA;;QAGGC;eAAAA;;;AALT,MAAMF,eAAe;AAErB,MAAMC,iBAAiB,IAAIE,IAAyB;IAAC;IAAM;IAAM;IAAM;IAAM;IAAM;IAAM;IAAM;IAAM;IAAM;IAAM;IAAS;IAAM;IAAM;CAAK;AAG3I,SAASD,kBAAkBE,QAAgB;IAChD,IAAI,CAACA,UAAU,OAAO;IACtB,IAAIH,eAAeI,GAAG,CAACD,WAAkC;QACvD,OAAOA;IACT;IACA,MAAME,OAAOF,SAASG,KAAK,CAAC,IAAI,CAAC,EAAE;IACnC,OAAON,eAAeI,GAAG,CAACC,QAAgCA,OAA+B;AAC3F"}
|
package/server/common/image.js
CHANGED
|
@@ -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/common/image.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../backend/src/common/image.ts"],"sourcesContent":["import fs from 'node:fs/promises'\nimport os from 'node:os'\nimport path from 'node:path'\nimport { Readable } from 'node:stream'\nimport { promisify } from 'node:util'\nimport sharp from 'sharp'\nimport TextToSVG from 'text-to-svg' // Sharp settings\n\n// Sharp settings\nsharp.cache(false)\nsharp.concurrency(Math.min(2, os.cpus()?.length || 1))\n\n// Constants\nexport const pngMimeType = 'image/png'\nexport const svgMimeType = 'image/svg+xml'\nexport const webpMimeType = 'image/webp'\nconst avatarSize = 256\nconst fontPath = path.join(__dirname, 'fonts', 'avatar.ttf')\nconst loadTextToSVG = promisify(TextToSVG.load.bind(TextToSVG))\nlet textToSvgCache: Promise<TextToSVG> | null = null\n\nexport async function generateThumbnail(filePath: string, size: number): Promise<Readable> {\n return sharp(filePath, {\n failOn: 'none',\n sequentialRead: true, // sequential read = more efficient I/O\n limitInputPixels: 268e6 // protects against extremely large images\n })\n .rotate()\n .resize({\n width: size,\n height: size,\n fit: 'inside',\n kernel: 'nearest',\n withoutEnlargement: true,\n fastShrinkOnLoad: true // true by default, added for clarity\n })\n .webp({ quality: 80, effort: 0, alphaQuality: 90 })\n}\n\nexport async function generateAvatar(initials: string): Promise<NodeJS.ReadableStream> {\n const tts = await getTextToSvg()\n const { backgroundColor, foregroundColor } = randomColor()\n const fontSize = fitFontSize(tts, initials, avatarSize * 0.8, 170)\n\n const d = tts.getD(initials, {\n x: avatarSize / 2,\n y: avatarSize / 2.1,\n fontSize,\n anchor: 'center middle'\n })\n\n const svg = `\n<svg width=\"${avatarSize}\" height=\"${avatarSize}\" viewBox=\"0 0 ${avatarSize} ${avatarSize}\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"100%\" height=\"100%\" fill=\"${backgroundColor}\"/>\n <path d=\"${d}\" fill=\"${foregroundColor}\" />\n</svg>`.trim()\n\n return sharp(Buffer.from(svg, 'utf8')).png()\n}\n\nexport async function convertImageToBase64(imgPath: string) {\n const base64String = await fs.readFile(imgPath, { encoding: 'base64' })\n return `data:image/png;base64,${base64String}`\n}\n\nfunction randomColor() {\n let color = ''\n while (color.length < 6) {\n /* sometimes the returned value does not have\n * the 6 digits needed, so we do it again until\n * it does\n */\n color = Math.floor(Math.random() * 16777215).toString(16)\n }\n const red = parseInt(color.substring(0, 2), 16)\n const green = parseInt(color.substring(2, 4), 16)\n const blue = parseInt(color.substring(4, 6), 16)\n const brightness = red * 0.299 + green * 0.587 + blue * 0.114\n\n return {\n backgroundColor: `#${color}`,\n foregroundColor: brightness > 180 ? '#000000' : '#ffffff'\n }\n}\n\nfunction fitFontSize(tts: TextToSVG, text: string, box: number, start = 170): number {\n // Heuristic to make the text occupy ~80% of the available width\n let size = start\n // Lower bound to prevent infinite loops when the font renders very small\n while (size > 20) {\n const m = tts.getMetrics(text, { fontSize: size, anchor: 'center middle' })\n if (m.width <= box) break\n size -= 4\n }\n return size\n}\n\nfunction getTextToSvg(): Promise<TextToSVG> {\n return (textToSvgCache ??= loadTextToSVG(fontPath) as Promise<TextToSVG>)\n}\n"],"names":["convertImageToBase64","generateAvatar","generateThumbnail","pngMimeType","svgMimeType","webpMimeType","sharp","cache","concurrency","Math","min","os","cpus","length","avatarSize","fontPath","path","join","__dirname","loadTextToSVG","promisify","TextToSVG","load","bind","textToSvgCache","filePath","size","failOn","sequentialRead","limitInputPixels","rotate","resize","width","height","fit","kernel","withoutEnlargement","fastShrinkOnLoad","webp","quality","effort","alphaQuality","initials","tts","getTextToSvg","backgroundColor","foregroundColor","randomColor","fontSize","fitFontSize","d","getD","x","y","anchor","svg","trim","Buffer","from","png","imgPath","base64String","fs","readFile","encoding","color","floor","random","toString","red","parseInt","substring","green","blue","brightness","text","box","start","m","getMetrics"],"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/common/interfaces.ts"],"
|
|
1
|
+
{"version":3,"sources":["../../../backend/src/common/interfaces.ts"],"names":[],"mappings":""}
|
package/server/common/qrcode.js
CHANGED
|
@@ -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/common/qrcode.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../backend/src/common/qrcode.ts"],"sourcesContent":["import qrcode from 'qrcode-generator'\n\nexport function qrcodeToDataURL(text: string) {\n const qr = qrcode(0, 'M') // version auto, correction M\n qr.addData(text)\n qr.make()\n\n const svg = qr.createSvgTag({ margin: 2, scalable: true })\n\n const base64 = Buffer.from(svg).toString('base64')\n return `data:image/svg+xml;base64,${base64}`\n}\n"],"names":["qrcodeToDataURL","text","qr","qrcode","addData","make","svg","createSvgTag","margin","scalable","base64","Buffer","from","toString"],"mappings":";;;;+BAEgBA;;;eAAAA;;;wEAFG;;;;;;AAEZ,SAASA,gBAAgBC,IAAY;IAC1C,MAAMC,KAAKC,IAAAA,wBAAM,EAAC,GAAG,KAAK,6BAA6B;;IACvDD,GAAGE,OAAO,CAACH;IACXC,GAAGG,IAAI;IAEP,MAAMC,MAAMJ,GAAGK,YAAY,CAAC;QAAEC,QAAQ;QAAGC,UAAU;IAAK;IAExD,MAAMC,SAASC,OAAOC,IAAI,CAACN,KAAKO,QAAQ,CAAC;IACzC,OAAO,CAAC,0BAA0B,EAAEH,QAAQ;AAC9C"}
|
package/server/common/shared.js
CHANGED
|
@@ -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
|
-
*/ /* THIS FILE IS SHARED WITH THE FRONTEND PACKAGE */ "use strict";
|
|
1
|
+
/* THIS FILE IS SHARED WITH THE FRONTEND PACKAGE */ "use strict";
|
|
6
2
|
Object.defineProperty(exports, "__esModule", {
|
|
7
3
|
value: true
|
|
8
4
|
});
|
|
@@ -16,6 +12,9 @@ _export(exports, {
|
|
|
16
12
|
get APP_URL () {
|
|
17
13
|
return APP_URL;
|
|
18
14
|
},
|
|
15
|
+
get RELEASES_URL () {
|
|
16
|
+
return RELEASES_URL;
|
|
17
|
+
},
|
|
19
18
|
get SERVER_NAME () {
|
|
20
19
|
return SERVER_NAME;
|
|
21
20
|
},
|
|
@@ -70,10 +69,11 @@ _export(exports, {
|
|
|
70
69
|
});
|
|
71
70
|
const _spaces = require("../applications/spaces/constants/spaces");
|
|
72
71
|
const SERVER_NAME = 'Sync-in';
|
|
72
|
+
const RELEASES_URL = 'https://releases.sync-in.org';
|
|
73
73
|
const APP_URL = {
|
|
74
74
|
WEBSITE: 'https://sync-in.com',
|
|
75
75
|
RELEASES: 'https://github.com/Sync-in/server/releases',
|
|
76
|
-
SERVER_VERSION_MANIFEST:
|
|
76
|
+
SERVER_VERSION_MANIFEST: `${RELEASES_URL}/sync-in-server/latest.json`
|
|
77
77
|
};
|
|
78
78
|
const regExpInvalidFileName = /^(?:CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])$|[<>:"/\\|?*\x00-\x1f\x80-\x9f]/;
|
|
79
79
|
const regExpPreventPathTraversal = /^(\.\.(\/|\\|$))+/;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../backend/src/common/shared.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../backend/src/common/shared.ts"],"sourcesContent":["/* THIS FILE IS SHARED WITH THE FRONTEND PACKAGE */\n\nimport { SPACE_PERMS_SEP } from '../applications/spaces/constants/spaces'\n\nexport const SERVER_NAME = 'Sync-in' as const\nexport const RELEASES_URL = 'https://releases.sync-in.org' as const\n\nexport const APP_URL = {\n WEBSITE: 'https://sync-in.com',\n RELEASES: 'https://github.com/Sync-in/server/releases',\n SERVER_VERSION_MANIFEST: `${RELEASES_URL}/sync-in-server/latest.json`\n} as const\n\n// eslint-disable-next-line no-control-regex\nexport const regExpInvalidFileName = /^(?:CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])$|[<>:\"/\\\\|?*\\x00-\\x1f\\x80-\\x9f]/\nexport const regExpPreventPathTraversal = /^(\\.\\.(\\/|\\\\|$))+/\nexport const regExpNumberSuffix = /-\\d+$/\nexport const forbiddenChars = '\\\\ / : * ? \" < > |'\n\nexport function isValidFileName(fileName: string) {\n if (regExpInvalidFileName.test(fileName)) {\n throw new Error('Forbidden characters')\n }\n}\n\nexport function currentTimeStamp(date?: Date, ms = false): number {\n return Math.floor((date ? date : new Date()).getTime() / (ms ? 1 : 1000))\n}\n\nexport function currentDate(value?: string): Date {\n return new Date((value ? value : new Date().toISOString()).split('T')[0])\n}\n\nexport function createSlug(input: string, replaceCount = false): string {\n const r = input\n .toLowerCase()\n .trim()\n .replace(/[\\s_-]+/g, '-')\n .replace(/^-+|-+$/g, '')\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n if (replaceCount) return r.replace(regExpNumberSuffix, '')\n return r\n}\n\nexport function createLightSlug(input: string) {\n return input\n .toLowerCase()\n .trim()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n}\n\nexport function genPassword(length = 12) {\n const chars = '0123456789abcdefghijklmnopqrstuvwxyz!@#$%^&*()ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n let password = ''\n for (let i = 0; i <= length; i++) {\n const randomNumber = Math.floor(Math.random() * chars.length)\n password += chars.substring(randomNumber, randomNumber + 1)\n }\n return password\n}\n\nexport function popFromObject(key: string, object: any): any {\n const item = object[key]\n delete object[key]\n return item\n}\n\nexport function encodeUrl(url: string): string {\n return url\n .split('/')\n .map((e) => encodeURIComponent(e))\n .join('/')\n}\n\nexport function decodeUrl(url: string): string {\n return url\n .split('/')\n .map((e) => decodeURIComponent(e))\n .join('/')\n}\n\nexport function objectPropertyFromString(obj: any, property: string): any {\n const a = property.split('.')\n let o = obj\n for (let i = 0, n = a.length; i < n; i++) {\n const k = a[i]\n if (k in o) {\n o = o[k]\n } else {\n return null\n }\n }\n return o\n}\n\nexport function capitalizeString(value: string): string {\n return value.charAt(0).toUpperCase() + value.slice(1)\n}\n\nexport function intersectPermissions(aPermissions: string, bPermissions: string, permissionsSeparator: string = SPACE_PERMS_SEP): string {\n const aPerms = aPermissions.split(permissionsSeparator)\n const bPerms = bPermissions.split(permissionsSeparator)\n return aPerms\n .filter((p: string) => p !== '' && p !== 'null' && bPerms.indexOf(p) > -1)\n .sort()\n .join(permissionsSeparator)\n}\n"],"names":["APP_URL","RELEASES_URL","SERVER_NAME","capitalizeString","createLightSlug","createSlug","currentDate","currentTimeStamp","decodeUrl","encodeUrl","forbiddenChars","genPassword","intersectPermissions","isValidFileName","objectPropertyFromString","popFromObject","regExpInvalidFileName","regExpNumberSuffix","regExpPreventPathTraversal","WEBSITE","RELEASES","SERVER_VERSION_MANIFEST","fileName","test","Error","date","ms","Math","floor","Date","getTime","value","toISOString","split","input","replaceCount","r","toLowerCase","trim","replace","normalize","length","chars","password","i","randomNumber","random","substring","key","object","item","url","map","e","encodeURIComponent","join","decodeURIComponent","obj","property","a","o","n","k","charAt","toUpperCase","slice","aPermissions","bPermissions","permissionsSeparator","SPACE_PERMS_SEP","aPerms","bPerms","filter","p","indexOf","sort"],"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
|
});
|