🔑 계정 · 워크스페이스¶
Synapse 의 모든 기능은 이 페이지의 게이트를 통과한 뒤에만 쓸 수 있습니다 — 로그인 → 워크스페이스 선택. 모든 리소스(컬렉션·프로젝트·정답셋 등)는 워크스페이스 소유이므로, "어느 워크스페이스에서 일할지"를 먼저 정해야 다른 카테고리의 도구가 동작합니다. 계정 확인(내가 누구인지), 워크스페이스 구성원·역할 확인, 멤버 역할 관리도 여기서 합니다.
flowchart LR
A["`login`"] --> B["`list_workspaces`"] --> C["`select_workspace`"] --> D[기능 사용 🏭 / 🧠]
불변식 — 미리 알아야 할 것
- 기능 사용 전 워크스페이스 선택은 필수 게이트입니다. 선택 없이 기능 도구를 부르면 진행되지 않습니다.
- 모든 리소스는 워크스페이스(Workspace) 소유입니다 — 워크스페이스를 바꾸면 보이는 리소스도 바뀝니다.
- 워크스페이스가 비활성이면 오너 포함 전원 403 — 어떤 작업도 할 수 없습니다.
- 권한은 속성이 아니라 관계의 역할입니다: 워크스페이스(Owner/Admin/Member) · 모듈(Leader/Manager) · 워크샵(Labeler/Reviewer).
도구 한눈에¶
| 도구 | 무엇을 할 때 | 쓰기 여부 |
|---|---|---|
ping |
서버가 살아 있는지 확인 | 읽기 |
login |
이메일/비밀번호로 로그인 | 세션 설정(즉시) |
whoami |
내가 누구로 로그인돼 있는지 확인 | 읽기 |
current_environment |
지금 붙어 있는 환경 확인 | 읽기 |
list_workspaces |
내가 속한 워크스페이스 목록 조회 | 읽기 |
select_workspace |
활성 워크스페이스 선택(필수 게이트) | 세션 설정(즉시) |
current_workspace |
지금 선택된 워크스페이스 확인 | 읽기 |
list_members |
워크스페이스 구성원·역할 목록 | 읽기 |
get_member |
멤버 1건 상세 | 읽기 |
manage_members |
멤버 역할 변경/제거 | ✏️ 쓰기(confirm) |
도구 상세¶
ping¶
서버 헬스 체크 도구입니다. 연결이 잘 되는지 궁금할 때 부르면 pong 을 반환합니다.
- 주요 인자: 없음.
login¶
이메일/비밀번호로 현재 환경에 로그인합니다. 기능 사용 전 로그인이 필요하므로, 세션을 시작할 때 가장 먼저 부릅니다. 성공 시 토큰이 활성 환경 세션에 저장되며, 다음 단계는 워크스페이스 선택입니다.
- 주요 인자:
email,password. - 함께 보기: 로그인 후
list_workspaces→select_workspace로 이어집니다.
whoami¶
인증된 사용자 본인의 식별 정보를 반환합니다. "지금 어떤 계정으로 로그인돼 있지?" 를 확인할 때 부릅니다.
- 주요 인자: 없음.
- 함께 보기: 로그인 자체는
login.
current_environment¶
현재 활성 환경의 이름과 base_url 을 반환합니다. 이 서버가 어느 Synapse 환경(test/production)에 붙어 있는지 확인할 때 부릅니다.
- 주요 인자: 없음.
list_workspaces¶
사용자가 속한 워크스페이스 목록을 조회합니다. 기능 사용 전 이 중 하나를 선택해야 하므로, 로그인 직후 또는 워크스페이스를 바꾸고 싶을 때 부릅니다. 결과는 활성 환경별로 캐시되어 재조회를 줄입니다.
- 주요 인자:
refresh(기본false—true면 캐시를 무시하고 다시 조회한 뒤 캐시를 갱신하는 명시 새로고침). - 함께 보기: 목록에서 고른 code 로
select_workspace를 부릅니다.
select_workspace¶
활성 워크스페이스를 선택합니다 — 기능 사용 전 필수 게이트입니다. 로그인 후, 그리고 다른 워크스페이스로 옮겨 일하고 싶을 때 부릅니다.
- 주요 인자:
code(list_workspaces결과의 워크스페이스 code). - 함께 보기: 현재 선택 확인은
current_workspace.
current_workspace¶
현재 활성 워크스페이스 code 를 반환합니다(선택된 것이 없으면 -). "지금 어느 워크스페이스에서 일하고 있지?" 를 확인할 때 부릅니다.
- 주요 인자: 없음.
- 함께 보기: 선택/변경은
select_workspace.
list_members¶
워크스페이스 멤버 목록 — 누가 있고 역할(role)이 무엇인지 확인합니다. 워크스페이스 선택 직후 구성원·권한을 볼 때 부릅니다.
user_id 는 사용자 ID이며 이름이 아닙니다.
- 주요 인자:
role(owner·admin·member·guest 로 필터), 페이지네이션(cursor/per_page). - 함께 보기: 1건 상세는
get_member, 역할 변경/제거는manage_members.
get_member¶
멤버 1건 상세 — list_members 목록의 id 로 조회합니다.
- 주요 인자:
id(멤버 ID).
manage_members¶
🔗 공용. 워크스페이스 멤버의 역할을 변경하거나(action=update_role) 제거합니다(action=remove).
권한 서열·Owner-only 제약은 서버가 판단하며, 거부되면 그 사유를 그대로 보여줍니다. 조회 용도로는 부르지 않습니다(조회는 목록/상세 도구).
- 주요 인자:
member_id,action(update_role|remove),role(owner | admin | member | guest — 역할 변경 시). - 안전장치: 기본은 dry-run 미리보기 →
confirm=true로 재호출해야 실제 적용됩니다. - 함께 보기: 조회는
list_members/get_member.