Skip to content

feat(be): implement polygon collaborator api - #3522

Open
juheon429 wants to merge 145 commits into
t2935-implement-mandeuldang-problem-update-publishfrom
t2577-implement-polygon-collaborator
Open

juheon429 wants to merge 145 commits into
t2935-implement-mandeuldang-problem-update-publishfrom
t2577-implement-polygon-collaborator

Conversation

@juheon429

@juheon429 juheon429 commented Apr 2, 2026 •

Copy link
Copy Markdown
Contributor

Description

문제 생성시 협업자를 관리하는 API를 구현하였습니다.

<구현 기능>

  1. inviteCollaborator
    -협업자 초대는 해당 문제의 소유자, active editor 인 경우에만 가능
    -소유자가 초대시 active, active editor가 초대시 pending

  2. getActive/PendingCollaborator
    -협업자 목록 반환, 요청 대기자 목록 반환

  3. approve/rejectInvite
    -요청에 대한 수락 여부 -> 해당 문제 소유자만 가능

  4. updateCollaboratorRole
    -협업자의 role 변경 -> 해당 문제 소유자만 가능

  5. removeCollaborator
    -협업자 제거 -> 해당 문제 소유자만 가능

  6. requestCollaboration
    -임의의 사용자가 협업 요청

Additional context


Before submitting the PR, please make sure you do the following

Summary by CodeRabbit

  • New Features

    • Added polygon collaboration management.
    • Users can invite, approve, reject, update, remove, and request collaborators.
    • Added active and pending collaborator listings.
    • Added role validation and permission checks for collaboration actions.
  • Changes

    • Renamed the collaborator role “Viewer” to “Reviewer.”

@juheon429 juheon429 self-assigned this Apr 2, 2026
@juheon429 juheon429 added 🍊squad-유자차 스쿼드 유자차 작업물입니다 ⛳️ team-backend labels Apr 2, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new collaborator management system for polygon problems, including GraphQL resolvers and service methods for inviting, approving, rejecting, updating roles, and removing collaborators. The review identified potential security and logic issues: the Owner role should not be assignable via the API to prevent privilege escalation, and the getCollaboratorsByStatus method requires access control to prevent unauthorized users from viewing collaborator lists.

@zero1177 zero1177 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

일단 쭉 보면서 리뷰 달았어요!

Comment thread apps/backend/apps/admin/src/polygon/collaborator/collaborator.service.ts Outdated
@yubbbbbbi
yubbbbbbi marked this pull request as draft September 14, 2026 03:31
@yubbbbbbi yubbbbbbi self-assigned this Sep 14, 2026
coderabbitai[bot]

This comment was marked as outdated.

@skkuding skkuding deleted a comment from coderabbitai Bot Oct 2, 2026
@skkuding skkuding deleted a comment from coderabbitai Bot Oct 2, 2026
@skkuding skkuding deleted a comment from coderabbitai Bot Oct 2, 2026
@skkuding skkuding deleted a comment from coderabbitai Bot Oct 2, 2026
@skkuding skkuding deleted a comment from coderabbitai Bot Oct 2, 2026
@yubbbbbbi
yubbbbbbi marked this pull request as ready for review October 2, 2026 01:47
@yubbbbbbi
yubbbbbbi requested review from khgerr8909, lukekeum, qkrrudals886-boop and zero1177 and removed request for hjkim24 and zero1177 October 2, 2026 03:59

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XXL 🍊squad-유자차 스쿼드 유자차 작업물입니다 ⛳️ team-backend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants