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.
38 lines
932 B
38 lines
932 B
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
|
|
}
|