Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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


Zur Übersicht^ Back to top

...

FA02 | Retrieve bookmark

GET

/favourites/bookmarks/{id}

...

  • All info of a bookmark is retrieved to display it in the frontend.


^ Back to top

...

FA03 | Retrieve bookmarks

...

  • Bookmarks according to certain criteria are retrieved to be displayed in the frontend.


^ Back to top

...

FA04 | Update bookmark

PUT

/favourites/bookmarks/{id}

...

  • UC07 | Change bookmark description
    • A user changes the description of a bookmark.


^ Back to top

...

FA05 | Delete bookmark

DELETE

/favourites/bookmarks/{id}

...

  • UC05 | Add personal folder
    • A user creates a personal folder.


^ Back to top

...

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.


^ Back to top

...

FA08 | Retrieve folder

GET

/favourites/folders/{id}

...

  • All info of a list is retrieved to display it in the frontend.


^ Back to top

...

FA09 | Retrieve bookmarks of a folder

...

  • UC04 | Retrieve bookmarks of a list
    • The user retrieves bookmarks of a specified list.


^ Back to top

...

FA10 | Retrieve folders

GET

/favourites/folders

...

  • UC03 | Listennamen eines Benutzers abrufen
    • The user retrieves bookmarks of a specified list.


^ Back to top

...

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.


^ Back to top

...

FA12 | Delete folder

DELETE

/favourites/folders/{id}

...

  • UC11 | Remove personal list with bookmarks
    • The user deletes a personal list with the contained bookmarks.


^ Back to top

...

FA13 | Delete bookmark from folder

...

  • FA13 | Delete bookmark from list
    • A bookmark is removed from a personal list.


^ Back to top

...

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.


^ Back to top

...

API calls for Use Cases

UC01 | Add bookmark

...

  • FA01 | Create bookmark
    • POST /favourites/bookmarks
      • Send Bookmark-JSON in body


^ Back to top

...

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}


^ Back to top

...

UC03 | Retrieve names of a user listDescription

...

  • FA10 | Get all folders of a user
    • GET /favourites/folders?userId={userID}


^ Back to top

...

UC04 UC04 | Retrieve bookmarks of a list

...

  • FA09 | Retrieve bookmarks of a list
    • GET /favourites/folders/{folderID}/bookmarks


^ Back to top

...

UC05 | Add personal list

Description

...

  • FA06 | Create list
    • POST /favourites/folders
      • Send Folder-JSON in body


^ Back to top

...

UC06 | Delete bookmark

Description

...

  • FA05 | Delete bookmark
    • DELETE /favourites/bookmarks/{bookmarkID}


^ Back to top

...

UC07 | Change bookmark description

...

  • FA04 | Update bookmark (set only changes)
    • PUT /favourites/bookmarks/{bookmarkID}
      • Send Bookmark-JSON in body


^ Back to top

...

UC08 | Copy bookmarks from All Favorites to personal lists

...

  • FA07 | Add bookmark to another lists
    • POST /favourites/folders/{folderID}/bookmarks?bookmarkId={bookmarkID}


^ Back to top

...

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


^ Back to top

...

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


^ Back to top

...

UC11 | Remove personal list with bookmarks

...

  • FA12 | Delete list
    • DELETE /favourites/folders/{folderID}


^ Back to top

...

UC12 | Remove personal list and contained bookmarks in all lists

...

  • FA12 | Delete list
    • DELETE /favourites/folders/{folderID}


^ Back to top

...

UC13 | Remove bookmark in personal list

...

  • FA13 | Remove bookmark from list
    • DELETE /favourites/folders/{folderID}/bookmarks/{bookmarkID}


^ Back to top

...

UC14 | Copy bookmarks to other personal lists

...

  • FA07 | Add bookmark to other lists (for every list)
    • POST /favourites/folders/{folderID}/bookmarks


^ Back to top

...

Model

Bookmark

Fields

FieldData typeDescription

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


^ Back to top

...

Bookmark's KeywordTool

Fields

...

  • Model object to hold and transfer APD internal data


^ Back to top

...

BookmarkResult

Fields

FieldData typeDescription

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


^ Back to top

...

Folder

Fields

FieldData typeDescription

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)


^ Back to top

...

Folder's KeywordTool

Fields

...

  • Model object to hold and transfer APD internal data


^ Back to top

...

FolderResult

Fields

FieldData typeDescription

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


^ Back to top