Skip to content

Commit

Permalink
updatePaginationForSelfServices
Browse files Browse the repository at this point in the history
  • Loading branch information
pavelbrui committed Apr 19, 2024
1 parent 125f6b3 commit 2917e31
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 20 deletions.
2 changes: 1 addition & 1 deletion packages/integrations/gei-bookings/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "gei-bookings",
"version": "0.2.7",
"version": "0.2.8",
"description": "Automatically generated by graphql-editor-cli",
"main": "lib/index.js",
"scripts": {
Expand Down
4 changes: 4 additions & 0 deletions packages/integrations/gei-bookings/schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ input GetBookingsForServiceFiltersInput{
type GetBookingsForServiceRespond{
books: [BookingRecord!]
error: GlobalError
hasNextPage: Boolean
}

input RespondOnServiceRequestInput{
Expand Down Expand Up @@ -151,6 +152,7 @@ input GetSelfServicesFiltersInput{
type GetSelfServicesRespond{
service: [Service!]
error: GlobalError
hasNextPage: Boolean
}

type RespondOnServiceRequestRespond{
Expand All @@ -177,11 +179,13 @@ input ListServicesInput{
type GetBooksRepsond{
books: [BookingRecord!]
error: GlobalError
hasNextPage: Boolean
}

type ListServicesRespond{
services: [Service!]
error: GlobalError
hasNextPage: Boolean
}

type GetServiceRespond{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { resolverFor } from '../zeus/index.js';
import { convertDateObjToStringForArray, errMiddleware, sourceContainUserIdOrThrow } from '../utils/middleware.js';
import { MongoOrb, inputServiceFiltersSet, preparePageOptions } from '../utils/db/orm.js';
import { ServicesCollection } from '../utils/db/collections.js';
import { isScalarDate } from '../PublicQuery/listServices.js';
import { ServiceModel } from '../models/ServiceModel.js';
import { WithId } from 'mongodb';

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

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

const selfServices = await MongoOrb(ServicesCollection)
const servicesCursor = MongoOrb(ServicesCollection)
.collection.find({
...inputFilters,
ownerId: src.userId || src._id,
})
.limit(po.limit)
.skip(po.skip)
.sort('createdAt', -1)
.toArray();
return { service: convertDateObjToStringForArray<WithId<ServiceModel>>(selfServices) }
const paginatedServices = await (po.limit < 1 ?
servicesCursor
: servicesCursor.limit(po.limit + 1).skip(po.skip)
).sort('createdAt', -1).toArray()
const hasNext = paginatedServices.length === po.limit + 1
if(hasNext) paginatedServices.pop();

return {
services: convertDateObjToStringForArray<WithId<ServiceModel>>(paginatedServices),
hasNextPage: hasNext
};
}),
)(input.arguments, input.source);
export default getSelfServices;
Expand Down
12 changes: 8 additions & 4 deletions packages/integrations/gei-bookings/src/zeus/const.ts
Original file line number Diff line number Diff line change
Expand Up @@ -154,23 +154,27 @@ export const ReturnTypes: Record<string,any> = {
},
GetBookingsForServiceRespond:{
books:"BookingRecord",
error:"GlobalError"
error:"GlobalError",
hasNextPage:"Boolean"
},
GetSelfServicesRespond:{
service:"Service",
error:"GlobalError"
error:"GlobalError",
hasNextPage:"Boolean"
},
RespondOnServiceRequestRespond:{
status:"Boolean",
error:"GlobalError"
},
GetBooksRepsond:{
books:"BookingRecord",
error:"GlobalError"
error:"GlobalError",
hasNextPage:"Boolean"
},
ListServicesRespond:{
services:"Service",
error:"GlobalError"
error:"GlobalError",
hasNextPage:"Boolean"
},
GetServiceRespond:{
service:"Service",
Expand Down
32 changes: 24 additions & 8 deletions packages/integrations/gei-bookings/src/zeus/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -911,6 +911,7 @@ respondOnServiceRequest?: [{ input: ValueTypes["RespondOnServiceRequestInput"] |
["GetBookingsForServiceRespond"]: AliasType<{
books?:ValueTypes["BookingRecord"],
error?:ValueTypes["GlobalError"],
hasNextPage?:boolean | `@${string}`,
__typename?: boolean | `@${string}`
}>;
["RespondOnServiceRequestInput"]: {
Expand All @@ -933,6 +934,7 @@ respondOnServiceRequest?: [{ input: ValueTypes["RespondOnServiceRequestInput"] |
["GetSelfServicesRespond"]: AliasType<{
service?:ValueTypes["Service"],
error?:ValueTypes["GlobalError"],
hasNextPage?:boolean | `@${string}`,
__typename?: boolean | `@${string}`
}>;
["RespondOnServiceRequestRespond"]: AliasType<{
Expand All @@ -956,11 +958,13 @@ respondOnServiceRequest?: [{ input: ValueTypes["RespondOnServiceRequestInput"] |
["GetBooksRepsond"]: AliasType<{
books?:ValueTypes["BookingRecord"],
error?:ValueTypes["GlobalError"],
hasNextPage?:boolean | `@${string}`,
__typename?: boolean | `@${string}`
}>;
["ListServicesRespond"]: AliasType<{
services?:ValueTypes["Service"],
error?:ValueTypes["GlobalError"],
hasNextPage?:boolean | `@${string}`,
__typename?: boolean | `@${string}`
}>;
["GetServiceRespond"]: AliasType<{
Expand Down Expand Up @@ -1202,6 +1206,7 @@ respondOnServiceRequest?: [{ input: ResolverInputTypes["RespondOnServiceRequestI
["GetBookingsForServiceRespond"]: AliasType<{
books?:ResolverInputTypes["BookingRecord"],
error?:ResolverInputTypes["GlobalError"],
hasNextPage?:boolean | `@${string}`,
__typename?: boolean | `@${string}`
}>;
["RespondOnServiceRequestInput"]: {
Expand All @@ -1224,6 +1229,7 @@ respondOnServiceRequest?: [{ input: ResolverInputTypes["RespondOnServiceRequestI
["GetSelfServicesRespond"]: AliasType<{
service?:ResolverInputTypes["Service"],
error?:ResolverInputTypes["GlobalError"],
hasNextPage?:boolean | `@${string}`,
__typename?: boolean | `@${string}`
}>;
["RespondOnServiceRequestRespond"]: AliasType<{
Expand All @@ -1247,11 +1253,13 @@ respondOnServiceRequest?: [{ input: ResolverInputTypes["RespondOnServiceRequestI
["GetBooksRepsond"]: AliasType<{
books?:ResolverInputTypes["BookingRecord"],
error?:ResolverInputTypes["GlobalError"],
hasNextPage?:boolean | `@${string}`,
__typename?: boolean | `@${string}`
}>;
["ListServicesRespond"]: AliasType<{
services?:ResolverInputTypes["Service"],
error?:ResolverInputTypes["GlobalError"],
hasNextPage?:boolean | `@${string}`,
__typename?: boolean | `@${string}`
}>;
["GetServiceRespond"]: AliasType<{
Expand Down Expand Up @@ -1495,7 +1503,8 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
};
["GetBookingsForServiceRespond"]: {
books?: Array<ModelTypes["BookingRecord"]> | undefined,
error?: ModelTypes["GlobalError"] | undefined
error?: ModelTypes["GlobalError"] | undefined,
hasNextPage?: boolean | undefined
};
["RespondOnServiceRequestInput"]: {
bookIds: Array<string>,
Expand All @@ -1516,7 +1525,8 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
};
["GetSelfServicesRespond"]: {
service?: Array<ModelTypes["Service"]> | undefined,
error?: ModelTypes["GlobalError"] | undefined
error?: ModelTypes["GlobalError"] | undefined,
hasNextPage?: boolean | undefined
};
["RespondOnServiceRequestRespond"]: {
status: boolean,
Expand All @@ -1537,11 +1547,13 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
};
["GetBooksRepsond"]: {
books?: Array<ModelTypes["BookingRecord"]> | undefined,
error?: ModelTypes["GlobalError"] | undefined
error?: ModelTypes["GlobalError"] | undefined,
hasNextPage?: boolean | undefined
};
["ListServicesRespond"]: {
services?: Array<ModelTypes["Service"]> | undefined,
error?: ModelTypes["GlobalError"] | undefined
error?: ModelTypes["GlobalError"] | undefined,
hasNextPage?: boolean | undefined
};
["GetServiceRespond"]: {
service?: ModelTypes["Service"] | undefined,
Expand Down Expand Up @@ -1771,7 +1783,8 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
["GetBookingsForServiceRespond"]: {
__typename: "GetBookingsForServiceRespond",
books?: Array<GraphQLTypes["BookingRecord"]> | undefined,
error?: GraphQLTypes["GlobalError"] | undefined
error?: GraphQLTypes["GlobalError"] | undefined,
hasNextPage?: boolean | undefined
};
["RespondOnServiceRequestInput"]: {
bookIds: Array<string>,
Expand All @@ -1793,7 +1806,8 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
["GetSelfServicesRespond"]: {
__typename: "GetSelfServicesRespond",
service?: Array<GraphQLTypes["Service"]> | undefined,
error?: GraphQLTypes["GlobalError"] | undefined
error?: GraphQLTypes["GlobalError"] | undefined,
hasNextPage?: boolean | undefined
};
["RespondOnServiceRequestRespond"]: {
__typename: "RespondOnServiceRequestRespond",
Expand All @@ -1816,12 +1830,14 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
["GetBooksRepsond"]: {
__typename: "GetBooksRepsond",
books?: Array<GraphQLTypes["BookingRecord"]> | undefined,
error?: GraphQLTypes["GlobalError"] | undefined
error?: GraphQLTypes["GlobalError"] | undefined,
hasNextPage?: boolean | undefined
};
["ListServicesRespond"]: {
__typename: "ListServicesRespond",
services?: Array<GraphQLTypes["Service"]> | undefined,
error?: GraphQLTypes["GlobalError"] | undefined
error?: GraphQLTypes["GlobalError"] | undefined,
hasNextPage?: boolean | undefined
};
["GetServiceRespond"]: {
__typename: "GetServiceRespond",
Expand Down

0 comments on commit 2917e31

Please sign in to comment.