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 } export type MakeEmpty = { [_ in K]?: never } export type Incremental = | T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never } /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: { input: string; output: string } String: { input: string; output: string } Boolean: { input: boolean; output: boolean } Int: { input: number; output: number } Float: { input: number; output: number } DateTime: { input: any; output: any } } export type AuthResult = { error?: Maybe token?: Maybe user?: Maybe } export type Author = { about?: Maybe bio?: Maybe caption?: Maybe createdAt?: Maybe id: Scalars['Int']['output'] lastSeen?: Maybe links?: Maybe>> name: Scalars['String']['output'] roles?: Maybe>> slug: Scalars['String']['output'] stat?: Maybe userpic?: Maybe } export type AuthorStat = { commented?: Maybe followers?: Maybe followings?: Maybe rating?: Maybe shouts?: Maybe } export type AuthorsBy = { createdAt?: InputMaybe days?: InputMaybe lastSeen?: InputMaybe name?: InputMaybe order?: InputMaybe slug?: InputMaybe stat?: InputMaybe topic?: InputMaybe } export type Chat = { admins?: Maybe>> createdAt: Scalars['Int']['output'] createdBy: Scalars['Int']['output'] description?: Maybe id: Scalars['String']['output'] members?: Maybe>> messages?: Maybe>> private?: Maybe title?: Maybe unread?: Maybe updatedAt: Scalars['Int']['output'] users?: Maybe>> } export type ChatInput = { description?: InputMaybe id: Scalars['String']['input'] title?: InputMaybe } export type ChatMember = { id: Scalars['Int']['output'] lastSeen?: Maybe name: Scalars['String']['output'] online?: Maybe slug: Scalars['String']['output'] userpic?: Maybe } export type Collection = { amount?: Maybe createdAt: Scalars['DateTime']['output'] createdBy: User desc?: Maybe id: Scalars['Int']['output'] publishedAt?: Maybe slug: Scalars['String']['output'] title: Scalars['String']['output'] } export type Community = { createdAt: Scalars['DateTime']['output'] createdBy: User desc?: Maybe id: Scalars['Int']['output'] name: Scalars['String']['output'] pic: Scalars['String']['output'] slug: Scalars['String']['output'] } export enum FollowingEntity { Author = 'AUTHOR', Community = 'COMMUNITY', Reactions = 'REACTIONS', Topic = 'TOPIC', } export type LoadRandomTopShoutsParams = { filters?: InputMaybe fromRandomCount?: InputMaybe limit: Scalars['Int']['input'] } export type LoadShoutsFilters = { author?: InputMaybe excludeLayout?: InputMaybe fromDate?: InputMaybe layout?: InputMaybe reacted?: InputMaybe toDate?: InputMaybe topic?: InputMaybe visibility?: InputMaybe } export type LoadShoutsOptions = { filters?: InputMaybe limit: Scalars['Int']['input'] offset?: InputMaybe order_by?: InputMaybe order_by_desc?: InputMaybe with_author_captions?: InputMaybe } export type Message = { author: Scalars['Int']['output'] body: Scalars['String']['output'] chatId: Scalars['String']['output'] createdAt: Scalars['Int']['output'] id: Scalars['Int']['output'] replyTo?: Maybe seen?: Maybe updatedAt?: Maybe } export enum MessageStatus { Deleted = 'DELETED', New = 'NEW', Updated = 'UPDATED', } export type MessagesBy = { author?: InputMaybe body?: InputMaybe chat?: InputMaybe days?: InputMaybe order?: InputMaybe stat?: InputMaybe } export type Mutation = { confirmEmail: AuthResult createChat: Result createMessage: Result createReaction: Result createShout: Result createTopic: Result deleteChat: Result deleteMessage: Result deleteReaction: Result deleteShout: Result destroyTopic: Result follow: Result getSession: AuthResult markAllNotificationsAsRead: Result markAsRead: Result markNotificationAsRead: Result rateUser: Result registerUser: AuthResult sendLink: Result unfollow: Result updateChat: Result updateMessage: Result updateProfile: Result updateReaction: Result updateShout: Result updateTopic: Result } export type MutationConfirmEmailArgs = { token: Scalars['String']['input'] } export type MutationCreateChatArgs = { members: Array> title?: InputMaybe } export type MutationCreateMessageArgs = { body: Scalars['String']['input'] chat: Scalars['String']['input'] replyTo?: InputMaybe } export type MutationCreateReactionArgs = { reaction: ReactionInput } export type MutationCreateShoutArgs = { inp: ShoutInput } export type MutationCreateTopicArgs = { input: TopicInput } export type MutationDeleteChatArgs = { chatId: Scalars['String']['input'] } export type MutationDeleteMessageArgs = { chatId: Scalars['String']['input'] id: Scalars['Int']['input'] } export type MutationDeleteReactionArgs = { id: Scalars['Int']['input'] } export type MutationDeleteShoutArgs = { shout_id: Scalars['Int']['input'] } export type MutationDestroyTopicArgs = { slug: Scalars['String']['input'] } export type MutationFollowArgs = { slug: Scalars['String']['input'] what: FollowingEntity } export type MutationMarkAsReadArgs = { chatId: Scalars['String']['input'] ids: Array> } export type MutationMarkNotificationAsReadArgs = { notification_id: Scalars['Int']['input'] } export type MutationRateUserArgs = { slug: Scalars['String']['input'] value: Scalars['Int']['input'] } export type MutationRegisterUserArgs = { email: Scalars['String']['input'] name?: InputMaybe password?: InputMaybe } export type MutationSendLinkArgs = { email: Scalars['String']['input'] lang?: InputMaybe template?: InputMaybe } export type MutationUnfollowArgs = { slug: Scalars['String']['input'] what: FollowingEntity } export type MutationUpdateChatArgs = { chat: ChatInput } export type MutationUpdateMessageArgs = { body: Scalars['String']['input'] chatId: Scalars['String']['input'] id: Scalars['Int']['input'] } export type MutationUpdateProfileArgs = { profile: ProfileInput } export type MutationUpdateReactionArgs = { id: Scalars['Int']['input'] reaction: ReactionInput } export type MutationUpdateShoutArgs = { publish?: InputMaybe shout_id: Scalars['Int']['input'] shout_input?: InputMaybe } export type MutationUpdateTopicArgs = { input: TopicInput } export type MySubscriptionsQueryResult = { authors: Array> topics: Array> } export type Notification = { createdAt: Scalars['DateTime']['output'] data?: Maybe id: Scalars['Int']['output'] occurrences: Scalars['Int']['output'] reaction?: Maybe seen: Scalars['Boolean']['output'] shout?: Maybe type: NotificationType } export enum NotificationType { NewComment = 'NEW_COMMENT', NewReply = 'NEW_REPLY', } export type NotificationsQueryParams = { limit?: InputMaybe offset?: InputMaybe } export type NotificationsQueryResult = { notifications: Array> totalCount: Scalars['Int']['output'] totalUnreadCount: Scalars['Int']['output'] } export type Operation = { id: Scalars['Int']['output'] name: Scalars['String']['output'] } export type Permission = { operation: Scalars['Int']['output'] resource: Scalars['Int']['output'] } export type ProfileInput = { about?: InputMaybe bio?: InputMaybe links?: InputMaybe>> name?: InputMaybe slug?: InputMaybe userpic?: InputMaybe } export type Query = { authorsAll: Array> getAuthor?: Maybe getTopic?: Maybe isEmailUsed: Scalars['Boolean']['output'] loadAuthorsBy: Array> loadChats: Result loadDrafts: Array> loadMessagesBy: Result loadMySubscriptions?: Maybe loadNotifications: NotificationsQueryResult loadRandomTopShouts: Array> loadReactionsBy: Array> loadRecipients: Result loadShout?: Maybe loadShouts: Array> markdownBody: Scalars['String']['output'] myFeed?: Maybe>> searchMessages: Result searchRecipients: Result signIn: AuthResult signOut: AuthResult topicsAll: Array> topicsByAuthor: Array> topicsByCommunity: Array> topicsRandom: Array> userFollowedAuthors: Array> userFollowedTopics: Array> userFollowers: Array> } export type QueryGetAuthorArgs = { slug: Scalars['String']['input'] } export type QueryGetTopicArgs = { slug: Scalars['String']['input'] } export type QueryIsEmailUsedArgs = { email: Scalars['String']['input'] } export type QueryLoadAuthorsByArgs = { by?: InputMaybe limit?: InputMaybe offset?: InputMaybe } export type QueryLoadChatsArgs = { limit?: InputMaybe offset?: InputMaybe } export type QueryLoadMessagesByArgs = { by: MessagesBy limit?: InputMaybe offset?: InputMaybe } export type QueryLoadNotificationsArgs = { params: NotificationsQueryParams } export type QueryLoadRandomTopShoutsArgs = { params?: InputMaybe } export type QueryLoadReactionsByArgs = { by: ReactionBy limit?: InputMaybe offset?: InputMaybe } export type QueryLoadRecipientsArgs = { limit?: InputMaybe offset?: InputMaybe } export type QueryLoadShoutArgs = { shout_id?: InputMaybe slug?: InputMaybe } export type QueryLoadShoutsArgs = { options?: InputMaybe } export type QueryMarkdownBodyArgs = { body: Scalars['String']['input'] } export type QueryMyFeedArgs = { options?: InputMaybe } export type QuerySearchMessagesArgs = { by: MessagesBy limit?: InputMaybe offset?: InputMaybe } export type QuerySearchRecipientsArgs = { limit?: InputMaybe offset?: InputMaybe query: Scalars['String']['input'] } export type QuerySignInArgs = { email: Scalars['String']['input'] lang?: InputMaybe password?: InputMaybe } export type QueryTopicsByAuthorArgs = { author: Scalars['String']['input'] } export type QueryTopicsByCommunityArgs = { community: Scalars['String']['input'] } export type QueryTopicsRandomArgs = { amount?: InputMaybe } export type QueryUserFollowedAuthorsArgs = { slug: Scalars['String']['input'] } export type QueryUserFollowedTopicsArgs = { slug: Scalars['String']['input'] } export type QueryUserFollowersArgs = { slug: Scalars['String']['input'] } export type Rating = { rater: Scalars['String']['output'] value: Scalars['Int']['output'] } export type Reaction = { body?: Maybe createdAt: Scalars['DateTime']['output'] createdBy: User deletedAt?: Maybe deletedBy?: Maybe id: Scalars['Int']['output'] kind: ReactionKind old_id?: Maybe old_thread?: Maybe range?: Maybe replyTo?: Maybe shout: Shout stat?: Maybe updatedAt?: Maybe } export type ReactionBy = { comment?: InputMaybe createdBy?: InputMaybe days?: InputMaybe search?: InputMaybe shout?: InputMaybe shouts?: InputMaybe>> sort?: InputMaybe topic?: InputMaybe } export type ReactionInput = { body?: InputMaybe kind: ReactionKind range?: InputMaybe replyTo?: InputMaybe shout: Scalars['Int']['input'] } export enum ReactionKind { Accept = 'ACCEPT', Agree = 'AGREE', Ask = 'ASK', Comment = 'COMMENT', Disagree = 'DISAGREE', Dislike = 'DISLIKE', Disproof = 'DISPROOF', Footnote = 'FOOTNOTE', Like = 'LIKE', Proof = 'PROOF', Propose = 'PROPOSE', Quote = 'QUOTE', Reject = 'REJECT', Remark = 'REMARK', } export enum ReactionStatus { Changed = 'CHANGED', Deleted = 'DELETED', Explained = 'EXPLAINED', New = 'NEW', Updated = 'UPDATED', } export type ReactionUpdating = { error?: Maybe reaction?: Maybe status?: Maybe } export type Resource = { id: Scalars['Int']['output'] name: Scalars['String']['output'] } export type Result = { author?: Maybe authors?: Maybe>> chat?: Maybe chats?: Maybe>> communities?: Maybe>> community?: Maybe error?: Maybe members?: Maybe>> message?: Maybe messages?: Maybe>> reaction?: Maybe reactions?: Maybe>> shout?: Maybe shouts?: Maybe>> slugs?: Maybe>> topic?: Maybe topics?: Maybe>> } export type Role = { community: Scalars['String']['output'] desc?: Maybe id: Scalars['Int']['output'] name: Scalars['String']['output'] permissions: Array } export type Shout = { authors?: Maybe>> body: Scalars['String']['output'] community?: Maybe cover?: Maybe createdAt: Scalars['DateTime']['output'] deletedAt?: Maybe deletedBy?: Maybe description?: Maybe id: Scalars['Int']['output'] lang?: Maybe layout?: Maybe lead?: Maybe mainTopic?: Maybe media?: Maybe publishedAt?: Maybe slug: Scalars['String']['output'] stat?: Maybe subtitle?: Maybe title?: Maybe topics?: Maybe>> updatedAt?: Maybe updatedBy?: Maybe versionOf?: Maybe visibility?: Maybe } export type ShoutInput = { authors?: InputMaybe>> body?: InputMaybe community?: InputMaybe cover?: InputMaybe description?: InputMaybe layout?: InputMaybe lead?: InputMaybe mainTopic?: InputMaybe media?: InputMaybe slug?: InputMaybe subtitle?: InputMaybe title?: InputMaybe topics?: InputMaybe>> } export type Stat = { commented?: Maybe ranking?: Maybe rating?: Maybe reacted?: Maybe viewed?: Maybe } export type Token = { createdAt: Scalars['DateTime']['output'] expiresAt?: Maybe id: Scalars['Int']['output'] ownerId: Scalars['Int']['output'] usedAt?: Maybe value: Scalars['String']['output'] } export type Topic = { body?: Maybe id: Scalars['Int']['output'] oid?: Maybe pic?: Maybe slug: Scalars['String']['output'] stat?: Maybe title?: Maybe } export type TopicInput = { body?: InputMaybe id?: InputMaybe pic?: InputMaybe slug: Scalars['String']['input'] title?: InputMaybe } export type TopicStat = { authors: Scalars['Int']['output'] followers: Scalars['Int']['output'] shouts: Scalars['Int']['output'] } export type User = { about?: Maybe bio?: Maybe communities?: Maybe>> createdAt: Scalars['DateTime']['output'] email?: Maybe emailConfirmed?: Maybe id: Scalars['Int']['output'] lastSeen?: Maybe links?: Maybe>> muted?: Maybe name?: Maybe oauth?: Maybe oid?: Maybe password?: Maybe ratings?: Maybe>> slug: Scalars['String']['output'] updatedAt?: Maybe username: Scalars['String']['output'] userpic?: Maybe }