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