package request

import commonReq "github.com/flipped-aurora/gin-vue-admin/server/model/common/request"

type BookSearch struct {
	commonReq.PageInfo
	Title            string `json:"title" form:"title"`
	BookType         string `json:"bookType" form:"bookType"`
	EraTag           string `json:"eraTag" form:"eraTag"`
	CompletionStatus string `json:"completionStatus" form:"completionStatus"`
	PublishStatus    string `json:"publishStatus" form:"publishStatus"`
	SeriesID         *uint  `json:"seriesId" form:"seriesId"`
}

type BookAuthorSearch struct {
	commonReq.PageInfo
	Name         string `json:"name" form:"name"`
	AuthorStatus string `json:"authorStatus" form:"authorStatus"`
}

type BookAuthorRelationSearch struct {
	commonReq.PageInfo
	BookID   *uint `json:"bookId" form:"bookId"`
	AuthorID *uint `json:"authorId" form:"authorId"`
}

type BookChapterSearch struct {
	commonReq.PageInfo
	BookID     *uint `json:"bookId" form:"bookId"`
	IsReadable *bool `json:"isReadable" form:"isReadable"`
	IsEnabled  *bool `json:"isEnabled" form:"isEnabled"`
}

type BookCommentSearch struct {
	commonReq.PageInfo
	MemberUserID  *uint  `json:"memberUserId" form:"memberUserId"`
	BookID        *uint  `json:"bookId" form:"bookId"`
	ChapterID     *uint  `json:"chapterId" form:"chapterId"`
	CommentStatus string `json:"commentStatus" form:"commentStatus"`
}

type BookCommentLikeRecordSearch struct {
	commonReq.PageInfo
	CommentID    *uint `json:"commentId" form:"commentId"`
	MemberUserID *uint `json:"memberUserId" form:"memberUserId"`
}

type BookFavoriteRecordSearch struct {
	commonReq.PageInfo
	MemberUserID *uint `json:"memberUserId" form:"memberUserId"`
	BookID       *uint `json:"bookId" form:"bookId"`
}

type BookReadRecordSearch struct {
	commonReq.PageInfo
	MemberUserID *uint `json:"memberUserId" form:"memberUserId"`
	BookID       *uint `json:"bookId" form:"bookId"`
}

type BookSeriesSearch struct {
	commonReq.PageInfo
	Name      string `json:"name" form:"name"`
	IsEnabled *bool  `json:"isEnabled" form:"isEnabled"`
}
