Skip to content

feat: 내 워크스페이스 목록·생성 백엔드 연동 (RPC + tanstack-query + server action) #34

Description

@wjswlgh96

Issue

작업 유형

  • Feat: 새로운 기능 추가

작업 내용

  • get_my_workspaces / create_workspace RPC 함수 생성 (마이그레이션)
  • 내 워크스페이스 목록(/workspaces) 조회를 mock → tanstack-query(useQuery) + RPC로 전환
  • 워크스페이스 생성(/workspaces/new)을 mock → server action + RPC로 전환
  • 데이터 페칭 컨벤션 확립 및 문서화: GET = tanstack-query, 쓰기(POST성) = server action

작업 배경

  • Supabase 스키마·시드·타입 시스템 셋업 완료(chore: Supabase 스키마 구축 및 DB 타입 생성 환경 셋업 #30)로 실데이터 연동 준비가 끝남
  • 중간 발표(7/15) 전 실데이터 데모를 위해 지호님 담당 도메인(워크스페이스)부터 백엔드 연결
  • GET/쓰기 경로 패턴을 먼저 확립해 다른 도메인 팀원들이 따라갈 기준 구현을 만듦

To Do

  • Supabase 클라이언트 셋업 (@supabase/ssr 기반 browser/server 클라이언트, env 설정)

  • get_my_workspaces(p_user_id) RPC 마이그레이션 (member/task count·progress 집계)

  • create_workspace(p_user_id, ...) RPC 마이그레이션 (workspaces + owner 멤버십 + purpose별 모듈 트랜잭션, invite_code 생성)

  • npm run gen:types 재생성 → RPC 타입 반영

  • 목록 조회: useQuery로 전환 (QueryClientProvider 셋업 포함)

  • 생성: server action으로 전환 (성공 시 목록 캐시 무효화)

  • 데이터 페칭 컨벤션 문서화 (docs/conventions + .agents)

  • CodeRabbit 리뷰 반영 — 에러 응답 일반화 · 생성 실패 토스트(sonner) · purpose 매핑 가드 (p_user_id 보류 2건은 auth 연동 시 컨벤션 문서 기준으로 일괄 처리)

완료 기준

  • /workspaces가 시드 데이터(워크스페이스 3개)를 DB에서 렌더
  • 생성 플로우로 만든 워크스페이스가 DB에 실제 생성되고 목록에 반영
  • npm run check 통과

참고 자료

  • docs/conventions/supabase-convention.md (쓰기 경로 규칙·RPC p_user_id 임시 규칙)
  • 테스트 계정: test1test5@test.com / test1234! (user_id ...0001...0005)

예상 브랜치명

feat/#issue-number/workspace-backend

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions