1 Star 0 Fork 0

kevin186/keyauth

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
book.go 1.62 KB
一键复制 编辑 原始数据 按行查看 历史
kevin 提交于 2023-06-14 16:51 +08:00 . keyauth project init
package impl
import (
"context"
"github.com/infraboard/mcube/exception"
"github.com/infraboard/mcube/pb/request"
"gitee.com/kevin186/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
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/kevin186/keyauth.git
git@gitee.com:kevin186/keyauth.git
kevin186
keyauth
keyauth
v0.0.17

搜索帮助