Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Application ¶
type Application struct { ID uint `gorm:"AUTO_INCREMENT;primary_key" json:"id"` Token string `gorm:"type:string;size:64;unique" json:"token"` UserID uint `json:"-"` Name string `gorm:"type:string" json:"name"` MatrixID string `gorm:"type:string" json:"-"` }
Application holds information like the name, the token, and the associated user of an application.
type CreateApplication ¶
type CreateApplication struct { Name string `form:"name" query:"name" json:"name" binding:"required"` StrictCompatibility bool `form:"strict_compatibility" query:"strict_compatibility" json:"strict_compatibility"` }
CreateApplication is used to process queries for creating applications.
type CreateUser ¶
type CreateUser struct { ExternalUser UserCredentials }
CreateUser is used to process queries for creating users.
func (*CreateUser) IntoInternalUser ¶
func (u *CreateUser) IntoInternalUser(cm *credentials.Manager) (*User, error)
IntoInternalUser converts a CreateUser into a User.
type DeleteNotification ¶
DeleteNotification holds information like the message ID of a deletion notification.
type ExternalUser ¶
type ExternalUser struct { ID uint `json:"id"` Name string `json:"name" form:"name" query:"name" binding:"required"` IsAdmin bool `json:"is_admin" form:"is_admin" query:"is_admin"` MatrixID string `json:"matrix_id" form:"matrix_id" query:"matrix_id" binding:"required"` }
ExternalUser represents a user for external purposes.
type Notification ¶
type Notification struct { ID string `json:"id"` UrlEncodedID string `json:"id_url_encoded"` ApplicationID uint `json:"appid"` Message string `json:"message" form:"message" query:"message" binding:"required"` Title string `json:"title" form:"title" query:"title"` Priority int `json:"priority" form:"priority" query:"priority"` Extras map[string]interface{} `json:"extras,omitempty" form:"-" query:"-"` Date time.Time `json:"date"` }
Notification holds information like the message, the title, and the priority of a notification.
func (*Notification) Sanitize ¶ added in v0.8.0
func (n *Notification) Sanitize(application *Application)
Sanitize sets explicit defaults for a notification.
type NotificationExtras ¶ added in v0.8.0
type NotificationExtras map[string]interface{}
NotificationExtras is need to document Notification.Extras in a format that the tool can read.
type UpdateApplication ¶
type UpdateApplication struct { Name *string `form:"new_name" query:"new_name" json:"new_name"` RefreshToken *bool `form:"refresh_token" query:"refresh_token" json:"refresh_token"` StrictCompatibility *bool `form:"strict_compatibility" query:"strict_compatibility" json:"strict_compatibility"` }
UpdateApplication is used to process queries for updating applications.
type UpdateUser ¶
type UpdateUser struct { Name *string `form:"name" query:"name" json:"name"` Password *string `form:"password" query:"password" json:"password"` IsAdmin *bool `form:"is_admin" query:"is_admin" json:"is_admin"` MatrixID *string `form:"matrix_id" query:"matrix_id" json:"matrix_id"` }
UpdateUser is used to process queries for updating users.
type User ¶
type User struct { ID uint `gorm:"AUTO_INCREMENT;primary_key"` Name string `gorm:"type:string;size:128;unique"` PasswordHash []byte IsAdmin bool MatrixID string `gorm:"type:string"` Applications []Application }
User holds information like the name, the secret, and the applications of a user.
func NewUser ¶
func NewUser(cm *credentials.Manager, name, password string, isAdmin bool, matrixID string) (*User, error)
NewUser creates a new user.
func (*User) IntoExternalUser ¶
func (u *User) IntoExternalUser() *ExternalUser
IntoExternalUser converts a User into a ExternalUser.
type UserCredentials ¶
type UserCredentials struct {
Password string `json:"password,omitempty" form:"password" query:"password" binding:"required"`
}
UserCredentials holds information for authenticating a user.