# Usecases

## Usecases covered by Rucio

The following usecases are handled by Rucio and should be described with sequence diagrams.

- Authenticate with rucio
- Search datasets with wildcard pattern, meta-data
- Upload file into rucio (Ralph)
- Add identity to an account
- Add Metadata to a dataset
- Add metadata to a file
- Add scope to account
- An user A should not be able to register a dataset in the scope of an user B
- Close a dataset (Angelos)
- Check the consistency between a file on storage and in Rucio
- Crosscheck that all files are still on disk and in the rucio catalog
- Declare dataset unwanted (Angelos)
- Declare file as lost (Angelos)
- Declare file unwanted (Angelos)
- Delete a file replica from a storage system
- Detect that a site has reached the space occupancy watermark
- Download all files from a given list of file replicas from rucio/storage (Ralph)
- Download all files from a given list of files from rucio/storage (Ralph)
- Download all files in a dataset from rucio/storage (Ralph)
- Download files from rucio/storage (Ralph)
- Generate the list of files at a site
- Give how much data has an account
- List dataset parents (Angelos)
- Obsolete dataset
- Re-upload a file after an failed upload (Ralph)
- Register a dataset with files (Angelos)
- Register account (Thomas)
- Register a transfer request for a file in FTS
- Register file already on storage system (Ralph)
- Remove replication rules from file (Martin)
- Select unwanted files for deletion (Martin)
- Send notifications when a transfer is done
- Set a quota on an account
- Set a replication rule on an existing file (Martin)
- Add subscription (Martin)
- Tell how many files/how much space is used at a site
- Upload file with replication rule (Martin/Ralph)
- Where are the replicas for a file (Thomas)
- Where are the replicas for all files in dataset (Angelos)
- etc.