Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only allow users/jobs to be assigned to a ticket if they have commenter+ access. #5209

Open
10 tasks
carmenfan opened this issue Oct 11, 2024 · 0 comments
Open
10 tasks
Assignees
Labels

Comments

@carmenfan
Copy link
Member

carmenfan commented Oct 11, 2024

Description

Product issue: https://github.com/3drepo/3D-Repo-Product-Team/issues/590

We want to do 3 things here:

  • Add an endpoint to fetch users with container/federation access
  • Add an endpoint to fetch jobs with container/federation access
  • add middleware validation for:
    • Custom ticket assignee property: Can only assign job/user who has commenter+ access to the container/federation
    • Custom ticket general oneOf/ManyOf propery: Can only assign job/user who has viewer+ access to the container/federation

Endpoints

route: GET /teamspaces/{teamspace}/projects/{project}/{type}/{model}/members
description: Returns all users who have access to this model (including teamspace admins, project admins)
permissions: viewer+
query string: Option query string exludeViewers, if set to true, do not include any users who only have viewer access.
response:

{
  users: [
    "username-1",
    "username-2",
     //...
   ]
}

route: GET /teamspaces/{teamspace}/projects/{project}/{type}/{model}/jobs
description: Returns all jobs who have users that have access to this container/federation
permissions: viewer+
query string: Option query string exludeViewers, if set to true, do not include any job who only have users with viewer access.
response:

{
  jobs: [
    "job1",
    "job2",
     //...
   ]
}

Goals

  • As a project admin I want to make sure that only users who have access to the container/federation will be communicated to within the container/federation so no messages will be lost due to lack of access
  • As a project admin I want to make sure that users who have sufficient privilege can be assigned to a ticket so that they can respond accordingly.

Tasks

Endpoint 1

  • Create route, processor and model methods
  • Add unit and e2e tests
  • Add documentation

Endpoint 2

  • Create route, processor and model methods
  • Add unit and e2e tests
  • Add documentation

Other Tasks

  • Amend Assignees property funcionaliy
  • Amend oneOf and manyOf properties functionality
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants