Skip to content

Commit

Permalink
fixForDateTypes
Browse files Browse the repository at this point in the history
  • Loading branch information
pavelbrui committed Apr 16, 2024
1 parent ae6fb99 commit 8c76a30
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 17 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.4",
"version": "0.2.5",
"description": "Automatically generated by graphql-editor-cli",
"main": "lib/index.js",
"scripts": {
Expand Down
6 changes: 4 additions & 2 deletions packages/integrations/gei-bookings/schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,9 @@ input GetBooksInput{
}

input GetBooksFiltersInput{
startDate: String!
fromDate: Date
toDate: Date
status: BookStatus
}

input ListServicesInput{
Expand Down Expand Up @@ -215,7 +217,7 @@ input UpdateReservationInfoInput{
}

input ReservationInfoInput{
user: UserInput
user: UserInput!
comments: String
numberOfGuests: Int
numberOfKids: Int
Expand Down
10 changes: 5 additions & 5 deletions packages/integrations/gei-bookings/src/utils/db/orm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,26 +93,26 @@ export function updateNestedFields(inputObject: Record<string, any>, nestedObjec

export const isScalarDate = (obj: unknown): boolean => typeof obj === 'string' && obj !== null && !!Date.parse(obj);

export const inputDateFilter = (filters: Record<string, any>) => {
export const inputDateFilter = (filters: Record<string, any>, dateType?: boolean) => {
const fromDate = isScalarDate(filters.fromDate)
const toDate = isScalarDate(filters.toDate)
const dateFilter: { $gte?: string | undefined, $lte?: string | undefined } = {};
if (fromDate) {
dateFilter.$gte = filters.fromDate as string;
dateFilter.$gte = dateType ? new Date(filters.fromDate) : filters.fromDate;
}
if (toDate) {
dateFilter.$lte = filters.toDate as string;
dateFilter.$lte = dateType ? new Date(filters.toDate) : filters.toDate;
}
return dateFilter
}

export const simpleFieldsFilter = (filters: Record<string, any>) =>
filters &&
Object.fromEntries(Object.entries(filters).filter((v) => v !== null && v !== undefined && v[0] !== 'fromDate' && v[0] !== 'toDate'));

export const inputServiceFiltersSet = (filters: Record<string, any> | null | undefined) => {
if (!filters) return {}
const dateFilter = inputDateFilter(filters)
const dateFilter = inputDateFilter(filters, true)
return {...simpleFieldsFilter(filters), ...((dateFilter.$gte || dateFilter.$lte) && { startDate: dateFilter }), ...(filters?.name && { name: { $regex: filters.name, $options: 'i' } }),
...(filters?.description && {
description: { $regex: filters.description, $options: 'i' },
Expand Down
4 changes: 3 additions & 1 deletion packages/integrations/gei-bookings/src/zeus/const.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,9 @@ export const AllTypesProps: Record<string,any> = {
filters:"GetBooksFiltersInput"
},
GetBooksFiltersInput:{

fromDate:"Date",
toDate:"Date",
status:"BookStatus"
},
ListServicesInput:{
page:"PageOptionsInput",
Expand Down
24 changes: 16 additions & 8 deletions packages/integrations/gei-bookings/src/zeus/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -945,7 +945,9 @@ respondOnServiceRequest?: [{ input: ValueTypes["RespondOnServiceRequestInput"] |
filters?: ValueTypes["GetBooksFiltersInput"] | undefined | null | Variable<any, string>
};
["GetBooksFiltersInput"]: {
startDate: string | Variable<any, string>
fromDate?: ValueTypes["Date"] | undefined | null | Variable<any, string>,
toDate?: ValueTypes["Date"] | undefined | null | Variable<any, string>,
status?: ValueTypes["BookStatus"] | undefined | null | Variable<any, string>
};
["ListServicesInput"]: {
page?: ValueTypes["PageOptionsInput"] | undefined | null | Variable<any, string>,
Expand Down Expand Up @@ -991,7 +993,7 @@ respondOnServiceRequest?: [{ input: ValueTypes["RespondOnServiceRequestInput"] |
price?: number | undefined | null | Variable<any, string>
};
["ReservationInfoInput"]: {
user?: ValueTypes["UserInput"] | undefined | null | Variable<any, string>,
user: ValueTypes["UserInput"] | Variable<any, string>,
comments?: string | undefined | null | Variable<any, string>,
numberOfGuests?: number | undefined | null | Variable<any, string>,
numberOfKids?: number | undefined | null | Variable<any, string>,
Expand Down Expand Up @@ -1234,7 +1236,9 @@ respondOnServiceRequest?: [{ input: ResolverInputTypes["RespondOnServiceRequestI
filters?: ResolverInputTypes["GetBooksFiltersInput"] | undefined | null
};
["GetBooksFiltersInput"]: {
startDate: string
fromDate?: ResolverInputTypes["Date"] | undefined | null,
toDate?: ResolverInputTypes["Date"] | undefined | null,
status?: ResolverInputTypes["BookStatus"] | undefined | null
};
["ListServicesInput"]: {
page?: ResolverInputTypes["PageOptionsInput"] | undefined | null,
Expand Down Expand Up @@ -1280,7 +1284,7 @@ respondOnServiceRequest?: [{ input: ResolverInputTypes["RespondOnServiceRequestI
price?: number | undefined | null
};
["ReservationInfoInput"]: {
user?: ResolverInputTypes["UserInput"] | undefined | null,
user: ResolverInputTypes["UserInput"],
comments?: string | undefined | null,
numberOfGuests?: number | undefined | null,
numberOfKids?: number | undefined | null,
Expand Down Expand Up @@ -1523,7 +1527,9 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
filters?: ModelTypes["GetBooksFiltersInput"] | undefined
};
["GetBooksFiltersInput"]: {
startDate: string
fromDate?: ModelTypes["Date"] | undefined,
toDate?: ModelTypes["Date"] | undefined,
status?: ModelTypes["BookStatus"] | undefined
};
["ListServicesInput"]: {
page?: ModelTypes["PageOptionsInput"] | undefined,
Expand Down Expand Up @@ -1566,7 +1572,7 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
price?: number | undefined
};
["ReservationInfoInput"]: {
user?: ModelTypes["UserInput"] | undefined,
user: ModelTypes["UserInput"],
comments?: string | undefined,
numberOfGuests?: number | undefined,
numberOfKids?: number | undefined,
Expand Down Expand Up @@ -1799,7 +1805,9 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
filters?: GraphQLTypes["GetBooksFiltersInput"] | undefined
};
["GetBooksFiltersInput"]: {
startDate: string
fromDate?: GraphQLTypes["Date"] | undefined,
toDate?: GraphQLTypes["Date"] | undefined,
status?: GraphQLTypes["BookStatus"] | undefined
};
["ListServicesInput"]: {
page?: GraphQLTypes["PageOptionsInput"] | undefined,
Expand Down Expand Up @@ -1845,7 +1853,7 @@ in otherwise any endpoint in UserMutation will throw error about malformed sourc
price?: number | undefined
};
["ReservationInfoInput"]: {
user?: GraphQLTypes["UserInput"] | undefined,
user: GraphQLTypes["UserInput"],
comments?: string | undefined,
numberOfGuests?: number | undefined,
numberOfKids?: number | undefined,
Expand Down

0 comments on commit 8c76a30

Please sign in to comment.