/* eslint-disable */ import { AllTypesProps, ReturnTypes } from './const'; type ZEUS_INTERFACES = GraphQLTypes["IEngineSchema"] type ZEUS_UNIONS = GraphQLTypes["ProductUnion"] export type ValueTypes = { ["Query"]: AliasType<{ me?:ValueTypes["AccountModel"], login?: [{ refreshToken?:string, creds?:ValueTypes["LoginInput"]},ValueTypes["FirebaseTokenResult"]], magicLink?: [{ input:ValueTypes["ResetPasswordInput"]},ValueTypes["SimpleResult"]], placesAutocomplete?: [{ session:string, input:string, language?:ValueTypes["AvailableTranslation"], country?:ValueTypes["CountryCodesComponentEnum"][]},true], placesGeocode?: [{ session:string, placeId:string},true], placesGeocodeFromAddress?: [{ address:string},true], categoriesGetOne?: [{ id:string},ValueTypes["CategoryModel"]], categoriesGetMany?: [{ search?:string, ressourceType:ValueTypes["RessourceEnum"], pagination?:ValueTypes["GetArgs"]},ValueTypes["CategoryModel"]], categoriesGetCount?: [{ search?:string, ressourceType:ValueTypes["RessourceEnum"], pagination?:ValueTypes["GetArgs"]},true], listsGetOne?: [{ id:string},ValueTypes["ListModel"]], listsGetMany?: [{ search?:string, ressourceType:ValueTypes["ListEnum"], pagination?:ValueTypes["GetArgs"]},ValueTypes["ListModel"]], listsGetCount?: [{ search?:string, ressourceType:ValueTypes["ListEnum"], pagination?:ValueTypes["GetArgs"]},true], accountsDashboardLinkStripe?:true, workspacesGetOne?: [{ id:string},ValueTypes["WorkspaceModel"]], workspacesGetMany?: [{ geoSearch?:ValueTypes["GeolocSearchInput"], geoSearchWithAddress?:ValueTypes["GeolocAddressSearchInput"], _ids?:string[], search?:string, afterCreatedAt?:ValueTypes["DateTime"], afterUpdatedAt?:ValueTypes["DateTime"], pagination?:ValueTypes["GetArgs"], dateFrom?:ValueTypes["DateTime"], dateTo?:ValueTypes["DateTime"], hoursFrom?:string, hoursTo?:string, workspaceType?:ValueTypes["WorkspaceTypeEnum"], workspaceTypes?:ValueTypes["WorkspaceTypeEnum"][], priceMin?:number, priceMax?:number, maxCapacity?:number, equipmentIds?:string[], featureIds?:string[]},ValueTypes["WorkspaceModel"]], workspacesGetCount?: [{ geoSearch?:ValueTypes["GeolocSearchInput"], geoSearchWithAddress?:ValueTypes["GeolocAddressSearchInput"], _ids?:string[], search?:string, afterCreatedAt?:ValueTypes["DateTime"], afterUpdatedAt?:ValueTypes["DateTime"], pagination?:ValueTypes["GetArgs"], dateFrom?:ValueTypes["DateTime"], dateTo?:ValueTypes["DateTime"], hoursFrom?:string, hoursTo?:string, workspaceType?:ValueTypes["WorkspaceTypeEnum"], workspaceTypes?:ValueTypes["WorkspaceTypeEnum"][], priceMin?:number, priceMax?:number, maxCapacity?:number, equipmentIds?:string[], featureIds?:string[]},true], workspacesSearchMany?: [{ geoSearch?:ValueTypes["GeolocSearchInput"], geoSearchWithAddress?:ValueTypes["GeolocAddressSearchInput"], _ids?:string[], search?:string, afterCreatedAt?:ValueTypes["DateTime"], afterUpdatedAt?:ValueTypes["DateTime"], pagination?:ValueTypes["GetArgs"], dateFrom?:ValueTypes["DateTime"], dateTo?:ValueTypes["DateTime"], hoursFrom?:string, hoursTo?:string, workspaceType?:ValueTypes["WorkspaceTypeEnum"], workspaceTypes?:ValueTypes["WorkspaceTypeEnum"][], priceMin?:number, priceMax?:number, maxCapacity?:number, equipmentIds?:string[], featureIds?:string[]},ValueTypes["WorkspaceModel"]], workspacesGetMine?: [{ geoSearch?:ValueTypes["GeolocSearchInput"], geoSearchWithAddress?:ValueTypes["GeolocAddressSearchInput"], _ids?:string[], search?:string, afterCreatedAt?:ValueTypes["DateTime"], afterUpdatedAt?:ValueTypes["DateTime"], pagination?:ValueTypes["GetArgs"], dateFrom?:ValueTypes["DateTime"], dateTo?:ValueTypes["DateTime"], hoursFrom?:string, hoursTo?:string, workspaceType?:ValueTypes["WorkspaceTypeEnum"], workspaceTypes?:ValueTypes["WorkspaceTypeEnum"][], priceMin?:number, priceMax?:number, maxCapacity?:number, equipmentIds?:string[], featureIds?:string[]},ValueTypes["WorkspaceModel"]], workspacesGetMineCount?: [{ geoSearch?:ValueTypes["GeolocSearchInput"], geoSearchWithAddress?:ValueTypes["GeolocAddressSearchInput"], _ids?:string[], search?:string, afterCreatedAt?:ValueTypes["DateTime"], afterUpdatedAt?:ValueTypes["DateTime"], pagination?:ValueTypes["GetArgs"], dateFrom?:ValueTypes["DateTime"], dateTo?:ValueTypes["DateTime"], hoursFrom?:string, hoursTo?:string, workspaceType?:ValueTypes["WorkspaceTypeEnum"], workspaceTypes?:ValueTypes["WorkspaceTypeEnum"][], priceMin?:number, priceMax?:number, maxCapacity?:number, equipmentIds?:string[], featureIds?:string[]},true], bookingsGetOne?: [{ id:string},ValueTypes["BookingEngineSchema"]], bookingsGetMany?: [{ startDate?:ValueTypes["DateTime"], endDate?:ValueTypes["DateTime"], rangeType?:ValueTypes["RangeType"], dateTabType?:ValueTypes["DateTabType"], dateRange?:ValueTypes["DateRangeComponentInput"], _ids?:string[], search?:string, afterCreatedAt?:ValueTypes["DateTime"], afterUpdatedAt?:ValueTypes["DateTime"], pagination?:ValueTypes["GetArgs"], ressourceModel?:ValueTypes["BookingsRessourceEnum"], ressourceId?:string, status?:ValueTypes["StatusEnum"][]},ValueTypes["BookingEngineSchema"]], bookingsGetCount?: [{ startDate?:ValueTypes["DateTime"], endDate?:ValueTypes["DateTime"], rangeType?:ValueTypes["RangeType"], dateTabType?:ValueTypes["DateTabType"], dateRange?:ValueTypes["DateRangeComponentInput"], _ids?:string[], search?:string, afterCreatedAt?:ValueTypes["DateTime"], afterUpdatedAt?:ValueTypes["DateTime"], pagination?:ValueTypes["GetArgs"], ressourceModel?:ValueTypes["BookingsRessourceEnum"], ressourceId?:string, status?:ValueTypes["StatusEnum"][]},true], myCurrentOrder?:ValueTypes["OrderEngineSchema"], myOrdersGetOne?: [{ id:string},ValueTypes["OrderEngineSchema"]], myOrdersGetMany?: [{ orderStatus?:ValueTypes["OrderStatusEnum"], paymentStatus?:ValueTypes["PaymentStatusEnum"], pagination?:ValueTypes["GetArgs"], search?:string},ValueTypes["OrderEngineSchema"]], myOrdersGetManyCount?: [{ orderStatus?:ValueTypes["OrderStatusEnum"], paymentStatus?:ValueTypes["PaymentStatusEnum"], pagination?:ValueTypes["GetArgs"], search?:string},true], roomsGetOne?: [{ id:string},ValueTypes["RoomModel"]], roomsGetMany?: [{ pagination?:ValueTypes["GetArgs"]},ValueTypes["RoomModel"]], roomsGetMessages?: [{ pagination?:ValueTypes["GetArgs"], id:string},ValueTypes["MessageModel"]], __typename?: true }>; ["AccountModel"]: AliasType<{ _id?:true, organisationId?:true, createdBy?:true, updatedBy?:true, deletedBy?:true, createdAt?:true, updatedAt?:true, r?:true, w?:true, d?:true, types?:true, organisationIds?:true, email?:true, userName?:true, firstName?:true, lastName?:true, profilePicture?:ValueTypes["ImageComponent"], phoneNumber?:true, gender?:true, birthDate?:true, getAge?:true, address?:ValueTypes["AddressComponent"], language?:true, settings?:ValueTypes["SettingsComponent"], securityCheck?:true, paymentInfo?:ValueTypes["AccountPaymentInfo"], payoutInfo?:ValueTypes["AccountPayoutInfo"], terms?:true, favLikes?:ValueTypes["FavoriteComponent"], getFavorites?:ValueTypes["FavoriteComponent"], __typename?: true }>; /** The javascript `Date` as string. Type represents date and time as the ISO Date string. */ ["DateTime"]:unknown; ["AccountTypeEnum"]:AccountTypeEnum; ["ImageComponent"]: AliasType<{ title?:true, fileType?:true, large?:true, medium?:true, small?:true, __typename?: true }>; ["AccountGenderEnum"]:AccountGenderEnum; ["AddressComponent"]: AliasType<{ number?:true, street?:true, streetBis?:true, floor?:true, box?:true, zip?:true, state?:true, city?:true, country?:true, __typename?: true }>; ["AvailableTranslation"]:AvailableTranslation; ["SettingsComponent"]: AliasType<{ type?:true, email?:true, pushNotifications?:true, sms?:true, __typename?: true }>; ["SettingsTypeEnum"]:SettingsTypeEnum; ["AccountPaymentInfo"]: AliasType<{ stripeInfo?:ValueTypes["StripeInfo"], paymentMethods?:ValueTypes["PaymentMethodDetail"], billingInfos?:ValueTypes["BillingAddressComponent"], __typename?: true }>; ["StripeInfo"]: AliasType<{ customerId?:true, __typename?: true }>; ["PaymentMethodDetail"]: AliasType<{ _id?:true, sPayMethodId?:true, default?:true, nameOnCard?:true, type?:true, cardInfo?:ValueTypes["CardInfo"], __typename?: true }>; ["cardTypeEnum"]:cardTypeEnum; ["CardInfo"]: AliasType<{ brand?:true, country?:true, exp_month?:true, exp_year?:true, last4?:true, __typename?: true }>; ["cardBrandEnum"]:cardBrandEnum; ["BillingAddressComponent"]: AliasType<{ firstName?:true, lastName?:true, address?:ValueTypes["AddressStrictComponent"], email?:true, default?:true, customTags?:true, company?:true, vatNumber?:true, fiscalForm?:true, _id?:true, __typename?: true }>; ["AddressStrictComponent"]: AliasType<{ number?:true, street?:true, zip?:true, city?:true, country?:true, streetBis?:true, floor?:true, box?:true, state?:true, __typename?: true }>; /** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ ["JSONObject"]:unknown; ["AccountPayoutInfo"]: AliasType<{ stripeInfo?:ValueTypes["StripePayoutInfo"], __typename?: true }>; ["StripePayoutInfo"]: AliasType<{ accountId?:true, chargesEnabled?:true, payoutsEnabled?:true, detailsSubmitted?:true, __typename?: true }>; ["FavoriteComponent"]: AliasType<{ ressourceId?:true, ressourceType?:true, addedAt?:true, favorite?:true, liked?:true, __typename?: true }>; ["RessourceEnum"]:RessourceEnum; ["FirebaseTokenResult"]: AliasType<{ localId?:true, email?:true, displayName?:true, idToken?:true, registered?:true, refreshToken?:true, expiresIn?:true, __typename?: true }>; ["LoginInput"]: { email:string, password:string }; ["SimpleResult"]: AliasType<{ message?:true, __typename?: true }>; ["ResetPasswordInput"]: { email:string }; ["CountryCodesComponentEnum"]:CountryCodesComponentEnum; ["CategoryModel"]: AliasType<{ _id?:true, organisationId?:true, createdBy?:true, updatedBy?:true, deletedBy?:true, createdAt?:true, updatedAt?:true, r?:true, w?:true, d?:true, title?:ValueTypes["TranslatableComponent"], teaser?:ValueTypes["TranslatableComponent"], cover?:ValueTypes["ImageComponent"], thumbnail?:ValueTypes["ImageComponent"], extraImages?:ValueTypes["ImageComponent"], content?:ValueTypes["TranslatableComponent"], seo?:ValueTypes["SEOField"], urls?:ValueTypes["TranslatableComponent"], ressourceType?:true, colorCode?:true, __typename?: true }>; ["TranslatableComponent"]: AliasType<{ en?:true, fr?:true, nl?:true, de?:true, __typename?: true }>; ["SEOField"]: AliasType<{ title?:ValueTypes["TranslatableComponent"], description?:ValueTypes["TranslatableComponent"], keywords?:ValueTypes["TranslatableComponent"], thumbnail?:ValueTypes["ImageComponent"], __typename?: true }>; ["GetArgs"]: { limit:number, skip:number, sort?:string }; ["ListModel"]: AliasType<{ _id?:true, organisationId?:true, createdBy?:true, updatedBy?:true, deletedBy?:true, createdAt?:true, updatedAt?:true, r?:true, w?:true, d?:true, title?:ValueTypes["TranslatableComponent"], teaser?:ValueTypes["TranslatableComponent"], cover?:ValueTypes["ImageComponent"], thumbnail?:ValueTypes["ImageComponent"], extraImages?:ValueTypes["ImageComponent"], content?:ValueTypes["TranslatableComponent"], seo?:ValueTypes["SEOField"], urls?:ValueTypes["TranslatableComponent"], ressourceType?:true, colorCode?:true, __typename?: true }>; ["ListEnum"]:ListEnum; ["WorkspaceModel"]: AliasType<{ _id?:true, organisationId?:true, createdBy?:true, updatedBy?:true, deletedBy?:true, createdAt?:true, updatedAt?:true, r?:true, w?:true, d?:true, title?:true, teaser?:true, cover?:ValueTypes["ImageComponent"], thumbnail?:ValueTypes["ImageComponent"], extraImages?:ValueTypes["ImageComponent"], content?:true, seo?:ValueTypes["SEOSimpleField"], urls?:true, place?:ValueTypes["PlaceComponent"], dist?:ValueTypes["GeolocDistComponent"], getDistFromLocation?: [{ longitude:number, latitude:number, radius?:number},true], workspaceType?:true, pricingPerHour?:true, currency?:true, maxCapacity?:true, minStay?:true, maxStay?:true, availability?:ValueTypes["AvailabilityComponent"], mainImages?:ValueTypes["MainImageComponent"], equipmentIds?:true, featureIds?:true, address?:ValueTypes["AddressComponent"], finalPrice?:true, getEquipments?:ValueTypes["ListModel"], getFeatures?:ValueTypes["ListModel"], getBookings?: [{ ressourceModel?:ValueTypes["BookingsRessourceEnum"], ressourceId?:string, status?:ValueTypes["StatusEnum"][], startDate?:ValueTypes["DateTime"], endDate?:ValueTypes["DateTime"], rangeType?:ValueTypes["RangeType"], dateTabType?:ValueTypes["DateTabType"], dateRange?:ValueTypes["DateRangeComponentInput"], _ids?:string[], search?:string, afterCreatedAt?:ValueTypes["DateTime"], afterUpdatedAt?:ValueTypes["DateTime"], pagination?:ValueTypes["GetArgs"]},ValueTypes["BookingSchema"]], getOwner?:ValueTypes["WorkspaceOwnerComponent"], __typename?: true }>; ["SEOSimpleField"]: AliasType<{ title?:true, description?:true, keywords?:true, thumbnail?:ValueTypes["ImageComponent"], __typename?: true }>; ["PlaceComponent"]: AliasType<{ placeId?:true, address?:ValueTypes["AddressComponent"], loc?:ValueTypes["LocComponent"], formattedAddress?:true, __typename?: true }>; ["LocComponent"]: AliasType<{ type?:true, coordinates?:true, __typename?: true }>; ["GeolocDistComponent"]: AliasType<{ calculated?:true, location?:ValueTypes["LocComponent"], __typename?: true }>; ["WorkspaceTypeEnum"]:WorkspaceTypeEnum; ["AvailableCurrency"]:AvailableCurrency; ["AvailabilityComponent"]: AliasType<{ dates?:ValueTypes["DateRangeComponent"], hours?:ValueTypes["HourComponent"], exceptions?:ValueTypes["DateExceptionComponent"], noWeekend?:true, __typename?: true }>; ["DateRangeComponent"]: AliasType<{ startDate?:true, endDate?:true, __typename?: true }>; ["HourComponent"]: AliasType<{ from?:true, to?:true, __typename?: true }>; ["DateExceptionComponent"]: AliasType<{ dates?:ValueTypes["DateRangeComponent"], hours?:ValueTypes["HourComponent"], allDay?:true, __typename?: true }>; ["MainImageComponent"]: AliasType<{ main?:ValueTypes["ImageComponent"], one?:ValueTypes["ImageComponent"], two?:ValueTypes["ImageComponent"], three?:ValueTypes["ImageComponent"], four?:ValueTypes["ImageComponent"], __typename?: true }>; ["BookingSchema"]: AliasType<{ durationType?:true, startToEnd?:ValueTypes["DateRangeComponent"], slot?:ValueTypes["SlotComponent"], capacity?:true, comments?:true, status?:true, paths?:ValueTypes["EnginePathComponent"], ownerId?:true, dates?:ValueTypes["DateRangeComponent"], _id?:true, organisationId?:true, by?:ValueTypes["MetaBy"], permissions?:ValueTypes["MetaPermissions"], createdAt?:true, updatedAt?:true, tagsIds?:true, __typename?: true }>; ["IEngineSchema"]:AliasType<{ _id?:true, organisationId?:true, paths?:ValueTypes["EnginePathComponent"], by?:ValueTypes["MetaBy"], permissions?:ValueTypes["MetaPermissions"], createdAt?:true, updatedAt?:true, tagsIds?:true; ['...on BookingSchema']?: Omit; ['...on BookingEngineSchema']?: Omit; ['...on OrderEngineSchema']?: Omit; __typename?: true }>; ["EnginePathComponent"]: AliasType<{ ressourceModel?:true, ressourceId?:true, __typename?: true }>; ["ModelLoadersEnum"]:ModelLoadersEnum; ["MetaBy"]: AliasType<{ createdBy?:true, updatedBy?:true, deletedBy?:true, __typename?: true }>; ["MetaPermissions"]: AliasType<{ r?:true, w?:true, d?:true, __typename?: true }>; ["DurationTypeEnum"]:DurationTypeEnum; ["SlotComponent"]: AliasType<{ startDate?:true, endDate?:true, startTime?:true, endTime?:true, __typename?: true }>; ["StatusEnum"]:StatusEnum; ["BookingsRessourceEnum"]:BookingsRessourceEnum; ["RangeType"]:RangeType; ["DateTabType"]:DateTabType; ["DateRangeComponentInput"]: { startDate:ValueTypes["DateTime"], endDate:ValueTypes["DateTime"] }; ["WorkspaceOwnerComponent"]: AliasType<{ firstName?:true, lastName?:true, __typename?: true }>; ["GeolocSearchInput"]: { longitude:number, latitude:number, radius?:number }; ["GeolocAddressSearchInput"]: { formattedAddress:string, radius?:number }; ["BookingEngineSchema"]: AliasType<{ durationType?:true, startToEnd?:ValueTypes["DateRangeComponent"], slot?:ValueTypes["SlotComponent"], capacity?:true, comments?:true, status?:true, paths?:ValueTypes["EnginePathComponent"], ownerId?:true, dates?:ValueTypes["DateRangeComponent"], owner?:ValueTypes["AccountModel"], _id?:true, organisationId?:true, by?:ValueTypes["MetaBy"], permissions?:ValueTypes["MetaPermissions"], createdAt?:true, updatedAt?:true, tagsIds?:true, workspace?:ValueTypes["WorkspaceModel"], room?:ValueTypes["RoomModel"], __typename?: true }>; ["RoomModel"]: AliasType<{ _id?:true, organisationId?:true, createdBy?:true, updatedBy?:true, deletedBy?:true, createdAt?:true, updatedAt?:true, r?:true, w?:true, d?:true, title?:true, stats?:ValueTypes["RoomsStats"], getAccounts?:ValueTypes["AccountModel"], getMessages?: [{ pagination?:ValueTypes["GetArgs"]},ValueTypes["MessageModel"]], lastMessage?:true, __typename?: true }>; ["RoomsStats"]: AliasType<{ unreadCounts?:ValueTypes["UnreadCount"], __typename?: true }>; ["UnreadCount"]: AliasType<{ accountId?:true, count?:true, __typename?: true }>; ["MessageModel"]: AliasType<{ _id?:true, organisationId?:true, createdBy?:true, updatedBy?:true, deletedBy?:true, createdAt?:true, updatedAt?:true, r?:true, w?:true, d?:true, roomId?:true, notified?:true, message?:true, edited?:true, deleted?:true, file?:ValueTypes["ImageComponent"], sentBy?:true, readBy?:ValueTypes["MessageReadBy"], __typename?: true }>; ["MessageReadBy"]: AliasType<{ accountId?:true, readAt?:true, __typename?: true }>; ["OrderEngineSchema"]: AliasType<{ lines?:ValueTypes["LineItemSchema"], localeInfo?:ValueTypes["LocaleInfo"], currency?:true, vatExempt?:true, accountId?:true, contactInfo?:ValueTypes["BuyerInfoComponent"], billingInfo?:ValueTypes["BuyerInfoComponent"], promoId?:true, invoiceInfo?:ValueTypes["InvoiceInfo"], providerOrderItems?:ValueTypes["ProviderSchema"], orderName?:ValueTypes["TranslatableComponent"], orderStatus?:true, paymentIntent?:ValueTypes["PaymentIntentInfo"], paymentStatus?:true, paymentInfo?:ValueTypes["PaymentInfo"], subTotalPrice?:true, vatPrice?:true, finalPrice?:true, totalPrice?:true, promo?:ValueTypes["PromoModel"], _id?:true, organisationId?:true, paths?:ValueTypes["EnginePathComponent"], by?:ValueTypes["MetaBy"], permissions?:ValueTypes["MetaPermissions"], createdAt?:true, updatedAt?:true, tagsIds?:true, getBookingInput?:ValueTypes["BookingNewInput"], __typename?: true }>; ["LineItemSchema"]: AliasType<{ _id?:true, productRessource?:true, productId?:true, title?:true, price?:true, salesPrice?:true, quantity?:true, vatClassId?:true, parentId?:true, addOns?:ValueTypes["AddOnComponent"], localeInfo?:ValueTypes["LocaleInfo"], promoId?:true, finalPrice?:true, getProduct?:ValueTypes["ProductUnion"], getLinePrice?:true, getLineVatPrice?:true, __typename?: true }>; ["ProductRessourceEnum"]:ProductRessourceEnum; ["AddOnComponent"]: AliasType<{ addOnId?:true, quantity?:true, __typename?: true }>; ["LocaleInfo"]: AliasType<{ countryCode?:true, locale?:true, __typename?: true }>; ["ProductUnion"]: AliasType<{ ["...on WorkspaceModel"] : ValueTypes["WorkspaceModel"] __typename?: true }>; ["CurrencyEnum"]:CurrencyEnum; ["BuyerInfoComponent"]: AliasType<{ firstName?:true, lastName?:true, email?:true, company?:true, vatNumber?:true, address?:ValueTypes["AddressComponent"], __typename?: true }>; ["InvoiceInfo"]: AliasType<{ provider?:true, invoiceId?:true, invoiceNumber?:true, __typename?: true }>; ["InvoicingProvider"]:InvoicingProvider; ["ProviderSchema"]: AliasType<{ _id?:true, organisationId?:true, orderStatus?:true, lines?:ValueTypes["LineItemSchema"], __typename?: true }>; ["OrderBusinessStatusEnum"]:OrderBusinessStatusEnum; ["OrderStatusEnum"]:OrderStatusEnum; ["PaymentIntentInfo"]: AliasType<{ provider?:true, stripePaymentIntentData?:ValueTypes["StripePaymentIntentData"], __typename?: true }>; ["PaymentProvider"]:PaymentProvider; ["StripePaymentIntentData"]: AliasType<{ id?:true, client_secret?:true, currency?:true, customer?:true, status?:true, __typename?: true }>; ["PaymentStatusEnum"]:PaymentStatusEnum; ["PaymentInfo"]: AliasType<{ provider?:true, transactionId?:true, __typename?: true }>; ["PromoModel"]: AliasType<{ _id?:true, organisationId?:true, createdBy?:true, updatedBy?:true, deletedBy?:true, createdAt?:true, updatedAt?:true, r?:true, w?:true, d?:true, code?:true, description?:ValueTypes["TranslatableComponent"], type?:true, value?:true, validity?:true, cummulable?:true, usageLimit?:true, usage?:true, __typename?: true }>; ["PromoType"]:PromoType; ["BookingNewInput"]: AliasType<{ durationType?:true, startToEnd?:ValueTypes["DateRangeComponent"], slot?:ValueTypes["SlotComponent"], capacity?:true, comments?:true, ressourceModel?:true, ressourceId?:true, checkoutInfo?:ValueTypes["CheckoutEngineInput"], __typename?: true }>; ["CheckoutEngineInput"]: AliasType<{ contactInfo?:ValueTypes["BuyerInfoComponent"], billingInfo?:ValueTypes["BuyerInfoComponent"], token?:true, __typename?: true }>; ["Mutation"]: AliasType<{ updateMe?: [{ input:ValueTypes["EditAccountInput"]},ValueTypes["AccountModel"]], updateMeEmail?: [{ input:ValueTypes["NewEmailInput"]},ValueTypes["AccountModel"]], updateMePassword?: [{ input:ValueTypes["NewPasswordInput"]},ValueTypes["AccountModel"]], resetPassword?: [{ input:ValueTypes["ResetPasswordInput"]},ValueTypes["SimpleResult"]], registerGuest?: [{ otherInfo:ValueTypes["EditAccountInput"], input:ValueTypes["LinkEmailInput"]},ValueTypes["AccountModel"]], register?: [{ input:ValueTypes["NewAccountInput"]},ValueTypes["AccountModel"]], accountsBillingInfosAddOne?: [{ input:ValueTypes["BillingAddressInput"]},ValueTypes["BillingAddressComponent"]], accountsBillingInfosEditOne?: [{ input:ValueTypes["BillingAddressInput"], id:string},ValueTypes["BillingAddressComponent"]], accountsBillingInfosDeleteOne?: [{ id:string},true], accountsPaymentMethodsAddOne?: [{ input:ValueTypes["PaymentMethodInput"]},ValueTypes["PaymentMethodDetail"]], accountsPaymentMethodsMarkasDefault?: [{ id:string},ValueTypes["PaymentMethodDetail"]], accountsPaymentMethodsDeleteOne?: [{ id:string},true], accountsLinkWithStripe?:true, accountsRefreshInfoStripe?:ValueTypes["AccountModel"], accountsFavoritesAddOne?: [{ input:ValueTypes["AddInput"]},ValueTypes["FavoriteComponent"]], accountsFavoritesRemoveOne?: [{ input:ValueTypes["RemoveInput"]},ValueTypes["SuccessResponse"]], workspacesAddOne?: [{ input:ValueTypes["NewWorkspaceInput"]},ValueTypes["WorkspaceModel"]], workspacesEditOne?: [{ input:ValueTypes["EditWorkspaceInput"], id:string},ValueTypes["WorkspaceModel"]], workspacesDeleteOne?: [{ id:string},ValueTypes["WorkspaceModel"]], finaliseCheckoutWithStripe?: [{ input:ValueTypes["CheckoutInput"]},ValueTypes["OrderEngineSchema"]], removeCurrentOrder?:ValueTypes["OrderEngineSchema"], validateOrder?: [{ id:string},ValueTypes["OrderEngineSchema"]], roomsCreateOne?: [{ input:ValueTypes["NewRoomInput"]},ValueTypes["RoomModel"]], roomsAddPeople?: [{ input:ValueTypes["AddPeopleToRoomInput"]},ValueTypes["RoomModel"]], roomsRemovePeople?: [{ input:ValueTypes["RemovePeopleFromRoomInput"]},ValueTypes["RoomModel"]], roomsMarkAllMessageAsRead?: [{ roomId:string},ValueTypes["RoomModel"]], reserveOneBooking?: [{ input:ValueTypes["BookingNewInputSchema"]},ValueTypes["OrderEngineSchema"]], roomsAddOneMessage?: [{ input:ValueTypes["NewMessageInput"]},ValueTypes["MessageModel"]], roomsEditOneMessage?: [{ input:ValueTypes["EditMessageInput"], id:string},ValueTypes["MessageModel"]], roomsMarkMessageAsRead?: [{ id:string},ValueTypes["MessageModel"]], roomsDeleteOneMessage?: [{ id:string},ValueTypes["MessageModel"]], __typename?: true }>; ["EditAccountInput"]: { userName?:string, firstName?:string, lastName?:string, profilePicture?:ValueTypes["ImageInput"], phoneNumber?:string, gender?:ValueTypes["AccountGenderEnum"], birthDate?:ValueTypes["DateTime"], address?:ValueTypes["AddressInput"], language?:ValueTypes["AvailableTranslation"], settings?:ValueTypes["SettingsInput"][] }; ["ImageInput"]: { title?:string, fileType?:string, large:string, medium?:string, small?:string }; ["AddressInput"]: { number?:string, street?:string, streetBis?:string, floor?:string, box?:string, zip?:string, state?:string, city:string, country:string }; ["SettingsInput"]: { type:ValueTypes["SettingsTypeEnum"], email?:boolean, pushNotifications?:boolean, sms?:boolean }; ["NewEmailInput"]: { newEmail:string }; ["NewPasswordInput"]: { oldPassword:string, newPassword:string, newPasswordConfirmation:string }; ["LinkEmailInput"]: { email:string, password:string, idToken:string }; ["NewAccountInput"]: { email:string, password:string, passwordConfirmation:string, userName?:string, firstName?:string, lastName?:string, profilePicture?:ValueTypes["ImageInput"], phoneNumber?:string, gender?:ValueTypes["AccountGenderEnum"], birthDate?:ValueTypes["DateTime"], address?:ValueTypes["AddressInput"], language?:ValueTypes["AvailableTranslation"], settings?:ValueTypes["SettingsInput"][], terms:boolean }; ["BillingAddressInput"]: { firstName:string, lastName:string, address:ValueTypes["AddressStrictInput"], email?:string, default?:boolean, customTags?:ValueTypes["JSONObject"], company?:string, vatNumber?:string, fiscalForm?:string }; ["AddressStrictInput"]: { number:string, street:string, zip:string, city:string, country:string, streetBis?:string, floor?:string, box?:string, state?:string }; ["PaymentMethodInput"]: { sPayMethodId:string, nameOnCard:string, default?:boolean }; ["AddInput"]: { ressourceId:string, ressourceType:ValueTypes["RessourceEnum"] }; ["SuccessResponse"]: AliasType<{ success?:true, __typename?: true }>; ["RemoveInput"]: { ressourceId:string }; ["NewWorkspaceInput"]: { title?:string, teaser?:string, cover?:ValueTypes["ImageInput"], thumbnail?:ValueTypes["ImageInput"], extraImages?:ValueTypes["ImageInput"][], content?:string, seo?:ValueTypes["SEOSimpleInput"], urls?:string, workspaceType:ValueTypes["WorkspaceTypeEnum"], pricingPerHour:number, currency:ValueTypes["AvailableCurrency"], maxCapacity:number, minStay:number, maxStay?:number, availability:ValueTypes["AvailabilityInput"], mainImages:ValueTypes["MainImage"], equipmentIds:string[], featureIds:string[], address:ValueTypes["AddressStrictInput"] }; ["SEOSimpleInput"]: { title:string, description:string, keywords?:string, thumbnail?:ValueTypes["ImageInput"] }; ["AvailabilityInput"]: { dates:ValueTypes["DateRangeComponentInput"], hours?:ValueTypes["HoursInput"][], exceptions?:ValueTypes["DateExceptionComponentInput"][], noWeekend?:boolean }; ["HoursInput"]: { from:string, to:string }; ["DateExceptionComponentInput"]: { dates:ValueTypes["DateRangeComponentInput"], hours?:ValueTypes["HoursInput"][], allDay?:boolean }; ["MainImage"]: { main?:ValueTypes["ImageInput"], one?:ValueTypes["ImageInput"], two?:ValueTypes["ImageInput"], three?:ValueTypes["ImageInput"], four?:ValueTypes["ImageInput"] }; ["EditWorkspaceInput"]: { title?:string, teaser?:string, cover?:ValueTypes["ImageInput"], thumbnail?:ValueTypes["ImageInput"], extraImages?:ValueTypes["ImageInput"][], content?:string, seo?:ValueTypes["SEOSimpleInput"], urls?:string, workspaceType?:ValueTypes["WorkspaceTypeEnum"], pricingPerHour?:number, currency:ValueTypes["AvailableCurrency"], maxCapacity?:number, minStay?:number, maxStay?:number, availability?:ValueTypes["AvailabilityInput"], mainImages:ValueTypes["MainImage"], equipmentIds?:string[], featureIds?:string[], address?:ValueTypes["AddressStrictInput"] }; ["CheckoutInput"]: { contactInfo:ValueTypes["BuyerInfo"], billingInfo:ValueTypes["BuyerInfo"], token?:string }; ["BuyerInfo"]: { firstName:string, lastName:string, email:string, company?:string, vatNumber?:string, address:ValueTypes["AddressInput"] }; ["NewRoomInput"]: { accountIds:string[] }; ["AddPeopleToRoomInput"]: { roomId:string, accountIds:string[] }; ["RemovePeopleFromRoomInput"]: { roomId:string, accountIds:string[] }; ["BookingNewInputSchema"]: { durationType:ValueTypes["DurationTypeEnum"], startToEnd?:ValueTypes["DateRangeComponentInput"], slot?:ValueTypes["SlotComponentInput"], capacity?:number, comments?:string, ressourceModel:ValueTypes["BookingsRessourceEnum"], ressourceId:string, checkoutInfo?:ValueTypes["CheckoutEngineInputI"] }; ["SlotComponentInput"]: { startDate:ValueTypes["DateTime"], endDate:ValueTypes["DateTime"], startTime:string, endTime:string }; ["CheckoutEngineInputI"]: { contactInfo:ValueTypes["BuyerInfo"], billingInfo:ValueTypes["BuyerInfo"], token?:string }; ["NewMessageInput"]: { roomId:string, message:string, file?:ValueTypes["ImageInput"] }; ["EditMessageInput"]: { message:string } } export type ModelTypes = { ["Query"]: { me:ModelTypes["AccountModel"], login:ModelTypes["FirebaseTokenResult"], magicLink:ModelTypes["SimpleResult"], placesAutocomplete:ModelTypes["JSONObject"][], placesGeocode:ModelTypes["JSONObject"], placesGeocodeFromAddress:ModelTypes["JSONObject"], categoriesGetOne:ModelTypes["CategoryModel"], categoriesGetMany:ModelTypes["CategoryModel"][], categoriesGetCount:number, listsGetOne:ModelTypes["ListModel"], listsGetMany:ModelTypes["ListModel"][], listsGetCount:number, accountsDashboardLinkStripe:string, workspacesGetOne:ModelTypes["WorkspaceModel"], workspacesGetMany:ModelTypes["WorkspaceModel"][], workspacesGetCount:number, workspacesSearchMany:ModelTypes["WorkspaceModel"][], workspacesGetMine:ModelTypes["WorkspaceModel"][], workspacesGetMineCount:number, bookingsGetOne:ModelTypes["BookingEngineSchema"], bookingsGetMany:ModelTypes["BookingEngineSchema"][], bookingsGetCount:number, myCurrentOrder:ModelTypes["OrderEngineSchema"], myOrdersGetOne:ModelTypes["OrderEngineSchema"], myOrdersGetMany:ModelTypes["OrderEngineSchema"][], myOrdersGetManyCount:number, roomsGetOne:ModelTypes["RoomModel"], roomsGetMany:ModelTypes["RoomModel"][], roomsGetMessages:ModelTypes["MessageModel"][] }; ["AccountModel"]: { _id:string, organisationId?:string, createdBy?:string, updatedBy?:string, deletedBy?:string, createdAt:ModelTypes["DateTime"], updatedAt:ModelTypes["DateTime"], r:string[], w:string[], d:string[], types:ModelTypes["AccountTypeEnum"][], organisationIds?:string[], email:string, userName?:string, firstName?:string, lastName?:string, profilePicture?:ModelTypes["ImageComponent"], phoneNumber?:string, gender?:ModelTypes["AccountGenderEnum"], birthDate?:ModelTypes["DateTime"], getAge?:number, address?:ModelTypes["AddressComponent"], language?:ModelTypes["AvailableTranslation"], settings?:ModelTypes["SettingsComponent"][], securityCheck:boolean, paymentInfo?:ModelTypes["AccountPaymentInfo"], payoutInfo?:ModelTypes["AccountPayoutInfo"], terms:boolean, favLikes?:(ModelTypes["FavoriteComponent"] | undefined)[], getFavorites:ModelTypes["FavoriteComponent"][] }; /** The javascript `Date` as string. Type represents date and time as the ISO Date string. */ ["DateTime"]:any; ["AccountTypeEnum"]: GraphQLTypes["AccountTypeEnum"]; ["ImageComponent"]: { title?:string, fileType?:string, large:string, medium?:string, small?:string }; ["AccountGenderEnum"]: GraphQLTypes["AccountGenderEnum"]; ["AddressComponent"]: { number?:string, street?:string, streetBis?:string, floor?:string, box?:string, zip?:string, state?:string, city:string, country:string }; ["AvailableTranslation"]: GraphQLTypes["AvailableTranslation"]; ["SettingsComponent"]: { type:ModelTypes["SettingsTypeEnum"], email?:boolean, pushNotifications?:boolean, sms?:boolean }; ["SettingsTypeEnum"]: GraphQLTypes["SettingsTypeEnum"]; ["AccountPaymentInfo"]: { stripeInfo?:ModelTypes["StripeInfo"], paymentMethods?:ModelTypes["PaymentMethodDetail"][], billingInfos?:ModelTypes["BillingAddressComponent"][] }; ["StripeInfo"]: { customerId:string }; ["PaymentMethodDetail"]: { _id:string, sPayMethodId:string, default:boolean, nameOnCard:string, type:ModelTypes["cardTypeEnum"], cardInfo?:ModelTypes["CardInfo"] }; ["cardTypeEnum"]: GraphQLTypes["cardTypeEnum"]; ["CardInfo"]: { brand:ModelTypes["cardBrandEnum"], country:string, exp_month:number, exp_year:number, last4:string }; ["cardBrandEnum"]: GraphQLTypes["cardBrandEnum"]; ["BillingAddressComponent"]: { firstName:string, lastName:string, address:ModelTypes["AddressStrictComponent"], email?:string, default?:boolean, customTags?:ModelTypes["JSONObject"], company?:string, vatNumber?:string, fiscalForm?:string, _id:string }; ["AddressStrictComponent"]: { number:string, street:string, zip:string, city:string, country:string, streetBis?:string, floor?:string, box?:string, state?:string }; /** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ ["JSONObject"]:any; ["AccountPayoutInfo"]: { stripeInfo?:ModelTypes["StripePayoutInfo"] }; ["StripePayoutInfo"]: { accountId:string, chargesEnabled:boolean, payoutsEnabled:boolean, detailsSubmitted:boolean }; ["FavoriteComponent"]: { ressourceId:string, ressourceType:ModelTypes["RessourceEnum"], addedAt:ModelTypes["DateTime"], favorite?:boolean, liked?:boolean }; ["RessourceEnum"]: GraphQLTypes["RessourceEnum"]; ["FirebaseTokenResult"]: { localId:string, email?:string, displayName?:string, idToken:string, registered?:boolean, refreshToken:string, expiresIn:string }; ["LoginInput"]: GraphQLTypes["LoginInput"]; ["SimpleResult"]: { message:string }; ["ResetPasswordInput"]: GraphQLTypes["ResetPasswordInput"]; ["CountryCodesComponentEnum"]: GraphQLTypes["CountryCodesComponentEnum"]; ["CategoryModel"]: { _id:string, organisationId?:string, createdBy?:string, updatedBy?:string, deletedBy?:string, createdAt:ModelTypes["DateTime"], updatedAt:ModelTypes["DateTime"], r:string[], w:string[], d:string[], title:ModelTypes["TranslatableComponent"], teaser?:ModelTypes["TranslatableComponent"], cover?:ModelTypes["ImageComponent"], thumbnail?:ModelTypes["ImageComponent"], extraImages?:ModelTypes["ImageComponent"][], content?:ModelTypes["TranslatableComponent"], seo?:ModelTypes["SEOField"], urls?:ModelTypes["TranslatableComponent"], ressourceType:ModelTypes["RessourceEnum"], colorCode?:string }; ["TranslatableComponent"]: { en?:string, fr:string, nl?:string, de?:string }; ["SEOField"]: { title:ModelTypes["TranslatableComponent"], description:ModelTypes["TranslatableComponent"], keywords?:ModelTypes["TranslatableComponent"], thumbnail?:ModelTypes["ImageComponent"] }; ["GetArgs"]: GraphQLTypes["GetArgs"]; ["ListModel"]: { _id:string, organisationId?:string, createdBy?:string, updatedBy?:string, deletedBy?:string, createdAt:ModelTypes["DateTime"], updatedAt:ModelTypes["DateTime"], r:string[], w:string[], d:string[], title:ModelTypes["TranslatableComponent"], teaser?:ModelTypes["TranslatableComponent"], cover?:ModelTypes["ImageComponent"], thumbnail?:ModelTypes["ImageComponent"], extraImages?:ModelTypes["ImageComponent"][], content?:ModelTypes["TranslatableComponent"], seo?:ModelTypes["SEOField"], urls?:ModelTypes["TranslatableComponent"], ressourceType:ModelTypes["ListEnum"], colorCode?:string }; ["ListEnum"]: GraphQLTypes["ListEnum"]; ["WorkspaceModel"]: { _id:string, organisationId?:string, createdBy?:string, updatedBy?:string, deletedBy?:string, createdAt:ModelTypes["DateTime"], updatedAt:ModelTypes["DateTime"], r:string[], w:string[], d:string[], title?:string, teaser?:string, cover?:ModelTypes["ImageComponent"], thumbnail?:ModelTypes["ImageComponent"], extraImages?:ModelTypes["ImageComponent"][], content?:string, seo?:ModelTypes["SEOSimpleField"], urls?:string, place:ModelTypes["PlaceComponent"], dist?:ModelTypes["GeolocDistComponent"], getDistFromLocation?:number, workspaceType:ModelTypes["WorkspaceTypeEnum"], pricingPerHour:number, currency:ModelTypes["AvailableCurrency"], maxCapacity:number, minStay:number, maxStay?:number, availability:ModelTypes["AvailabilityComponent"], mainImages:ModelTypes["MainImageComponent"], equipmentIds:string[], featureIds:string[], address:ModelTypes["AddressComponent"], finalPrice:number, getEquipments?:(ModelTypes["ListModel"] | undefined)[], getFeatures?:(ModelTypes["ListModel"] | undefined)[], getBookings?:(ModelTypes["BookingSchema"] | undefined)[], getOwner?:ModelTypes["WorkspaceOwnerComponent"] }; ["SEOSimpleField"]: { title:string, description:string, keywords?:string, thumbnail?:ModelTypes["ImageComponent"] }; ["PlaceComponent"]: { placeId:string, address?:ModelTypes["AddressComponent"], loc:ModelTypes["LocComponent"], formattedAddress:string }; ["LocComponent"]: { type:string, coordinates:number[] }; ["GeolocDistComponent"]: { calculated?:number, location?:ModelTypes["LocComponent"] }; ["WorkspaceTypeEnum"]: GraphQLTypes["WorkspaceTypeEnum"]; ["AvailableCurrency"]: GraphQLTypes["AvailableCurrency"]; ["AvailabilityComponent"]: { dates:ModelTypes["DateRangeComponent"], hours?:ModelTypes["HourComponent"][], exceptions?:ModelTypes["DateExceptionComponent"][], noWeekend?:boolean }; ["DateRangeComponent"]: { startDate:ModelTypes["DateTime"], endDate:ModelTypes["DateTime"] }; ["HourComponent"]: { from:string, to:string }; ["DateExceptionComponent"]: { dates:ModelTypes["DateRangeComponent"], hours?:ModelTypes["HourComponent"][], allDay?:boolean }; ["MainImageComponent"]: { main?:ModelTypes["ImageComponent"], one?:ModelTypes["ImageComponent"], two?:ModelTypes["ImageComponent"], three?:ModelTypes["ImageComponent"], four?:ModelTypes["ImageComponent"] }; ["BookingSchema"]: { durationType:ModelTypes["DurationTypeEnum"], startToEnd?:ModelTypes["DateRangeComponent"], slot?:ModelTypes["SlotComponent"], capacity:number, comments?:string, status:ModelTypes["StatusEnum"], paths?:ModelTypes["EnginePathComponent"][], ownerId:string, dates:ModelTypes["DateRangeComponent"][], _id:string, organisationId?:string, by?:ModelTypes["MetaBy"], permissions?:ModelTypes["MetaPermissions"], createdAt:ModelTypes["DateTime"], updatedAt:ModelTypes["DateTime"], tagsIds?:string[] }; ["IEngineSchema"]: ModelTypes["BookingSchema"] | ModelTypes["BookingEngineSchema"] | ModelTypes["OrderEngineSchema"]; ["EnginePathComponent"]: { ressourceModel:ModelTypes["ModelLoadersEnum"], ressourceId:string }; ["ModelLoadersEnum"]: GraphQLTypes["ModelLoadersEnum"]; ["MetaBy"]: { createdBy?:string, updatedBy?:string, deletedBy?:string }; ["MetaPermissions"]: { r:string[], w:string[], d:string[] }; ["DurationTypeEnum"]: GraphQLTypes["DurationTypeEnum"]; ["SlotComponent"]: { startDate:ModelTypes["DateTime"], endDate:ModelTypes["DateTime"], startTime:string, endTime:string }; ["StatusEnum"]: GraphQLTypes["StatusEnum"]; ["BookingsRessourceEnum"]: GraphQLTypes["BookingsRessourceEnum"]; ["RangeType"]: GraphQLTypes["RangeType"]; ["DateTabType"]: GraphQLTypes["DateTabType"]; ["DateRangeComponentInput"]: GraphQLTypes["DateRangeComponentInput"]; ["WorkspaceOwnerComponent"]: { firstName?:string, lastName?:string }; ["GeolocSearchInput"]: GraphQLTypes["GeolocSearchInput"]; ["GeolocAddressSearchInput"]: GraphQLTypes["GeolocAddressSearchInput"]; ["BookingEngineSchema"]: { durationType:ModelTypes["DurationTypeEnum"], startToEnd?:ModelTypes["DateRangeComponent"], slot?:ModelTypes["SlotComponent"], capacity?:number, comments?:string, status:ModelTypes["StatusEnum"], paths?:ModelTypes["EnginePathComponent"][], ownerId:string, dates:ModelTypes["DateRangeComponent"][], owner:ModelTypes["AccountModel"], _id:string, organisationId?:string, by?:ModelTypes["MetaBy"], permissions?:ModelTypes["MetaPermissions"], createdAt:ModelTypes["DateTime"], updatedAt:ModelTypes["DateTime"], tagsIds?:string[], workspace?:ModelTypes["WorkspaceModel"], room?:ModelTypes["RoomModel"] }; ["RoomModel"]: { _id:string, organisationId?:string, createdBy?:string, updatedBy?:string, deletedBy?:string, createdAt:ModelTypes["DateTime"], updatedAt:ModelTypes["DateTime"], r:string[], w:string[], d:string[], title?:string, stats:ModelTypes["RoomsStats"], getAccounts?:ModelTypes["AccountModel"][], getMessages?:ModelTypes["MessageModel"][], lastMessage?:ModelTypes["DateTime"] }; ["RoomsStats"]: { unreadCounts:ModelTypes["UnreadCount"][] }; ["UnreadCount"]: { accountId:string, count:number }; ["MessageModel"]: { _id:string, organisationId?:string, createdBy?:string, updatedBy?:string, deletedBy?:string, createdAt:ModelTypes["DateTime"], updatedAt:ModelTypes["DateTime"], r:string[], w:string[], d:string[], roomId:string, notified?:boolean, message:string, edited:boolean, deleted:boolean, file?:ModelTypes["ImageComponent"], sentBy:string, readBy:ModelTypes["MessageReadBy"][] }; ["MessageReadBy"]: { accountId:string, readAt:ModelTypes["DateTime"] }; ["OrderEngineSchema"]: { lines:ModelTypes["LineItemSchema"][], localeInfo:ModelTypes["LocaleInfo"], currency:ModelTypes["CurrencyEnum"], vatExempt:boolean, accountId:string, contactInfo?:ModelTypes["BuyerInfoComponent"], billingInfo?:ModelTypes["BuyerInfoComponent"], promoId?:string, invoiceInfo?:ModelTypes["InvoiceInfo"], providerOrderItems?:ModelTypes["ProviderSchema"][], orderName?:ModelTypes["TranslatableComponent"], orderStatus:ModelTypes["OrderStatusEnum"], paymentIntent:ModelTypes["PaymentIntentInfo"], paymentStatus?:ModelTypes["PaymentStatusEnum"], paymentInfo?:ModelTypes["PaymentInfo"], subTotalPrice:number, vatPrice:number, finalPrice:number, totalPrice:number, promo?:ModelTypes["PromoModel"], _id:string, organisationId?:string, paths?:ModelTypes["EnginePathComponent"][], by?:ModelTypes["MetaBy"], permissions?:ModelTypes["MetaPermissions"], createdAt:ModelTypes["DateTime"], updatedAt:ModelTypes["DateTime"], tagsIds?:string[], getBookingInput?:ModelTypes["BookingNewInput"] }; ["LineItemSchema"]: { _id:string, productRessource:ModelTypes["ProductRessourceEnum"], productId:string, title:string, price:number, salesPrice:number, quantity:number, vatClassId:string, parentId?:string, addOns?:ModelTypes["AddOnComponent"][], localeInfo?:ModelTypes["LocaleInfo"], promoId?:string, finalPrice?:number, getProduct?:ModelTypes["ProductUnion"], getLinePrice:number, getLineVatPrice:number }; ["ProductRessourceEnum"]: GraphQLTypes["ProductRessourceEnum"]; ["AddOnComponent"]: { addOnId:string, quantity:number }; ["LocaleInfo"]: { countryCode?:string, locale?:ModelTypes["AvailableTranslation"] }; ["ProductUnion"]:ModelTypes["WorkspaceModel"]; ["CurrencyEnum"]: GraphQLTypes["CurrencyEnum"]; ["BuyerInfoComponent"]: { firstName:string, lastName:string, email:string, company?:string, vatNumber?:string, address:ModelTypes["AddressComponent"] }; ["InvoiceInfo"]: { provider:ModelTypes["InvoicingProvider"], invoiceId:string, invoiceNumber:number }; ["InvoicingProvider"]: GraphQLTypes["InvoicingProvider"]; ["ProviderSchema"]: { _id:string, organisationId:string, orderStatus:ModelTypes["OrderBusinessStatusEnum"], lines:ModelTypes["LineItemSchema"][] }; ["OrderBusinessStatusEnum"]: GraphQLTypes["OrderBusinessStatusEnum"]; ["OrderStatusEnum"]: GraphQLTypes["OrderStatusEnum"]; ["PaymentIntentInfo"]: { provider:ModelTypes["PaymentProvider"], stripePaymentIntentData:ModelTypes["StripePaymentIntentData"] }; ["PaymentProvider"]: GraphQLTypes["PaymentProvider"]; ["StripePaymentIntentData"]: { id:string, client_secret?:string, currency:string, customer:string, status:string }; ["PaymentStatusEnum"]: GraphQLTypes["PaymentStatusEnum"]; ["PaymentInfo"]: { provider:ModelTypes["PaymentProvider"], transactionId:string }; ["PromoModel"]: { _id:string, organisationId?:string, createdBy?:string, updatedBy?:string, deletedBy?:string, createdAt:ModelTypes["DateTime"], updatedAt:ModelTypes["DateTime"], r:string[], w:string[], d:string[], code:string, description?:ModelTypes["TranslatableComponent"], type:ModelTypes["PromoType"], value:number, validity?:ModelTypes["DateTime"], cummulable:boolean, usageLimit?:number, usage:number }; ["PromoType"]: GraphQLTypes["PromoType"]; ["BookingNewInput"]: { durationType:ModelTypes["DurationTypeEnum"], startToEnd?:ModelTypes["DateRangeComponent"], slot?:ModelTypes["SlotComponent"], capacity?:number, comments?:string, ressourceModel:ModelTypes["BookingsRessourceEnum"], ressourceId:string, checkoutInfo?:ModelTypes["CheckoutEngineInput"] }; ["CheckoutEngineInput"]: { contactInfo:ModelTypes["BuyerInfoComponent"], billingInfo:ModelTypes["BuyerInfoComponent"], token?:string }; ["Mutation"]: { updateMe:ModelTypes["AccountModel"], updateMeEmail:ModelTypes["AccountModel"], updateMePassword:ModelTypes["AccountModel"], resetPassword:ModelTypes["SimpleResult"], registerGuest:ModelTypes["AccountModel"], register:ModelTypes["AccountModel"], accountsBillingInfosAddOne:ModelTypes["BillingAddressComponent"], accountsBillingInfosEditOne:ModelTypes["BillingAddressComponent"], accountsBillingInfosDeleteOne:string, accountsPaymentMethodsAddOne:ModelTypes["PaymentMethodDetail"], accountsPaymentMethodsMarkasDefault:ModelTypes["PaymentMethodDetail"], accountsPaymentMethodsDeleteOne:string, accountsLinkWithStripe:string, accountsRefreshInfoStripe:ModelTypes["AccountModel"], accountsFavoritesAddOne:ModelTypes["FavoriteComponent"], accountsFavoritesRemoveOne:ModelTypes["SuccessResponse"], workspacesAddOne:ModelTypes["WorkspaceModel"], workspacesEditOne:ModelTypes["WorkspaceModel"], workspacesDeleteOne:ModelTypes["WorkspaceModel"], finaliseCheckoutWithStripe:ModelTypes["OrderEngineSchema"], removeCurrentOrder:ModelTypes["OrderEngineSchema"], validateOrder:ModelTypes["OrderEngineSchema"], roomsCreateOne:ModelTypes["RoomModel"], roomsAddPeople:ModelTypes["RoomModel"], roomsRemovePeople:ModelTypes["RoomModel"], roomsMarkAllMessageAsRead:ModelTypes["RoomModel"], reserveOneBooking:ModelTypes["OrderEngineSchema"], roomsAddOneMessage:ModelTypes["MessageModel"], roomsEditOneMessage:ModelTypes["MessageModel"], roomsMarkMessageAsRead:ModelTypes["MessageModel"], roomsDeleteOneMessage:ModelTypes["MessageModel"] }; ["EditAccountInput"]: GraphQLTypes["EditAccountInput"]; ["ImageInput"]: GraphQLTypes["ImageInput"]; ["AddressInput"]: GraphQLTypes["AddressInput"]; ["SettingsInput"]: GraphQLTypes["SettingsInput"]; ["NewEmailInput"]: GraphQLTypes["NewEmailInput"]; ["NewPasswordInput"]: GraphQLTypes["NewPasswordInput"]; ["LinkEmailInput"]: GraphQLTypes["LinkEmailInput"]; ["NewAccountInput"]: GraphQLTypes["NewAccountInput"]; ["BillingAddressInput"]: GraphQLTypes["BillingAddressInput"]; ["AddressStrictInput"]: GraphQLTypes["AddressStrictInput"]; ["PaymentMethodInput"]: GraphQLTypes["PaymentMethodInput"]; ["AddInput"]: GraphQLTypes["AddInput"]; ["SuccessResponse"]: { success:boolean }; ["RemoveInput"]: GraphQLTypes["RemoveInput"]; ["NewWorkspaceInput"]: GraphQLTypes["NewWorkspaceInput"]; ["SEOSimpleInput"]: GraphQLTypes["SEOSimpleInput"]; ["AvailabilityInput"]: GraphQLTypes["AvailabilityInput"]; ["HoursInput"]: GraphQLTypes["HoursInput"]; ["DateExceptionComponentInput"]: GraphQLTypes["DateExceptionComponentInput"]; ["MainImage"]: GraphQLTypes["MainImage"]; ["EditWorkspaceInput"]: GraphQLTypes["EditWorkspaceInput"]; ["CheckoutInput"]: GraphQLTypes["CheckoutInput"]; ["BuyerInfo"]: GraphQLTypes["BuyerInfo"]; ["NewRoomInput"]: GraphQLTypes["NewRoomInput"]; ["AddPeopleToRoomInput"]: GraphQLTypes["AddPeopleToRoomInput"]; ["RemovePeopleFromRoomInput"]: GraphQLTypes["RemovePeopleFromRoomInput"]; ["BookingNewInputSchema"]: GraphQLTypes["BookingNewInputSchema"]; ["SlotComponentInput"]: GraphQLTypes["SlotComponentInput"]; ["CheckoutEngineInputI"]: GraphQLTypes["CheckoutEngineInputI"]; ["NewMessageInput"]: GraphQLTypes["NewMessageInput"]; ["EditMessageInput"]: GraphQLTypes["EditMessageInput"] } export type GraphQLTypes = { ["Query"]: { __typename: "Query", me: GraphQLTypes["AccountModel"], login: GraphQLTypes["FirebaseTokenResult"], magicLink: GraphQLTypes["SimpleResult"], placesAutocomplete: Array, placesGeocode: GraphQLTypes["JSONObject"], placesGeocodeFromAddress: GraphQLTypes["JSONObject"], categoriesGetOne: GraphQLTypes["CategoryModel"], categoriesGetMany: Array, categoriesGetCount: number, listsGetOne: GraphQLTypes["ListModel"], listsGetMany: Array, listsGetCount: number, accountsDashboardLinkStripe: string, workspacesGetOne: GraphQLTypes["WorkspaceModel"], workspacesGetMany: Array, workspacesGetCount: number, workspacesSearchMany: Array, workspacesGetMine: Array, workspacesGetMineCount: number, bookingsGetOne: GraphQLTypes["BookingEngineSchema"], bookingsGetMany: Array, bookingsGetCount: number, myCurrentOrder: GraphQLTypes["OrderEngineSchema"], myOrdersGetOne: GraphQLTypes["OrderEngineSchema"], myOrdersGetMany: Array, myOrdersGetManyCount: number, roomsGetOne: GraphQLTypes["RoomModel"], roomsGetMany: Array, roomsGetMessages: Array }; ["AccountModel"]: { __typename: "AccountModel", _id: string, organisationId: string | null, createdBy: string | null, updatedBy: string | null, deletedBy: string | null, createdAt: GraphQLTypes["DateTime"], updatedAt: GraphQLTypes["DateTime"], r: Array, w: Array, d: Array, types: Array, organisationIds: Array | null, email: string, userName: string | null, firstName: string | null, lastName: string | null, profilePicture: GraphQLTypes["ImageComponent"] | null, phoneNumber: string | null, gender: GraphQLTypes["AccountGenderEnum"] | null, birthDate: GraphQLTypes["DateTime"] | null, getAge: number | null, address: GraphQLTypes["AddressComponent"] | null, language: GraphQLTypes["AvailableTranslation"] | null, settings: Array | null, securityCheck: boolean, paymentInfo: GraphQLTypes["AccountPaymentInfo"] | null, payoutInfo: GraphQLTypes["AccountPayoutInfo"] | null, terms: boolean, favLikes: Array | null, getFavorites: Array }; /** The javascript `Date` as string. Type represents date and time as the ISO Date string. */ ["DateTime"]:any; ["AccountTypeEnum"]: AccountTypeEnum; ["ImageComponent"]: { __typename: "ImageComponent", title: string | null, fileType: string | null, large: string, medium: string | null, small: string | null }; ["AccountGenderEnum"]: AccountGenderEnum; ["AddressComponent"]: { __typename: "AddressComponent", number: string | null, street: string | null, streetBis: string | null, floor: string | null, box: string | null, zip: string | null, state: string | null, city: string, country: string }; ["AvailableTranslation"]: AvailableTranslation; ["SettingsComponent"]: { __typename: "SettingsComponent", type: GraphQLTypes["SettingsTypeEnum"], email: boolean | null, pushNotifications: boolean | null, sms: boolean | null }; ["SettingsTypeEnum"]: SettingsTypeEnum; ["AccountPaymentInfo"]: { __typename: "AccountPaymentInfo", stripeInfo: GraphQLTypes["StripeInfo"] | null, paymentMethods: Array | null, billingInfos: Array | null }; ["StripeInfo"]: { __typename: "StripeInfo", customerId: string }; ["PaymentMethodDetail"]: { __typename: "PaymentMethodDetail", _id: string, sPayMethodId: string, default: boolean, nameOnCard: string, type: GraphQLTypes["cardTypeEnum"], cardInfo: GraphQLTypes["CardInfo"] | null }; ["cardTypeEnum"]: cardTypeEnum; ["CardInfo"]: { __typename: "CardInfo", brand: GraphQLTypes["cardBrandEnum"], country: string, exp_month: number, exp_year: number, last4: string }; ["cardBrandEnum"]: cardBrandEnum; ["BillingAddressComponent"]: { __typename: "BillingAddressComponent", firstName: string, lastName: string, address: GraphQLTypes["AddressStrictComponent"], email: string | null, default: boolean | null, customTags: GraphQLTypes["JSONObject"] | null, company: string | null, vatNumber: string | null, fiscalForm: string | null, _id: string }; ["AddressStrictComponent"]: { __typename: "AddressStrictComponent", number: string, street: string, zip: string, city: string, country: string, streetBis: string | null, floor: string | null, box: string | null, state: string | null }; /** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ ["JSONObject"]:any; ["AccountPayoutInfo"]: { __typename: "AccountPayoutInfo", stripeInfo: GraphQLTypes["StripePayoutInfo"] | null }; ["StripePayoutInfo"]: { __typename: "StripePayoutInfo", accountId: string, chargesEnabled: boolean, payoutsEnabled: boolean, detailsSubmitted: boolean }; ["FavoriteComponent"]: { __typename: "FavoriteComponent", ressourceId: string, ressourceType: GraphQLTypes["RessourceEnum"], addedAt: GraphQLTypes["DateTime"], favorite: boolean | null, liked: boolean | null }; ["RessourceEnum"]: RessourceEnum; ["FirebaseTokenResult"]: { __typename: "FirebaseTokenResult", localId: string, email: string | null, displayName: string | null, idToken: string, registered: boolean | null, refreshToken: string, expiresIn: string }; ["LoginInput"]: { email: string, password: string }; ["SimpleResult"]: { __typename: "SimpleResult", message: string }; ["ResetPasswordInput"]: { email: string }; ["CountryCodesComponentEnum"]: CountryCodesComponentEnum; ["CategoryModel"]: { __typename: "CategoryModel", _id: string, organisationId: string | null, createdBy: string | null, updatedBy: string | null, deletedBy: string | null, createdAt: GraphQLTypes["DateTime"], updatedAt: GraphQLTypes["DateTime"], r: Array, w: Array, d: Array, title: GraphQLTypes["TranslatableComponent"], teaser: GraphQLTypes["TranslatableComponent"] | null, cover: GraphQLTypes["ImageComponent"] | null, thumbnail: GraphQLTypes["ImageComponent"] | null, extraImages: Array | null, content: GraphQLTypes["TranslatableComponent"] | null, seo: GraphQLTypes["SEOField"] | null, urls: GraphQLTypes["TranslatableComponent"] | null, ressourceType: GraphQLTypes["RessourceEnum"], colorCode: string | null }; ["TranslatableComponent"]: { __typename: "TranslatableComponent", en: string | null, fr: string, nl: string | null, de: string | null }; ["SEOField"]: { __typename: "SEOField", title: GraphQLTypes["TranslatableComponent"], description: GraphQLTypes["TranslatableComponent"], keywords: GraphQLTypes["TranslatableComponent"] | null, thumbnail: GraphQLTypes["ImageComponent"] | null }; ["GetArgs"]: { limit: number, skip: number, sort: string | null }; ["ListModel"]: { __typename: "ListModel", _id: string, organisationId: string | null, createdBy: string | null, updatedBy: string | null, deletedBy: string | null, createdAt: GraphQLTypes["DateTime"], updatedAt: GraphQLTypes["DateTime"], r: Array, w: Array, d: Array, title: GraphQLTypes["TranslatableComponent"], teaser: GraphQLTypes["TranslatableComponent"] | null, cover: GraphQLTypes["ImageComponent"] | null, thumbnail: GraphQLTypes["ImageComponent"] | null, extraImages: Array | null, content: GraphQLTypes["TranslatableComponent"] | null, seo: GraphQLTypes["SEOField"] | null, urls: GraphQLTypes["TranslatableComponent"] | null, ressourceType: GraphQLTypes["ListEnum"], colorCode: string | null }; ["ListEnum"]: ListEnum; ["WorkspaceModel"]: { __typename: "WorkspaceModel", _id: string, organisationId: string | null, createdBy: string | null, updatedBy: string | null, deletedBy: string | null, createdAt: GraphQLTypes["DateTime"], updatedAt: GraphQLTypes["DateTime"], r: Array, w: Array, d: Array, title: string | null, teaser: string | null, cover: GraphQLTypes["ImageComponent"] | null, thumbnail: GraphQLTypes["ImageComponent"] | null, extraImages: Array | null, content: string | null, seo: GraphQLTypes["SEOSimpleField"] | null, urls: string | null, place: GraphQLTypes["PlaceComponent"], dist: GraphQLTypes["GeolocDistComponent"] | null, getDistFromLocation: number | null, workspaceType: GraphQLTypes["WorkspaceTypeEnum"], pricingPerHour: number, currency: GraphQLTypes["AvailableCurrency"], maxCapacity: number, minStay: number, maxStay: number | null, availability: GraphQLTypes["AvailabilityComponent"], mainImages: GraphQLTypes["MainImageComponent"], equipmentIds: Array, featureIds: Array, address: GraphQLTypes["AddressComponent"], finalPrice: number, getEquipments: Array | null, getFeatures: Array | null, getBookings: Array | null, getOwner: GraphQLTypes["WorkspaceOwnerComponent"] | null }; ["SEOSimpleField"]: { __typename: "SEOSimpleField", title: string, description: string, keywords: string | null, thumbnail: GraphQLTypes["ImageComponent"] | null }; ["PlaceComponent"]: { __typename: "PlaceComponent", placeId: string, address: GraphQLTypes["AddressComponent"] | null, loc: GraphQLTypes["LocComponent"], formattedAddress: string }; ["LocComponent"]: { __typename: "LocComponent", type: string, coordinates: Array }; ["GeolocDistComponent"]: { __typename: "GeolocDistComponent", calculated: number | null, location: GraphQLTypes["LocComponent"] | null }; ["WorkspaceTypeEnum"]: WorkspaceTypeEnum; ["AvailableCurrency"]: AvailableCurrency; ["AvailabilityComponent"]: { __typename: "AvailabilityComponent", dates: GraphQLTypes["DateRangeComponent"], hours: Array | null, exceptions: Array | null, noWeekend: boolean | null }; ["DateRangeComponent"]: { __typename: "DateRangeComponent", startDate: GraphQLTypes["DateTime"], endDate: GraphQLTypes["DateTime"] }; ["HourComponent"]: { __typename: "HourComponent", from: string, to: string }; ["DateExceptionComponent"]: { __typename: "DateExceptionComponent", dates: GraphQLTypes["DateRangeComponent"], hours: Array | null, allDay: boolean | null }; ["MainImageComponent"]: { __typename: "MainImageComponent", main: GraphQLTypes["ImageComponent"] | null, one: GraphQLTypes["ImageComponent"] | null, two: GraphQLTypes["ImageComponent"] | null, three: GraphQLTypes["ImageComponent"] | null, four: GraphQLTypes["ImageComponent"] | null }; ["BookingSchema"]: { __typename: "BookingSchema", durationType: GraphQLTypes["DurationTypeEnum"], startToEnd: GraphQLTypes["DateRangeComponent"] | null, slot: GraphQLTypes["SlotComponent"] | null, capacity: number, comments: string | null, status: GraphQLTypes["StatusEnum"], paths: Array | null, ownerId: string, dates: Array, _id: string, organisationId: string | null, by: GraphQLTypes["MetaBy"] | null, permissions: GraphQLTypes["MetaPermissions"] | null, createdAt: GraphQLTypes["DateTime"], updatedAt: GraphQLTypes["DateTime"], tagsIds: Array | null }; ["IEngineSchema"]: { __typename:"BookingSchema" | "BookingEngineSchema" | "OrderEngineSchema" _id: string, organisationId: string | null, paths: Array | null, by: GraphQLTypes["MetaBy"] | null, permissions: GraphQLTypes["MetaPermissions"] | null, createdAt: GraphQLTypes["DateTime"], updatedAt: GraphQLTypes["DateTime"], tagsIds: Array | null ['...on BookingSchema']: '__union' & GraphQLTypes["BookingSchema"]; ['...on BookingEngineSchema']: '__union' & GraphQLTypes["BookingEngineSchema"]; ['...on OrderEngineSchema']: '__union' & GraphQLTypes["OrderEngineSchema"]; }; ["EnginePathComponent"]: { __typename: "EnginePathComponent", ressourceModel: GraphQLTypes["ModelLoadersEnum"], ressourceId: string }; ["ModelLoadersEnum"]: ModelLoadersEnum; ["MetaBy"]: { __typename: "MetaBy", createdBy: string | null, updatedBy: string | null, deletedBy: string | null }; ["MetaPermissions"]: { __typename: "MetaPermissions", r: Array, w: Array, d: Array }; ["DurationTypeEnum"]: DurationTypeEnum; ["SlotComponent"]: { __typename: "SlotComponent", startDate: GraphQLTypes["DateTime"], endDate: GraphQLTypes["DateTime"], startTime: string, endTime: string }; ["StatusEnum"]: StatusEnum; ["BookingsRessourceEnum"]: BookingsRessourceEnum; ["RangeType"]: RangeType; ["DateTabType"]: DateTabType; ["DateRangeComponentInput"]: { startDate: GraphQLTypes["DateTime"], endDate: GraphQLTypes["DateTime"] }; ["WorkspaceOwnerComponent"]: { __typename: "WorkspaceOwnerComponent", firstName: string | null, lastName: string | null }; ["GeolocSearchInput"]: { longitude: number, latitude: number, radius: number | null }; ["GeolocAddressSearchInput"]: { formattedAddress: string, radius: number | null }; ["BookingEngineSchema"]: { __typename: "BookingEngineSchema", durationType: GraphQLTypes["DurationTypeEnum"], startToEnd: GraphQLTypes["DateRangeComponent"] | null, slot: GraphQLTypes["SlotComponent"] | null, capacity: number | null, comments: string | null, status: GraphQLTypes["StatusEnum"], paths: Array | null, ownerId: string, dates: Array, owner: GraphQLTypes["AccountModel"], _id: string, organisationId: string | null, by: GraphQLTypes["MetaBy"] | null, permissions: GraphQLTypes["MetaPermissions"] | null, createdAt: GraphQLTypes["DateTime"], updatedAt: GraphQLTypes["DateTime"], tagsIds: Array | null, workspace: GraphQLTypes["WorkspaceModel"] | null, room: GraphQLTypes["RoomModel"] | null }; ["RoomModel"]: { __typename: "RoomModel", _id: string, organisationId: string | null, createdBy: string | null, updatedBy: string | null, deletedBy: string | null, createdAt: GraphQLTypes["DateTime"], updatedAt: GraphQLTypes["DateTime"], r: Array, w: Array, d: Array, title: string | null, stats: GraphQLTypes["RoomsStats"], getAccounts: Array | null, getMessages: Array | null, lastMessage: GraphQLTypes["DateTime"] | null }; ["RoomsStats"]: { __typename: "RoomsStats", unreadCounts: Array }; ["UnreadCount"]: { __typename: "UnreadCount", accountId: string, count: number }; ["MessageModel"]: { __typename: "MessageModel", _id: string, organisationId: string | null, createdBy: string | null, updatedBy: string | null, deletedBy: string | null, createdAt: GraphQLTypes["DateTime"], updatedAt: GraphQLTypes["DateTime"], r: Array, w: Array, d: Array, roomId: string, notified: boolean | null, message: string, edited: boolean, deleted: boolean, file: GraphQLTypes["ImageComponent"] | null, sentBy: string, readBy: Array }; ["MessageReadBy"]: { __typename: "MessageReadBy", accountId: string, readAt: GraphQLTypes["DateTime"] }; ["OrderEngineSchema"]: { __typename: "OrderEngineSchema", lines: Array, localeInfo: GraphQLTypes["LocaleInfo"], currency: GraphQLTypes["CurrencyEnum"], vatExempt: boolean, accountId: string, contactInfo: GraphQLTypes["BuyerInfoComponent"] | null, billingInfo: GraphQLTypes["BuyerInfoComponent"] | null, promoId: string | null, invoiceInfo: GraphQLTypes["InvoiceInfo"] | null, providerOrderItems: Array | null, orderName: GraphQLTypes["TranslatableComponent"] | null, orderStatus: GraphQLTypes["OrderStatusEnum"], paymentIntent: GraphQLTypes["PaymentIntentInfo"], paymentStatus: GraphQLTypes["PaymentStatusEnum"] | null, paymentInfo: GraphQLTypes["PaymentInfo"] | null, subTotalPrice: number, vatPrice: number, finalPrice: number, totalPrice: number, promo: GraphQLTypes["PromoModel"] | null, _id: string, organisationId: string | null, paths: Array | null, by: GraphQLTypes["MetaBy"] | null, permissions: GraphQLTypes["MetaPermissions"] | null, createdAt: GraphQLTypes["DateTime"], updatedAt: GraphQLTypes["DateTime"], tagsIds: Array | null, getBookingInput: GraphQLTypes["BookingNewInput"] | null }; ["LineItemSchema"]: { __typename: "LineItemSchema", _id: string, productRessource: GraphQLTypes["ProductRessourceEnum"], productId: string, title: string, price: number, salesPrice: number, quantity: number, vatClassId: string, parentId: string | null, addOns: Array | null, localeInfo: GraphQLTypes["LocaleInfo"] | null, promoId: string | null, finalPrice: number | null, getProduct: GraphQLTypes["ProductUnion"] | null, getLinePrice: number, getLineVatPrice: number }; ["ProductRessourceEnum"]: ProductRessourceEnum; ["AddOnComponent"]: { __typename: "AddOnComponent", addOnId: string, quantity: number }; ["LocaleInfo"]: { __typename: "LocaleInfo", countryCode: string | null, locale: GraphQLTypes["AvailableTranslation"] | null }; ["ProductUnion"]:{ ['...on WorkspaceModel']: '__union' & GraphQLTypes["WorkspaceModel"]; }; ["CurrencyEnum"]: CurrencyEnum; ["BuyerInfoComponent"]: { __typename: "BuyerInfoComponent", firstName: string, lastName: string, email: string, company: string | null, vatNumber: string | null, address: GraphQLTypes["AddressComponent"] }; ["InvoiceInfo"]: { __typename: "InvoiceInfo", provider: GraphQLTypes["InvoicingProvider"], invoiceId: string, invoiceNumber: number }; ["InvoicingProvider"]: InvoicingProvider; ["ProviderSchema"]: { __typename: "ProviderSchema", _id: string, organisationId: string, orderStatus: GraphQLTypes["OrderBusinessStatusEnum"], lines: Array }; ["OrderBusinessStatusEnum"]: OrderBusinessStatusEnum; ["OrderStatusEnum"]: OrderStatusEnum; ["PaymentIntentInfo"]: { __typename: "PaymentIntentInfo", provider: GraphQLTypes["PaymentProvider"], stripePaymentIntentData: GraphQLTypes["StripePaymentIntentData"] }; ["PaymentProvider"]: PaymentProvider; ["StripePaymentIntentData"]: { __typename: "StripePaymentIntentData", id: string, client_secret: string | null, currency: string, customer: string, status: string }; ["PaymentStatusEnum"]: PaymentStatusEnum; ["PaymentInfo"]: { __typename: "PaymentInfo", provider: GraphQLTypes["PaymentProvider"], transactionId: string }; ["PromoModel"]: { __typename: "PromoModel", _id: string, organisationId: string | null, createdBy: string | null, updatedBy: string | null, deletedBy: string | null, createdAt: GraphQLTypes["DateTime"], updatedAt: GraphQLTypes["DateTime"], r: Array, w: Array, d: Array, code: string, description: GraphQLTypes["TranslatableComponent"] | null, type: GraphQLTypes["PromoType"], value: number, validity: GraphQLTypes["DateTime"] | null, cummulable: boolean, usageLimit: number | null, usage: number }; ["PromoType"]: PromoType; ["BookingNewInput"]: { __typename: "BookingNewInput", durationType: GraphQLTypes["DurationTypeEnum"], startToEnd: GraphQLTypes["DateRangeComponent"] | null, slot: GraphQLTypes["SlotComponent"] | null, capacity: number | null, comments: string | null, ressourceModel: GraphQLTypes["BookingsRessourceEnum"], ressourceId: string, checkoutInfo: GraphQLTypes["CheckoutEngineInput"] | null }; ["CheckoutEngineInput"]: { __typename: "CheckoutEngineInput", contactInfo: GraphQLTypes["BuyerInfoComponent"], billingInfo: GraphQLTypes["BuyerInfoComponent"], token: string | null }; ["Mutation"]: { __typename: "Mutation", updateMe: GraphQLTypes["AccountModel"], updateMeEmail: GraphQLTypes["AccountModel"], updateMePassword: GraphQLTypes["AccountModel"], resetPassword: GraphQLTypes["SimpleResult"], registerGuest: GraphQLTypes["AccountModel"], register: GraphQLTypes["AccountModel"], accountsBillingInfosAddOne: GraphQLTypes["BillingAddressComponent"], accountsBillingInfosEditOne: GraphQLTypes["BillingAddressComponent"], accountsBillingInfosDeleteOne: string, accountsPaymentMethodsAddOne: GraphQLTypes["PaymentMethodDetail"], accountsPaymentMethodsMarkasDefault: GraphQLTypes["PaymentMethodDetail"], accountsPaymentMethodsDeleteOne: string, accountsLinkWithStripe: string, accountsRefreshInfoStripe: GraphQLTypes["AccountModel"], accountsFavoritesAddOne: GraphQLTypes["FavoriteComponent"], accountsFavoritesRemoveOne: GraphQLTypes["SuccessResponse"], workspacesAddOne: GraphQLTypes["WorkspaceModel"], workspacesEditOne: GraphQLTypes["WorkspaceModel"], workspacesDeleteOne: GraphQLTypes["WorkspaceModel"], finaliseCheckoutWithStripe: GraphQLTypes["OrderEngineSchema"], removeCurrentOrder: GraphQLTypes["OrderEngineSchema"], validateOrder: GraphQLTypes["OrderEngineSchema"], roomsCreateOne: GraphQLTypes["RoomModel"], roomsAddPeople: GraphQLTypes["RoomModel"], roomsRemovePeople: GraphQLTypes["RoomModel"], roomsMarkAllMessageAsRead: GraphQLTypes["RoomModel"], reserveOneBooking: GraphQLTypes["OrderEngineSchema"], roomsAddOneMessage: GraphQLTypes["MessageModel"], roomsEditOneMessage: GraphQLTypes["MessageModel"], roomsMarkMessageAsRead: GraphQLTypes["MessageModel"], roomsDeleteOneMessage: GraphQLTypes["MessageModel"] }; ["EditAccountInput"]: { userName: string | null, firstName: string | null, lastName: string | null, profilePicture: GraphQLTypes["ImageInput"] | null, phoneNumber: string | null, gender: GraphQLTypes["AccountGenderEnum"] | null, birthDate: GraphQLTypes["DateTime"] | null, address: GraphQLTypes["AddressInput"] | null, language: GraphQLTypes["AvailableTranslation"] | null, settings: Array | null }; ["ImageInput"]: { title: string | null, fileType: string | null, large: string, medium: string | null, small: string | null }; ["AddressInput"]: { number: string | null, street: string | null, streetBis: string | null, floor: string | null, box: string | null, zip: string | null, state: string | null, city: string, country: string }; ["SettingsInput"]: { type: GraphQLTypes["SettingsTypeEnum"], email: boolean | null, pushNotifications: boolean | null, sms: boolean | null }; ["NewEmailInput"]: { newEmail: string }; ["NewPasswordInput"]: { oldPassword: string, newPassword: string, newPasswordConfirmation: string }; ["LinkEmailInput"]: { email: string, password: string, idToken: string }; ["NewAccountInput"]: { email: string, password: string, passwordConfirmation: string, userName: string | null, firstName: string | null, lastName: string | null, profilePicture: GraphQLTypes["ImageInput"] | null, phoneNumber: string | null, gender: GraphQLTypes["AccountGenderEnum"] | null, birthDate: GraphQLTypes["DateTime"] | null, address: GraphQLTypes["AddressInput"] | null, language: GraphQLTypes["AvailableTranslation"] | null, settings: Array | null, terms: boolean }; ["BillingAddressInput"]: { firstName: string, lastName: string, address: GraphQLTypes["AddressStrictInput"], email: string | null, default: boolean | null, customTags: GraphQLTypes["JSONObject"] | null, company: string | null, vatNumber: string | null, fiscalForm: string | null }; ["AddressStrictInput"]: { number: string, street: string, zip: string, city: string, country: string, streetBis: string | null, floor: string | null, box: string | null, state: string | null }; ["PaymentMethodInput"]: { sPayMethodId: string, nameOnCard: string, default: boolean | null }; ["AddInput"]: { ressourceId: string, ressourceType: GraphQLTypes["RessourceEnum"] }; ["SuccessResponse"]: { __typename: "SuccessResponse", success: boolean }; ["RemoveInput"]: { ressourceId: string }; ["NewWorkspaceInput"]: { title: string | null, teaser: string | null, cover: GraphQLTypes["ImageInput"] | null, thumbnail: GraphQLTypes["ImageInput"] | null, extraImages: Array | null, content: string | null, seo: GraphQLTypes["SEOSimpleInput"] | null, urls: string | null, workspaceType: GraphQLTypes["WorkspaceTypeEnum"], pricingPerHour: number, currency: GraphQLTypes["AvailableCurrency"], maxCapacity: number, minStay: number, maxStay: number | null, availability: GraphQLTypes["AvailabilityInput"], mainImages: GraphQLTypes["MainImage"], equipmentIds: Array, featureIds: Array, address: GraphQLTypes["AddressStrictInput"] }; ["SEOSimpleInput"]: { title: string, description: string, keywords: string | null, thumbnail: GraphQLTypes["ImageInput"] | null }; ["AvailabilityInput"]: { dates: GraphQLTypes["DateRangeComponentInput"], hours: Array | null, exceptions: Array | null, noWeekend: boolean | null }; ["HoursInput"]: { from: string, to: string }; ["DateExceptionComponentInput"]: { dates: GraphQLTypes["DateRangeComponentInput"], hours: Array | null, allDay: boolean | null }; ["MainImage"]: { main: GraphQLTypes["ImageInput"] | null, one: GraphQLTypes["ImageInput"] | null, two: GraphQLTypes["ImageInput"] | null, three: GraphQLTypes["ImageInput"] | null, four: GraphQLTypes["ImageInput"] | null }; ["EditWorkspaceInput"]: { title: string | null, teaser: string | null, cover: GraphQLTypes["ImageInput"] | null, thumbnail: GraphQLTypes["ImageInput"] | null, extraImages: Array | null, content: string | null, seo: GraphQLTypes["SEOSimpleInput"] | null, urls: string | null, workspaceType: GraphQLTypes["WorkspaceTypeEnum"] | null, pricingPerHour: number | null, currency: GraphQLTypes["AvailableCurrency"], maxCapacity: number | null, minStay: number | null, maxStay: number | null, availability: GraphQLTypes["AvailabilityInput"] | null, mainImages: GraphQLTypes["MainImage"], equipmentIds: Array | null, featureIds: Array | null, address: GraphQLTypes["AddressStrictInput"] | null }; ["CheckoutInput"]: { contactInfo: GraphQLTypes["BuyerInfo"], billingInfo: GraphQLTypes["BuyerInfo"], token: string | null }; ["BuyerInfo"]: { firstName: string, lastName: string, email: string, company: string | null, vatNumber: string | null, address: GraphQLTypes["AddressInput"] }; ["NewRoomInput"]: { accountIds: Array }; ["AddPeopleToRoomInput"]: { roomId: string, accountIds: Array }; ["RemovePeopleFromRoomInput"]: { roomId: string, accountIds: Array }; ["BookingNewInputSchema"]: { durationType: GraphQLTypes["DurationTypeEnum"], startToEnd: GraphQLTypes["DateRangeComponentInput"] | null, slot: GraphQLTypes["SlotComponentInput"] | null, capacity: number | null, comments: string | null, ressourceModel: GraphQLTypes["BookingsRessourceEnum"], ressourceId: string, checkoutInfo: GraphQLTypes["CheckoutEngineInputI"] | null }; ["SlotComponentInput"]: { startDate: GraphQLTypes["DateTime"], endDate: GraphQLTypes["DateTime"], startTime: string, endTime: string }; ["CheckoutEngineInputI"]: { contactInfo: GraphQLTypes["BuyerInfo"], billingInfo: GraphQLTypes["BuyerInfo"], token: string | null }; ["NewMessageInput"]: { roomId: string, message: string, file: GraphQLTypes["ImageInput"] | null }; ["EditMessageInput"]: { message: string } } export enum AccountTypeEnum { admin = "admin", user = "user", pro = "pro", public = "public", organisationOwner = "organisationOwner", storeManager = "storeManager" } export enum AccountGenderEnum { m = "m", f = "f", other = "other" } export enum AvailableTranslation { en = "en", fr = "fr", nl = "nl", de = "de" } export enum SettingsTypeEnum { notifications = "notifications", promotions = "promotions", reminders = "reminders" } export enum cardTypeEnum { alipay = "alipay", au_becs_debit = "au_becs_debit", bacs_debit = "bacs_debit", bancontact = "bancontact", card = "card", eps = "eps", fpx = "fpx", giropay = "giropay", ideal = "ideal", p24 = "p24", sepa_debit = "sepa_debit", sofort = "sofort" } export enum cardBrandEnum { amex = "amex", diners = "diners", discover = "discover", jcb = "jcb", mastercard = "mastercard", unionpay = "unionpay", visa = "visa", unknown = "unknown" } export enum RessourceEnum { workspaces = "workspaces" } export enum CountryCodesComponentEnum { AF = "AF", AX = "AX", AL = "AL", DZ = "DZ", AS = "AS", AD = "AD", AO = "AO", AI = "AI", AQ = "AQ", AG = "AG", AR = "AR", AM = "AM", AW = "AW", AU = "AU", AT = "AT", AZ = "AZ", BS = "BS", BH = "BH", BD = "BD", BB = "BB", BY = "BY", BE = "BE", BZ = "BZ", BJ = "BJ", BM = "BM", BT = "BT", BO = "BO", BA = "BA", BW = "BW", BV = "BV", BR = "BR", IO = "IO", BN = "BN", BG = "BG", BF = "BF", BI = "BI", KH = "KH", CM = "CM", CA = "CA", CV = "CV", KY = "KY", CF = "CF", TD = "TD", CL = "CL", CN = "CN", CX = "CX", CC = "CC", CO = "CO", KM = "KM", CG = "CG", CD = "CD", CK = "CK", CR = "CR", CI = "CI", HR = "HR", CU = "CU", CY = "CY", CZ = "CZ", DK = "DK", DJ = "DJ", DM = "DM", DO = "DO", EC = "EC", EG = "EG", SV = "SV", GQ = "GQ", ER = "ER", EE = "EE", ET = "ET", FK = "FK", FO = "FO", FJ = "FJ", FI = "FI", FR = "FR", GF = "GF", PF = "PF", TF = "TF", GA = "GA", GM = "GM", GE = "GE", DE = "DE", GH = "GH", GI = "GI", GR = "GR", GL = "GL", GD = "GD", GP = "GP", GU = "GU", GT = "GT", GG = "GG", GN = "GN", GW = "GW", GY = "GY", HT = "HT", HM = "HM", VA = "VA", HN = "HN", HK = "HK", HU = "HU", IS = "IS", IN = "IN", ID = "ID", IR = "IR", IQ = "IQ", IE = "IE", IM = "IM", IL = "IL", IT = "IT", JM = "JM", JP = "JP", JE = "JE", JO = "JO", KZ = "KZ", KE = "KE", KI = "KI", KR = "KR", KW = "KW", KG = "KG", LA = "LA", LV = "LV", LB = "LB", LS = "LS", LR = "LR", LY = "LY", LI = "LI", LT = "LT", LU = "LU", MO = "MO", MK = "MK", MG = "MG", MW = "MW", MY = "MY", MV = "MV", ML = "ML", MT = "MT", MH = "MH", MQ = "MQ", MR = "MR", MU = "MU", YT = "YT", MX = "MX", FM = "FM", MD = "MD", MC = "MC", MN = "MN", ME = "ME", MS = "MS", MA = "MA", MZ = "MZ", MM = "MM", NA = "NA", NR = "NR", NP = "NP", NL = "NL", AN = "AN", NC = "NC", NZ = "NZ", NI = "NI", NE = "NE", NG = "NG", NU = "NU", NF = "NF", MP = "MP", NO = "NO", OM = "OM", PK = "PK", PW = "PW", PS = "PS", PA = "PA", PG = "PG", PY = "PY", PE = "PE", PH = "PH", PN = "PN", PL = "PL", PT = "PT", PR = "PR", QA = "QA", RE = "RE", RO = "RO", RU = "RU", RW = "RW", BL = "BL", SH = "SH", KN = "KN", LC = "LC", MF = "MF", PM = "PM", VC = "VC", WS = "WS", SM = "SM", ST = "ST", SA = "SA", SN = "SN", RS = "RS", SC = "SC", SL = "SL", SG = "SG", SK = "SK", SI = "SI", SB = "SB", SO = "SO", ZA = "ZA", GS = "GS", ES = "ES", LK = "LK", SD = "SD", SR = "SR", SJ = "SJ", SZ = "SZ", SE = "SE", CH = "CH", SY = "SY", TW = "TW", TJ = "TJ", TZ = "TZ", TH = "TH", TL = "TL", TG = "TG", TK = "TK", TO = "TO", TT = "TT", TN = "TN", TR = "TR", TM = "TM", TC = "TC", TV = "TV", UG = "UG", UA = "UA", AE = "AE", GB = "GB", US = "US", UM = "UM", UY = "UY", UZ = "UZ", VU = "VU", VE = "VE", VN = "VN", VG = "VG", VI = "VI", WF = "WF", EH = "EH", YE = "YE", ZM = "ZM", ZW = "ZW", XK = "XK", KP = "KP", SS = "SS", SX = "SX", BQ = "BQ", CW = "CW" } export enum ListEnum { equipment = "equipment", feature = "feature" } export enum WorkspaceTypeEnum { meeting = "meeting", individual = "individual", open = "open" } export enum AvailableCurrency { eur = "eur", usd = "usd" } export enum ModelLoadersEnum { streams = "streams", accounts = "accounts", workspaces = "workspaces", bookings = "bookings" } export enum DurationTypeEnum { startToEnd = "startToEnd", slot = "slot" } export enum StatusEnum { draft = "draft", processing = "processing", validated = "validated", cancelled = "cancelled", expired = "expired" } export enum BookingsRessourceEnum { workspaces = "workspaces" } export enum RangeType { strict = "strict", intersect = "intersect", intersectLarge = "intersectLarge", included = "included" } export enum DateTabType { today = "today", tomorrow = "tomorrow", upcomming = "upcomming", past = "past" } export enum ProductRessourceEnum { workspaces = "workspaces" } export enum CurrencyEnum { eur = "eur", usd = "usd" } export enum InvoicingProvider { directInvoice = "directInvoice" } export enum OrderBusinessStatusEnum { processing = "processing", shipped = "shipped", completed = "completed", canceled = "canceled", refund = "refund" } export enum OrderStatusEnum { draft = "draft", processing = "processing", shipped = "shipped", completed = "completed", canceled = "canceled", refund = "refund" } export enum PaymentProvider { free = "free", stripe = "stripe", bancontact = "bancontact", bankWire = "bankWire" } export enum PaymentStatusEnum { pending = "pending", actionNeeded = "actionNeeded", paid = "paid", free = "free" } export enum PromoType { fixed = "fixed", percentage = "percentage" } export class GraphQLError extends Error { constructor(public response: GraphQLResponse) { super(""); console.error(response); } toString() { return "GraphQL Response Error"; } } export type UnwrapPromise = T extends Promise ? R : T; export type ZeusState Promise> = NonNullable< UnwrapPromise> >; export type ZeusHook< T extends ( ...args: any[] ) => Record Promise>, N extends keyof ReturnType > = ZeusState[N]>; type WithTypeNameValue = T & { __typename?: true; }; type AliasType = WithTypeNameValue & { __alias?: Record>; }; export interface GraphQLResponse { data?: Record; errors?: Array<{ message: string; }>; } type DeepAnify = { [P in keyof T]?: any; }; type IsPayLoad = T extends [any, infer PayLoad] ? PayLoad : T; type IsArray = T extends Array ? InputType[] : InputType; type FlattenArray = T extends Array ? R : T; type NotUnionTypes, DST> = { [P in keyof DST]: SRC[P] extends '__union' & infer R ? never : P; }[keyof DST]; type ExtractUnions, DST> = { [P in keyof SRC]: SRC[P] extends '__union' & infer R ? P extends keyof DST ? IsArray : {} : never; }[keyof SRC]; type IsInterfaced, DST> = FlattenArray extends ZEUS_INTERFACES | ZEUS_UNIONS ? ExtractUnions & { [P in keyof Omit>, '__typename'>]: DST[P] extends true ? SRC[P] : IsArray; } : { [P in keyof Pick]: DST[P] extends true ? SRC[P] : IsArray; }; export type MapType = SRC extends DeepAnify ? IsInterfaced : never; type InputType = IsPayLoad extends { __alias: infer R } ? { [P in keyof R]: MapType; } & MapType, '__alias'>> : MapType>; type Func

= (...args: P) => R; type AnyFunc = Func; export type ArgsType = F extends Func ? P : never; export type OperationToGraphQL = (o: Z | V, variables?: Record) => Promise>; export type SubscriptionToGraphQL = ( o: Z | V, variables?: Record, ) => { ws: WebSocket; on: (fn: (args: InputType) => void) => void; off: (e: { data?: InputType; code?: number; reason?: string; message?: string }) => void; error: (e: { data?: InputType; message?: string }) => void; open: () => void; }; export type CastToGraphQL = (resultOfYourQuery: any) => (o: Z | V) => InputType; export type SelectionFunction = (t: T | V) => T; export type fetchOptions = ArgsType; type websocketOptions = typeof WebSocket extends new ( ...args: infer R ) => WebSocket ? R : never; export type chainOptions = | [fetchOptions[0], fetchOptions[1] & {websocket?: websocketOptions}] | [fetchOptions[0]]; export type FetchFunction = ( query: string, variables?: Record, ) => Promise; export type SubscriptionFunction = ( query: string, variables?: Record, ) => void; type NotUndefined = T extends undefined ? never : T; export type ResolverType = NotUndefined; export const ZeusSelect = () => ((t: any) => t) as SelectionFunction; export const ScalarResolver = (scalar: string, value: any) => { switch (scalar) { case 'String': return `${JSON.stringify(value)}`; case 'Int': return `${value}`; case 'Float': return `${value}`; case 'Boolean': return `${value}`; case 'ID': return `"${value}"`; case 'enum': return `${value}`; case 'scalar': return `${value}`; default: return false; } }; export const TypesPropsResolver = ({ value, type, name, key, blockArrays }: { value: any; type: string; name: string; key?: string; blockArrays?: boolean; }): string => { if (value === null) { return `null`; } let resolvedValue = AllTypesProps[type][name]; if (key) { resolvedValue = resolvedValue[key]; } if (!resolvedValue) { throw new Error(`Cannot resolve ${type} ${name}${key ? ` ${key}` : ''}`) } const typeResolved = resolvedValue.type; const isArray = resolvedValue.array; const isArrayRequired = resolvedValue.arrayRequired; if (typeof value === 'string' && value.startsWith(`ZEUS_VAR$`)) { const isRequired = resolvedValue.required ? '!' : ''; let t = `${typeResolved}`; if (isArray) { if (isRequired) { t = `${t}!`; } t = `[${t}]`; if(isArrayRequired){ t = `${t}!`; } }else{ if (isRequired) { t = `${t}!`; } } return `\$${value.split(`ZEUS_VAR$`)[1]}__ZEUS_VAR__${t}`; } if (isArray && !blockArrays) { return `[${value .map((v: any) => TypesPropsResolver({ value: v, type, name, key, blockArrays: true })) .join(',')}]`; } const reslovedScalar = ScalarResolver(typeResolved, value); if (!reslovedScalar) { const resolvedType = AllTypesProps[typeResolved]; if (typeof resolvedType === 'object') { const argsKeys = Object.keys(resolvedType); return `{${argsKeys .filter((ak) => value[ak] !== undefined) .map( (ak) => `${ak}:${TypesPropsResolver({ value: value[ak], type: typeResolved, name: ak })}` )}}`; } return ScalarResolver(AllTypesProps[typeResolved], value) as string; } return reslovedScalar; }; const isArrayFunction = ( parent: string[], a: any[] ) => { const [values, r] = a; const [mainKey, key, ...keys] = parent; const keyValues = Object.keys(values).filter((k) => typeof values[k] !== 'undefined'); if (!keys.length) { return keyValues.length > 0 ? `(${keyValues .map( (v) => `${v}:${TypesPropsResolver({ value: values[v], type: mainKey, name: key, key: v })}` ) .join(',')})${r ? traverseToSeekArrays(parent, r) : ''}` : traverseToSeekArrays(parent, r); } const [typeResolverKey] = keys.splice(keys.length - 1, 1); let valueToResolve = ReturnTypes[mainKey][key]; for (const k of keys) { valueToResolve = ReturnTypes[valueToResolve][k]; } const argumentString = keyValues.length > 0 ? `(${keyValues .map( (v) => `${v}:${TypesPropsResolver({ value: values[v], type: valueToResolve, name: typeResolverKey, key: v })}` ) .join(',')})${r ? traverseToSeekArrays(parent, r) : ''}` : traverseToSeekArrays(parent, r); return argumentString; }; const resolveKV = (k: string, v: boolean | string | { [x: string]: boolean | string }) => typeof v === 'boolean' ? k : typeof v === 'object' ? `${k}{${objectToTree(v)}}` : `${k}${v}`; const objectToTree = (o: { [x: string]: boolean | string }): string => `{${Object.keys(o).map((k) => `${resolveKV(k, o[k])}`).join(' ')}}`; const traverseToSeekArrays = (parent: string[], a?: any): string => { if (!a) return ''; if (Object.keys(a).length === 0) { return ''; } let b: Record = {}; if (Array.isArray(a)) { return isArrayFunction([...parent], a); } else { if (typeof a === 'object') { Object.keys(a) .filter((k) => typeof a[k] !== 'undefined') .map((k) => { if (k === '__alias') { Object.keys(a[k]).map((aliasKey) => { const aliasOperations = a[k][aliasKey]; const aliasOperationName = Object.keys(aliasOperations)[0]; const aliasOperation = aliasOperations[aliasOperationName]; b[ `${aliasOperationName}__alias__${aliasKey}: ${aliasOperationName}` ] = traverseToSeekArrays([...parent, aliasOperationName], aliasOperation); }); } else { b[k] = traverseToSeekArrays([...parent, k], a[k]); } }); } else { return ''; } } return objectToTree(b); }; const buildQuery = (type: string, a?: Record) => traverseToSeekArrays([type], a); const inspectVariables = (query: string) => { const regex = /\$\b\w*__ZEUS_VAR__\[?[^!^\]^\s^,^\)^\}]*[!]?[\]]?[!]?/g; let result; const AllVariables: string[] = []; while ((result = regex.exec(query))) { if (AllVariables.includes(result[0])) { continue; } AllVariables.push(result[0]); } if (!AllVariables.length) { return query; } let filteredQuery = query; AllVariables.forEach((variable) => { while (filteredQuery.includes(variable)) { filteredQuery = filteredQuery.replace(variable, variable.split('__ZEUS_VAR__')[0]); } }); return `(${AllVariables.map((a) => a.split('__ZEUS_VAR__')) .map(([variableName, variableType]) => `${variableName}:${variableType}`) .join(', ')})${filteredQuery}`; }; export const queryConstruct = (t: 'query' | 'mutation' | 'subscription', tName: string) => (o: Record) => `${t.toLowerCase()}${inspectVariables(buildQuery(tName, o))}`; const fullChainConstruct = (fn: FetchFunction) => (t: 'query' | 'mutation' | 'subscription', tName: string) => ( o: Record, variables?: Record, ) => fn(queryConstruct(t, tName)(o), variables).then((r:any) => { seekForAliases(r) return r }); export const fullChainConstructor = ( fn: F, operation: 'query' | 'mutation' | 'subscription', key: R, ) => ((o, variables) => fullChainConstruct(fn)(operation, key)(o as any, variables)) as OperationToGraphQL< ValueTypes[R], GraphQLTypes[R] >; const fullSubscriptionConstruct = (fn: SubscriptionFunction) => ( t: 'query' | 'mutation' | 'subscription', tName: string, ) => (o: Record, variables?: Record) => fn(queryConstruct(t, tName)(o), variables); export const fullSubscriptionConstructor = ( fn: F, operation: 'query' | 'mutation' | 'subscription', key: R, ) => ((o, variables) => fullSubscriptionConstruct(fn)(operation, key)(o as any, variables)) as SubscriptionToGraphQL< ValueTypes[R], GraphQLTypes[R] >; const seekForAliases = (response: any) => { const traverseAlias = (value: any) => { if (Array.isArray(value)) { value.forEach(seekForAliases); } else { if (typeof value === 'object') { seekForAliases(value); } } }; if (typeof response === 'object' && response) { const keys = Object.keys(response); if (keys.length < 1) { return; } keys.forEach((k) => { const value = response[k]; if (k.indexOf('__alias__') !== -1) { const [operation, alias] = k.split('__alias__'); response[alias] = { [operation]: value, }; delete response[k]; } traverseAlias(value); }); } }; export const $ = (t: TemplateStringsArray): any => `ZEUS_VAR$${t.join('')}`; export const resolverFor = < T extends keyof ValueTypes, Z extends keyof ValueTypes[T], Y extends ( args: Required[Z] extends [infer Input, any] ? Input : any, source: any, ) => Z extends keyof ModelTypes[T] ? ModelTypes[T][Z] | Promise : any >( type: T, field: Z, fn: Y, ) => fn as (args?: any,source?: any) => any; const handleFetchResponse = ( response: Parameters['then']>[0], Function>>[0] ): Promise => { if (!response.ok) { return new Promise((_, reject) => { response.text().then(text => { try { reject(JSON.parse(text)); } catch (err) { reject(text); } }).catch(reject); }); } return response.json(); }; export const apiFetch = (options: fetchOptions) => (query: string, variables: Record = {}) => { let fetchFunction = fetch; let queryString = query; let fetchOptions = options[1] || {}; if (fetchOptions.method && fetchOptions.method === 'GET') { queryString = encodeURIComponent(query); return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions) .then(handleFetchResponse) .then((response: GraphQLResponse) => { if (response.errors) { throw new GraphQLError(response); } return response.data; }); } return fetchFunction(`${options[0]}`, { body: JSON.stringify({ query: queryString, variables }), method: 'POST', headers: { 'Content-Type': 'application/json' }, ...fetchOptions }) .then(handleFetchResponse) .then((response: GraphQLResponse) => { if (response.errors) { throw new GraphQLError(response); } return response.data; }); }; export const apiSubscription = (options: chainOptions) => ( query: string, variables: Record = {}, ) => { try { const queryString = options[0] + '?query=' + encodeURIComponent(query); const wsString = queryString.replace('http', 'ws'); const host = (options.length > 1 && options[1]?.websocket?.[0]) || wsString; const webSocketOptions = options[1]?.websocket || [host]; const ws = new WebSocket(...webSocketOptions); return { ws, on: (e: (args: any) => void) => { ws.onmessage = (event:any) => { if(event.data){ const parsed = JSON.parse(event.data) const data = parsed.data if (data) { seekForAliases(data); } return e(data); } }; }, off: (e: (args: any) => void) => { ws.onclose = e; }, error: (e: (args: any) => void) => { ws.onerror = e; }, open: (e: () => void) => { ws.onopen = e; }, }; } catch { throw new Error('No websockets implemented'); } }; export const Thunder = (fn: FetchFunction, subscriptionFn: SubscriptionFunction) => ({ query: fullChainConstructor(fn,'query', 'Query'), mutation: fullChainConstructor(fn,'mutation', 'Mutation') }); export const Chain = (...options: chainOptions) => ({ query: fullChainConstructor(apiFetch(options),'query', 'Query'), mutation: fullChainConstructor(apiFetch(options),'mutation', 'Mutation') }); export const Zeus = { query: (o:ValueTypes["Query"]) => queryConstruct('query', 'Query')(o), mutation: (o:ValueTypes["Mutation"]) => queryConstruct('mutation', 'Mutation')(o) }; export const Cast = { query: ((o: any) => (_: any) => o) as CastToGraphQL< ValueTypes["Query"], GraphQLTypes["Query"] >, mutation: ((o: any) => (_: any) => o) as CastToGraphQL< ValueTypes["Mutation"], GraphQLTypes["Mutation"] > }; export const Selectors = { query: ZeusSelect(), mutation: ZeusSelect() }; export const Gql = Chain('http://localhost:4000')