Manipuler les faits (piste d'audit)

Créez, récupérez et recherchez les événements de la piste d’audit

Les faits représentent les événements de la piste d’audit enregistrés sur les composants (documents, dossiers, tâches, dossiers virtuels). Chaque fait capture une action effectuée par un utilisateur sur un composant.

Récupération de faits

Les exemples ci-dessous indiquent comment récupérer les faits d’un document. Le même modèle s’applique aux dossiers (/rest/folders), tâches (/rest/tasks) et dossiers virtuels (/rest/virtualFolders).


# <CORE_HOST> : URL de base de FlowerDocs Core
# <TOKEN> : jeton d'authentification
# <ID> : identifiant du document
curl -X GET "<CORE_HOST>/rest/documents/<ID>/facts" \
  -H "token: <TOKEN>"

    @Autowired
    private FactService factService;

    public List<Fact> getFacts() throws TechnicalException, FunctionalException
    {
        Id componentId = new Id("documentId");
        return factService.get(componentId, Category.DOCUMENT);
    }


Le même modèle d’endpoint est disponible pour tous les types de composants :

  • Documents : GET /rest/documents/<ID>/facts
  • Dossiers : GET /rest/folders/<ID>/facts
  • Tâches : GET /rest/tasks/<ID>/facts
  • Dossiers virtuels : GET /rest/virtualFolders/<ID>/facts

Création d’un fait

Les exemples ci-dessous indiquent comment créer un fait pour un document.


# <CORE_HOST> : URL de base de FlowerDocs Core
# <TOKEN> : jeton d'authentification
# <ID> : identifiant du document
curl -X POST "<CORE_HOST>/rest/documents/<ID>/facts" \
  -H "token: <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "CUSTOM_ACTION",
  "description": "Événement d'\''audit personnalisé",
  "technical": false
}'

    @Autowired
    private FactService factService;

    public Fact createFact() throws TechnicalException, FunctionalException
    {
        Id componentId = new Id("documentId");
        Fact fact = new Fact();
        fact.setAction("CUSTOM_ACTION");
        fact.setDescription("Événement d'audit personnalisé");
        fact.setTechnical(false);
        return factService.create(componentId, Category.DOCUMENT, fact);
    }

Recherche de faits

Les faits peuvent être recherchés à l’aide d’un objet SearchRequest, qui permet de filtrer par composant, utilisateur, action, plage de dates, etc.


# <CORE_HOST> : URL de base de FlowerDocs Core
# <TOKEN> : jeton d'authentification
curl -X POST "<CORE_HOST>/rest/facts" \
  -H "token: <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
  "searchCriteria": [
    {
      "name": "objectId",
      "value": "documentId"
    },
    {
      "name": "action",
      "value": "CUSTOM_ACTION"
    }
  ],
  "paginationContext": {
    "maxResults": 50,
    "pageIndex": 0
  }
}'

    @Autowired
    private FactService factService;

    public SearchResult<Fact> searchFacts() throws TechnicalException, FunctionalException
    {
        SearchRequest request = new SearchRequest();
        request.getSearchCriteria().add(new SearchCriteria("objectId", "documentId"));
        request.getSearchCriteria().add(new SearchCriteria("action", "CUSTOM_ACTION"));
        request.setPaginationContext(new PaginationContext(50, 0));
        return factService.search(request);
    }