법적 사안 관리

법적 사안은 소송 사례나 조사와 같은 특정 주제와 관련된 모든 데이터를 보관하는 컨테이너입니다. 법적 사안에 포함되는 항목은 다음과 같습니다.

  • 저장된 검색어
  • 보존 조치
  • 법적 사안이 공유된 계정
  • 집합 내보내기
  • 감사 추적

Vault 리소스를 사용하여 작업하려면 계정에 필요한 Vault가 있어야 합니다. 권한과 중요합니다 법적 사안에 액세스하려면 계정에서 법적 사안을 만든 상태여야 합니다. 법적 사안이 공유되었거나 모든 법적 사안 보기 권한이 있어야 합니다.

법적 사안의 상태는 다음과 같습니다.

설명
열기법적 사안이 활성 상태이며, 보존 조치를 만들고 검색을 실행하고 해당 법적 사안 내에서 데이터를 내보낼 수 있습니다.
종료됨일반적으로 조사가 완료되면 사안은 종결됩니다.

종료된 법적 사안은 언제든지 다시 열 수 있습니다.

삭제됨법적 사안을 삭제하면 완전히 사용 불가능하게 만들 수 있습니다.

삭제된 법적 사안은 약 30일 동안 휴지통에 남아 있으며 이 기간 동안 복원할 수 있습니다. 이 기간이 지나면 법적 사안이 영구적으로 삭제됩니다.

법적 사안 수명 주기

법적 사안 만들기

다음 예시에서는 지정된 이름과 설명으로 새 법적 사안을 만듭니다.

자바

Matter matter = new Matter();
matter.setName("Matter Name");
matter.setDescription("Matter Description");
Matter createdMatter = client.matters().create(matter).execute();
 

Python

def create_matter(service):
  matter_content = {
      'name': 'Matter Name',
      'description': 'Matter Description',
  }
  matter = service.matters().create(body=matter_content).execute()
  return matter

법적 사안 확인

법적 사안에는 기본 (기본값) 및 전체 보기의 두 가지 보기가 있습니다. 전체 보기에서는 기본 보기에 법적 사안 권한이 추가됩니다.

다음 예시에서는 지정된 법적 사안을 검색합니다.

자바

client.matters().get(matterId).execute(); // Returns BASIC view.
client.matters().get(matterId).setView("BASIC").execute();
client.matters().get(matterId).setView("FULL").execute();

Python

matter_id = getMatterId()
service.matters().get(matterId=matter_id).execute(); // Returns BASIC view.
service.matters().get(matterId=matter_id, view='BASIC').execute();
service.matters().get(matterId=matter_id, view='FULL').execute();

법적 사안 나열

다음 예는 진행 중인 법적 사안, 종료된 법적 사안을 모두 나열하는 방법을 보여줍니다 (요청당 기본 100개).

자바

List mattersList = client.matters().list().execute().getMatters();

Python

mattersList = client.matters().list().execute()

다음 예는 여러 요청에 대해 진행 중이거나 종료된 법적 사안을 모두 나열하는 방법을 보여줍니다.

자바

ListMattersResponse firstPageResponse = client.matters().list().setPageSize(20).execute();
 
String nextPageToken = firstPageResponse.getNextPageToken());
if (nextPageToken != null) {
  client.matters().list().setPageToken(nextPageToken).setPageSize(20).execute();
}

Python

list_response1 = service.matters().list(
        view='FULL', pageSize=10).execute()
for matter in list_response1['matters']:
    print(matter)

if ‘nextPageToken’ in list_response1:
    list_response2 = service.matters().list(
        pageSize=10, pageToken=list_response1['nextPageToken']).execute()
    for matter in list_response2['matters']:
      print(matter)

다음 예는 지정된 상태의 법적 사안을 나열하는 방법을 보여줍니다.

자바

// Only get open matters.
List openMattersList = client.matters().list().setState("OPEN").execute().getMatters();

// Only get closed matters.
List closedMattersList = client.matters().list().setState("CLOSED").execute().getMatters();

// Only get deleted matters.
List deletedMattersList = client.matters().list().setState("DELETED").execute().getMatters();

Python

# Only get open matters.
openMattersList = client.matters().list(
    state='OPEN').execute()

# Only get closed matters.
closedMattersList = client.matters().list(
    state='CLOSED').execute()

# Only get deleted matters.
deletedMattersList = client.matters().list(
    state='DELETED').execute()

법적 사안 업데이트

다음 예에서는 법적 사안의 이름과 설명을 업데이트합니다.

자바

String matterId = "matterId";
Matter matter = new Matter().setName("New Name").setDescription("New Description");
vault.matters().update(matterId, matter).execute();

Python

def update_matter(service, matter_id):
    wanted_matter = {
        'name': 'New Matter Name',
        'description': 'New Description'
    }
    updated_matter = service.matters().update(
        matterId=matter_id, body=wanted_matter).execute()
    return updated_matter

법적 사안 닫기

다음 예는 법적 사안을 닫는 방법을 보여줍니다.

자바

String matterId = "matterId";
// If the matter still has holds, this operation will fail.
client.matters().close(matterId, new CloseMatterRequest()).execute();
 

Python

def close_matter(service, matter_id):
    close_response = service.matters().close(
        matterId=matter_id, body={}).execute()
    return close_response['matter']
 

법적 사안 삭제, 삭제 취소 또는 다시 열기

다음 예에서는 법적 사안을 삭제, 삭제 취소 또는 다시 여는 방법을 보여줍니다.

자바

Matter matter = client.matters().get(matterId).execute();
 
// Delete the matter.
client.matters().delete(matter.getMatterId());
// Undelete the matter.
client.matters().undelete(matter.getMatterId(), new UndeleteRequest());
// Reopen the matter.
client.matters().reopen(matter.getMatterId(), new ReopenMatterRequest());
 

Python

def reopen_matter(service, matter_id):
    reopen_response = service.matters().reopen(
        matterId=matter_id, body={}).execute()
    return reopen_response['matter']

def delete_matter(service, matter_id):
    service.matters().delete(matterId=matter_id).execute()
    return get_matter(matter_id)

def undelete_matter(service, matter_id):
    undeleted_matter = service.matters().undelete(
        matterId=matter_id, body={}).execute()
    return undeleted_matter

 

법적 사안 권한

각 법적 사안에는 해당 법적 사안에 액세스하거나 수정할 수 있는 사용자에 대한 권한 집합이 있습니다. 법적 사안의 전체 보기를 통해 확인할 수 있습니다.

자바

String matterId = "Matter Id";
String accountId = "Account Id";
 
// List permissions for a matter.
Matter matter = client.matters().get(matterId).setView("FULL").execute();
List matterPermissions = matter.getMatterPermissions();
 
// Add a user to the permission set.
client
    .matters()
    .addPermissions(matterId)
    .setMatterPermissionAccountId(accountId)
    .setMatterPermissionRole("COLLABORATOR")
    .execute();
 
// Remove a user from the permission set.
client
    .matters()
    .removePermissions(matterId)
    .setAccountId(accountId)
    .execute();

Python

def list_matter_permission(service, matter_id):
    matter = service.matters().get(matterId=matter_id, view='FULL').execute()
    return matter['matterPermissions']
 
def add_matter_permission(service, matter_id, account_id):
    permission = service.matters().addPermissions(
        matterId=matter_id,
        matterPermission_accountId=account_id,
        matterPermission_role='COLLABORATOR',
        sendEmails='False',
        ccMe='False').execute()
    return permission

def remove_matter_permission(service, matter_id, account_id):
    service.matters().removePermissions(
        matterId=matter_id, accountId=account_id).execute()