Documentation ¶
Index ¶
- Constants
- func GetParamAsInt(name string, c echo.Context) (int, error)
- type APIKeysHandler
- type APIKeysHandlerDependencies
- type CommandRunHandler
- type CommandRunHandlerDependencies
- type CommandSettingsHandler
- type CommandSettingsHandlerDependencies
- type CommandsHandler
- func (ch *CommandsHandler) AddCommandRelForPlatform() echo.HandlerFunc
- func (ch *CommandsHandler) AddCommandRelForRepository() echo.HandlerFunc
- func (ch *CommandsHandler) Create() echo.HandlerFunc
- func (ch *CommandsHandler) Delete() echo.HandlerFunc
- func (ch *CommandsHandler) Get() echo.HandlerFunc
- func (ch *CommandsHandler) List() echo.HandlerFunc
- func (ch *CommandsHandler) RemoveCommandRelForPlatform() echo.HandlerFunc
- func (ch *CommandsHandler) RemoveCommandRelForRepository() echo.HandlerFunc
- func (ch *CommandsHandler) Update() echo.HandlerFunc
- type CommandsHandlerDependencies
- type Config
- type Dependencies
- type EventHandler
- type EventHandlerDependencies
- type HookDependencies
- type KrokHookHandler
- type ReadyCheckHandler
- type ReadyCheckHandlerDependencies
- type RepoConfig
- type RepoHandler
- type RepoHandlerDependencies
- type SupportedPlatformList
- type TokenHandler
- type UserAuthHandler
- type UserAuthHandlerDeps
- type UserHandler
- type UserHandlerDependencies
- type VCSTokenHandler
- type VCSTokenHandlerDependencies
- type VaultHandler
- type VaultHandlerDependencies
Constants ¶
const ( // AccessTokenCookie is the name of the access token cookie. AccessTokenCookie = "_a_token_" // RefreshTokenCookie is the name of the refresh token cookie. RefreshTokenCookie = "_r_token_" )
Variables ¶
This section is empty.
Functions ¶
func GetParamAsInt ¶
GetParamAsInt returns a number for an echo context parameter and checks its existence.
Types ¶
type APIKeysHandler ¶
type APIKeysHandler struct {
APIKeysHandlerDependencies
}
APIKeysHandler is a handler taking care of api keys related api calls.
func NewAPIKeysHandler ¶
func NewAPIKeysHandler(deps APIKeysHandlerDependencies) *APIKeysHandler
NewAPIKeysHandler creates a new api key pair handler.
func (*APIKeysHandler) Create ¶
func (a *APIKeysHandler) Create() echo.HandlerFunc
Create creates an api key pair for a given user. swagger:operation POST /user/apikey/generate/{name} createApiKey Creates an api key pair for a given user. --- produces: - application/json parameters:
- name: name in: path required: true description: "the name of the key" type: string
responses:
'200': description: 'the generated api key pair' schema: "$ref": "#/definitions/APIKey" '400': description: 'failed to generate unique key or value' schema: "$ref": "#/responses/Message" '500': description: 'when failed to get user context' schema: "$ref": "#/responses/Message"
func (*APIKeysHandler) Delete ¶
func (a *APIKeysHandler) Delete() echo.HandlerFunc
Delete deletes a set of api keys for a given user with a given id. swagger:operation DELETE /user/apikey/delete/{keyid} deleteApiKey Deletes a set of api keys for a given user with a given id. --- parameters:
- name: keyid in: path description: 'The ID of the key to delete' required: true type: integer format: int
responses:
'200': description: 'OK in case the deletion was successful' '400': description: 'in case of missing user context or invalid ID' schema: "$ref": "#/responses/Message" '500': description: 'when the deletion operation failed' schema: "$ref": "#/responses/Message"
func (*APIKeysHandler) Get ¶
func (a *APIKeysHandler) Get() echo.HandlerFunc
Get returns a given api key. swagger:operation GET /user/apikey/{keyid} getApiKeys Returns a given api key. --- produces: - application/json parameters:
- name: keyid in: path description: "The ID of the key to return" required: true type: integer format: int
responses:
'200': schema: "$ref": "#/definitions/APIKey" '500': description: 'failed to get user context' schema: "$ref": "#/responses/Message"
func (*APIKeysHandler) List ¶
func (a *APIKeysHandler) List() echo.HandlerFunc
List lists all api keys for a given user. swagger:operation POST /user/apikey listApiKeys Lists all api keys for a given user. --- produces: - application/json responses:
'200': schema: type: array items: "$ref": "#/definitions/APIKey" '500': description: 'failed to get user context' schema: "$ref": "#/responses/Message"
type APIKeysHandlerDependencies ¶
type APIKeysHandlerDependencies struct { Dependencies APIKeysStore providers.APIKeysStorer TokenProvider *TokenHandler Clock providers.Clock }
APIKeysHandlerDependencies defines the dependencies for the api keys handler provider.
type CommandRunHandler ¶
type CommandRunHandler struct {
CommandRunHandlerDependencies
}
CommandRunHandler is a handler taking care of commands related api calls.
func NewCommandRunHandler ¶
func NewCommandRunHandler(deps CommandRunHandlerDependencies) *CommandRunHandler
NewCommandRunHandler creates a new command run handler.
func (*CommandRunHandler) GetCommandRun ¶
func (cm *CommandRunHandler) GetCommandRun() echo.HandlerFunc
GetCommandRun returns details about a command run. swagger:operation GET /command/run/{id} getCommandRun Returns details about a command run. --- produces: - application/json parameters:
- name: id in: path type: integer format: int required: true
responses:
'200': schema: "$ref": "#/definitions/CommandRun" '400': description: 'invalid command id' schema: "$ref": "#/responses/Message" '404': description: 'command run not found' '500': description: 'failed to get command run' schema: "$ref": "#/responses/Message"
type CommandRunHandlerDependencies ¶
type CommandRunHandlerDependencies struct { Logger zerolog.Logger CommandRunStorer providers.CommandRunStorer }
CommandRunHandlerDependencies defines the dependencies for the commands handler provider.
type CommandSettingsHandler ¶
type CommandSettingsHandler struct {
CommandSettingsHandlerDependencies
}
CommandSettingsHandler is a handler taking care of command settings related api calls.
func NewCommandSettingsHandler ¶
func NewCommandSettingsHandler(deps CommandSettingsHandlerDependencies) *CommandSettingsHandler
NewCommandSettingsHandler creates a new command settings handler.
func (*CommandSettingsHandler) Create ¶
func (ch *CommandSettingsHandler) Create() echo.HandlerFunc
Create creates a command setting. swagger:operation POST /command/settings/update updateCommandSetting Create a new command setting. --- consumes: - application/json produces: - application/json parameters:
- name: setting in: body required: true schema: "$ref": "#/definitions/CommandSetting"
responses:
'200': description: 'successfully created command setting' '400': description: 'binding error' schema: "$ref": "#/responses/Message" '500': description: 'failed to create the command setting' schema: "$ref": "#/responses/Message"
func (*CommandSettingsHandler) Delete ¶
func (ch *CommandSettingsHandler) Delete() echo.HandlerFunc
Delete deletes a setting. swagger:operation DELETE /command/settings/{id} deleteCommandSetting Deletes a given command setting. --- parameters:
- name: id in: path description: 'The ID of the command setting to delete' required: true type: integer format: int
responses:
'200': description: 'OK in case the deletion was successful' '400': description: 'invalid id' schema: "$ref": "#/responses/Message" '404': description: 'command setting not found' schema: "$ref": "#/responses/Message" '500': description: 'when the deletion operation failed' schema: "$ref": "#/responses/Message"
func (*CommandSettingsHandler) Get ¶
func (ch *CommandSettingsHandler) Get() echo.HandlerFunc
Get returns a specific setting. swagger:operation GET /command/settings/{id} getCommandSetting Get a specific setting. --- produces: - application/json parameters:
- name: id in: path description: 'The ID of the command setting to retrieve' required: true type: integer format: int
responses:
'200': schema: "$ref": "#/definitions/CommandSetting" '400': description: 'invalid command id' schema: "$ref": "#/responses/Message" '404': description: 'command setting not found' schema: "$ref": "#/responses/Message" '500': description: 'failed to get command setting' schema: "$ref": "#/responses/Message"
func (*CommandSettingsHandler) List ¶
func (ch *CommandSettingsHandler) List() echo.HandlerFunc
List lists command settings. swagger:operation POST /command/{id}/settings listCommandSettings List settings for a command. --- produces: - application/json parameters:
- name: id in: path description: 'The ID of the command to list settings for' required: true type: integer format: int
responses:
'200': schema: type: array items: "$ref": "#/definitions/CommandSetting" '400': description: 'invalid id' schema: "$ref": "#/responses/Message" '500': description: 'failed to list settings' schema: "$ref": "#/responses/Message"
func (*CommandSettingsHandler) Update ¶
func (ch *CommandSettingsHandler) Update() echo.HandlerFunc
Update updates a setting. swagger:operation POST /command/settings/update updateCommandSetting Updates a given command setting. --- consumes: - application/json parameters:
- name: setting in: body required: true schema: "$ref": "#/definitions/CommandSetting"
responses:
'200': description: 'successfully updated command setting' '400': description: 'binding error' schema: "$ref": "#/responses/Message" '500': description: 'failed to update the command setting' schema: "$ref": "#/responses/Message"
type CommandSettingsHandlerDependencies ¶
type CommandSettingsHandlerDependencies struct { Logger zerolog.Logger CommandStorer providers.CommandStorer }
CommandSettingsHandlerDependencies defines the dependencies for the command settings handler provider.
type CommandsHandler ¶
type CommandsHandler struct { CommandsHandlerDependencies Client *http.Client }
CommandsHandler is a handler taking care of commands related api calls.
func NewCommandsHandler ¶
func NewCommandsHandler(deps CommandsHandlerDependencies) *CommandsHandler
NewCommandsHandler creates a new commands handler.
func (*CommandsHandler) AddCommandRelForPlatform ¶
func (ch *CommandsHandler) AddCommandRelForPlatform() echo.HandlerFunc
AddCommandRelForPlatform adds a command relationship to a platform. swagger:operation POST /command/add-command-rel-for-platform/{cmdid}/{repoid} addCommandRelForPlatformCommand Adds a connection to a platform for a command. Defines what platform a command supports. These commands will only be able to run for those platforms. --- parameters:
- name: cmdid in: path required: true type: integer format: int
- name: repoid in: path required: true type: integer format: int
responses:
'200': description: 'successfully added relationship' '400': description: 'invalid ids or platform not found' schema: "$ref": "#/responses/Message" '500': description: 'failed to add command relationship to platform' schema: "$ref": "#/responses/Message"
func (*CommandsHandler) AddCommandRelForRepository ¶
func (ch *CommandsHandler) AddCommandRelForRepository() echo.HandlerFunc
AddCommandRelForRepository adds a command relationship to a repository. swagger:operation POST /command/add-command-rel-for-repository/{cmdid}/{repoid} addCommandRelForRepositoryCommand Add a connection to a repository. This will make this command to be executed for events for that repository. --- parameters:
- name: cmdid in: path required: true type: integer format: int
- name: repoid in: path required: true type: integer format: int
responses:
'200': description: 'successfully added relationship' '400': description: 'invalid ids or repositroy not found' schema: "$ref": "#/responses/Message" '500': description: 'failed to add relationship' schema: "$ref": "#/responses/Message"
func (*CommandsHandler) Create ¶ added in v0.0.5
func (ch *CommandsHandler) Create() echo.HandlerFunc
Create a command. This endpoint supports setting up a command with various settings including a URL field from which to download a command. This could be anything as long as it's accessible. swagger:operation POST /command createCommand Create a command. This endpoint supports settings up a command with various settings including a URL from which to download a command. --- produces: - application/json consumes: - application/json parameters:
- name: command in: body required: true schema: "$ref": "#/definitions/Command"
responses:
'201': description: 'in case of successful create' schema: "$ref": "#/definitions/Command" '400': description: 'invalid file format or command already exists' schema: "$ref": "#/responses/Message" '500': description: 'create command failed' schema: "$ref": "#/responses/Message"
func (*CommandsHandler) Delete ¶
func (ch *CommandsHandler) Delete() echo.HandlerFunc
Delete deletes a command. swagger:operation DELETE /command/{id} deleteCommand Deletes given command. --- parameters:
- name: id in: path description: 'The ID of the command to delete' required: true type: integer format: int
responses:
'200': description: 'OK in case the deletion was successful' '400': description: 'in case of missing user context or invalid ID' schema: "$ref": "#/responses/Message" '500': description: 'when the deletion operation failed' schema: "$ref": "#/responses/Message"
func (*CommandsHandler) Get ¶
func (ch *CommandsHandler) Get() echo.HandlerFunc
Get returns a specific command. swagger:operation GET /command/{id} getCommand Returns a specific command. --- produces: - application/json parameters:
- name: id in: path type: integer format: int required: true
responses:
'200': schema: "$ref": "#/definitions/Command" '400': description: 'invalid command id' schema: "$ref": "#/responses/Message" '500': description: 'failed to get user context' schema: "$ref": "#/responses/Message"
func (*CommandsHandler) List ¶
func (ch *CommandsHandler) List() echo.HandlerFunc
List lists commands. swagger:operation POST /commands listCommands List commands --- produces: - application/json parameters:
- name: listOptions in: body required: false schema: "$ref": "#/definitions/ListOptions"
responses:
'200': schema: type: array items: "$ref": "#/definitions/Command" '500': description: 'failed to get user context' schema: "$ref": "#/responses/Message"
func (*CommandsHandler) RemoveCommandRelForPlatform ¶
func (ch *CommandsHandler) RemoveCommandRelForPlatform() echo.HandlerFunc
RemoveCommandRelForPlatform removes a relationship of a command from a platform. swagger:operation POST /command/remove-command-rel-for-platform/{cmdid}/{repoid} removeCommandRelForPlatformCommand Remove a relationship to a platform. This command will no longer be running for that platform events. --- parameters:
- name: cmdid in: path required: true type: integer format: int
- name: repoid in: path required: true type: integer format: int
responses:
'200': description: 'successfully removed relationship' '400': description: 'invalid ids or platform not found' schema: "$ref": "#/responses/Message" '500': description: 'failed to add relationship' schema: "$ref": "#/responses/Message"
func (*CommandsHandler) RemoveCommandRelForRepository ¶
func (ch *CommandsHandler) RemoveCommandRelForRepository() echo.HandlerFunc
RemoveCommandRelForRepository removes a relationship of a command from a repository. swagger:operation POST /command/remove-command-rel-for-repository/{cmdid}/{repoid} removeCommandRelForRepositoryCommand Remove a relationship to a repository. This command will no longer be running for that repository events. --- parameters:
- name: cmdid in: path required: true type: integer format: int
- name: repoid in: path required: true type: integer format: int
responses:
'200': description: 'successfully removed relationship' '400': description: 'invalid ids or repositroy not found' schema: "$ref": "#/responses/Message" '500': description: 'failed to add relationship' schema: "$ref": "#/responses/Message"
func (*CommandsHandler) Update ¶
func (ch *CommandsHandler) Update() echo.HandlerFunc
Update updates a command. swagger:operation POST /command/update updateCommand Updates a given command. --- produces: - application/json consumes: - application/json parameters:
- name: command in: body required: true schema: "$ref": "#/definitions/Command"
responses:
'200': description: 'successfully updated command' schema: "$ref": "#/definitions/Command" '400': description: 'binding error' schema: "$ref": "#/responses/Message" '500': description: 'failed to update the command' schema: "$ref": "#/responses/Message"
type CommandsHandlerDependencies ¶
type CommandsHandlerDependencies struct { Logger zerolog.Logger CommandStorer providers.CommandStorer }
CommandsHandlerDependencies defines the dependencies for the commands handler provider.
type Config ¶
type Config struct { Proto string Hostname string GlobalTokenKey string GoogleClientID string GoogleClientSecret string }
Config has the configuration options for the repository handler.
type Dependencies ¶
type Dependencies struct { Logger zerolog.Logger UserStore providers.UserStorer APIKeyAuth providers.APIKeysAuthenticator TokenIssuer providers.TokenIssuer }
Dependencies defines the dependencies for the repository handler provider.
type EventHandler ¶
type EventHandler struct {
EventHandlerDependencies
}
EventHandler is a handler taking care of vcs token related api calls.
func NewEventHandler ¶
func NewEventHandler(deps EventHandlerDependencies) *EventHandler
NewEventHandler creates a new event handler.
func (*EventHandler) Get ¶
func (r *EventHandler) Get() echo.HandlerFunc
Get a specific event. swagger:operation GET /event/{id} getEvent Get a specific event. --- produces: - application/json parameters:
- name: id in: path description: 'The ID of the event to retrieve' required: true type: integer format: int
responses:
'200': schema: "$ref": "#/definitions/Event" '400': description: 'invalid event id' schema: "$ref": "#/responses/Message" '404': description: 'event not found' schema: "$ref": "#/responses/Message" '500': description: 'failed to get event' schema: "$ref": "#/responses/Message"
func (*EventHandler) List ¶
func (r *EventHandler) List() echo.HandlerFunc
List handles the list rest event. swagger:operation POST /events/{repoid} listEvents List events for a repository. --- produces: - application/json parameters:
- name: repoid in: path description: 'The ID of the repository to list events for.' required: true type: integer format: int
responses:
'200': schema: type: array items: "$ref": "#/definitions/Event" '400': description: 'invalid repository id' schema: "$ref": "#/responses/Message" '500': description: 'failed to list events' schema: "$ref": "#/responses/Message"
type EventHandlerDependencies ¶
type EventHandlerDependencies struct { Logger zerolog.Logger EventsStorer providers.EventsStorer }
EventHandlerDependencies defines the dependencies for the vcs token handler provider.
type HookDependencies ¶
type HookDependencies struct { // Load all the hook providers here and decide to which to delegate to. Logger zerolog.Logger RepositoryStore providers.RepositoryStorer PlatformProviders map[int]providers.Platform Executer providers.Executor EventsStorer providers.EventsStorer Timer providers.Clock }
HookDependencies defines the dependencies of this server.
type KrokHookHandler ¶
type KrokHookHandler struct {
HookDependencies
}
KrokHookHandler is the main hook handler.
func NewHookHandler ¶
func NewHookHandler(deps HookDependencies) *KrokHookHandler
NewHookHandler creates a new Krok server to listen for all hook related events.
func (*KrokHookHandler) HandleHooks ¶
func (k *KrokHookHandler) HandleHooks() echo.HandlerFunc
HandleHooks creates a hook handler. swagger:operation POST /hooks/{rid}/{vid}/callback hookHandler Handle the hooks created by the platform. --- produces: - application/json parameters:
- name: rid in: path description: The ID of the repository. required: true type: integer format: int
- name: vid in: path description: The ID of the provider. required: true type: integer format: int
responses:
'200': description: 'success in case the hook event was processed without problems' '400': description: 'for invalid parameters' '404': description: 'if the repository or the provider does not exist'
type ReadyCheckHandler ¶ added in v0.0.4
type ReadyCheckHandler struct {
ReadyCheckHandlerDependencies
}
ReadyCheckHandler is a handler taking care of ready check related api calls.
func NewReadyCheckHandler ¶ added in v0.0.4
func NewReadyCheckHandler(deps ReadyCheckHandlerDependencies) *ReadyCheckHandler
NewReadyCheckHandler creates a new ready check handler.
func (*ReadyCheckHandler) Ready ¶ added in v0.0.4
func (r *ReadyCheckHandler) Ready() echo.HandlerFunc
Ready check if Krok is ready to handle requests.
type ReadyCheckHandlerDependencies ¶ added in v0.0.4
ReadyCheckHandlerDependencies defines the dependencies for the ready check handler provider.
type RepoConfig ¶
RepoConfig represents configuration entities that the repository requires.
type RepoHandler ¶
type RepoHandler struct { RepoConfig RepoHandlerDependencies }
RepoHandler is a handler taking care of repository related api calls.
func NewRepositoryHandler ¶
func NewRepositoryHandler(cfg RepoConfig, deps RepoHandlerDependencies) (*RepoHandler, error)
NewRepositoryHandler creates a new repository handler.
func (*RepoHandler) Create ¶
func (r *RepoHandler) Create() echo.HandlerFunc
Create handles the Create rest event. swagger:operation POST /repository createRepository Creates a new repository --- produces: - application/json consumes: - application/json parameters:
- name: repository in: body required: true schema: "$ref": "#/definitions/Repository"
responses:
'200': description: 'the created repository' schema: "$ref": "#/definitions/Repository" '400': description: 'failed to generate unique key or value' schema: "$ref": "#/responses/Message" '500': description: 'when failed to get user context' schema: "$ref": "#/responses/Message"
func (*RepoHandler) Delete ¶
func (r *RepoHandler) Delete() echo.HandlerFunc
Delete handles the Delete rest event. TODO: Delete the hook here as well? swagger:operation DELETE /repository/{id} deleteRepository Deletes the given repository. --- parameters:
- name: id in: path description: 'The ID of the repository to delete' required: true type: integer format: int
responses:
'200': description: 'OK in case the deletion was successful' '400': description: 'in case of missing user context or invalid ID' schema: "$ref": "#/responses/Message" '404': description: 'in case of repository not found' schema: "$ref": "#/responses/Message" '500': description: 'when the deletion operation failed' schema: "$ref": "#/responses/Message"
func (*RepoHandler) Get ¶
func (r *RepoHandler) Get() echo.HandlerFunc
Get retrieves a repository and displays the unique URL for which this repo is responsible for. swagger:operation GET /repository/{id} getRepository Gets the repository with the corresponding ID. --- produces: - application/json parameters:
- name: id in: path type: integer format: int required: true
responses:
'200': schema: "$ref": "#/definitions/Repository" '400': description: 'invalid repository id' schema: "$ref": "#/responses/Message" '404': description: 'repository not found' schema: "$ref": "#/responses/Message" '500': description: 'failed to get repository' schema: "$ref": "#/responses/Message"
func (*RepoHandler) List ¶
func (r *RepoHandler) List() echo.HandlerFunc
List handles the List rest event. swagger:operation POST /repositories listRepositories List repositories --- produces: - application/json consumes: - application/json parameters:
- name: listOptions in: body required: false schema: "$ref": "#/definitions/ListOptions"
responses:
'200': schema: type: array items: "$ref": "#/definitions/Repository" '500': description: 'failed to list repositories' schema: "$ref": "#/responses/Message"
func (*RepoHandler) Update ¶
func (r *RepoHandler) Update() echo.HandlerFunc
Update handles the update rest event. swagger:operation POST /repository/update updateRepository Updates an existing repository. --- produces: - application/json consumes: - application/json parameters:
- name: repository in: body required: true schema: "$ref": "#/definitions/Repository"
responses:
'200': description: 'the updated repository' schema: "$ref": "#/definitions/Repository" '400': description: 'failed to bind repository' schema: "$ref": "#/responses/Message" '404': description: 'repository not found' schema: "$ref": "#/responses/Message" '500': description: 'failed to update repository' schema: "$ref": "#/responses/Message"
type RepoHandlerDependencies ¶
type RepoHandlerDependencies struct { Auth providers.RepositoryAuth RepositoryStorer providers.RepositoryStorer Logger zerolog.Logger PlatformProviders map[int]providers.Platform }
RepoHandlerDependencies defines the dependencies for the repository handler provider.
type SupportedPlatformList ¶
type SupportedPlatformList struct{}
SupportedPlatformList is the supporting struct which implements platform listing.
func NewSupportedPlatformListHandler ¶
func NewSupportedPlatformListHandler() *SupportedPlatformList
NewSupportedPlatformListHandler creates a new supported platform list handler.
func (*SupportedPlatformList) ListSupportedPlatforms ¶
func (s *SupportedPlatformList) ListSupportedPlatforms() echo.HandlerFunc
ListSupportedPlatforms lists all platforms which Krok supports. swagger:operation GET /supported-platforms listSupportedPlatforms Lists all supported platforms. --- produces: - application/json responses:
'200': description: 'the list of supported platform ids' schema: type: array items: "$ref": "#/definitions/Platform"
type TokenHandler ¶
type TokenHandler struct {
Dependencies
}
TokenHandler is a token provider for the handlers.
func NewTokenHandler ¶
func NewTokenHandler(deps Dependencies) (*TokenHandler, error)
NewTokenHandler creates a new token handler which deals with generating and handling tokens.
func (*TokenHandler) TokenHandler ¶
func (p *TokenHandler) TokenHandler() echo.HandlerFunc
TokenHandler creates a JWT token for a given api key pair. swagger:operation POST /get-token getToken Creates a JWT token for a given api key pair. --- deprecated: true produces: - application/json responses:
'200': description: 'the generated JWT token' schema: "$ref": "#/responses/TokenResponse" '500': description: 'when there was a problem with matching the email, or the api key or generating the token'
type UserAuthHandler ¶
type UserAuthHandler struct {
UserAuthHandlerDeps
}
UserAuthHandler handles user authentication.
func NewUserAuthHandler ¶
func NewUserAuthHandler(deps UserAuthHandlerDeps) *UserAuthHandler
NewUserAuthHandler creates a new UserAuthHandler.
func (*UserAuthHandler) OAuthCallback ¶
func (h *UserAuthHandler) OAuthCallback() echo.HandlerFunc
OAuthCallback handles the user login callback. swagger:operation GET /auth/callback userCallback
This is the url to which Google calls back after a successful login. Creates a cookie which will hold the authenticated user. --- parameters:
- name: state in: query description: the state variable defined by Google required: true type: string
- name: code in: query description: the authorization code provided by Google required: true type: string
responses:
'308': description: 'the permanent redirect url' '404': description: 'error invalid state|code' '401': description: 'error verifying state | error during token exchange'
func (*UserAuthHandler) OAuthLogin ¶
func (h *UserAuthHandler) OAuthLogin() echo.HandlerFunc
OAuthLogin handles a user login. swagger:operation GET /auth/login userLogin
User login. --- parameters:
- name: redirect_url in: query description: the redirect URL coming from Google to redirect login to required: true type: string
responses:
'307': description: 'the redirect url to the login' '404': description: 'error invalid redirect_url' '401': description: 'error generating state'
func (*UserAuthHandler) Refresh ¶
func (h *UserAuthHandler) Refresh() echo.HandlerFunc
Refresh handles user token refreshing. swagger:operation POST /auth/refresh refreshToken
Refresh the authentication token.
--- responses:
'200': description: 'Status OK' '401': description: 'refresh token cookie not found|error refreshing token'
type UserAuthHandlerDeps ¶
type UserAuthHandlerDeps struct { Logger zerolog.Logger OAuth providers.OAuthAuthenticator TokenIssuer providers.TokenIssuer }
UserAuthHandlerDeps contains the UserAuthHandler dependencies.
type UserHandler ¶
type UserHandler struct {
UserHandlerDependencies
}
UserHandler .
func NewUserHandler ¶
func NewUserHandler(deps UserHandlerDependencies) *UserHandler
NewUserHandler .
func (*UserHandler) CreateUser ¶
func (u *UserHandler) CreateUser() echo.HandlerFunc
CreateUser creates a new user. swagger:operation POST /user createUser Creates a new user --- produces: - application/json consumes: - application/json parameters:
- name: user in: body required: true schema: "$ref": "#/definitions/User"
responses:
'200': description: 'the created user' schema: "$ref": "#/definitions/User" '400': description: 'invalid json payload' schema: "$ref": "#/responses/Message" '500': description: 'failed to create user or generating a new api key' schema: "$ref": "#/responses/Message"
func (*UserHandler) DeleteUser ¶
func (u *UserHandler) DeleteUser() echo.HandlerFunc
DeleteUser deletes a user. swagger:operation DELETE /user/{id} deleteUser Deletes the given user. --- parameters:
- name: id in: path description: 'The ID of the user to delete' required: true type: integer format: int
responses:
'200': description: 'OK in case the deletion was successful' '400': description: 'in case of missing user context or invalid ID' schema: "$ref": "#/responses/Message" '404': description: 'in case of user not found' schema: "$ref": "#/responses/Message" '500': description: 'when the deletion operation failed' schema: "$ref": "#/responses/Message"
func (*UserHandler) GetUser ¶
func (u *UserHandler) GetUser() echo.HandlerFunc
GetUser returns a user. swagger:operation GET /user/{id} getUser Gets the user with the corresponding ID. --- produces: - application/json parameters:
- name: id in: path type: integer format: int required: true
responses:
'200': schema: "$ref": "#/definitions/User" '400': description: 'invalid user id' schema: "$ref": "#/responses/Message" '404': description: 'user not found' schema: "$ref": "#/responses/Message" '500': description: 'failed to get user' schema: "$ref": "#/responses/Message"
func (*UserHandler) ListUsers ¶
func (u *UserHandler) ListUsers() echo.HandlerFunc
ListUsers lists all users. swagger:operation POST /users listUsers List users --- produces: - application/json responses:
'200': schema: type: array items: "$ref": "#/definitions/User" '500': description: 'failed to list user' schema: "$ref": "#/responses/Message"
func (*UserHandler) UpdateUser ¶
func (u *UserHandler) UpdateUser() echo.HandlerFunc
UpdateUser update a specific user. swagger:operation POST /user/update updateUser Updates an existing user. --- produces: - application/json consumes: - application/json parameters:
- name: user in: body required: true schema: "$ref": "#/definitions/User"
responses:
'200': description: 'user successfully updated' schema: "$ref": "#/definitions/User" '400': description: 'invalid json payload' schema: "$ref": "#/responses/Message" '404': description: 'user not found' schema: "$ref": "#/responses/Message" '500': description: 'failed to update user' schema: "$ref": "#/responses/Message"
type UserHandlerDependencies ¶
type UserHandlerDependencies struct { Logger zerolog.Logger UserStore providers.UserStorer APIKeyAuth providers.APIKeysAuthenticator }
UserHandlerDependencies .
type VCSTokenHandler ¶
type VCSTokenHandler struct {
VCSTokenHandlerDependencies
}
VCSTokenHandler is a handler taking care of vcs token related api calls.
func NewVCSTokenHandler ¶
func NewVCSTokenHandler(deps VCSTokenHandlerDependencies) *VCSTokenHandler
NewVCSTokenHandler creates a new vcs token handler.
func (*VCSTokenHandler) Create ¶
func (r *VCSTokenHandler) Create() echo.HandlerFunc
Create handles the Create rest event. swagger:operation POST /vcs-token createVcsToken Create a new token for a platform like Github, Gitlab, Gitea... --- consumes: - application/json parameters:
- name: secret in: body required: true schema: "$ref": "#/definitions/VCSToken"
responses:
'200': description: 'OK setting successfully create' '400': description: 'invalid json payload' schema: "$ref": "#/responses/Message" '500': description: 'failed to create secret' schema: "$ref": "#/responses/Message"
type VCSTokenHandlerDependencies ¶
type VCSTokenHandlerDependencies struct { Logger zerolog.Logger TokenProvider providers.PlatformTokenProvider }
VCSTokenHandlerDependencies defines the dependencies for the vcs token handler provider.
type VaultHandler ¶
type VaultHandler struct {
VaultHandlerDependencies
}
VaultHandler is a handler taking care of vault related api calls.
func NewVaultHandler ¶
func NewVaultHandler(deps VaultHandlerDependencies) *VaultHandler
NewVaultHandler creates a new vault settings handler.
func (*VaultHandler) CreateSecret ¶
func (v *VaultHandler) CreateSecret() echo.HandlerFunc
CreateSecret will create a new secret. swagger:operation POST /vault/secret createSecret Create a new secure secret. --- consumes: - application/json parameters:
- name: secret in: body required: true schema: "$ref": "#/definitions/VaultSetting"
responses:
'200': description: 'OK setting successfully create' '400': description: 'invalid json payload' schema: "$ref": "#/responses/Message" '500': description: 'failed to create secret' schema: "$ref": "#/responses/Message"
func (*VaultHandler) DeleteSecret ¶
func (v *VaultHandler) DeleteSecret() echo.HandlerFunc
DeleteSecret deletes secrets. swagger:operation DELETE /vault/secret/{name} deleteSecret Deletes the given secret. --- parameters:
- name: name in: path description: 'The key of the secret' required: true type: string
responses:
'200': description: 'OK in case the deletion was successful' '400': description: 'in case of missing name' schema: "$ref": "#/responses/Message" '404': description: 'in case the secret was not found' schema: "$ref": "#/responses/Message" '500': description: 'when the deletion operation failed' schema: "$ref": "#/responses/Message"
func (*VaultHandler) GetSecret ¶
func (v *VaultHandler) GetSecret() echo.HandlerFunc
GetSecret will return all information including the secret. swagger:operation GET /vault/secret/{name} getSecret Get a specific secret. --- produces: - application/json parameters:
- name: name in: path type: string required: true
responses:
'200': schema: "$ref": "#/definitions/VaultSetting" '400': description: 'invalid name' schema: "$ref": "#/responses/Message" '404': description: 'secret not found' schema: "$ref": "#/responses/Message" '500': description: 'failed to load secrets' schema: "$ref": "#/responses/Message"
func (*VaultHandler) ListSecrets ¶
func (v *VaultHandler) ListSecrets() echo.HandlerFunc
ListSecrets will return all settings, but not the values. swagger:operation POST /vault/secrets listSecrets List all settings without the values. --- produces: - application/json responses:
'200': schema: type: array items: "$ref": "#/definitions/VaultSetting" '500': description: 'failed to load secrets' schema: "$ref": "#/responses/Message"
func (*VaultHandler) UpdateSecret ¶
func (v *VaultHandler) UpdateSecret() echo.HandlerFunc
UpdateSecret will update a given secret. swagger:operation POST /vault/secret/update updateSecret Updates an existing secret. --- consumes: - application/json parameters:
- name: secret in: body required: true schema: "$ref": "#/definitions/VaultSetting"
responses:
'200': description: 'OK setting successfully updated' '400': description: 'invalid json payload' schema: "$ref": "#/responses/Message" '404': description: 'setting not found' schema: "$ref": "#/responses/Message" '500': description: 'failed to update secret' schema: "$ref": "#/responses/Message"