Skip to content

Commit 2917e31

Browse files
committed
updatePaginationForSelfServices
1 parent 125f6b3 commit 2917e31

File tree

5 files changed

+49
-20
lines changed

5 files changed

+49
-20
lines changed

packages/integrations/gei-bookings/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "gei-bookings",
3-
"version": "0.2.7",
3+
"version": "0.2.8",
44
"description": "Automatically generated by graphql-editor-cli",
55
"main": "lib/index.js",
66
"scripts": {

packages/integrations/gei-bookings/schema.graphql

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ input GetBookingsForServiceFiltersInput{
120120
type GetBookingsForServiceRespond{
121121
books: [BookingRecord!]
122122
error: GlobalError
123+
hasNextPage: Boolean
123124
}
124125

125126
input RespondOnServiceRequestInput{
@@ -151,6 +152,7 @@ input GetSelfServicesFiltersInput{
151152
type GetSelfServicesRespond{
152153
service: [Service!]
153154
error: GlobalError
155+
hasNextPage: Boolean
154156
}
155157

156158
type RespondOnServiceRequestRespond{
@@ -177,11 +179,13 @@ input ListServicesInput{
177179
type GetBooksRepsond{
178180
books: [BookingRecord!]
179181
error: GlobalError
182+
hasNextPage: Boolean
180183
}
181184

182185
type ListServicesRespond{
183186
services: [Service!]
184187
error: GlobalError
188+
hasNextPage: Boolean
185189
}
186190

187191
type GetServiceRespond{

packages/integrations/gei-bookings/src/UserQuery/getSelfServices.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { resolverFor } from '../zeus/index.js';
33
import { convertDateObjToStringForArray, errMiddleware, sourceContainUserIdOrThrow } from '../utils/middleware.js';
44
import { MongoOrb, inputServiceFiltersSet, preparePageOptions } from '../utils/db/orm.js';
55
import { ServicesCollection } from '../utils/db/collections.js';
6-
import { isScalarDate } from '../PublicQuery/listServices.js';
76
import { ServiceModel } from '../models/ServiceModel.js';
87
import { WithId } from 'mongodb';
98

@@ -15,16 +14,22 @@ export const getSelfServices = async (input: FieldResolveInput) =>
1514

1615
const inputFilters = inputServiceFiltersSet(args?.input?.filters)
1716

18-
const selfServices = await MongoOrb(ServicesCollection)
17+
const servicesCursor = MongoOrb(ServicesCollection)
1918
.collection.find({
2019
...inputFilters,
2120
ownerId: src.userId || src._id,
2221
})
23-
.limit(po.limit)
24-
.skip(po.skip)
25-
.sort('createdAt', -1)
26-
.toArray();
27-
return { service: convertDateObjToStringForArray<WithId<ServiceModel>>(selfServices) }
22+
const paginatedServices = await (po.limit < 1 ?
23+
servicesCursor
24+
: servicesCursor.limit(po.limit + 1).skip(po.skip)
25+
).sort('createdAt', -1).toArray()
26+
const hasNext = paginatedServices.length === po.limit + 1
27+
if(hasNext) paginatedServices.pop();
28+
29+
return {
30+
services: convertDateObjToStringForArray<WithId<ServiceModel>>(paginatedServices),
31+
hasNextPage: hasNext
32+
};
2833
}),
2934
)(input.arguments, input.source);
3035
export default getSelfServices;

packages/integrations/gei-bookings/src/zeus/const.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,23 +154,27 @@ export const ReturnTypes: Record<string,any> = {
154154
},
155155
GetBookingsForServiceRespond:{
156156
books:"BookingRecord",
157-
error:"GlobalError"
157+
error:"GlobalError",
158+
hasNextPage:"Boolean"
158159
},
159160
GetSelfServicesRespond:{
160161
service:"Service",
161-
error:"GlobalError"
162+
error:"GlobalError",
163+
hasNextPage:"Boolean"
162164
},
163165
RespondOnServiceRequestRespond:{
164166
status:"Boolean",
165167
error:"GlobalError"
166168
},
167169
GetBooksRepsond:{
168170
books:"BookingRecord",
169-
error:"GlobalError"
171+
error:"GlobalError",
172+
hasNextPage:"Boolean"
170173
},
171174
ListServicesRespond:{
172175
services:"Service",
173-
error:"GlobalError"
176+
error:"GlobalError",
177+
hasNextPage:"Boolean"
174178
},
175179
GetServiceRespond:{
176180
service:"Service",

packages/integrations/gei-bookings/src/zeus/index.ts

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,7 @@ respondOnServiceRequest?: [{ input: ValueTypes["RespondOnServiceRequestInput"] |
911911
["GetBookingsForServiceRespond"]: AliasType<{
912912
books?:ValueTypes["BookingRecord"],
913913
error?:ValueTypes["GlobalError"],
914+
hasNextPage?:boolean | `@${string}`,
914915
__typename?: boolean | `@${string}`
915916
}>;
916917
["RespondOnServiceRequestInput"]: {
@@ -933,6 +934,7 @@ respondOnServiceRequest?: [{ input: ValueTypes["RespondOnServiceRequestInput"] |
933934
["GetSelfServicesRespond"]: AliasType<{
934935
service?:ValueTypes["Service"],
935936
error?:ValueTypes["GlobalError"],
937+
hasNextPage?:boolean | `@${string}`,
936938
__typename?: boolean | `@${string}`
937939
}>;
938940
["RespondOnServiceRequestRespond"]: AliasType<{
@@ -956,11 +958,13 @@ respondOnServiceRequest?: [{ input: ValueTypes["RespondOnServiceRequestInput"] |
956958
["GetBooksRepsond"]: AliasType<{
957959
books?:ValueTypes["BookingRecord"],
958960
error?:ValueTypes["GlobalError"],
961+
hasNextPage?:boolean | `@${string}`,
959962
__typename?: boolean | `@${string}`
960963
}>;
961964
["ListServicesRespond"]: AliasType<{
962965
services?:ValueTypes["Service"],
963966
error?:ValueTypes["GlobalError"],
967+
hasNextPage?:boolean | `@${string}`,
964968
__typename?: boolean | `@${string}`
965969
}>;
966970
["GetServiceRespond"]: AliasType<{
@@ -1202,6 +1206,7 @@ respondOnServiceRequest?: [{ input: ResolverInputTypes["RespondOnServiceRequestI
12021206
["GetBookingsForServiceRespond"]: AliasType<{
12031207
books?:ResolverInputTypes["BookingRecord"],
12041208
error?:ResolverInputTypes["GlobalError"],
1209+
hasNextPage?:boolean | `@${string}`,
12051210
__typename?: boolean | `@${string}`
12061211
}>;
12071212
["RespondOnServiceRequestInput"]: {
@@ -1224,6 +1229,7 @@ respondOnServiceRequest?: [{ input: ResolverInputTypes["RespondOnServiceRequestI
12241229
["GetSelfServicesRespond"]: AliasType<{
12251230
service?:ResolverInputTypes["Service"],
12261231
error?:ResolverInputTypes["GlobalError"],
1232+
hasNextPage?:boolean | `@${string}`,
12271233
__typename?: boolean | `@${string}`
12281234
}>;
12291235
["RespondOnServiceRequestRespond"]: AliasType<{
@@ -1247,11 +1253,13 @@ respondOnServiceRequest?: [{ input: ResolverInputTypes["RespondOnServiceRequestI
12471253
["GetBooksRepsond"]: AliasType<{
12481254
books?:ResolverInputTypes["BookingRecord"],
12491255
error?:ResolverInputTypes["GlobalError"],
1256+
hasNextPage?:boolean | `@${string}`,
12501257
__typename?: boolean | `@${string}`
12511258
}>;
12521259
["ListServicesRespond"]: AliasType<{
12531260
services?:ResolverInputTypes["Service"],
12541261
error?:ResolverInputTypes["GlobalError"],
1262+
hasNextPage?:boolean | `@${string}`,
12551263
__typename?: boolean | `@${string}`
12561264
}>;
12571265
["GetServiceRespond"]: AliasType<{
@@ -1495,7 +1503,8 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
14951503
};
14961504
["GetBookingsForServiceRespond"]: {
14971505
books?: Array<ModelTypes["BookingRecord"]> | undefined,
1498-
error?: ModelTypes["GlobalError"] | undefined
1506+
error?: ModelTypes["GlobalError"] | undefined,
1507+
hasNextPage?: boolean | undefined
14991508
};
15001509
["RespondOnServiceRequestInput"]: {
15011510
bookIds: Array<string>,
@@ -1516,7 +1525,8 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
15161525
};
15171526
["GetSelfServicesRespond"]: {
15181527
service?: Array<ModelTypes["Service"]> | undefined,
1519-
error?: ModelTypes["GlobalError"] | undefined
1528+
error?: ModelTypes["GlobalError"] | undefined,
1529+
hasNextPage?: boolean | undefined
15201530
};
15211531
["RespondOnServiceRequestRespond"]: {
15221532
status: boolean,
@@ -1537,11 +1547,13 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
15371547
};
15381548
["GetBooksRepsond"]: {
15391549
books?: Array<ModelTypes["BookingRecord"]> | undefined,
1540-
error?: ModelTypes["GlobalError"] | undefined
1550+
error?: ModelTypes["GlobalError"] | undefined,
1551+
hasNextPage?: boolean | undefined
15411552
};
15421553
["ListServicesRespond"]: {
15431554
services?: Array<ModelTypes["Service"]> | undefined,
1544-
error?: ModelTypes["GlobalError"] | undefined
1555+
error?: ModelTypes["GlobalError"] | undefined,
1556+
hasNextPage?: boolean | undefined
15451557
};
15461558
["GetServiceRespond"]: {
15471559
service?: ModelTypes["Service"] | undefined,
@@ -1771,7 +1783,8 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
17711783
["GetBookingsForServiceRespond"]: {
17721784
__typename: "GetBookingsForServiceRespond",
17731785
books?: Array<GraphQLTypes["BookingRecord"]> | undefined,
1774-
error?: GraphQLTypes["GlobalError"] | undefined
1786+
error?: GraphQLTypes["GlobalError"] | undefined,
1787+
hasNextPage?: boolean | undefined
17751788
};
17761789
["RespondOnServiceRequestInput"]: {
17771790
bookIds: Array<string>,
@@ -1793,7 +1806,8 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
17931806
["GetSelfServicesRespond"]: {
17941807
__typename: "GetSelfServicesRespond",
17951808
service?: Array<GraphQLTypes["Service"]> | undefined,
1796-
error?: GraphQLTypes["GlobalError"] | undefined
1809+
error?: GraphQLTypes["GlobalError"] | undefined,
1810+
hasNextPage?: boolean | undefined
17971811
};
17981812
["RespondOnServiceRequestRespond"]: {
17991813
__typename: "RespondOnServiceRequestRespond",
@@ -1816,12 +1830,14 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
18161830
["GetBooksRepsond"]: {
18171831
__typename: "GetBooksRepsond",
18181832
books?: Array<GraphQLTypes["BookingRecord"]> | undefined,
1819-
error?: GraphQLTypes["GlobalError"] | undefined
1833+
error?: GraphQLTypes["GlobalError"] | undefined,
1834+
hasNextPage?: boolean | undefined
18201835
};
18211836
["ListServicesRespond"]: {
18221837
__typename: "ListServicesRespond",
18231838
services?: Array<GraphQLTypes["Service"]> | undefined,
1824-
error?: GraphQLTypes["GlobalError"] | undefined
1839+
error?: GraphQLTypes["GlobalError"] | undefined,
1840+
hasNextPage?: boolean | undefined
18251841
};
18261842
["GetServiceRespond"]: {
18271843
__typename: "GetServiceRespond",

0 commit comments

Comments
 (0)