---
tags: doc
---
# Raccourcis de collection
## Existant
### Back
- 1 feature toggle: `'linked-views'`
- 1 type de collection: `ViewType.linked`
- 1 $action de collection pour le front: `link-view`
- 1 route dans bee-library-api pour créer un raccourci de collection
```
POST library/:dstLibId/view/:parentViewId/linked-view
{
sourceLibId: string;
sourceViewId: string;
}
```
- Prise en compte dans le parcours des collections
- https://gitlab.bbuzcloud.com/cpos/cpos/-/blob/master/bee-library/bee-library-service/src/lib/services/view/ViewWalker.ts#L75
- :warning: il manque une adaptation pour le chargement progressif des collections
- les sous-collections du raccourci de collection remontent comme des collections standards
- Prise en compte dans la récupération des médias d'une collection
- tous les médias ont une propriété `ownerLibId`, c'est en comparant cette propriété avec le libId courant qu'on traite ces médias comme des raccourcis ou non
- cf. https://gitlab.bbuzcloud.com/cpos/cpos/-/blob/master/bee-library/bee-library-service/src/lib/services/view/ViewService.ts#L277
- **app-tests** qui résument le comportement actuel: https://gitlab.bbuzcloud.com/cpos/cpos/-/blob/master/packages/apis/bee-application-tests/src/library-api/specs/CollectionSpec.ts#L553
#### Droits

- le raccourci est une nouvelle collection qui permet de pointer vers la collection source
- le raccourci est une entité appartenant à la lib courante
- les permissions sur le raccourci sont indépendantes des permissions sur la collection source
- l'utilisateur a les mêmes droits sur les sous-collections (qui ne sont pas dupliquées), que ce soit dans la lib source ou dans la lib courante du raccourci
:arrow_right: il faudrait se renseigner auprès des Mnms pour comprendre comment les permissions peuvent s'appliquer dans ces conditions
### Front
Si c'est un raccourci de collection:
- on ajoute l'action au clic-droit **Aller au hub d'origine**
- on affiche une "hub card" dans le media display

### Divers
- le renommage du raccourci n'affecte que le raccourci
## Problèmes
- Rien ne fonctionne concernant les sous-collections du raccourci
### Référence circulaire
1. Depuis la lib A je crée un raccourci de viewA et je le place dans viewB de la lib B
2. Depuis la lib B je crée un raccourci de viewB et je le place dans viewA de la lib A
```
libA
└── viewA
└── viewB from libB
└── viewA from libA
└── viewB from libB
```