Gérer les litiges

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

  • les requêtes de recherche enregistrées ;
  • les obligations de conservation ;
  • les comptes avec lesquels le litige est partagé ;
  • les ensembles d'exportation ;
  • la piste d'audit.

Pour utiliser les ressources Google Vault, un compte doit disposer des droits Vault requis et avoir accès au litige. 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, un litige est fermé une fois l'enquête terminée. Les litiges fermés peuvent être rouverts à tout moment. Avant de fermer un litige, supprimez toutes les obligations de conservation qui y sont associées.
SuppriméUn litige peut être supprimé afin de devenir complètement indisponible. Un litige supprimé reste dans la corbeille pendant environ 30 jours, période durant laquelle il peut être restauré. Passé ce délai, le litige est définitivement supprimé. Seuls les litiges fermés peuvent être supprimés.

cycle de vie des problèmes

Créer un litige

L'exemple suivant crée un litige 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 d'un litige : BASIC (par défaut) et FULL. La vue FULL ajoute les autorisations de litige à la vue BASIC.

L'exemple suivant récupère le litige spécifié.

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 tous les litiges ouverts, fermés et supprimés. Par défaut, l'API renvoie jusqu'à 100 litiges par requête.

Java

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

Python

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

L'exemple suivant montre comment lister tous les litiges ouverts, fermés et supprimés 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 litiges 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()

Mettre à jour un litige

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 fermer un litige.

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 un litige

L'exemple suivant montre comment supprimer, annuler la suppression ou rouvrir un litige.

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 relatives aux litiges

Chaque litige dispose d'un ensemble d'autorisations qui déterminent qui peut y accéder ou le modifier. Pour afficher ces autorisations, 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()