Управление делами

Дело — это хранилище данных, относящихся к конкретной теме, например, к судебному разбирательству или расследованию. Дело включает в себя следующие элементы:

  • Сохраненные поисковые запросы
  • Держат
  • Учетные записи, с которыми обсуждается данный вопрос
  • Экспортные наборы
  • Журнал аудита

Для работы с ресурсами Google Vault учетная запись должна обладать необходимыми привилегиями Vault и доступом к делу. Для доступа к делу учетная запись должна создать это дело, предоставить к нему общий доступ или иметь привилегию «Просмотр всех дел» .

Вещество может находиться в следующих состояниях:

Состояние Описание
Открыть Дело находится в процессе обработки, и вы можете создавать блокировки, выполнять поиск и экспортировать данные в рамках этого дела.
Закрыто Обычно, когда расследование завершено, дело закрывается. Закрытые дела могут быть возобновлены в любое время. Перед закрытием дела необходимо удалить все связанные с ним блокировки.
Удалено Задание можно удалить, после чего оно станет полностью недоступным. Удаленное задание остается в Корзине примерно 30 дней, в течение которых его можно восстановить. По истечении этого периода задание удаляется безвозвратно. Удалить можно только закрытые задания.

жизненный цикл имеет значение

Создайте вопрос

В следующем примере создается новая задача с именем и описанием.

Java

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

Займитесь делом

Существует два режима отображения дела: BASIC (по умолчанию) и FULL . FULL режим добавляет права доступа к делу к BASIC режиму.

Следующий пример извлекает указанный материал.

Java

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();

Список вопросов

В следующем примере показано, как вывести список всех открытых, закрытых и удаленных дел. По умолчанию API возвращает до 100 дел за один запрос.

Java

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

Python

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

В следующем примере показано, как вывести список всех открытых, закрытых и удаленных дел по нескольким запросам.

Java

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)

Следующий пример показывает, как составить список вопросов, относящихся к указанному штату.

Java

// 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()

Обновить информацию по данному вопросу.

В следующем примере обновляются название и описание дела.

Java

String matterId = "matterId";
Matter matter = new Matter().setName("New Name")
    .setDescription("New Description");
client.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

Дело закрыто

Следующий пример показывает, как закрыть дело.

Java

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']
 

Удалить, восстановить или возобновить рассмотрение дела.

В следующем примере показано, как удалить, восстановить или повторно открыть дело.

Java

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
 

Разрешения на ведение дела

Для каждого дела задан набор прав доступа, определяющий, кто может получить к нему доступ или редактировать его. Вы можете просмотреть этот набор прав, получив FULL обзор дела.

Java

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()