모든 차트, 세그먼트 및 권한을 포함하여 기존 대시보드의 완전한 복사본을 생성합니다.


copyDashboard 변이는 모든 차트, 차트 세그먼트, 값 및 사용자 권한을 포함하여 기존 대시보드의 완전한 복사본을 생성합니다. 이 작업은 복사된 모든 요소에 대해 새로운 고유 식별자를 사용하여 깊은 복사를 수행합니다.

기본 예제

사용자 지정 제목으로 대시보드 복사본을 생성합니다:

mutation CopyDashboard {
  copyDashboard(input: {
    dashboardId: "dashboard_123"
    title: "Q4 Sales Dashboard Copy"
  }) {
    id
    title
    createdAt
    charts {
      id
      title
      chartType
    }
    dashboardUsers {
      id
      role
      user {
        id
        email
      }
    }
  }
}

고급 예제

제목을 지정하지 않고 대시보드를 복사합니다(자동으로 "(Copy)"가 추가됨):

mutation CopyDashboardAuto {
  copyDashboard(input: {
    dashboardId: "dashboard_456"
  }) {
    id
    uid
    title
    createdBy {
      id
      email
    }
    company {
      id
      name
    }
    charts {
      id
      title
      chartType
      position
      chartSegments {
        id
        title
        formula
        chartValues {
          id
          value
        }
      }
    }
    dashboardUsers {
      id
      role
      user {
        id
        email
        fullName
      }
    }
    createdAt
    updatedAt
  }
}

입력 매개변수

CopyDashboardInput

매개변수 유형 필수 설명
dashboardId String! ✅ 예 복사할 대시보드의 ID
title String 아니요 복사된 대시보드의 사용자 지정 제목. 제공되지 않으면 원래 제목에 "(Copy)"가 추가됩니다

응답 필드

대시보드 응답

변이는 모든 복사된 데이터를 포함하는 완전한 Dashboard 객체를 반환합니다:

필드 유형 설명
id String! 새 대시보드의 고유 식별자
uid String! URL 라우팅에 사용되는 고유 식별자
title String! 복사된 대시보드의 제목
createdBy User! 복사 작업을 수행한 사용자
company Company! 대시보드가 속한 회사(원본과 동일)
project Project 프로젝트 연관(원본과 동일, 있을 경우)
charts [Chart!]! 원본 대시보드에서 복사된 모든 차트
dashboardUsers [DashboardUser!]! 원본에서 복사된 사용자 권한(복사 사용자 제외)
createdAt DateTime! 복사본이 생성된 시간
updatedAt DateTime! 복사본이 마지막으로 수정된 시간

대시보드 복사 동작

깊은 복사 프로세스

copyDashboard 작업은 다음을 포함하여 완전한 깊은 복사를 수행합니다:

  1. 대시보드 메타데이터

    • 새 ID 및 UID로 새 대시보드를 생성합니다.
    • 제목을 복사합니다(사용자 지정 제목이 없으면 "(Copy)"를 추가).
    • 복사를 수행하는 사용자를 생성자로 설정합니다.
    • 회사 및 프로젝트 연관을 유지합니다.
  2. 차트 및 구조

    • 모든 차트를 새 ID 및 UID로 복사합니다.
    • 차트 유형, 제목 및 위치를 보존합니다.
    • 차트 구성 및 메타데이터를 유지합니다.
  3. 차트 세그먼트 및 값

    • 모든 차트 세그먼트를 새 ID 및 UID로 복사합니다.
    • 세그먼트 제목, 수식 및 구성을 보존합니다.
    • 모든 차트 값 및 해당 데이터를 복사합니다.
  4. 수식 참조

    • 수식 참조를 업데이트하여 새 UID를 사용합니다.
    • 수식 논리 및 계산을 유지합니다.
    • 복사된 수식이 복사된 데이터를 참조하도록 보장합니다.
  5. 사용자 권한

    • 원본에서 모든 대시보드 사용자 권한을 복사합니다.
    • 복사 사용자는 제외됩니다(그들은 생성자가 됩니다).
    • VIEWER 및 EDITOR 역할 할당을 보존합니다.

복사 후 작업

복사본을 생성한 후 시스템은 자동으로:

  • 실시간 업데이트를 위한 대시보드 생성 이벤트를 게시합니다.
  • 모든 복사된 차트에 대해 차트 결과 재계산을 트리거합니다.
  • 의존 시스템이나 통합을 업데이트합니다.

