package model // Application holds information like the name, the token, and the associated user of an 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:"-"` } // CreateApplication is used to process queries for creating applications. type CreateApplication struct { Name string `form:"name" query:"name" json:"name" binding:"required"` StrictCompatibility bool `form:"strict_compatibility" query:"strict_compatibility" json:"strict_compatibility"` } // UpdateApplication is used to process queries for updating applications. 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"` }