Skip to content

Conversation

@lexiv0re
Copy link
Collaborator

  • Adds External (guest) approvers to controlled docs

Related to: https://front.hc.engineering/workbench/platform/tracker/EQMS-1650

Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com>
@huly-github-staging
Copy link

Connected to Huly®: UBERF-13824

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for external (guest) approvers to controlled documents in the EQMS system. The implementation enables guest users to be designated as document approvers while maintaining proper security boundaries through collaboration-based access control.

  • Introduces externalApprovers field to ControlledDocument type and related components
  • Implements collaboration-based security for guest approvers to access documents and related entities
  • Updates UI components to support selection and management of external approvers

Reviewed Changes

Copilot reviewed 36 out of 36 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
server/postgres/src/storage.ts Updates security query logic to handle collaborator-based access for guest users
server/middleware/src/spaceSecurity.ts Enhances broadcast targeting to include guest collaborators for objects with collaboration security
server-plugins/notification-resources/src/index.ts Moves getClassCollaborators import from notification to core package
server-plugins/chunter-resources/src/index.ts Updates import path for getClassCollaborators function
server-plugins/activity-resources/src/references.ts Updates import path for getClassCollaborators function
plugins/notification/src/index.ts Removes export of utils module
plugins/notification-resources/src/utils.ts Updates import path for getClassCollaborators function
plugins/controlled-documents/src/types.ts Adds externalApprovers field to ControlledDocument interface
plugins/controlled-documents/src/plugin.ts Adds ExternalApprovers string constant
plugins/controlled-documents-resources/src/utils.ts Implements external approver access management and updates approval request logic
plugins/controlled-documents-resources/src/stores/editors/document/query.ts Simplifies approval request query by removing unnecessary _class parameter
plugins/controlled-documents-resources/src/docutils.ts Sets empty external approvers array for new document drafts
Multiple UI components Adds external approvers support to document team management and creation wizards
Language files Adds translations for "External approvers" across multiple languages
packages/importer/src/importer/importer.ts Adds externalApprovers field to import interfaces
packages/core/src/index.ts Exports collaborators module
packages/core/src/collaborators.ts Fixes import path for local types
models/controlled-documents/src/types.ts Adds externalApprovers property to ControlledDocument model
models/controlled-documents/src/migration.ts Adds migration for existing documents and collaboration security setup
models/controlled-documents/src/index.ts Configures collaboration security for document-related classes
dev/doc-import-tool/src/import.ts Initializes externalApprovers field in document creation

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com>
Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com>
Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com>
@lexiv0re
Copy link
Collaborator Author

lexiv0re commented Oct 1, 2025

@BykhovDenis please check the security changes

@lexiv0re lexiv0re merged commit e5b7f9c into develop Oct 1, 2025
15 checks passed
@lexiv0re lexiv0re deleted the eqms-1650/external-approvers branch October 1, 2025 17:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants