import { GraphQLClient } from 'graphql-request'; import * as Dom from 'graphql-request/dist/types.dom'; import gql from 'graphql-tag'; export type Maybe = T | null; export type InputMaybe = Maybe; export type Exact = { [K in keyof T]: T[K] }; export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string; String: string; Boolean: boolean; Int: number; Float: number; Map: any; }; export type Consumption = { budget?: Maybe; overageEnabled: Scalars['Boolean']; used: Scalars['Int']; }; export type Feature = { consumption?: Maybe; id: Scalars['String']; metadata?: Maybe; name: Scalars['String']; type: FeatureType; unitLabel?: Maybe; unitLabelPlural?: Maybe; }; export enum FeatureType { Binary = 'BINARY', Consumable = 'CONSUMABLE' } export type Group = { email?: Maybe; id: Scalars['String']; metadata?: Maybe; name?: Maybe; subscriptions: Array; }; export type Package = { features: Array; id: Scalars['String']; isAddon: Scalars['Boolean']; metadata?: Maybe; name: Scalars['String']; }; export type PackageSubscription = { package: Package; status: SubscriptionStatus; }; export type Query = { currentGroup: Group; }; export enum SubscriptionStatus { Active = 'ACTIVE', Cancelled = 'CANCELLED', Incomplete = 'INCOMPLETE', IncompleteExpired = 'INCOMPLETE_EXPIRED', PastDue = 'PAST_DUE', Trialing = 'TRIALING', Unpaid = 'UNPAID' } export type CurrentGroupQueryVariables = Exact<{ [key: string]: never; }>; export type CurrentGroupQuery = { currentGroup: { id: string, name?: string | null, email?: string | null, metadata?: any | null, subscriptions: Array<{ status: SubscriptionStatus, package: { id: string, name: string, isAddon: boolean, metadata?: any | null, features: Array<{ id: string, name: string, type: FeatureType, metadata?: any | null, unitLabel?: string | null, unitLabelPlural?: string | null, consumption?: { used: number, budget?: number | null, overageEnabled: boolean } | null }> } }> } }; export const CurrentGroupDocument = gql` query CurrentGroup { currentGroup { id name email metadata subscriptions { status package { id name isAddon metadata features { id name type metadata unitLabel unitLabelPlural consumption { used budget overageEnabled } } } } } } `; export type SdkFunctionWrapper = (action: (requestHeaders?:Record) => Promise, operationName: string, operationType?: string) => Promise; const defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType) => action(); export function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) { return { CurrentGroup(variables?: CurrentGroupQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { return withWrapper((wrappedRequestHeaders) => client.request(CurrentGroupDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'CurrentGroup', 'query'); } }; } export type Sdk = ReturnType;