Add domain types

This commit is contained in:
Dustin Pianalto
2021-01-20 17:39:18 -09:00
parent b611dd7c87
commit cfe683c53c
7 changed files with 172 additions and 0 deletions
+37
View File
@@ -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
}