1 Star 0 Fork 0

白开水/keyauth-zat

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

搜索帮助