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

Merge branch 'feature/PRXS-951-Log' into feature/PRXS-951-OID

parents 726646ee 7da9a346
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,6 @@ import (
errorsgrpc "git.perx.ru/perxis/perxis-go/pkg/errors/grpc"
"git.perx.ru/perxis/perxis-go/pkg/options"
"git.perx.ru/perxis/perxis-go/proto/common"
pb "git.perx.ru/perxis/perxis-go/proto/log"
"google.golang.org/grpc"
)
......@@ -37,20 +36,15 @@ func (c *Client) Log(ctx context.Context, entries []*Entry) error {
return nil
}
func (c *Client) Find(ctx context.Context, filter *Filter, options *options.FindOptions) (*FindResult, error) {
func (c *Client) Find(ctx context.Context, filter *Filter, opts *options.FindOptions) (*FindResult, error) {
request := new(pb.FindRequest)
if filter != nil {
request.Filter = &pb.Filter{Q: filter.Q}
}
if options != nil {
request.Options = &common.FindOptions{
Sort: options.Sort,
Offset: int32(options.Offset),
Limit: int32(options.Limit),
PageSize: int32(options.PageSize),
PageNum: int32(options.PageNum),
}
}
request.Options = options.FindOptionsToPB(opts)
response, err := c.client.Find(ctx, request)
if err != nil {
return nil, err
......
......@@ -72,7 +72,7 @@ func NewActionsCollection(spaceID, envID string) *collections.Collection {
// UI
sch.Field.UI.ListView = &field.View{Options: map[string]interface{}{
"fields": []interface{}{"name", "action", "kind", "updated_at", "updated_by", "state"},
"fields": []interface{}{"icon", "name", "action", "kind", "updated_at", "updated_by", "state"},
"sort": []interface{}{"name"},
"page_size": float64(50),
}}
......
package options
import "time"
import (
"time"
commonpb "git.perx.ru/perxis/perxis-go/proto/common"
)
// SortOptions настройки сортировки результатов
type SortOptions struct {
......@@ -82,6 +86,56 @@ func MergeFindOptions(opts ...interface{}) *FindOptions {
return fo
}
func FindOptionsFromPB(protoOpts *commonpb.FindOptions) *FindOptions {
if protoOpts == nil {
return nil
}
fo := &FindOptions{
SortOptions: SortOptions{
Sort: protoOpts.Sort,
},
PaginationOptions: PaginationOptions{
Offset: int(protoOpts.Offset),
Limit: int(protoOpts.Limit),
},
FieldOptions: FieldOptions{
Fields: protoOpts.Fields,
ExcludeFields: protoOpts.ExcludeFields,
},
}
if fo.Offset == 0 && fo.Limit == 0 && fo.PageSize != 0 {
fo.Offset = fo.PageSize * (fo.PageNum - 1)
fo.Limit = fo.PageSize
}
return fo
}
func FindOptionsToPB(opts *FindOptions) *commonpb.FindOptions {
if opts == nil {
return nil
}
fo := &commonpb.FindOptions{
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,
}
if fo.PageSize != 0 && fo.Limit == 0 {
fo.Limit = fo.PageSize
fo.Offset = fo.PageSize * (fo.PageNum - 1)
}
if fo.Limit != 0 && fo.PageSize == 0 {
fo.PageSize = fo.Limit
fo.PageNum = fo.Offset / fo.Limit
}
return fo
}
type TimeFilter struct {
Before, After time.Time
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment