parent
9436a4385f
commit
2d60384002
@ -0,0 +1,17 @@
|
||||
package geeksbot
|
||||
|
||||
type Channel struct {
|
||||
ID string
|
||||
Guild Guild
|
||||
Admin bool
|
||||
Default bool
|
||||
NewPatron bool
|
||||
}
|
||||
|
||||
type ChannelService interface {
|
||||
Channel(id string) (*Channel, error)
|
||||
CreateChannel(c *Channel) (*Channel, error)
|
||||
DeleteChannel(c *Channel) error
|
||||
GuildChannels(g *Guild) ([]*Channel, error)
|
||||
UpdateChannel(c *Channel) (*Channel, error)
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
package geeksbot
|
||||
|
||||
type Guild struct {
|
||||
ID string
|
||||
NewPatronMessage string
|
||||
Prefixes []string
|
||||
}
|
||||
|
||||
type Role struct {
|
||||
ID string
|
||||
RoleType int
|
||||
Guild Guild
|
||||
}
|
||||
|
||||
type GuildService interface {
|
||||
Guild(id string) (*Guild, error)
|
||||
CreateGuild(g *Guild) (*Guild, error)
|
||||
DeleteGuild(g *Guild) error
|
||||
UpdateGuild(g *Guild) (*Guild, error)
|
||||
GuildRoles(g *Guild) ([]*Role, error)
|
||||
CreateRole(r *Role) (*Role, error)
|
||||
Role(id string) (*Role, error)
|
||||
UpdateRole(r *Role) (*Role, error)
|
||||
DeleteRole(r *Role) error
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package geeksbot
|
||||
|
||||
import "github.com/bwmarrin/discordgo"
|
||||
|
||||
type Message struct {
|
||||
ID string
|
||||
CreatedAt int64
|
||||
ModifiedAd int64
|
||||
Content string
|
||||
PreviousContent []string
|
||||
Channel *Channel
|
||||
Author *User
|
||||
Embed *discordgo.MessageEmbed
|
||||
PreviousEmbeds []*discordgo.MessageEmbed
|
||||
}
|
||||
|
||||
type MessageService interface {
|
||||
Message(id string) (*Message, error)
|
||||
CreateMessage(m *Message) (*Message, error)
|
||||
DeleteMessage(m *Message) error
|
||||
ChannelMessages(c *Channel) ([]*Message, error)
|
||||
UpdateMessage(m *Message) (*Message, error)
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package geeksbot
|
||||
|
||||
type PatreonCreator struct {
|
||||
ID int
|
||||
Creator string
|
||||
Link string
|
||||
}
|
||||
|
||||
type PatreonTier struct {
|
||||
ID int
|
||||
Name string
|
||||
Description string
|
||||
Creator *PatreonCreator
|
||||
Role *Role
|
||||
NextTier *PatreonTier
|
||||
}
|
||||
|
||||
type PatreonService interface {
|
||||
PatreonCreatorByID(id int) (*PatreonCreator, error)
|
||||
PatreonCreatorByName(name string) (*PatreonCreator, error)
|
||||
CreatePatreonCreator(c *PatreonCreator) (*PatreonCreator, error)
|
||||
UpdatePatreonCreator(c *PatreonCreator) (*PatreonCreator, error)
|
||||
DeletePatreonCreator(c *PatreonCreator) error
|
||||
PatreonTierByID(id int) (*PatreonTier, error)
|
||||
PatreonTierByName(name string) (*PatreonTier, error)
|
||||
CreatePatreonTier(t *PatreonTier) (*PatreonTier, error)
|
||||
UpdatePatreonTier(t *PatreonTier) (*PatreonTier, error)
|
||||
DeletePatreonTier(t *PatreonTier) error
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package geeksbot
|
||||
|
||||
import "time"
|
||||
|
||||
type Request struct {
|
||||
ID int64
|
||||
Author *User
|
||||
Channel *Channel
|
||||
Content string
|
||||
RequestedAt time.Time
|
||||
CompletedAt time.Time
|
||||
CompletedBy *User
|
||||
Message *Message
|
||||
CompletedMessage string
|
||||
}
|
||||
|
||||
type Comment struct {
|
||||
ID int64
|
||||
Author *User
|
||||
Request *Request
|
||||
CommentAt time.Time
|
||||
Content string
|
||||
}
|
||||
|
||||
type RequestService interface {
|
||||
Request(id int64) (*Request, error)
|
||||
UserRequests(u *User, completed bool) ([]*Request, error)
|
||||
GuildRequests(g *Guild, completed bool) ([]*Request, error)
|
||||
CreateRequest(r *Request) (*Request, error)
|
||||
UpdateRequest(r *Request) (*Request, error)
|
||||
DeleteRequest(r *Request) error
|
||||
Comment(id int64) (*Comment, error)
|
||||
RequestComments(r *Request) ([]*Comment, error)
|
||||
RequestCommentCount(r *Request) (int, error)
|
||||
CreateComment(c *Comment) (*Comment, error)
|
||||
DeleteComment(c *Comment) error
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package geeksbot
|
||||
|
||||
type Server struct {
|
||||
ID int
|
||||
Name string
|
||||
IPAddr string
|
||||
Port int
|
||||
Password string
|
||||
AlertsChannel *Channel
|
||||
Guild *Guild
|
||||
InfoChannel *Channel
|
||||
InfoMessage *Message
|
||||
SettingsMessage *Message
|
||||
}
|
||||
|
||||
type ServerService interface {
|
||||
ServerByID(id int) (*Server, error)
|
||||
ServerByName(name string) (*Server, error)
|
||||
CreateServer(s *Server) (*Server, error)
|
||||
DeleteServer(s *Server) error
|
||||
UpdateServer(s *Server) (*Server, error)
|
||||
GuildServers(g *Guild) ([]*Server, error)
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
package geeksbot
|
||||
|
||||
import "database/sql"
|
||||
|
||||
type User struct {
|
||||
ID string
|
||||
SteamID sql.NullString
|
||||
IsActive bool
|
||||
IsStaff bool
|
||||
IsAdmin bool
|
||||
}
|
||||
|
||||
type UserService interface {
|
||||
User(id string) (*User, error)
|
||||
CreateUser(u *User) (*User, error)
|
||||
DeleteUser(u *User) error
|
||||
UpdateUser(u *User) (*User, error)
|
||||
}
|
||||
Loading…
Reference in new issue