Le service VirtualFolderClass
expose toutes les opérations disponibles autour des composants de type VirtualFolderClass
.
Récupération des classes de dossier virtuel
Les exemples ci-dessous indiquent comment récupérer toutes les classes de dossier virtuels.
GET {{core}}/rest/virtualfolderclass HTTP/1.1
-- Paramètre d'URL --
core: host de FlowerDocs core
-- Headers --
token: {{token}}
Content-Type: application/json
@Autowired
private VirtualFolderClassService vfcService;
@GetMapping("/getAll")
public List<VirtualFolderClass> getAll() throws FunctionalException, TechnicalException
{
return vfcService.getAll();
}
Création de classe de dossier virtuel
Les exemples ci-dessous indiquent comment créer une classe de dossier virtuel.
POST {{core}}/rest/virtualfolderclass HTTP/1.1
-- Paramètre d'URL --
core: host de FlowerDocs core
-- Headers --
token: {{token}}
Content-Type: application/json
-- Body (json) --
[{
"searches": [
{
"category": "DOCUMENT",
"request": {
"selectClause": {
"fields": [
"CanalEntree",
"ServiceDestinataire",
"TypeCourrier"
]
},
"filterClauses": [
{
"type": "com.flower.docs.domain.search.AndClause",
"criteria": [
{
"name": "classid",
"operator": "EQUALS_TO",
"type": "STRING",
"values": [
"CourrierEntrant"
]
}
]
}
],
"orderClauses": [
{
"name": "DateCourrier",
"type": "TIMESTAMP",
"ascending": false
}
],
"start": 0,
"max": 0,
"aggregation": {
"type": "com.flower.docs.domain.search.FieldAggregation",
"field": "DateCourrier"
}
},
"displayNames": [
{
"language": "EN"
},
{
"language": "FR"
}
],
"id": "searchCourrierEntrant"
}
],
"id": "TestVF",
"data": {
"owner": "fadmin",
"creationDate": "2023-08-28 1052.340 +0200",
"lastUpdateDate": "2023-08-28 1049.169 +0200",
"ACL": "acl-distribution-tab"
},
"displayNames": [
{
"value": "TestVF",
"language": "EN"
},
{
"value": "TestVF",
"language": "FR"
}
],
"descriptions": [
{
"language": "EN"
},
{
"language": "FR"
}
],
"RetentionDuration": {
"value": 0,
"unit": "MONTH"
},
"category": "VIRTUAL_FOLDER",
"active": false
}]
@Autowired
private VirtualFolderClassService vfcService;
@PostMapping
public List<VirtualFolderClass> create() throws FunctionalException, TechnicalException
{
List<VirtualFolderClass> vfcList = new ArrayList<VirtualFolderClass>();
VirtualFolderClass vfc = new VirtualFolderClass();
vfc.setId(new Id("Test"));
List<TagReference> tagList = new ArrayList<TagReference>();
TagReference tag = new TagReference();
tag.setTagName("TypeCourrier");
tagList.add(tag);
vfc.setTagReferences(tagList);
vfc.setCategory(Category.DOCUMENT);
Data data = new Data(null, null, null, null, null, null, new Id("acl-distribution-tab"));
vfc.setData(data);
vfcList.add(vfc);
return vfcService.create(vfcList);
}
Modification de classe de dossier virtuel
Cette opération permet de mettre à jour les données d’une classe de dossier virtuel : tags et recherche
Ce service fonctionne en annule et remplace, l’ensemble des valeurs de tags doit donc être fourni par le service au moment de la mise à jour. Il est donc préconisé de réaliser une récupération de la classe dossier virtuel, effectuer les modifications et faire l’appel au service de mise à jour.
POST {{core}}/rest/virtualfolderclass/{ids} HTTP/1.1
-- Paramètre d'URL --
core: host de FlowerDocs core
ids : liste des identifiants de classe de dossiers virtuels à mettre à jour, séparés par des virgules
-- Headers --
token: {{token}}
Content-Type: application/json
-- Body (json) --
[{
"searches": [
{
"category": "DOCUMENT",
"request": {
"selectClause": {
"fields": [
"CanalEntree",
"ServiceDestinataire",
"TypeCourrier",
"ClientId"
]
},
"filterClauses": [
{
"type": "com.flower.docs.domain.search.AndClause",
"criteria": [
{
"name": "classid",
"operator": "EQUALS_TO",
"type": "STRING",
"values": [
"CourrierEntrant"
]
}
]
}
],
"orderClauses": [
{
"name": "DateCourrier",
"type": "TIMESTAMP",
"ascending": false
}
],
"start": 0,
"max": 0,
"aggregation": {
"type": "com.flower.docs.domain.search.FieldAggregation",
"field": "DateCourrier"
}
},
"displayNames": [
{
"language": "EN"
},
{
"language": "FR"
}
],
"id": "searchCourrierEntrant"
}
],
"id": "TestVF",
"data": {
"owner": "fadmin",
"creationDate": "2023-08-28 1052.340 +0200",
"lastUpdateDate": "2023-08-28 1049.169 +0200",
"ACL": "acl-distribution-tab"
},
"displayNames": [
{
"value": "TestVF",
"language": "EN"
},
{
"value": "TestVF",
"language": "FR"
}
],
"descriptions": [
{
"language": "EN"
},
{
"language": "FR"
}
],
"RetentionDuration": {
"value": 0,
"unit": "MONTH"
},
"category": "VIRTUAL_FOLDER",
"active": false
}]
@Autowired
private VirtualFolderClassService vfcService;
@PostMapping("/update")
public void update() throws FunctionalException, TechnicalException
{
List<VirtualFolderClass> vfcList = new ArrayList<VirtualFolderClass>();
VirtualFolderClass vfc = new VirtualFolderClass();
vfc.setId(new Id("Test"));
List<TagReference> tagList = new ArrayList<TagReference>();
TagReference tag = new TagReference();
tag.setTagName(""ClientId"");
tagList.add(tag);
vfc.setTagReferences(tagList);
vfc.setCategory(Category.DOCUMENT);
Data data = new Data(null, null, null, null, null, null, new Id("acl-distribution-tab"));
vfc.setData(data);
vfcList.add(vfc);
vfcService.update(vfcList);
}
Recherche de classe de dossier virtuel
L’exemple ci-dessous indique comment récupérer une classe de dossiers virtuels à partir d’une liste d’identifiants.
GET {{core}}/rest/virtualfolderclass/{ids} HTTP/1.1
-- Paramètre d'URL --
core: host de FlowerDocs core
ids : liste des identifiants de classe de dossiers virtuels à récupérer, séparés par des virgules
-- Headers --
token: {{token}}
Content-Type: application/json
@Autowired
private VirtualFolderClassService vfcService;
@GetMapping
public List<VirtualFolderClass> get() throws FunctionalException, TechnicalException
{
List<Id> ids = Lists.newArrayList(new Id("Test"));
return vfcService.get(ids);
}
Suppression de classe de dossier virtuel
Cette opération permet de supprimer une liste de classe de dossiers virtuels à partir d’une liste d’identifiants.
DELETE {{core}}/rest/virtualfolderclass/{ids} HTTP/1.1
-- Paramètre d'URL --
core: host de FlowerDocs core
ids : liste des identifiants de classe de dossiers virtuels à supprimer, séparés par des virgules
-- Headers --
token: {{token}}
Content-Type: application/json
@Autowired
private VirtualFolderClassService vfcService;
@DeleteMapping()
public void delete() throws FunctionalException, TechnicalException
{
List<Id> ids = Lists.newArrayList(new Id("Test"));
vfcService.delete(ids);
}