Documentation
¶
Index ¶
- func ValidApplicationImageExt(ext string) bool
- type ApplicationAPI
- func (a *ApplicationAPI) CreateApplication(ctx *gin.Context)
- func (a *ApplicationAPI) DeleteApplication(ctx *gin.Context)
- func (a *ApplicationAPI) GetApplications(ctx *gin.Context)
- func (a *ApplicationAPI) RemoveApplicationImage(ctx *gin.Context)
- func (a *ApplicationAPI) UpdateApplication(ctx *gin.Context)
- func (a *ApplicationAPI) UploadApplicationImage(ctx *gin.Context)
- type ApplicationDatabase
- type ApplicationParams
- type ClientAPI
- type ClientDatabase
- type ClientParams
- type HealthAPI
- type HealthDatabase
- type MessageAPI
- func (a *MessageAPI) CreateMessage(ctx *gin.Context)
- func (a *MessageAPI) DeleteMessage(ctx *gin.Context)
- func (a *MessageAPI) DeleteMessageWithApplication(ctx *gin.Context)
- func (a *MessageAPI) DeleteMessages(ctx *gin.Context)
- func (a *MessageAPI) GetMessages(ctx *gin.Context)
- func (a *MessageAPI) GetMessagesWithApplication(ctx *gin.Context)
- type MessageDatabase
- type Notifier
- type PluginAPI
- type PluginDatabase
- type UserAPI
- func (a *UserAPI) ChangePassword(ctx *gin.Context)
- func (a *UserAPI) CreateUser(ctx *gin.Context)
- func (a *UserAPI) DeleteUserByID(ctx *gin.Context)
- func (a *UserAPI) GetCurrentUser(ctx *gin.Context)
- func (a *UserAPI) GetUserByID(ctx *gin.Context)
- func (a *UserAPI) GetUsers(ctx *gin.Context)
- func (a *UserAPI) UpdateUserByID(ctx *gin.Context)
- type UserChangeNotifier
- type UserDatabase
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValidApplicationImageExt ¶ added in v2.2.2
Types ¶
type ApplicationAPI ¶
type ApplicationAPI struct {
DB ApplicationDatabase
ImageDir string
}
The ApplicationAPI provides handlers for managing applications.
func (*ApplicationAPI) CreateApplication ¶
func (a *ApplicationAPI) CreateApplication(ctx *gin.Context)
CreateApplication creates an application and returns the access token. swagger:operation POST /application application createApp
Create an application.
---
consumes: [application/json]
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: body
in: body
description: the application to add
required: true
schema:
$ref: "#/definitions/ApplicationParams"
responses:
200:
description: Ok
schema:
$ref: "#/definitions/Application"
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
func (*ApplicationAPI) DeleteApplication ¶
func (a *ApplicationAPI) DeleteApplication(ctx *gin.Context)
DeleteApplication deletes an application by its id. swagger:operation DELETE /application/{id} application deleteApp
Delete an application.
---
consumes: [application/json]
produces: [application/json]
parameters:
- name: id
in: path
description: the application id
required: true
type: integer
format: int64
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
func (*ApplicationAPI) GetApplications ¶
func (a *ApplicationAPI) GetApplications(ctx *gin.Context)
GetApplications returns all applications a user has. swagger:operation GET /application application getApps
Return all applications.
---
consumes: [application/json]
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
schema:
type: array
items:
$ref: "#/definitions/Application"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
func (*ApplicationAPI) RemoveApplicationImage ¶ added in v2.2.5
func (a *ApplicationAPI) RemoveApplicationImage(ctx *gin.Context)
RemoveApplicationImage deletes an image of an application. swagger:operation DELETE /application/{id}/image application removeAppImage
Deletes an image of an application.
---
consumes: [application/json]
produces: [application/json]
parameters:
- name: id
in: path
description: the application id
required: true
type: integer
format: int64
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
500:
description: Server Error
schema:
$ref: "#/definitions/Error"
func (*ApplicationAPI) UpdateApplication ¶
func (a *ApplicationAPI) UpdateApplication(ctx *gin.Context)
UpdateApplication updates an application info by its id. swagger:operation PUT /application/{id} application updateApplication
Update an application.
---
consumes: [application/json]
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: body
in: body
description: the application to update
required: true
schema:
$ref: "#/definitions/ApplicationParams"
- name: id
in: path
description: the application id
required: true
type: integer
format: int64
responses:
200:
description: Ok
schema:
$ref: "#/definitions/Application"
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
func (*ApplicationAPI) UploadApplicationImage ¶
func (a *ApplicationAPI) UploadApplicationImage(ctx *gin.Context)
UploadApplicationImage uploads an image for an application. swagger:operation POST /application/{id}/image application uploadAppImage
Upload an image for an application.
---
consumes:
- multipart/form-data
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: file
in: formData
description: the application image
required: true
type: file
- name: id
in: path
description: the application id
required: true
type: integer
format: int64
responses:
200:
description: Ok
schema:
$ref: "#/definitions/Application"
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
500:
description: Server Error
schema:
$ref: "#/definitions/Error"
type ApplicationDatabase ¶
type ApplicationDatabase interface {
CreateApplication(application *model.Application) error
GetApplicationByToken(token string) (*model.Application, error)
GetApplicationByID(id uint) (*model.Application, error)
GetApplicationsByUser(userID uint) ([]*model.Application, error)
DeleteApplicationByID(id uint) error
UpdateApplication(application *model.Application) error
}
The ApplicationDatabase interface for encapsulating database access.
type ApplicationParams ¶ added in v2.1.5
type ApplicationParams struct {
// The application name. This is how the application should be displayed to the user.
//
// required: true
// example: Backup Server
Name string `form:"name" query:"name" json:"name" binding:"required"`
// The description of the application.
//
// example: Backup server for the interwebs
Description string `form:"description" query:"description" json:"description"`
// The default priority of messages sent by this application. Defaults to 0.
//
// example: 5
DefaultPriority int `form:"defaultPriority" query:"defaultPriority" json:"defaultPriority"`
}
Application Params Model
Params allowed to create or update Applications.
swagger:model ApplicationParams
type ClientAPI ¶
type ClientAPI struct {
DB ClientDatabase
ImageDir string
NotifyDeleted func(uint, string)
}
The ClientAPI provides handlers for managing clients and applications.
func (*ClientAPI) CreateClient ¶
CreateClient creates a client and returns the access token. swagger:operation POST /client client createClient
Create a client.
---
consumes: [application/json]
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: body
in: body
description: the client to add
required: true
schema:
$ref: "#/definitions/ClientParams"
responses:
200:
description: Ok
schema:
$ref: "#/definitions/Client"
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
func (*ClientAPI) DeleteClient ¶
DeleteClient deletes a client by its id. swagger:operation DELETE /client/{id} client deleteClient
Delete a client.
---
consumes: [application/json]
produces: [application/json]
parameters:
- name: id
in: path
description: the client id
required: true
type: integer
format: int64
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
func (*ClientAPI) GetClients ¶
GetClients returns all clients a user has. swagger:operation GET /client client getClients
Return all clients.
---
consumes: [application/json]
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
schema:
type: array
items:
$ref: "#/definitions/Client"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
func (*ClientAPI) UpdateClient ¶
UpdateClient updates a client by its id. swagger:operation PUT /client/{id} client updateClient
Update a client.
---
consumes: [application/json]
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: body
in: body
description: the client to update
required: true
schema:
$ref: "#/definitions/ClientParams"
- name: id
in: path
description: the client id
required: true
type: integer
format: int64
responses:
200:
description: Ok
schema:
$ref: "#/definitions/Client"
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
type ClientDatabase ¶
type ClientDatabase interface {
CreateClient(client *model.Client) error
GetClientByToken(token string) (*model.Client, error)
GetClientByID(id uint) (*model.Client, error)
GetClientsByUser(userID uint) ([]*model.Client, error)
DeleteClientByID(id uint) error
UpdateClient(client *model.Client) error
}
The ClientDatabase interface for encapsulating database access.
type ClientParams ¶ added in v2.2.5
type ClientParams struct {
// The client name
//
// required: true
// example: My Client
Name string `form:"name" query:"name" json:"name" binding:"required"`
}
Client Params Model
Params allowed to create or update Clients.
swagger:model ClientParams
type HealthAPI ¶
type HealthAPI struct {
DB HealthDatabase
}
The HealthAPI provides handlers for the health information.
type HealthDatabase ¶
type HealthDatabase interface {
Ping() error
}
The HealthDatabase interface for encapsulating database access.
type MessageAPI ¶
type MessageAPI struct {
DB MessageDatabase
Notifier Notifier
}
The MessageAPI provides handlers for managing messages.
func (*MessageAPI) CreateMessage ¶
func (a *MessageAPI) CreateMessage(ctx *gin.Context)
CreateMessage creates a message, authentication via application-token is required. swagger:operation POST /message message createMessage
Create a message.
__NOTE__: This API ONLY accepts an application token as authentication.
---
consumes: [application/json]
produces: [application/json]
security: [appTokenAuthorizationHeader: [], appTokenHeader: [], appTokenQuery: []]
parameters:
- name: body
in: body
description: the message to add
required: true
schema:
$ref: "#/definitions/Message"
responses:
200:
description: Ok
schema:
$ref: "#/definitions/Message"
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
func (*MessageAPI) DeleteMessage ¶
func (a *MessageAPI) DeleteMessage(ctx *gin.Context)
DeleteMessage deletes a message with an id. swagger:operation DELETE /message/{id} message deleteMessage
Deletes a message with an id.
---
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: id
in: path
description: the message id
required: true
type: integer
format: int64
responses:
200:
description: Ok
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
func (*MessageAPI) DeleteMessageWithApplication ¶
func (a *MessageAPI) DeleteMessageWithApplication(ctx *gin.Context)
DeleteMessageWithApplication deletes all messages from a specific application. swagger:operation DELETE /application/{id}/message message deleteAppMessages
Delete all messages from a specific application.
---
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: id
in: path
description: the application id
required: true
type: integer
format: int64
responses:
200:
description: Ok
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
func (*MessageAPI) DeleteMessages ¶
func (a *MessageAPI) DeleteMessages(ctx *gin.Context)
DeleteMessages delete all messages from a user. swagger:operation DELETE /message message deleteMessages
Delete all messages.
---
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
func (*MessageAPI) GetMessages ¶
func (a *MessageAPI) GetMessages(ctx *gin.Context)
GetMessages returns all messages from a user. swagger:operation GET /message message getMessages
Return all messages.
---
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: limit
in: query
description: the maximal amount of messages to return
required: false
maximum: 200
minimum: 1
default: 100
type: integer
- name: since
in: query
description: return all messages with an ID less than this value
minimum: 0
required: false
type: integer
format: int64
responses:
200:
description: Ok
schema:
$ref: "#/definitions/PagedMessages"
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
func (*MessageAPI) GetMessagesWithApplication ¶
func (a *MessageAPI) GetMessagesWithApplication(ctx *gin.Context)
GetMessagesWithApplication returns all messages from a specific application. swagger:operation GET /application/{id}/message message getAppMessages
Return all messages from a specific application.
---
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: id
in: path
description: the application id
required: true
type: integer
format: int64
- name: limit
in: query
description: the maximal amount of messages to return
required: false
maximum: 200
minimum: 1
default: 100
type: integer
- name: since
in: query
description: return all messages with an ID less than this value
minimum: 0
required: false
type: integer
format: int64
responses:
200:
description: Ok
schema:
$ref: "#/definitions/PagedMessages"
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
type MessageDatabase ¶
type MessageDatabase interface {
GetMessagesByApplicationSince(appID uint, limit int, since uint) ([]*model.Message, error)
GetApplicationByID(id uint) (*model.Application, error)
GetMessagesByUserSince(userID uint, limit int, since uint) ([]*model.Message, error)
DeleteMessageByID(id uint) error
GetMessageByID(id uint) (*model.Message, error)
DeleteMessagesByUser(userID uint) error
DeleteMessagesByApplication(applicationID uint) error
CreateMessage(message *model.Message) error
GetApplicationByToken(token string) (*model.Application, error)
}
The MessageDatabase interface for encapsulating database access.
type Notifier ¶
type Notifier interface {
Notify(userID uint, message *model.MessageExternal)
}
Notifier notifies when a new message was created.
type PluginAPI ¶
type PluginAPI struct {
Notifier Notifier
Manager *plugin.Manager
DB PluginDatabase
}
The PluginAPI provides handlers for managing plugins.
func (*PluginAPI) DisablePlugin ¶
DisablePlugin disables a plugin. swagger:operation POST /plugin/{id}/disable plugin disablePlugin
Disable a plugin.
---
consumes: [application/json]
produces: [application/json]
parameters:
- name: id
in: path
description: the plugin id
required: true
type: integer
format: int64
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
500:
description: Internal Server Error
schema:
$ref: "#/definitions/Error"
func (*PluginAPI) EnablePlugin ¶
EnablePlugin enables a plugin. swagger:operation POST /plugin/{id}/enable plugin enablePlugin
Enable a plugin.
---
consumes: [application/json]
produces: [application/json]
parameters:
- name: id
in: path
description: the plugin id
required: true
type: integer
format: int64
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
500:
description: Internal Server Error
schema:
$ref: "#/definitions/Error"
func (*PluginAPI) GetConfig ¶
GetConfig returns Configurer plugin configuration in YAML format. swagger:operation GET /plugin/{id}/config plugin getPluginConfig
Get YAML configuration for Configurer plugin.
---
consumes: [application/json]
produces: [application/x-yaml]
parameters:
- name: id
in: path
description: the plugin id
required: true
type: integer
format: int64
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
schema:
type: object
description: plugin configuration
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
500:
description: Internal Server Error
schema:
$ref: "#/definitions/Error"
func (*PluginAPI) GetDisplay ¶
GetDisplay get display info for Displayer plugin. swagger:operation GET /plugin/{id}/display plugin getPluginDisplay
Get display info for a Displayer plugin.
---
consumes: [application/json]
produces: [application/json]
parameters:
- name: id
in: path
description: the plugin id
required: true
type: integer
format: int64
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
schema:
type: string
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
500:
description: Internal Server Error
schema:
$ref: "#/definitions/Error"
func (*PluginAPI) GetPlugins ¶
GetPlugins returns all plugins a user has. swagger:operation GET /plugin plugin getPlugins
Return all plugins.
---
consumes: [application/json]
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
schema:
type: array
items:
$ref: "#/definitions/PluginConf"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
500:
description: Internal Server Error
schema:
$ref: "#/definitions/Error"
func (*PluginAPI) UpdateConfig ¶
UpdateConfig updates Configurer plugin configuration in YAML format. swagger:operation POST /plugin/{id}/config plugin updatePluginConfig
Update YAML configuration for Configurer plugin.
---
consumes: [application/x-yaml]
produces: [application/json]
parameters:
- name: id
in: path
description: the plugin id
required: true
type: integer
format: int64
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
500:
description: Internal Server Error
schema:
$ref: "#/definitions/Error"
type PluginDatabase ¶
type PluginDatabase interface {
GetPluginConfByUser(userid uint) ([]*model.PluginConf, error)
UpdatePluginConf(p *model.PluginConf) error
GetPluginConfByID(id uint) (*model.PluginConf, error)
}
The PluginDatabase interface for encapsulating database access.
type UserAPI ¶
type UserAPI struct {
DB UserDatabase
PasswordStrength int
UserChangeNotifier *UserChangeNotifier
Registration bool
}
The UserAPI provides handlers for managing users.
func (*UserAPI) ChangePassword ¶
ChangePassword changes the password from the current user swagger:operation POST /current/user/password user updateCurrentUser
Update the password of the current user.
---
consumes: [application/json]
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: body
in: body
description: the user
required: true
schema:
$ref: "#/definitions/UserPass"
responses:
200:
description: Ok
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
func (*UserAPI) CreateUser ¶
CreateUser create a user. swagger:operation POST /user user createUser
Create a user.
With enabled registration: non admin users can be created without authentication. With disabled registrations: users can only be created by admin users.
---
consumes: [application/json]
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: body
in: body
description: the user to add
required: true
schema:
$ref: "#/definitions/CreateUserExternal"
responses:
200:
description: Ok
schema:
$ref: "#/definitions/User"
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
func (*UserAPI) DeleteUserByID ¶
DeleteUserByID deletes the user by id swagger:operation DELETE /user/{id} user deleteUser
Deletes a user.
---
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: id
in: path
description: the user id
required: true
type: integer
format: int64
responses:
200:
description: Ok
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
func (*UserAPI) GetCurrentUser ¶
GetCurrentUser returns the current user swagger:operation GET /current/user user currentUser
Return the current user.
---
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
schema:
$ref: "#/definitions/User"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
func (*UserAPI) GetUserByID ¶
GetUserByID returns the user by id swagger:operation GET /user/{id} user getUser
Get a user.
---
consumes: [application/json]
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: id
in: path
description: the user id
required: true
type: integer
format: int64
responses:
200:
description: Ok
schema:
$ref: "#/definitions/User"
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
func (*UserAPI) GetUsers ¶
GetUsers returns all the users swagger:operation GET /user user getUsers
Return all users.
---
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
responses:
200:
description: Ok
schema:
type: array
items:
$ref: "#/definitions/User"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
func (*UserAPI) UpdateUserByID ¶
UpdateUserByID updates and user by id swagger:operation POST /user/{id} user updateUser
Update a user.
---
consumes: [application/json]
produces: [application/json]
security: [clientTokenAuthorizationHeader: [], clientTokenHeader: [], clientTokenQuery: [], basicAuth: []]
parameters:
- name: id
in: path
description: the user id
required: true
type: integer
format: int64
- name: body
in: body
description: the updated user
required: true
schema:
$ref: "#/definitions/UpdateUserExternal"
responses:
200:
description: Ok
schema:
$ref: "#/definitions/User"
400:
description: Bad Request
schema:
$ref: "#/definitions/Error"
401:
description: Unauthorized
schema:
$ref: "#/definitions/Error"
403:
description: Forbidden
schema:
$ref: "#/definitions/Error"
404:
description: Not Found
schema:
$ref: "#/definitions/Error"
type UserChangeNotifier ¶
type UserChangeNotifier struct {
// contains filtered or unexported fields
}
UserChangeNotifier notifies listeners for user changes.
func (*UserChangeNotifier) OnUserAdded ¶
func (c *UserChangeNotifier) OnUserAdded(cb func(uid uint) error)
OnUserAdded is called on user creation.
func (*UserChangeNotifier) OnUserDeleted ¶
func (c *UserChangeNotifier) OnUserDeleted(cb func(uid uint) error)
OnUserDeleted is called on user deletion.
type UserDatabase ¶
type UserDatabase interface {
GetUsers() ([]*model.User, error)
GetUserByID(id uint) (*model.User, error)
GetUserByName(name string) (*model.User, error)
DeleteUserByID(id uint) error
UpdateUser(user *model.User) error
CreateUser(user *model.User) error
CountUser(condition ...interface{}) (int64, error)
}
The UserDatabase interface for encapsulating database access.