matt HOFFNER
init
3c3f089
import { gql } from '@apollo/client';
export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
ID: string;
String: string;
Boolean: boolean;
Int: number;
Float: number;
DateTime: any;
JSON: any;
Upload: any;
};
export type Account = {
__typename?: 'Account';
createdAt: Scalars['DateTime'];
email: Scalars['String'];
id: Scalars['String'];
token: Scalars['String'];
updatedAt: Scalars['DateTime'];
};
export type AuthResponse = Response & {
__typename?: 'AuthResponse';
data?: Maybe<User>;
exp?: Maybe<Scalars['DateTime']>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
token?: Maybe<Scalars['String']>;
};
export type Comment = {
__typename?: 'Comment';
author?: Maybe<User>;
authorId: Scalars['String'];
createdAt?: Maybe<Scalars['DateTime']>;
id: Scalars['Int'];
message?: Maybe<Scalars['String']>;
parentId?: Maybe<Scalars['Int']>;
project?: Maybe<Project>;
projectId?: Maybe<Scalars['String']>;
updatedAt?: Maybe<Scalars['DateTime']>;
};
export type CommentResponse = Response & {
__typename?: 'CommentResponse';
data?: Maybe<Comment>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export type CommentSubscriptionResponse = {
__typename?: 'CommentSubscriptionResponse';
data?: Maybe<Notification>;
message?: Maybe<Scalars['String']>;
type?: Maybe<PushNotificationType>;
};
export type CommentsInput = {
projectId: Scalars['String'];
};
export type CommentsResponse = Response & {
__typename?: 'CommentsResponse';
data?: Maybe<Array<Maybe<Comment>>>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export type CreateCommentInput = {
mentions?: InputMaybe<Array<InputMaybe<MentionsInput>>>;
message?: InputMaybe<Scalars['String']>;
parentId?: InputMaybe<Scalars['Int']>;
projectId: Scalars['String'];
};
export type CreatePageViewInput = {
ip: Scalars['String'];
};
export type CreateProjectInput = {
content?: InputMaybe<Scalars['JSON']>;
description?: InputMaybe<Scalars['String']>;
file?: InputMaybe<Scalars['Upload']>;
tags?: InputMaybe<Array<InputMaybe<TagInput>>>;
title?: InputMaybe<Scalars['String']>;
};
export type DeleteCommentInput = {
commentId: Scalars['Int'];
};
export type DeleteProjectInput = {
projectId: Scalars['String'];
};
export type GithubAuthInput = {
code?: InputMaybe<Scalars['String']>;
};
export type GoogleAuthInput = {
authuser?: InputMaybe<Scalars['String']>;
code?: InputMaybe<Scalars['String']>;
prompt?: InputMaybe<Scalars['String']>;
scope?: InputMaybe<Scalars['String']>;
};
export type MentionsInput = {
email?: InputMaybe<Scalars['String']>;
userId?: InputMaybe<Scalars['String']>;
};
export type Mutation = {
__typename?: 'Mutation';
createComment: CommentResponse;
createProject: ProjectResponse;
deleteComment: CommentResponse;
deleteProject: ProjectResponse;
forgotPassword: SimpleAuthResponse;
githubOauth: AuthResponse;
googleOauth: AuthResponse;
login: AuthResponse;
register: AuthResponse;
resetPassword: ResetPasswordResponse;
toggleVote: VoteResponse;
updateComment: CommentResponse;
updateProfile: UserResponse;
updateProject: ProjectResponse;
uploadFile: UploadResponse;
verifyUser: AuthResponse;
viewNotification?: Maybe<Response>;
};
export type MutationCreateCommentArgs = {
input: CreateCommentInput;
};
export type MutationCreateProjectArgs = {
input: CreateProjectInput;
};
export type MutationDeleteCommentArgs = {
input: DeleteCommentInput;
};
export type MutationDeleteProjectArgs = {
input: DeleteProjectInput;
};
export type MutationForgotPasswordArgs = {
input: UserForgotPasswordInput;
};
export type MutationGithubOauthArgs = {
input: GithubAuthInput;
};
export type MutationGoogleOauthArgs = {
input: GoogleAuthInput;
};
export type MutationLoginArgs = {
input: UserLoginInput;
};
export type MutationRegisterArgs = {
input: UserRegisterInput;
};
export type MutationResetPasswordArgs = {
input: UserResetPasswordInput;
};
export type MutationToggleVoteArgs = {
input?: InputMaybe<ToggleVoteInput>;
};
export type MutationUpdateCommentArgs = {
input: UpdateCommentInput;
};
export type MutationUpdateProfileArgs = {
input?: InputMaybe<UpdateProfileInput>;
};
export type MutationUpdateProjectArgs = {
input: UpdateProjectInput;
};
export type MutationUploadFileArgs = {
input: UploadInput;
};
export type MutationVerifyUserArgs = {
input: UserVerifyInput;
};
export type MutationViewNotificationArgs = {
input: ViewNotificationInput;
};
export type Notification = {
__typename?: 'Notification';
content?: Maybe<Scalars['String']>;
createdAt?: Maybe<Scalars['DateTime']>;
id: Scalars['Int'];
projectId?: Maybe<Scalars['String']>;
projectSlug?: Maybe<Scalars['String']>;
receiverId?: Maybe<Scalars['String']>;
sender?: Maybe<User>;
senderId?: Maybe<Scalars['String']>;
type?: Maybe<Scalars['String']>;
updatedAt?: Maybe<Scalars['DateTime']>;
viewed?: Maybe<Scalars['Boolean']>;
};
export type NotificationInput = {
limit?: InputMaybe<Scalars['Int']>;
offset?: InputMaybe<Scalars['Int']>;
userId?: InputMaybe<Scalars['String']>;
};
export type NotificationResponse = Response & {
__typename?: 'NotificationResponse';
data?: Maybe<Notification>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export type NotificationsResponse = Response & {
__typename?: 'NotificationsResponse';
data?: Maybe<Array<Maybe<Notification>>>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export type PageView = {
__typename?: 'PageView';
createdAt?: Maybe<Scalars['DateTime']>;
id: Scalars['Int'];
ip: Scalars['String'];
updatedAt?: Maybe<Scalars['DateTime']>;
};
export type PageViewResponse = {
__typename?: 'PageViewResponse';
data?: Maybe<Array<Maybe<PageView>>>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export type Project = {
__typename?: 'Project';
_count?: Maybe<ProjectCountPayload>;
author?: Maybe<User>;
comments?: Maybe<Array<Maybe<Comment>>>;
content?: Maybe<Scalars['JSON']>;
createdAt?: Maybe<Scalars['DateTime']>;
description?: Maybe<Scalars['String']>;
files?: Maybe<Array<Maybe<Scalars['String']>>>;
hasvoted?: Maybe<Scalars['Boolean']>;
id: Scalars['String'];
isProjectOwner?: Maybe<Scalars['Boolean']>;
rank?: Maybe<Scalars['Int']>;
slug?: Maybe<Scalars['String']>;
tags?: Maybe<Array<Maybe<Tag>>>;
title?: Maybe<Scalars['String']>;
updatedAt?: Maybe<Scalars['DateTime']>;
votes?: Maybe<Array<Maybe<Vote>>>;
};
export type ProjectCountPayload = {
__typename?: 'ProjectCountPayload';
comments?: Maybe<Scalars['Int']>;
votes?: Maybe<Scalars['Int']>;
};
export type ProjectInput = {
id: Scalars['String'];
vote_limit?: InputMaybe<Scalars['Int']>;
vote_offset?: InputMaybe<Scalars['Int']>;
};
export type ProjectResponse = Response & {
__typename?: 'ProjectResponse';
data?: Maybe<Project>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export type ProjectsInput = {
limit?: InputMaybe<Scalars['Int']>;
offset?: InputMaybe<Scalars['Int']>;
};
export type ProjectsResponse = Response & {
__typename?: 'ProjectsResponse';
data: Array<Project>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export enum PushNotificationType {
Comment = 'COMMENT',
Mention = 'MENTION',
Reply = 'REPLY',
Upvote = 'UPVOTE'
}
export type Query = {
__typename?: 'Query';
comments?: Maybe<CommentsResponse>;
me?: Maybe<UserResponse>;
mostActiveUsers?: Maybe<UsersResponse>;
notifications?: Maybe<NotificationsResponse>;
pageViews?: Maybe<PageViewResponse>;
project?: Maybe<ProjectResponse>;
projects?: Maybe<ProjectsResponse>;
tags?: Maybe<TagsResponse>;
user?: Maybe<UserResponse>;
users?: Maybe<UsersResponse>;
usersWhoComment?: Maybe<UsersResponse>;
};
export type QueryCommentsArgs = {
input: CommentsInput;
};
export type QueryNotificationsArgs = {
input: NotificationInput;
};
export type QueryProjectArgs = {
input: ProjectInput;
};
export type QueryProjectsArgs = {
input: ProjectsInput;
};
export type QueryUserArgs = {
input: UserInput;
};
export type QueryUsersArgs = {
input: UsersInput;
};
export type QueryUsersWhoCommentArgs = {
input: ProjectInput;
};
export type ResetPasswordResponse = Response & {
__typename?: 'ResetPasswordResponse';
data?: Maybe<Account>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export type Response = {
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export type SimpleAuthResponse = Response & {
__typename?: 'SimpleAuthResponse';
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export type Subscription = {
__typename?: 'Subscription';
commentCreated?: Maybe<CommentSubscriptionResponse>;
mentionCreated?: Maybe<CommentSubscriptionResponse>;
replyCreated?: Maybe<CommentSubscriptionResponse>;
upvoteCreated?: Maybe<UpvoteSubscriptionResponse>;
};
export type Tag = {
__typename?: 'Tag';
id: Scalars['Int'];
projects?: Maybe<Array<Maybe<Project>>>;
value: Scalars['String'];
};
export type TagInput = {
id?: InputMaybe<Scalars['Int']>;
value: Scalars['String'];
};
export type TagsResponse = Response & {
__typename?: 'TagsResponse';
data?: Maybe<Array<Tag>>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export type ToggleVoteInput = {
id: Scalars['String'];
};
export type UpdateCommentInput = {
commentId: Scalars['Int'];
message?: InputMaybe<Scalars['String']>;
};
export type UpdateProfileInput = {
banner?: InputMaybe<Scalars['String']>;
bio?: InputMaybe<Scalars['String']>;
country?: InputMaybe<Scalars['String']>;
file?: InputMaybe<Scalars['Upload']>;
firstname?: InputMaybe<Scalars['String']>;
id: Scalars['String'];
jobTitle?: InputMaybe<Scalars['String']>;
lastname?: InputMaybe<Scalars['String']>;
showProfession?: InputMaybe<Scalars['Boolean']>;
username?: InputMaybe<Scalars['String']>;
website?: InputMaybe<Scalars['String']>;
};
export type UpdateProjectInput = {
content?: InputMaybe<Scalars['JSON']>;
description?: InputMaybe<Scalars['String']>;
file?: InputMaybe<Scalars['Upload']>;
projectId: Scalars['String'];
tags?: InputMaybe<Array<InputMaybe<TagInput>>>;
title?: InputMaybe<Scalars['String']>;
};
export type UploadInput = {
file?: InputMaybe<Scalars['Upload']>;
};
export type UploadResponse = Response & {
__typename?: 'UploadResponse';
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
url?: Maybe<Scalars['String']>;
};
export type UpvoteSubscriptionResponse = {
__typename?: 'UpvoteSubscriptionResponse';
data?: Maybe<Notification>;
message?: Maybe<Scalars['String']>;
type?: Maybe<PushNotificationType>;
};
export type User = {
__typename?: 'User';
avatar?: Maybe<Scalars['String']>;
banner?: Maybe<Scalars['String']>;
bio?: Maybe<Scalars['String']>;
country?: Maybe<Scalars['String']>;
createdAt?: Maybe<Scalars['DateTime']>;
email: Scalars['String'];
firstname?: Maybe<Scalars['String']>;
id: Scalars['String'];
jobTitle?: Maybe<Scalars['String']>;
lastname?: Maybe<Scalars['String']>;
projects?: Maybe<Array<Maybe<Project>>>;
showProfession?: Maybe<Scalars['Boolean']>;
updatedAt?: Maybe<Scalars['DateTime']>;
username: Scalars['String'];
verifiedAt?: Maybe<Scalars['DateTime']>;
votes?: Maybe<Array<Maybe<Vote>>>;
website?: Maybe<Scalars['String']>;
};
export type UserForgotPasswordInput = {
email: Scalars['String'];
};
export type UserInput = {
username: Scalars['String'];
};
export type UserLoginInput = {
email: Scalars['String'];
password: Scalars['String'];
};
export type UserRegisterInput = {
email: Scalars['String'];
password: Scalars['String'];
username: Scalars['String'];
};
export type UserResetPasswordInput = {
password: Scalars['String'];
token: Scalars['String'];
};
export type UserResponse = Response & {
__typename?: 'UserResponse';
data?: Maybe<User>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export type UserVerifyInput = {
token: Scalars['String'];
};
export type UsersInput = {
limit?: InputMaybe<Scalars['Int']>;
offset?: InputMaybe<Scalars['Int']>;
};
export type UsersResponse = Response & {
__typename?: 'UsersResponse';
data?: Maybe<Array<Maybe<User>>>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};
export type ViewNotificationInput = {
notificationId: Scalars['Int'];
};
export type Vote = {
__typename?: 'Vote';
author?: Maybe<User>;
createdAt?: Maybe<Scalars['DateTime']>;
id: Scalars['Int'];
project?: Maybe<Project>;
updatedAt?: Maybe<Scalars['DateTime']>;
};
export type VoteResponse = Response & {
__typename?: 'VoteResponse';
data?: Maybe<Vote>;
message?: Maybe<Scalars['String']>;
status: Scalars['Boolean'];
};