You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Geeksbot/request.go

43 lines
989 B

package geeksbot
import (
"database/sql"
"time"
)
type Request struct {
ID int64
Author User
Channel Channel
Guild Guild
Content string
RequestedAt time.Time
Completed bool
CompletedAt sql.NullTime
CompletedBy *User
Message Message
CompletedMessage sql.NullString
}
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
}