0
Fork 0
mirror of https://github.com/project-zot/zot.git synced 2024-12-16 21:56:37 -05:00
zot/pkg/extensions/README_userprefs.md
Andrei Aaron 77149aa85c
refactor(extensions)!: refactor the extensions URLs and errors (#1636)
BREAKING CHANGE: The functionality provided by the mgmt endpoint has beed redesigned - see details below
BREAKING CHANGE: The API keys endpoint has been moved -  see details below
BREAKING CHANGE: The mgmt extension config has been removed - endpoint is now enabled by having both the search and the ui extensions enabled
BREAKING CHANGE: The API keys configuration has been moved from extensions to http>auth>apikey

mgmt and imagetrust extensions:
- separate the _zot/ext/mgmt into 3 separate endpoints: _zot/ext/auth, _zot/ext/notation, _zot/ext/cosign
- signature verification logic is in a separate `imagetrust` extension
- better hanling or errors in case of signature uploads: logging and error codes (more 400 and less 500 errors)
- add authz on signature uploads (and add a new middleware in common for this purpose)
- remove the mgmt extension configuration - it is now enabled if the UI and the search extensions are enabled

userprefs estension:
- userprefs are enabled if both search and ui extensions are enabled (as opposed to just search)

apikey extension is removed and logic moved into the api folder
- Move apikeys code out of pkg/extensions and into pkg/api
- Remove apikey configuration options from the extensions configuration and move it inside the http auth section
- remove the build label apikeys

other changes:
- move most of the logic adding handlers to the extensions endpoints out of routes.go and into the extensions files.
- add warnings in case the users are still using configurations with the obsolete settings for mgmt and api keys
- add a new function in the extension package which could be a single point of starting backgroud tasks for all extensions
- more clear methods for verifying specific extensions are enabled
- fix http methods paired with the UI handlers
- rebuild swagger docs

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2023-08-02 21:58:34 +03:00

1.4 KiB

userprefs

userprefs component provides an endpoint for adding user preferences for repos. It is available only to authentificated users. Unauthentificated users will be denied access.

Supported queries Input Output Description
Toggle repo star None None Sets the repo starred property to true if it is false, and to false if it is true
Toggle repo bookmark None None Sets the repo bookmarked property to true if it is false, and to false if it is true

General usage

The userprefs endpoint accepts as a query parameter what action to perform and then all other required parameters for the specified action.

Toggle repo star

Action Parameter Parameter Type Parameter Description
toggleStar repo string The repo name which should be starred

A request to togle a star on a repo would look like this:

(PUT) http://localhost:8080/v2/_zot/ext/userprefs?action=toggleStar&repo=repoName

Toggle repo bookmark

Action Parameter Parameter Type Parameter Description
toggleBookmark repo string The repo name which should be bookmarked

A request to togle a bookmark on a repo would look like this:

(PUT) http://localhost:8080/v2/_zot/ext/userprefs?action=toggleBookmark&repo=repoName