1 Star 0 Fork 0

MinKo-U / keyauth

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
book.go 1.62 KB
一键复制 编辑 原始数据 按行查看 历史
MinKo-U 提交于 2022-11-20 16:16 . 修改包名
package impl
import (
"context"
"github.com/infraboard/mcube/exception"
"github.com/infraboard/mcube/pb/request"
"gitee.com/MinKo-U/keyauth/apps/book"
)
func (s *service) CreateBook(ctx context.Context, req *book.CreateBookRequest) (
*book.Book, error) {
ins, err := book.NewBook(req)
if err != nil {
return nil, exception.NewBadRequest("validate create book error, %s", err)
}
if err := s.save(ctx, ins); err != nil {
return nil, err
}
return ins, nil
}
func (s *service) DescribeBook(ctx context.Context, req *book.DescribeBookRequest) (
*book.Book, error) {
return s.get(ctx, req.Id)
}
func (s *service) QueryBook(ctx context.Context, req *book.QueryBookRequest) (
*book.BookSet, error) {
query := newQueryBookRequest(req)
return s.query(ctx, query)
}
func (s *service) UpdateBook(ctx context.Context, req *book.UpdateBookRequest) (
*book.Book, error) {
ins, err := s.DescribeBook(ctx, book.NewDescribeBookRequest(req.Id))
if err != nil {
return nil, err
}
switch req.UpdateMode {
case request.UpdateMode_PUT:
ins.Update(req)
case request.UpdateMode_PATCH:
err := ins.Patch(req)
if err != nil {
return nil, err
}
}
// 校验更新后数据合法性
if err := ins.Data.Validate(); err != nil {
return nil, err
}
if err := s.update(ctx, ins); err != nil {
return nil, err
}
return ins, nil
}
func (s *service) DeleteBook(ctx context.Context, req *book.DeleteBookRequest) (
*book.Book, error) {
ins, err := s.DescribeBook(ctx, book.NewDescribeBookRequest(req.Id))
if err != nil {
return nil, err
}
if err := s.deleteBook(ctx, ins); err != nil {
return nil, err
}
return ins, nil
}
1
https://gitee.com/MinKo-U/keyauth.git
git@gitee.com:MinKo-U/keyauth.git
MinKo-U
keyauth
keyauth
v1.4.0

搜索帮助