Le service VirtualFolder expose toutes les opérations disponibles autour des composants de type VirtualFolder.
Récupération de dossier virtuel
Les exemples ci-dessous indiquent comment récupérer des dossier virtuels à partir d’une liste d’identifiants.
# <CORE_HOST> : URL de base de FlowerDocs Core
# <TOKEN> : jeton d'authentification
# <IDS> : liste des identifiants de dossiers virtuels à récupérer
curl -X GET "<CORE_HOST>/rest/virtualFolder/<IDS>" \
-H "token: <TOKEN>"
@Autowired
private VirtualFolderService vfService;
public List<VirtualFolder> get() throws TechnicalException, FunctionalException
{
List<Id> ids = Lists.newArrayList(new Id("123654"));
return vfService.get(ids);
}
Création de dossier virtuel
Les exemples ci-dessous indiquent comment créer une liste de dossiers virtuels.
# <CORE_HOST> : URL de base de FlowerDocs Core
# <TOKEN> : jeton d'authentification
curl -X POST "<CORE_HOST>/rest/virtualFolder/" \
-H "token: <TOKEN>" \
-H "Content-Type: application/json" \
-d '[
{
"category": "VIRTUAL_FOLDER",
"data": {
"ACL": "acl-dossierclient",
"classId": "DossierClient",
"owner": "jna"
},
"name": "123654 - GABIN Jules",
"tags": [
{
"name": "RefClient",
"readOnly": false,
"value": [
"123654"
]
},
{
"name": "PrenomClient",
"readOnly": false,
"value": [
"Jules"
]
},
{
"name": "NomClient",
"readOnly": false,
"value": [
"GABIN"
]
}
]
}
]'
@Autowired
private VirtualFolderService vfService;
public List<VirtualFolder> create() throws FunctionalException, TechnicalException
{
VirtualFolder vF = ComponentBuilder.component(Category.VIRTUAL_FOLDER).name("123654 - Gabin Jules")
.classId(new Id("DossierClient")).acl("acl-dossierclient").build();
vF.getData().setOwner("jna");
vF.setTags(new Tags());
vF.getTags().getTags().add(TagBuilder.name("RefClient").value("123654").build());
vF.getTags().getTags().add(TagBuilder.name("NomClient").value("GABIN").build());
vF.getTags().getTags().add(TagBuilder.name("DureeConge").value("Jules").build());
return vfService.create(Arrays.asList(vF));
}
Modification de dossier virtuel
Cette opération permet de mettre à jour les données d’un dossier virtuel : tags et data (identifiant de la classe, ACL, owner …).
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 du dossier virtuel, effectuer les modifications et faire l’appel au service de mise à jour.
# <CORE_HOST> : URL de base de FlowerDocs Core
# <TOKEN> : jeton d'authentification
# <IDS> : liste des identifiants de dossiers virtuels à mettre à jour
curl -X POST "<CORE_HOST>/rest/virtualFolder/<IDS>" \
-H "token: <TOKEN>" \
-H "Content-Type: application/json" \
-d '[
{
"category": "VIRTUAL_FOLDER",
"data": {
"ACL": "acl-dossierclient",
"classId": "DossierClient",
"owner": "jna"
},
"name": "123654 - GABIN Marc",
"tags": [
{
"name": "RefClient",
"readOnly": false,
"value": [
"123654"
]
},
{
"name": "PrenomClient",
"readOnly": false,
"value": [
"Marc"
]
},
{
"name": "NomClient",
"readOnly": false,
"value": [
"GABIN"
]
}
]
}
]'
@Autowired
private VirtualFolderService vfService;
public List<VirtualFolder> update(VirtualFolder vF) throws FunctionalException, TechnicalException
{
//ComponentBuilder.component(Category.VIRTUAL_FOLDER).name("123654 - Gabin Marc").classId(new Id("DossierClient")).build();
vF.setName("123654 - Gabin Marc");
vF.getData().setACL(new Id("acl-dossierclient"));
vF.getData().setClassId(new Id("DossierClient"));
ComponentHelper.setTagValue(vF, "NomClient", "Marc");
return vfService.update(Arrays.asList(vF));
}
Recherche de dossier virtuel
Les opérations de recherche fonctionnent toutes sur le même modèle décrit ici.
Suppression de dossier virtuel
Les exemples ci-dessous indiquent comment supprimer une liste de dossiers virtuels à partir d’une liste d’identifiants.
# <CORE_HOST> : URL de base de FlowerDocs Core
# <TOKEN> : jeton d'authentification
# <IDS> : liste des identifiants de dossiers virtuels à supprimer
curl -X DELETE "<CORE_HOST>/rest/virtualFolder/<IDS>" \
-H "token: <TOKEN>"
@Autowired
private VirtualFolderService vfService;
public void delete() throws FunctionalException, TechnicalException
{
List<Id> ids = Lists.newArrayList(new Id("123654"));
vfService.delete(ids);
}