Documentation
¶
Index ¶
Constants ¶
const ( // StatusGreen everything is alright. StatusGreen = "green" // StatusOrange some things are alright. StatusOrange = "orange" // StatusRed nothing is alright. StatusRed = "red" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Application ¶
type Application struct {
// The application id.
//
// read only: true
// required: true
// example: 5
ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
// The application token. Can be used as `appToken`. See Authentication.
//
// read only: true
// required: true
// example: AWH0wZ5r0Mbac.r
Token string `gorm:"type:varchar(180);uniqueIndex:uix_applications_token" json:"token"`
UserID uint `gorm:"index" json:"-"`
// The application name. This is how the application should be displayed to the user.
//
// required: true
// example: Backup Server
Name string `gorm:"type:text" form:"name" query:"name" json:"name" binding:"required"`
// The description of the application.
//
// required: true
// example: Backup server for the interwebs
Description string `gorm:"type:text" form:"description" query:"description" json:"description"`
// Whether the application is an internal application. Internal applications should not be deleted.
//
// read only: true
// required: true
// example: false
Internal bool `form:"internal" query:"internal" json:"internal"`
// The image of the application.
//
// read only: true
// required: true
// example: image/image.jpeg
Image string `gorm:"type:text" json:"image"`
Messages []MessageExternal `gorm:"-" json:"-"`
// The default priority of messages sent by this application. Defaults to 0.
//
// required: false
// example: 4
DefaultPriority int `form:"defaultPriority" query:"defaultPriority" json:"defaultPriority"`
// The last time the application token was used.
//
// read only: true
// example: 2019-01-01T00:00:00Z
LastUsed *time.Time `json:"lastUsed"`
}
Application Model
The Application holds information about an app which can send notifications.
swagger:model Application
type Client ¶
type Client struct {
// The client id.
//
// read only: true
// required: true
// example: 5
ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
// The client token. Can be used as `clientToken`. See Authentication.
//
// read only: true
// required: true
// example: CWH0wZ5r0Mbac.r
Token string `gorm:"type:varchar(180);uniqueIndex:uix_clients_token" json:"token"`
UserID uint `gorm:"index" json:"-"`
// The client name. This is how the client should be displayed to the user.
//
// required: true
// example: Android Phone
Name string `gorm:"type:text" form:"name" query:"name" json:"name" binding:"required"`
// The last time the client token was used.
//
// read only: true
// example: 2019-01-01T00:00:00Z
LastUsed *time.Time `json:"lastUsed"`
}
Client Model
The Client holds information about a device which can receive notifications (and other stuff).
swagger:model Client
type CreateUserExternal ¶ added in v2.1.6
type CreateUserExternal struct {
// The user name. For login.
//
// required: true
// example: unicorn
Name string `binding:"required" json:"name" query:"name" form:"name"`
// If the user is an administrator.
//
// required: true
// example: true
Admin bool `json:"admin" form:"admin" query:"admin"`
// The user password. For login.
//
// required: true
// example: nrocinu
Pass string `json:"pass,omitempty" form:"pass" query:"pass" binding:"required"`
}
CreateUserExternal Model
Used for user creation.
swagger:model CreateUserExternal
type Error ¶
type Error struct {
// The general error message
//
// required: true
// example: Unauthorized
Error string `json:"error"`
// The http error code.
//
// required: true
// example: 401
ErrorCode int `json:"errorCode"`
// The http error code.
//
// required: true
// example: you need to provide a valid access token or user credentials to access this api
ErrorDescription string `json:"errorDescription"`
}
Error Model
The Error contains error relevant information.
swagger:model Error
type Health ¶
type Health struct {
// The health of the overall application.
//
// required: true
// example: green
Health string `json:"health"`
// The health of the database connection.
//
// required: true
// example: green
Database string `json:"database"`
}
Health Model
Health represents how healthy the application is.
swagger:model Health
type Message ¶
type Message struct {
ID uint `gorm:"autoIncrement;primaryKey;index"`
ApplicationID uint
Message string `gorm:"type:text"`
Title string `gorm:"type:text"`
Priority int
Extras []byte
Date time.Time
}
Message holds information about a message.
type MessageExternal ¶
type MessageExternal struct {
// The message id.
//
// read only: true
// required: true
// example: 25
ID uint `json:"id"`
// The application id that send this message.
//
// read only: true
// required: true
// example: 5
ApplicationID uint `json:"appid"`
// The message. Markdown (excluding html) is allowed.
//
// required: true
// example: **Backup** was successfully finished.
Message string `form:"message" query:"message" json:"message" binding:"required"`
// The title of the message.
//
// example: Backup
Title string `form:"title" query:"title" json:"title"`
// The priority of the message. If unset, then the default priority of the
// application will be used.
//
// example: 2
Priority *int `form:"priority" query:"priority" json:"priority"`
// The extra data sent along the message.
//
// The extra fields are stored in a key-value scheme. Only accepted in CreateMessage requests with application/json content-type.
//
// The keys should be in the following format: <top-namespace>::[<sub-namespace>::]<action>
//
// These namespaces are reserved and might be used in the official clients: gotify android ios web server client. Do not use them for other purposes.
//
// example: {"home::appliances::thermostat::change_temperature":{"temperature":23},"home::appliances::lighting::on":{"brightness":15}}
Extras map[string]interface{} `form:"-" query:"-" json:"extras,omitempty"`
// The date the message was created.
//
// read only: true
// required: true
// example: 2018-02-27T19:36:10.5045044+01:00
Date time.Time `json:"date"`
}
MessageExternal Model
The MessageExternal holds information about a message which was sent by an Application.
swagger:model Message
type PagedMessages ¶
type PagedMessages struct {
// The paging of the messages.
//
// read only: true
// required: true
Paging Paging `json:"paging"`
// The messages.
//
// read only: true
// required: true
Messages []*MessageExternal `json:"messages"`
}
PagedMessages Model
Wrapper for the paging and the messages.
swagger:model PagedMessages
type Paging ¶
type Paging struct {
// The request url for the next page. Empty/Null when no next page is available.
//
// read only: true
// required: false
// example: http://example.com/message?limit=50&since=123456
Next string `json:"next,omitempty"`
// The amount of messages that got returned in the current request.
//
// read only: true
// required: true
// example: 5
Size int `json:"size"`
// The ID of the last message returned in the current request. Use this as alternative to the next link.
//
// read only: true
// required: true
// example: 5
// min: 0
Since uint `json:"since"`
// The limit of the messages for the current request.
//
// read only: true
// required: true
// min: 1
// max: 200
// example: 123
Limit int `json:"limit"`
}
Paging Model
The Paging holds information about the limit and making requests to the next page.
swagger:model Paging
type PluginConf ¶
type PluginConf struct {
ID uint `gorm:"primaryKey;autoIncrement"`
UserID uint
ModulePath string `gorm:"type:text"`
Token string `gorm:"type:varchar(180);uniqueIndex:uix_plugin_confs_token"`
ApplicationID uint
Enabled bool
Config []byte
Storage []byte
}
PluginConf holds information about the plugin.
type PluginConfExternal ¶
type PluginConfExternal struct {
// The plugin id.
//
// read only: true
// required: true
// example: 25
ID uint `json:"id"`
// The plugin name.
//
// read only: true
// required: true
// example: RSS poller
Name string `json:"name"`
// The user name. For login.
//
// required: true
// example: P1234
Token string `binding:"required" json:"token" query:"token" form:"token"`
// The module path of the plugin.
//
// example: github.com/gotify/server/plugin/example/echo
// read only: true
// required: true
ModulePath string `json:"modulePath" form:"modulePath" query:"modulePath"`
// The author of the plugin.
//
// example: jmattheis
// read only: true
Author string `json:"author,omitempty" form:"author" query:"author"`
// The website of the plugin.
//
// example: gotify.net
// read only: true
Website string `json:"website,omitempty" form:"website" query:"website"`
// The license of the plugin.
//
// example: MIT
// read only: true
License string `json:"license,omitempty" form:"license" query:"license"`
// Whether the plugin instance is enabled.
//
// example: true
// required: true
Enabled bool `json:"enabled"`
// Capabilities the plugin provides
//
// example: ["webhook","display"]
// required: true
Capabilities []string `json:"capabilities"`
}
PluginConfExternal Model
Holds information about a plugin instance for one user.
swagger:model PluginConf
type UpdateUserExternal ¶ added in v2.1.6
type UpdateUserExternal struct {
// The user name. For login.
//
// required: true
// example: unicorn
Name string `binding:"required" json:"name" query:"name" form:"name"`
// If the user is an administrator.
//
// required: true
// example: true
Admin bool `json:"admin" form:"admin" query:"admin"`
// The user password. For login. Empty for using old password
//
// example: nrocinu
Pass string `json:"pass,omitempty" form:"pass" query:"pass"`
}
UpdateUserExternal Model
Used for updating a user.
swagger:model UpdateUserExternal
type User ¶
type User struct {
ID uint `gorm:"primaryKey;autoIncrement"`
Name string `gorm:"type:varchar(180);uniqueIndex:uix_users_name"`
Pass []byte
Admin bool
Applications []Application
Clients []Client
Plugins []PluginConf
}
The User holds information about the credentials of a user and its application and client tokens.
type UserExternal ¶
type UserExternal struct {
// The user id.
//
// read only: true
// required: true
// example: 25
ID uint `json:"id"`
// The user name. For login.
//
// required: true
// example: unicorn
Name string `binding:"required" json:"name" query:"name" form:"name"`
// If the user is an administrator.
//
// required: true
// example: true
Admin bool `json:"admin" form:"admin" query:"admin"`
}
UserExternal Model
The User holds information about permission and other stuff.
swagger:model User
type UserExternalPass ¶
type UserExternalPass struct {
// The user password. For login.
//
// required: true
// example: nrocinu
Pass string `json:"pass,omitempty" form:"pass" query:"pass" binding:"required"`
}
UserExternalPass Model
The Password for updating the user.
swagger:model UserPass
type VersionInfo ¶
type VersionInfo struct {
// The current version.
//
// required: true
// example: 5.2.6
Version string `json:"version"`
// The git commit hash on which this binary was built.
//
// required: true
// example: ae9512b6b6feea56a110d59a3353ea3b9c293864
Commit string `json:"commit"`
// The date on which this binary was built.
//
// required: true
// example: 2018-02-27T19:36:10.5045044+01:00
BuildDate string `json:"buildDate"`
}
VersionInfo Model
swagger:model VersionInfo