Skip to content
Snippets Groups Projects
Commit f4d2c83d authored by ko_oler's avatar ko_oler
Browse files

- добавлено закрытие stream

- правки в FindOptions
parent 3a8cc08d
No related branches found
No related tags found
No related merge requests found
......@@ -309,6 +309,8 @@ func PtrServicesFindOptionsToProto(options *services.FindOptions) (*common.FindO
Sort: options.Sort,
PageNum: int32(options.PageNum),
PageSize: int32(options.PageSize),
Offset: int32(options.Offset),
Limit: int32(options.Limit),
Fields: options.Fields,
ExcludeFields: options.ExcludeFields,
}, nil
......@@ -325,6 +327,8 @@ func ProtoToPtrServicesFindOptions(protoOptions *common.FindOptions) (*services.
PaginationOptions: services.PaginationOptions{
PageNum: int(protoOptions.PageNum),
PageSize: int(protoOptions.PageSize),
Offset: int(protoOptions.Offset),
Limit: int(protoOptions.Limit),
},
FieldOptions: services.FieldOptions{
Fields: protoOptions.Fields,
......
......@@ -151,6 +151,8 @@ func PtrServicesFindOptionsToProto(opts *options.FindOptions) (*pbcommon.FindOpt
Sort: opts.Sort,
PageNum: int32(opts.PageNum),
PageSize: int32(opts.PageSize),
Offset: int32(opts.Offset),
Limit: int32(opts.Limit),
Fields: opts.Fields,
ExcludeFields: opts.ExcludeFields,
}, nil
......@@ -167,6 +169,8 @@ func ProtoToPtrServicesFindOptions(protoOpts *pbcommon.FindOptions) (*options.Fi
PaginationOptions: options.PaginationOptions{
PageNum: int(protoOpts.PageNum),
PageSize: int(protoOpts.PageSize),
Offset: int(protoOpts.Offset),
Limit: int(protoOpts.Limit),
},
FieldOptions: options.FieldOptions{
Fields: protoOpts.Fields,
......
......@@ -36,6 +36,13 @@ func (c *Client) Log(ctx context.Context, entries <-chan *Entry) error {
}
}
response, err := stream.CloseAndRecv()
if err != nil {
return err
}
if response.GetError() != nil {
return errorsgrpc.ErrorFromProto(nil, response.GetError())
}
return nil
}
......@@ -58,8 +65,8 @@ func (c *Client) Find(ctx context.Context, filter *Filter, options *options.Find
if options != nil {
request.Options = &common.FindOptions{
Sort: options.Sort,
PageNum: int32(options.PageNum),
PageSize: int32(options.PageSize),
Offset: int32(options.Offset),
Limit: int32(options.Limit),
}
}
response, err := c.client.Find(ctx, request)
......
......@@ -27,11 +27,6 @@ type Filter struct {
Q []string
}
//type FindRequest struct {
// Filter *Filter
// Options *options.FindOptions
//}
type FindResult struct {
Entries []*Entry
Filter *Filter
......
......@@ -11,6 +11,8 @@ type SortOptions struct {
type PaginationOptions struct {
PageNum int
PageSize int
Limit int
Offset int
}
// FieldOptions настройки включения/исключения полей из результатов запроса
......@@ -32,11 +34,13 @@ type FindOptions struct {
}
// NewFindOptions создает новые результаты поиска
func NewFindOptions(pageNum, pageSize int, sort ...string) *FindOptions {
func NewFindOptions(pageNum, pageSize, offset, limit int, sort ...string) *FindOptions {
return &FindOptions{
PaginationOptions: PaginationOptions{
PageNum: pageNum,
PageSize: pageSize,
Offset: offset,
Limit: limit,
},
SortOptions: SortOptions{
Sort: sort,
......@@ -98,11 +102,13 @@ func MergeSortOptions(options ...SortOptions) SortOptions {
func MergePaginationOptions(options ...PaginationOptions) PaginationOptions {
fo := PaginationOptions{}
for _, opt := range options {
if opt.PageSize == 0 && opt.PageNum == 0 {
if opt.PageSize == 0 && opt.PageNum == 0 || opt.Offset == 0 && opt.Limit == 0 {
continue
}
fo.PageNum = opt.PageNum
fo.PageSize = opt.PageSize
fo.Offset = opt.Offset
fo.Limit = opt.Limit
}
return fo
}
......
......@@ -68,6 +68,8 @@ func PtrServicesFindOptionsToProto(opts *options.FindOptions) (*common.FindOptio
Sort: opts.Sort,
PageNum: int32(opts.PageNum),
PageSize: int32(opts.PageSize),
Offset: int32(opts.Offset),
Limit: int32(opts.Limit),
}, nil
}
......@@ -82,6 +84,8 @@ func ProtoToPtrServicesFindOptions(protoOpts *common.FindOptions) (*options.Find
PaginationOptions: options.PaginationOptions{
PageNum: int(protoOpts.PageNum),
PageSize: int(protoOpts.PageSize),
Offset: int(protoOpts.Offset),
Limit: int(protoOpts.Limit),
},
}, nil
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment