From 67448583542d0cd463617de88cd5669b4a69426b Mon Sep 17 00:00:00 2001
From: Danis Kirasirov <dbgbbu@gmail.com>
Date: Tue, 13 Feb 2024 17:32:49 +0300
Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B0=20=D0=BA?=
 =?UTF-8?q?=D0=BE=D0=BD=D0=B2=D0=B5=D1=80=D1=82=D0=B0=D1=86=D0=B8=D0=B8=20?=
 =?UTF-8?q?options.FindOptions=20=D0=B4=D0=BB=D1=8F=20=D1=81=D0=B5=D1=80?=
 =?UTF-8?q?=D0=B2=D0=B8=D1=81=D0=BE=D0=B2=20Items,=20Delivery,=20Organizat?=
 =?UTF-8?q?ions,=20Users?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../grpc/protobuf_type_converters.microgen.go | 32 ++-----------------
 .../grpc/protobuf_type_converters.microgen.go | 29 ++---------------
 pkg/options/options.go                        | 10 +++---
 .../grpc/protobuf_type_converters.microgen.go | 26 ++-------------
 .../grpc/protobuf_type_converters.microgen.go | 22 ++-----------
 5 files changed, 14 insertions(+), 105 deletions(-)

diff --git a/pkg/delivery/transport/grpc/protobuf_type_converters.microgen.go b/pkg/delivery/transport/grpc/protobuf_type_converters.microgen.go
index aedb4ff8..6961c709 100644
--- a/pkg/delivery/transport/grpc/protobuf_type_converters.microgen.go
+++ b/pkg/delivery/transport/grpc/protobuf_type_converters.microgen.go
@@ -302,39 +302,11 @@ func ProtoToPtrItemsFilter(protoFilter *itemspb.Filter) (*items.Filter, error) {
 }
 
 func PtrServicesFindOptionsToProto(options *services.FindOptions) (*common.FindOptions, error) {
-	if options == nil {
-		return nil, nil
-	}
-	return &common.FindOptions{
-		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
+	return services.FindOptionsToPB(options), nil
 }
 
 func ProtoToPtrServicesFindOptions(protoOptions *common.FindOptions) (*services.FindOptions, error) {
-	if protoOptions == nil {
-		return nil, nil
-	}
-	return &services.FindOptions{
-		SortOptions: services.SortOptions{
-			Sort: protoOptions.Sort,
-		},
-		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,
-			ExcludeFields: protoOptions.ExcludeFields,
-		},
-	}, nil
+	return services.FindOptionsFromPB(protoOptions), nil
 }
 
 func ListPtrItemsItemToProto(itms []*items.Item) ([]*itemspb.Item, error) {
diff --git a/pkg/items/transport/grpc/protobuf_type_converters.microgen.go b/pkg/items/transport/grpc/protobuf_type_converters.microgen.go
index 0b214cc9..d66afe5c 100644
--- a/pkg/items/transport/grpc/protobuf_type_converters.microgen.go
+++ b/pkg/items/transport/grpc/protobuf_type_converters.microgen.go
@@ -144,39 +144,14 @@ func ProtoToPtrFilter(protoFilter *pb.Filter) (*service.Filter, error) {
 }
 
 func PtrServicesFindOptionsToProto(opts *options.FindOptions) (*pbcommon.FindOptions, error) {
-	if opts == nil {
-		return nil, nil
-	}
-	return &pbcommon.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,
-	}, nil
+	return options.FindOptionsToPB(opts), nil
 }
 
 func ProtoToPtrServicesFindOptions(protoOpts *pbcommon.FindOptions) (*options.FindOptions, error) {
 	if protoOpts == nil {
 		return nil, nil
 	}
-	return &options.FindOptions{
-		SortOptions: options.SortOptions{
-			Sort: protoOpts.Sort,
-		},
-		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,
-			ExcludeFields: protoOpts.ExcludeFields,
-		},
-	}, nil
+	return options.FindOptionsFromPB(protoOpts), nil
 }
 
 func ListPtrItemToProto(items []*service.Item) ([]*pb.Item, error) {
diff --git a/pkg/options/options.go b/pkg/options/options.go
index 066d3f8a..d1e79608 100644
--- a/pkg/options/options.go
+++ b/pkg/options/options.go
@@ -95,8 +95,10 @@ func FindOptionsFromPB(protoOpts *commonpb.FindOptions) *FindOptions {
 			Sort: protoOpts.Sort,
 		},
 		PaginationOptions: PaginationOptions{
-			Offset: int(protoOpts.Offset),
-			Limit:  int(protoOpts.Limit),
+			PageNum:  int(protoOpts.PageNum),
+			PageSize: int(protoOpts.PageSize),
+			Limit:    int(protoOpts.Limit),
+			Offset:   int(protoOpts.Offset),
 		},
 		FieldOptions: FieldOptions{
 			Fields:        protoOpts.Fields,
@@ -105,7 +107,7 @@ func FindOptionsFromPB(protoOpts *commonpb.FindOptions) *FindOptions {
 	}
 
 	if fo.Offset == 0 && fo.Limit == 0 && fo.PageSize != 0 {
-		fo.Offset = fo.PageSize * (fo.PageNum - 1)
+		fo.Offset = fo.PageSize * fo.PageNum
 		fo.Limit = fo.PageSize
 	}
 
@@ -127,7 +129,7 @@ func FindOptionsToPB(opts *FindOptions) *commonpb.FindOptions {
 	}
 	if fo.PageSize != 0 && fo.Limit == 0 {
 		fo.Limit = fo.PageSize
-		fo.Offset = fo.PageSize * (fo.PageNum - 1)
+		fo.Offset = fo.PageSize * fo.PageNum
 	}
 	if fo.Limit != 0 && fo.PageSize == 0 {
 		fo.PageSize = fo.Limit
diff --git a/pkg/organizations/transport/grpc/protobuf_type_converters.microgen.go b/pkg/organizations/transport/grpc/protobuf_type_converters.microgen.go
index 2c024a9e..9a35f86e 100644
--- a/pkg/organizations/transport/grpc/protobuf_type_converters.microgen.go
+++ b/pkg/organizations/transport/grpc/protobuf_type_converters.microgen.go
@@ -61,33 +61,11 @@ func ProtoToPtrFilter(protoFilter *pb.Filter) (*organizations.Filter, error) {
 }
 
 func PtrServicesFindOptionsToProto(opts *options.FindOptions) (*common.FindOptions, error) {
-	if opts == nil {
-		return nil, nil
-	}
-	return &common.FindOptions{
-		Sort:     opts.Sort,
-		PageNum:  int32(opts.PageNum),
-		PageSize: int32(opts.PageSize),
-		Offset:   int32(opts.Offset),
-		Limit:    int32(opts.Limit),
-	}, nil
+	return options.FindOptionsToPB(opts), nil
 }
 
 func ProtoToPtrServicesFindOptions(protoOpts *common.FindOptions) (*options.FindOptions, error) {
-	if protoOpts == nil {
-		return nil, nil
-	}
-	return &options.FindOptions{
-		SortOptions: options.SortOptions{
-			Sort: protoOpts.Sort,
-		},
-		PaginationOptions: options.PaginationOptions{
-			PageNum:  int(protoOpts.PageNum),
-			PageSize: int(protoOpts.PageSize),
-			Offset:   int(protoOpts.Offset),
-			Limit:    int(protoOpts.Limit),
-		},
-	}, nil
+	return options.FindOptionsFromPB(protoOpts), nil
 }
 
 func ListPtrOrganizationToProto(orgs []*organizations.Organization) ([]*pb.Organization, error) {
diff --git a/pkg/users/transport/grpc/protobuf_type_converters.microgen.go b/pkg/users/transport/grpc/protobuf_type_converters.microgen.go
index 3a73ddd7..5f98e248 100644
--- a/pkg/users/transport/grpc/protobuf_type_converters.microgen.go
+++ b/pkg/users/transport/grpc/protobuf_type_converters.microgen.go
@@ -127,27 +127,9 @@ func ProtoToListPtrUser(protoCreates []*pb.User) ([]*service.User, error) {
 }
 
 func PtrServicesFindOptionsToProto(opts *options.FindOptions) (*common.FindOptions, error) {
-	if opts == nil {
-		return nil, nil
-	}
-	return &common.FindOptions{
-		Sort:     opts.Sort,
-		PageNum:  int32(opts.PageNum),
-		PageSize: int32(opts.PageSize),
-	}, nil
+	return options.FindOptionsToPB(opts), nil
 }
 
 func ProtoToPtrServicesFindOptions(protoOpts *common.FindOptions) (*options.FindOptions, error) {
-	if protoOpts == nil {
-		return nil, nil
-	}
-	return &options.FindOptions{
-		SortOptions: options.SortOptions{
-			Sort: protoOpts.Sort,
-		},
-		PaginationOptions: options.PaginationOptions{
-			PageNum:  int(protoOpts.PageNum),
-			PageSize: int(protoOpts.PageSize),
-		},
-	}, nil
+	return options.FindOptionsFromPB(protoOpts), nil
 }
-- 
GitLab