Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrNotFound = errors.New("not found")
)
Functions ¶
This section is empty.
Types ¶
type ApiPermission ¶
type ApiPermission int
const ( ApiPermissionViewReports ApiPermission = 1 << iota ApiPermissionManageReports ApiPermissionManagePosts ApiPermissionManageApiUsers )
const (
ApiPermissionNone ApiPermission = 0
)
type ApiUser ¶
type ApiUser struct { ID uint `gorm:"type:int;primaryKey;auto_increment" json:"id"` Token string `gorm:"size:32,uniqueIndex"` Permission ApiPermission `gorm:"type:int"` }
type Channel ¶
type Channel struct { ID uint `gorm:"type:int;primaryKey;auto_increment" json:"id"` DiscordID uint64 `gorm:"notNull;uniqueIndex" json:"-"` GuildID uint `gorm:"index" json:"guild_id"` Guild *Guild `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"-"` Posts []*Post `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"-"` }
func ForChannelID ¶
func ForChannelIDUint ¶
type Emoji ¶
type Guild ¶
type Guild struct { ID uint `gorm:"type:int;primaryKey;auto_increment" json:"id"` DiscordID uint64 `gorm:"notNull;uniqueIndex" json:"-"` Channels []*Channel `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"-"` }
func ForGuildID ¶
type Image ¶
type Image struct { ID uint `gorm:"type:int;primaryKey;auto_increment" json:"-"` PostID uint `gorm:"index" json:"-"` Post *Post `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"-"` URL string `json:"url"` Width uint `json:"width"` Height uint `json:"height"` Size uint64 `json:"size"` }
func ForDiscordAttachment ¶
func ForDiscordAttachment(at *discordgo.MessageAttachment) *Image
func ForDiscordEmbed ¶
type Post ¶
type Post struct { ID uint `gorm:"type:int;primaryKey;auto_increment" json:"id"` DiscordID uint64 `gorm:"notNull;uniqueIndex" json:"-"` ChannelID uint `gorm:"index" json:"channel_id"` Channel *Channel `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"-"` UserID uint `gorm:"index" json:"user_id"` User *User `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"-"` Images []*Image `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"images"` Reactions []*Reaction `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"reactions"` Content string `json:"content"` }
func ForMessage ¶
func ForMessageID ¶
type Reaction ¶
type Reaction struct { ID uint `gorm:"type:int;primaryKey;auto_increment" json:"-"` PostID uint `gorm:"uniqueIndex:idx_reaction_post_id_emoji_id" json:"-"` Post *Post `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"-"` EmojiID uint `gorm:"uniqueIndex:idx_reaction_post_id_emoji_id" json:"emoji_id"` Emoji *Emoji `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"-"` UserReactions []*UserReaction `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"users"` }
func NewReaction ¶
type Report ¶
type Report struct { ID uint `gorm:"type:int;primaryKey;auto_increment"` PostID uint `gorm:"index" gorm:"uniqueIndex:idx_report_post_id_address"` Post *Post `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"-"` Comment string `gorm:"size:150"` CreatedAt time.Time Address *pgtype.Inet `type:"inet" gorm:"index" gorm:"uniqueIndex:idx_report_post_id_address" json:"-"` }
type User ¶
type UserReaction ¶
type UserReaction struct { ID uint `gorm:"type:int;primaryKey;auto_increment" json:"-"` ReactionID uint `gorm:"uniqueIndex:idx_user_reaction_reaction_id_user_id" json:"-"` Reaction *Reaction `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"-"` UserID uint `gorm:"uniqueIndex:idx_user_reaction_reaction_id_user_id" json:"user_id"` User *User `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE" json:"-"` }
func NewUserReaction ¶
func NewUserReaction(ReactionID uint, UserID uint) *UserReaction
Click to show internal directories.
Click to hide internal directories.