Skip to content

Commit

Permalink
Merge pull request #233 from overmindtech/initial_pagination
Browse files Browse the repository at this point in the history
(feat) initial pagination for ListHomeChanges
  • Loading branch information
tphoney authored Jul 18, 2024
2 parents 45fd2d7 + 356583c commit df05c30
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 1 deletion.
7 changes: 6 additions & 1 deletion changes.proto
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import "bookmarks.proto";
import "items.proto";
import "snapshots.proto";
import "config.proto";
import "util.proto";

// ______
// ,'" "-._
Expand Down Expand Up @@ -261,9 +262,13 @@ message GetAppSummariesResponse {
repeated changes.AppSummary apps = 1;
}

message ListHomeChangesRequest {}
message ListHomeChangesRequest {
PaginationRequest pagination = 1;
}

message ListHomeChangesResponse {
repeated ChangeSummary changes = 1;
PaginationResponse pagination = 2;
}

message ListHomeAppsRequest {}
Expand Down
37 changes: 37 additions & 0 deletions util.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
syntax = "proto3";

// _____/\\\\\\\\\\\____/\\\\\\\\\\\\_____/\\\\\\\\\\\\\___
// ___/\\\/////////\\\_\/\\\////////\\\__\/\\\/////////\\\_
// __\//\\\______\///__\/\\\______\//\\\_\/\\\_______\/\\\_
// ___\////\\\_________\/\\\_______\/\\\_\/\\\\\\\\\\\\\/__
// ______\////\\\______\/\\\_______\/\\\_\/\\\/////////____
// _________\////\\\___\/\\\_______\/\\\_\/\\\_____________
// __/\\\______\//\\\__\/\\\_______/\\\__\/\\\_____________
// _\///\\\\\\\\\\\/___\/\\\\\\\\\\\\/___\/\\\_____________
// ___\///////////_____\////////////_____\///______________
option go_package = "github.com/overmindtech/sdp-go;sdp";

message PaginationRequest {
// The number of items to return in a single page. The minimum is 10 and the maximum is 100.
int32 pageSize = 1;

// The page number to return. the first page is 0.
// if the page number is larger than the total number of pages, the last page is returned.
// if the page number is negative, the first page 0 is returned.
int32 page = 2;
}

message PaginationResponse {
// The number of items in the current page
int32 pageSize = 1;

// The total number of items available. Expensive to calculate https://www.cybertec-postgresql.com/en/pagination-problem-total-result-count/
// this is done as a separate query
int32 totalItems = 2;

// The current page number
int32 page = 3;

// The total number of pages available. based on the totalItems and pageSize.
int32 totalPages = 4;
}

0 comments on commit df05c30

Please sign in to comment.