Administrar asuntos

Un asunto es un contenedor para todos los datos relacionados con un tema específico, como un caso de litigio o una investigación. Un asunto incluye lo siguiente:

  • Búsquedas guardadas
  • Conservaciones
  • Cuentas con las que se comparte el asunto
  • Exportar conjuntos
  • Registro de auditoría

Para trabajar con los recursos de Vault, la cuenta debe tener los privilegios de Vault necesarios y acceso al asunto. Para acceder a un asunto, la cuenta debe haberlo creado, tener el asunto compartido con él o tener el privilegio Ver todos los asuntos.

Un asunto tiene los siguientes estados:

EstadoDescripción
AbrirEl asunto está activo, y puedes crear conservaciones, realizar búsquedas y exportar datos en él.
CerradoPor lo general, cuando se completa una investigación, el asunto se cierra.

Los asuntos cerrados se pueden volver a abrir en cualquier momento.

BorradoSe puede borrar un asunto para que deje de estar disponible por completo.

Un asunto borrado permanecerá en la Papelera durante aproximadamente 30 días, durante los cuales se puede restablecer. Después de ese período, el asunto se borra definitivamente.

ciclo de vida de los asuntos

Crea un asunto

En el siguiente ejemplo, se crea un asunto nuevo con el nombre y la descripción especificados.

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

Obtener un asunto

Hay dos perspectivas de un asunto: BASIC (predeterminado) y FULL. La vista FULL agrega permisos de materia a la vista BÁSICA.

En el siguiente ejemplo, se recupera el asunto especificado.

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

Enumerar asuntos

En el siguiente ejemplo, se muestra cómo enumerar todos los asuntos abiertos, cerrados y borrados (hasta el valor predeterminado de 100 por solicitud).

Java

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

Python

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

En el siguiente ejemplo, se muestra cómo enumerar todos los asuntos abiertos, cerrados y borrados en varias solicitudes.

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)

En el siguiente ejemplo, se muestra cómo enumerar los asuntos de un estado específico.

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

Actualizar un asunto

En el siguiente ejemplo, se actualiza el nombre y la descripción de un asunto.

Java

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

Cómo cerrar un asunto

En el siguiente ejemplo, se muestra cómo cerrar un asunto.

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

Cómo borrar, recuperar o volver a abrir un asunto

En el siguiente ejemplo, se muestra cómo borrar, recuperar o volver a abrir un asunto.

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

 

Permisos de Matter

Cada asunto tiene un conjunto de permisos que determina quiénes pueden acceder a él o editarlo. Puedes obtener la vista COMPLETA de un asunto para obtener esta información.

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