...
- Create bookmark in only main folder
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks
- Create bookmark in main folder and two additional folders
- GET https://dev-ddb.fiz-karlsruhe.de/api/2/favourites/bookmarks?folderIds=Sjszo4cBdHmpxQQKUvah&folderIds=rjwQKYgBdHmpxQQKKgSs
...
FA02 | Retrieve bookmark
GET | /favourites/bookmarks/{id} |
---|
...
- All info of a bookmark is retrieved to display it in the frontend.
...
FA03 | Retrieve bookmarks
...
- Bookmarks according to certain criteria are retrieved to be displayed in the frontend.
...
FA04 | Update bookmark
PUT | /favourites/bookmarks/{id} |
---|
...
- UC07 | Change bookmark description
- A user changes the description of a bookmark.
- A user changes the description of a bookmark.
...
FA05 | Delete bookmark
DELETE | /favourites/bookmarks/{id} |
---|
...
- UC05 | Add personal folder
- A user creates a personal folder.
- A user creates a personal folder.
...
FA07 | Add bookmark to folder
...
- UC02 | Assign bookmarks to selected lists
- A user stores bookmarks (additionally) in personal lists.
- UC08 | Copy bookmarks from All Favorites to personal lists
- A user copies bookmarks into personal lists.
- UC14 | Copy bookmarks to another personal list
- A user copies bookmarks from a personal list to other personal lists.
- A user copies bookmarks from a personal list to other personal lists.
...
FA08 | Retrieve folder
GET | /favourites/folders/{id} |
---|
...
- All info of a list is retrieved to display it in the frontend.
...
FA09 | Retrieve bookmarks of a folder
...
- UC04 | Retrieve bookmarks of a list
- The user retrieves bookmarks of a specified list.
- The user retrieves bookmarks of a specified list.
...
FA10 | Retrieve folders
GET | /favourites/folders |
---|
...
- UC03 | Listennamen eines Benutzers abrufen
- The user retrieves bookmarks of a specified list.
- The user retrieves bookmarks of a specified list.
...
FA11 | Update folder
POST | /favourites/folders/{id} |
---|
...
- UC09 | Publish or privatize personal list
- A user publishes a list or make a published list private again.
- UC10 | Change properties of personal list
- Furthermore, the user can change name, description, private/public, name abbreviation of a personal list.
- Furthermore, the user can change name, description, private/public, name abbreviation of a personal list.
...
FA12 | Delete folder
DELETE | /favourites/folders/{id} |
---|
...
- UC11 | Remove personal list with bookmarks
- The user deletes a personal list with the contained bookmarks.
- The user deletes a personal list with the contained bookmarks.
...
FA13 | Delete bookmark from folder
...
- FA13 | Delete bookmark from list
- A bookmark is removed from a personal list.
- A bookmark is removed from a personal list.
...
FA14 | Delete all bookmarks and folders
...
- A user deletes his account. Then the system first deletes all bookmarks in all lists of the user. Then all lists including favorites are deleted.
...
API calls for Use Cases
UC01 | Add bookmark
...
- FA01 | Create bookmark
- POST /favourites/bookmarks
- Send Bookmark-JSON in body
- POST /favourites/bookmarks
...
UC02 | Assign bookmarks to selected lists
...
- FA10 | Get all folders of a user
- GET /favourites/folders?userId={userID}
- Receive a FolderResult-JSON with all folders
- FA07 | Add bookmark to list
- POST /favourites/folders/{folderID}/bookmarks/{bookmarkID}
- GET /favourites/folders?userId={userID}
...
UC03 | Retrieve names of a user listDescription
...
- FA10 | Get all folders of a user
- GET /favourites/folders?userId={userID}
...
UC04 UC04 | Retrieve bookmarks of a list
...
- FA09 | Retrieve bookmarks of a list
- GET /favourites/folders/{folderID}/bookmarks
...
UC05 | Add personal list
Description
...
- FA06 | Create list
- POST /favourites/folders
- Send Folder-JSON in body
- POST /favourites/folders
...
UC06 | Delete bookmark
Description
...
- FA05 | Delete bookmark
- DELETE /favourites/bookmarks/{bookmarkID}
...
UC07 | Change bookmark description
...
- FA04 | Update bookmark (set only changes)
- PUT /favourites/bookmarks/{bookmarkID}
- Send Bookmark-JSON in body
- PUT /favourites/bookmarks/{bookmarkID}
...
UC08 | Copy bookmarks from All Favorites to personal lists
...
- FA07 | Add bookmark to another lists
- POST /favourites/folders/{folderID}/bookmarks?bookmarkId={bookmarkID}
...
UC09 | Publish or privatize personal list
...
- FA08 | Get list with properties
- GET /favourites/folders/{folderID}
- FA11 | Update list (set only changes)
- POST /favourites/folders/{folderID}
- Send Folder-JSON in body
- POST /favourites/folders/{folderID}
...
UC10 | Change properties of personal list
...
- FA08 | Get list
- GET /favourites/folders/{folderID}
- FA11 | Update list (set only changes)
- POST /favourites/folders/{folderID}
- Send Folder-JSON in body
- POST /favourites/folders/{folderID}
...
UC11 | Remove personal list with bookmarks
...
- FA12 | Delete list
- DELETE /favourites/folders/{folderID}
...
UC12 | Remove personal list and contained bookmarks in all lists
...
- FA12 | Delete list
- DELETE /favourites/folders/{folderID}
...
UC13 | Remove bookmark in personal list
...
- FA13 | Remove bookmark from list
- DELETE /favourites/folders/{folderID}/bookmarks/{bookmarkID}
...
UC14 | Copy bookmarks to other personal lists
...
- FA07 | Add bookmark to other lists (for every list)
- POST /favourites/folders/{folderID}/bookmarks
...
Model
Bookmark
Fields
Field | Data type | Description |
---|---|---|
id | String | ID of the bookmark (internal created by Elasticsearch) |
itemId | String | ID of the DDB object item |
description | String | User defined text to describe the list |
userId | String | AAS/LDAP managed ID of the User |
bookmarkType | String | Type of the bookmark |
createdAt | Long | Creation date of the folder in millis created by the DDB Backend |
updateAt | Long | Last Update date of the folder in millis created by the DDB Backend |
keywordTool | KeywordTool | Optional data for internal use in APD (for keyword tool) |
...
- The possible types of a bookmark are:
- CULTURAL_ITEM | INSTITUTION | ENTITY | NEWSPAPER | ARTICLE
...
Bookmark's KeywordTool
Fields
...
- Model object to hold and transfer APD internal data
...
BookmarkResult
Fields
Field | Data type | Description |
---|---|---|
query | String | Summary of the executed query (for debugging use) |
total | Long | Total matches |
offset | Long | Used offset (default or send by the request) |
size | Long | Used size (default or send by the request) |
bookmarks | List<Bookmark> | List of the found bookmarks by the query |
...
- Model object to hold bookmarks (depends of offset and size) by the query
...
Folder
Fields
Field | Data type | Description |
---|---|---|
id | String | ID of the folder (internal created by Elasticsearch) |
title | String | Title of the user list |
description | String | User defined text to describe the list |
userId | String | AAS/LDAP managed ID of the User |
publishingName | String | User Identifier if the list is published |
createdAt | Long | Creation date of the folder in millis created by the DDB Backend |
updateAt | Long | Last Update date of the folder in millis created by the DDB Backend |
bookmarkIds | Set<String> | List of related bookmarks IDs |
institutionIds | Set<String> | List of related institution IDs |
blockingToken | String | Optional token for internal use in APD |
blocked | Boolean | If the list is blocked for public use |
published | Boolean | If the list is published for public use |
keywordTool | KeywordTool | Optional data for internal use in APD (for keyword tool) |
...
- Model object to hold a folder (= favorites list and user defined lists)
...
Folder's KeywordTool
Fields
...
- Model object to hold and transfer APD internal data
...
FolderResult
Fields
Field | Data type | Description |
---|---|---|
query | String | Summary of the executed query (for debugging use) |
total | Long | Total matches |
offset | Long | Used offset (default or send by the request) |
size | Long | Used size (default or send by the request) |
folders | List<Folder> | List of the found folders by the query |
...
- Model object to hold found folders (depends of offset and size) by the query