필요한 권한

대시보드 복사에는 특정 권한이 필요합니다:

역할 대시보드 복사 가능
Dashboard Creator ✅ 예
Dashboard EDITOR ✅ 예
Dashboard VIEWER ❌ 아니요
비대시보드 사용자 ❌ 아니요

권한 확인: 사용자는 원본 대시보드에 대해 EDITOR 액세스 권한이 있어야 합니다:

  • 원본 대시보드 생성자이거나
  • 대시보드에 대한 명시적 EDITOR 역할 할당이 있어야 합니다.

오류 응답

대시보드 없음

{
  "errors": [{
    "message": "Dashboard was not found.",
    "extensions": {
      "code": "DASHBOARD_NOT_FOUND"
    }
  }]
}

권한 부족

{
  "errors": [{
    "message": "You don't have permission to access this dashboard",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

잘못된 입력

{
  "errors": [{
    "message": "Dashboard ID is required",
    "extensions": {
      "code": "VALIDATION_ERROR"
    }
  }]
}

사용 사례

1. 템플릿 대시보드

새 프로젝트나 팀을 위해 복사할 수 있는 템플릿 대시보드를 생성합니다:

mutation CreateProjectDashboard {
  copyDashboard(input: {
    dashboardId: "template_dashboard_id"
    title: "Project Alpha - Sales Dashboard"
  }) {
    id
    title
  }
}

2. 백업 및 버전 관리

중대한 변경을 하기 전에 백업을 생성합니다:

mutation BackupDashboard {
  copyDashboard(input: {
    dashboardId: "production_dashboard"
    title: "Production Dashboard - Backup 2024-01-15"
  }) {
    id
    title
    createdAt
  }
}

3. 팀 간 공유

데이터 구조를 유지하면서 팀 간에 대시보드를 복사합니다:

mutation ShareDashboardWithTeam {
  copyDashboard(input: {
    dashboardId: "marketing_dashboard"
    title: "Marketing Dashboard - Sales Team Copy"
  }) {
    id
    title
    dashboardUsers {
      role
      user {
        email
      }
    }
  }
}

모범 사례

명명 규칙

  • 복사의 목적을 나타내는 설명적인 제목을 사용합니다.
  • 명확성을 위해 팀 이름, 날짜 또는 버전 번호를 포함합니다.
  • "Copy" 또는 "New Dashboard"와 같은 일반적인 이름은 피합니다.

권한 관리

  • 생성 후 복사된 대시보드 권한을 검토합니다.
  • 특정 사용 사례에 따라 필요에 따라 사용자를 추가하거나 제거합니다.
  • 뷰어가 복사본에서 편집자가 되어야 하는지 고려합니다.

데이터 무결성

  • 복사 후 수식 및 계산이 올바르게 작동하는지 확인합니다.
  • 차트 데이터 소스가 새로운 맥락에 적합한지 확인합니다.
  • 자동화된 보고서나 통합을 테스트합니다.

성능 고려 사항

  • 많은 차트를 포함한 대시보드를 복사하는 데 몇 초가 걸릴 수 있습니다.
  • 차트 재계산은 복사 후 비동기적으로 발생합니다.
  • 매우 큰 대시보드를 복사할 때 비혼잡 시간에 복사하는 것을 고려합니다.
  • 여러 대시보드를 동시에 복사할 때 시스템 리소스를 모니터링합니다.

제한 사항

  • 서로 다른 회사 간에 대시보드를 복사할 수 없습니다.
  • 수식 참조는 동일한 회사 내의 데이터로 제한됩니다.
  • 일부 외부 통합은 재구성이 필요할 수 있습니다.
  • 사용자 지정 권한이나 역할은 수동 조정이 필요할 수 있습니다.
  • 복사본에는 역사적 데이터 및 분석이 보존되지 않습니다.

관련 리소스

AI 어시스턴트

응답은 AI를 사용하여 생성되며 오류가 포함될 수 있습니다.

어떻게 도와드릴까요?

Blue 또는 이 문서에 대해 궁금한 점이 있으면 무엇이든 물어보세요.

전송하려면 Enter • 새 줄을 추가하려면 Shift+Enter • ⌘I를 눌러 열기