// tslint:disable export type Maybe = T | null; export interface EventsQueryFilter { limit?: Maybe; } export interface SignupInput { email: string; username: string; firstName: string; lastName?: Maybe; } export interface SigninInput { hash: string; } export interface RequestInviteInput { email: string; } export interface CreateEventInput { owner: string; time?: Maybe; info?: Maybe<(Maybe)[]>; location?: Maybe; meta?: Maybe; status: string; contact: EventContactPersonInput[]; } export interface EventTimeInput { timeZone?: Maybe; status?: Maybe; start?: Maybe; end?: Maybe; } export interface EventInformationInput { language: string; title: string; description?: Maybe; } export interface EventLocationInput { address?: Maybe; name?: Maybe; coordinate?: Maybe; } export interface GeoCoordinateInput { lat?: Maybe; lng?: Maybe; } export interface EventMetaInput { tags?: Maybe<(Maybe)[]>; } export interface EventContactPersonInput { name: string; languages?: Maybe; contact?: Maybe; } export interface EventContactInput { email?: Maybe; phone?: Maybe; } export interface AdditionalEntityFields { path?: Maybe; type?: Maybe; } /** IANA Timezone e.g. "Europe/Zurich" */ export type TimeZone = any; /** in RFC3339 e.g. 2002-10-02T10:00:00-05:00 or 2002-10-02T15:00:00Z */ export type Timestamp = any; /** "confirmed" | "tentative" | "cancelled" */ export type EventStatus = any; /** e.g. 'de', 'en', etc' */ export type Language = any; export type Date = any; // ==================================================== // Scalars // ==================================================== // ==================================================== // Types // ==================================================== export interface Query { /** Auth */ me?: Maybe; /** Event */ events?: Maybe<(Maybe)[]>; } export interface User { firstName: string; lastName?: Maybe; username: string; email: string; id: string; } export interface CalendarEvent { id: string; owner: User; info: (Maybe)[]; time: EventTime; status: EventStatus; contact: EventContactPerson[]; location: Location; } /** Event information for presentation */ export interface EventInformation { language: string; title: string; description?: Maybe; } export interface EventTime { timeZone?: Maybe; start?: Maybe; end?: Maybe; recurrence?: Maybe; exceptions?: Maybe; } export interface EventContactPerson { name: string; languages?: Maybe; contact?: Maybe; } export interface Contact { email?: Maybe; phone?: Maybe; } export interface Location { address?: Maybe; name?: Maybe; coordinate?: Maybe; } export interface GeoCoordinate { lat?: Maybe; lng?: Maybe; } export interface Mutation { /** Auth */ signup: boolean; signin: UserSession; requestInvite: boolean; /** Event */ createEvent?: Maybe; } export interface UserSession { hash: string; user: User; ctime: Date; isValid: boolean; } // ==================================================== // Arguments // ==================================================== export interface EventsQueryArgs { filter?: Maybe; } export interface SignupMutationArgs { input?: Maybe; } export interface SigninMutationArgs { input?: Maybe; } export interface RequestInviteMutationArgs { input?: Maybe; } export interface CreateEventMutationArgs { input?: Maybe; foo?: Maybe; } import { ObjectID } from "mongodb"; export interface UserDbObject { firstName: string; lastName: Maybe; username: string; email: string; _id: ObjectID; } export interface CalendarEventDbObject { _id: ObjectID; owner: ObjectID; info: (Maybe)[]; time: EventTime; status: EventStatus; contact: EventContactPersonDbObject[]; location: LocationDbObject; } export interface EventInformationDbObject { language: string; title: string; description: Maybe; } export interface EventContactPersonDbObject { name: string; languages: Maybe; contact: Maybe; } export interface UserSessionDbObject { hash: string; user: ObjectID; ctime: Date; isValid: boolean; } import { GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig } from "graphql"; export type Resolver = ( parent: Parent, args: Args, context: Context, info: GraphQLResolveInfo ) => Promise | Result; export interface ISubscriptionResolverObject { subscribe( parent: P, args: Args, context: Context, info: GraphQLResolveInfo ): AsyncIterator | Promise>; resolve?( parent: P, args: Args, context: Context, info: GraphQLResolveInfo ): R | Result | Promise; } export type SubscriptionResolver< Result, Parent = {}, Context = {}, Args = {} > = | (( ...args: any[] ) => ISubscriptionResolverObject) | ISubscriptionResolverObject; export type TypeResolveFn = ( parent: Parent, context: Context, info: GraphQLResolveInfo ) => Maybe; export type NextResolverFn = () => Promise; export type DirectiveResolverFn = ( next: NextResolverFn, source: any, args: TArgs, context: TContext, info: GraphQLResolveInfo ) => TResult | Promise; export namespace QueryResolvers { export interface Resolvers { /** Auth */ me?: MeResolver, TypeParent, Context>; /** Event */ events?: EventsResolver< Maybe<(Maybe)[]>, TypeParent, Context >; } export type MeResolver, Parent = {}, Context = {}> = Resolver< R, Parent, Context >; export type EventsResolver< R = Maybe<(Maybe)[]>, Parent = {}, Context = {} > = Resolver; export interface EventsArgs { filter?: Maybe; } } export namespace UserResolvers { export interface Resolvers { firstName?: FirstNameResolver; lastName?: LastNameResolver, TypeParent, Context>; username?: UsernameResolver; email?: EmailResolver; id?: IdResolver; } export type FirstNameResolver< R = string, Parent = User, Context = {} > = Resolver; export type LastNameResolver< R = Maybe, Parent = User, Context = {} > = Resolver; export type UsernameResolver< R = string, Parent = User, Context = {} > = Resolver; export type EmailResolver = Resolver< R, Parent, Context >; export type IdResolver = Resolver< R, Parent, Context >; } export namespace CalendarEventResolvers { export interface Resolvers { id?: IdResolver; owner?: OwnerResolver; info?: InfoResolver<(Maybe)[], TypeParent, Context>; time?: TimeResolver; status?: StatusResolver; contact?: ContactResolver; location?: LocationResolver; } export type IdResolver< R = string, Parent = CalendarEvent, Context = {} > = Resolver; export type OwnerResolver< R = User, Parent = CalendarEvent, Context = {} > = Resolver; export type InfoResolver< R = (Maybe)[], Parent = CalendarEvent, Context = {} > = Resolver; export type TimeResolver< R = EventTime, Parent = CalendarEvent, Context = {} > = Resolver; export type StatusResolver< R = EventStatus, Parent = CalendarEvent, Context = {} > = Resolver; export type ContactResolver< R = EventContactPerson[], Parent = CalendarEvent, Context = {} > = Resolver; export type LocationResolver< R = Location, Parent = CalendarEvent, Context = {} > = Resolver; } /** Event information for presentation */ export namespace EventInformationResolvers { export interface Resolvers { language?: LanguageResolver; title?: TitleResolver; description?: DescriptionResolver, TypeParent, Context>; } export type LanguageResolver< R = string, Parent = EventInformation, Context = {} > = Resolver; export type TitleResolver< R = string, Parent = EventInformation, Context = {} > = Resolver; export type DescriptionResolver< R = Maybe, Parent = EventInformation, Context = {} > = Resolver; } export namespace EventTimeResolvers { export interface Resolvers { timeZone?: TimeZoneResolver, TypeParent, Context>; start?: StartResolver, TypeParent, Context>; end?: EndResolver, TypeParent, Context>; recurrence?: RecurrenceResolver, TypeParent, Context>; exceptions?: ExceptionsResolver, TypeParent, Context>; } export type TimeZoneResolver< R = Maybe, Parent = EventTime, Context = {} > = Resolver; export type StartResolver< R = Maybe, Parent = EventTime, Context = {} > = Resolver; export type EndResolver< R = Maybe, Parent = EventTime, Context = {} > = Resolver; export type RecurrenceResolver< R = Maybe, Parent = EventTime, Context = {} > = Resolver; export type ExceptionsResolver< R = Maybe, Parent = EventTime, Context = {} > = Resolver; } export namespace EventContactPersonResolvers { export interface Resolvers { name?: NameResolver; languages?: LanguagesResolver, TypeParent, Context>; contact?: ContactResolver, TypeParent, Context>; } export type NameResolver< R = string, Parent = EventContactPerson, Context = {} > = Resolver; export type LanguagesResolver< R = Maybe, Parent = EventContactPerson, Context = {} > = Resolver; export type ContactResolver< R = Maybe, Parent = EventContactPerson, Context = {} > = Resolver; } export namespace ContactResolvers { export interface Resolvers { email?: EmailResolver, TypeParent, Context>; phone?: PhoneResolver, TypeParent, Context>; } export type EmailResolver< R = Maybe, Parent = Contact, Context = {} > = Resolver; export type PhoneResolver< R = Maybe, Parent = Contact, Context = {} > = Resolver; } export namespace LocationResolvers { export interface Resolvers { address?: AddressResolver, TypeParent, Context>; name?: NameResolver, TypeParent, Context>; coordinate?: CoordinateResolver, TypeParent, Context>; } export type AddressResolver< R = Maybe, Parent = Location, Context = {} > = Resolver; export type NameResolver< R = Maybe, Parent = Location, Context = {} > = Resolver; export type CoordinateResolver< R = Maybe, Parent = Location, Context = {} > = Resolver; } export namespace GeoCoordinateResolvers { export interface Resolvers { lat?: LatResolver, TypeParent, Context>; lng?: LngResolver, TypeParent, Context>; } export type LatResolver< R = Maybe, Parent = GeoCoordinate, Context = {} > = Resolver; export type LngResolver< R = Maybe, Parent = GeoCoordinate, Context = {} > = Resolver; } export namespace MutationResolvers { export interface Resolvers { /** Auth */ signup?: SignupResolver; signin?: SigninResolver; requestInvite?: RequestInviteResolver; /** Event */ createEvent?: CreateEventResolver< Maybe, TypeParent, Context >; } export type SignupResolver = Resolver< R, Parent, Context, SignupArgs >; export interface SignupArgs { input?: Maybe; } export type SigninResolver< R = UserSession, Parent = {}, Context = {} > = Resolver; export interface SigninArgs { input?: Maybe; } export type RequestInviteResolver< R = boolean, Parent = {}, Context = {} > = Resolver; export interface RequestInviteArgs { input?: Maybe; } export type CreateEventResolver< R = Maybe, Parent = {}, Context = {} > = Resolver; export interface CreateEventArgs { input?: Maybe; foo?: Maybe; } } export namespace UserSessionResolvers { export interface Resolvers { hash?: HashResolver; user?: UserResolver; ctime?: CtimeResolver; isValid?: IsValidResolver; } export type HashResolver< R = string, Parent = UserSession, Context = {} > = Resolver; export type UserResolver< R = User, Parent = UserSession, Context = {} > = Resolver; export type CtimeResolver< R = Date, Parent = UserSession, Context = {} > = Resolver; export type IsValidResolver< R = boolean, Parent = UserSession, Context = {} > = Resolver; } export type UnionDirectiveResolver = DirectiveResolverFn< Result, UnionDirectiveArgs, {} >; export interface UnionDirectiveArgs { discriminatorField?: Maybe; } export type AbstractEntityDirectiveResolver = DirectiveResolverFn< Result, AbstractEntityDirectiveArgs, {} >; export interface AbstractEntityDirectiveArgs { discriminatorField: string; } export type EntityDirectiveResolver = DirectiveResolverFn< Result, EntityDirectiveArgs, {} >; export interface EntityDirectiveArgs { embedded?: Maybe; additionalFields?: Maybe<(Maybe)[]>; } export type ColumnDirectiveResolver = DirectiveResolverFn< Result, ColumnDirectiveArgs, {} >; export interface ColumnDirectiveArgs { name?: Maybe; overrideType?: Maybe; overrideIsArray?: Maybe; } export type IdDirectiveResolver = DirectiveResolverFn; export type LinkDirectiveResolver = DirectiveResolverFn; export type EmbeddedDirectiveResolver = DirectiveResolverFn< Result, {}, {} >; export type MapDirectiveResolver = DirectiveResolverFn< Result, MapDirectiveArgs, {} >; export interface MapDirectiveArgs { path: string; } /** Directs the executor to skip this field or fragment when the `if` argument is true. */ export type SkipDirectiveResolver = DirectiveResolverFn< Result, SkipDirectiveArgs, {} >; export interface SkipDirectiveArgs { /** Skipped when true. */ if: boolean; } /** Directs the executor to include this field or fragment only when the `if` argument is true. */ export type IncludeDirectiveResolver = DirectiveResolverFn< Result, IncludeDirectiveArgs, {} >; export interface IncludeDirectiveArgs { /** Included when true. */ if: boolean; } /** Marks an element of a GraphQL schema as no longer supported. */ export type DeprecatedDirectiveResolver = DirectiveResolverFn< Result, DeprecatedDirectiveArgs, {} >; export interface DeprecatedDirectiveArgs { /** Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax (as specified by [CommonMark](https://commonmark.org/). */ reason?: string; } export interface TimeZoneScalarConfig extends GraphQLScalarTypeConfig { name: "TimeZone"; } export interface TimestampScalarConfig extends GraphQLScalarTypeConfig { name: "Timestamp"; } export interface EventStatusScalarConfig extends GraphQLScalarTypeConfig { name: "EventStatus"; } export interface LanguageScalarConfig extends GraphQLScalarTypeConfig { name: "Language"; } export interface DateScalarConfig extends GraphQLScalarTypeConfig { name: "Date"; } export interface IResolvers { Query?: QueryResolvers.Resolvers; User?: UserResolvers.Resolvers; CalendarEvent?: CalendarEventResolvers.Resolvers; EventInformation?: EventInformationResolvers.Resolvers; EventTime?: EventTimeResolvers.Resolvers; EventContactPerson?: EventContactPersonResolvers.Resolvers; Contact?: ContactResolvers.Resolvers; Location?: LocationResolvers.Resolvers; GeoCoordinate?: GeoCoordinateResolvers.Resolvers; Mutation?: MutationResolvers.Resolvers; UserSession?: UserSessionResolvers.Resolvers; TimeZone?: GraphQLScalarType; Timestamp?: GraphQLScalarType; EventStatus?: GraphQLScalarType; Language?: GraphQLScalarType; Date?: GraphQLScalarType; } export interface IDirectiveResolvers { union?: UnionDirectiveResolver; abstractEntity?: AbstractEntityDirectiveResolver; entity?: EntityDirectiveResolver; column?: ColumnDirectiveResolver; id?: IdDirectiveResolver; link?: LinkDirectiveResolver; embedded?: EmbeddedDirectiveResolver; map?: MapDirectiveResolver; skip?: SkipDirectiveResolver; include?: IncludeDirectiveResolver; deprecated?: DeprecatedDirectiveResolver; }