Gérer les litiges

Un litige est un conteneur de données liées à un thème spécifique, comme un contentieux ou une enquête. Un litige comprend les éléments suivants :

  • les requêtes de recherche enregistrées ;
  • Obligations de conservation
  • Comptes avec lesquels le litige est partagé
  • Exporter des ensembles
  • Piste d'audit

Pour utiliser les ressources Google Vault, un compte doit disposer des droits d'accès Vault requis et avoir accès à l'affaire. Pour accéder à un litige, un compte doit l'avoir créé, l'avoir partagé avec lui ou disposer du droit Afficher tous les litiges.

Un litige peut avoir les états suivants :

ÉtatDescription
OuvrirLe litige est actif. Vous pouvez y créer des obligations de conservation, exécuter des recherches et exporter des données.
FerméEn général, lorsqu'une enquête est terminée, la demande est clôturée. Vous pouvez rouvrir les litiges clôturés à tout moment. Avant de fermer un litige, supprimez toutes les procédures de préservation à titre conservatoire qui y sont associées.
SuppriméVous pouvez supprimer une demande pour la rendre complètement indisponible. Un litige supprimé reste dans la corbeille pendant environ 30 jours, au cours desquels il peut être restauré. Passé ce délai, la demande est définitivement supprimée. Seuls les litiges fermés peuvent être supprimés.

Cycle de vie des demandes

Créer une demande

L'exemple suivant crée une demande avec un nom et une description.

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

Obtenir un litige

Il existe deux vues pour une demande : BASIC (par défaut) et FULL. La vue FULL ajoute des autorisations Matter à la vue BASIC.

L'exemple suivant récupère la demande spécifiée.

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

Lister les litiges

L'exemple suivant montre comment lister toutes les affaires ouvertes, clôturées et supprimées. Par défaut, l'API renvoie jusqu'à 100 affaires par requête.

Java

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

Python

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

L'exemple suivant montre comment lister toutes les affaires ouvertes, clôturées et supprimées sur plusieurs requêtes.

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)

L'exemple suivant montre comment lister les affaires d'un état spécifié.

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

Modifier une demande

L'exemple suivant met à jour le nom et la description d'un litige.

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

Fermer un litige

L'exemple suivant montre comment clôturer une demande.

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

Supprimer, annuler la suppression ou rouvrir une affaire

L'exemple suivant montre comment supprimer, restaurer ou rouvrir une affaire.

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
 

Autorisations Matter

Chaque affaire est associée à un ensemble d'autorisations qui définissent qui peut y accéder ou la modifier. Pour ce faire, vous pouvez obtenir la vue FULL d'un litige.

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