### This file was generated by Nexus Schema ### Do not make changes to this file directly type Author { avatar: String! id: Int! join_date: Date! lightning_address: String name: String! } type Award { id: Int! image: String! project: Project! title: String! url: String! } interface BaseUser { avatar: String! bio: String discord: String github: String id: Int! in_tournament(id: Int!): Boolean! jobTitle: String join_date: Date! lightning_address: String linkedin: String location: String name: String! projects: [Project!]! role: String roles: [MakerRole!]! similar_makers: [User!]! skills: [MakerSkill!]! stories: [Story!]! tournaments: [Tournament!]! twitter: String website: String } type Bounty implements PostBase { applicants_count: Int! applications: [BountyApplication!]! author: Author! body: String! cover_image: String createdAt: Date! deadline: String! excerpt: String! id: Int! is_published: Boolean reward_amount: Int! tags: [Tag!]! title: String! type: String! updatedAt: Date! votes_count: Int! } type BountyApplication { author: Author! date: String! id: Int! workplan: String! } type Capability { icon: String! id: Int! title: String! } type Category { apps_count: Int! cover_image: String icon: String id: Int! project: [Project!]! title: String! votes_sum: Int! } input CreateProjectInput { capabilities: [Int!]! category_id: Int! cover_image: ImageInput! description: String! discord: String github: String hashtag: String! id: Int launch_status: ProjectLaunchStatusEnum! lightning_address: String members: [TeamMemberInput!]! recruit_roles: [Int!]! screenshots: [ImageInput!]! slack: String tagline: String! telegram: String thumbnail_image: ImageInput! title: String! tournaments: [Int!]! twitter: String website: String! } type CreateProjectResponse { project: Project! } """Date custom scalar type""" scalar Date type Donation { amount: Int! by: User createdAt: Date! id: Int! paid: Boolean! payment_hash: String! payment_request: String! } type DonationsStats { applications: String! donations: String! prizes: String! touranments: String! } type GenericMakerRole { icon: String! id: Int! title: String! } type Hackathon { cover_image: String! description: String! end_date: Date! id: Int! location: String! start_date: Date! tags: [Tag!]! title: String! website: String! } input ImageInput { id: String name: String url: String! } type LnurlDetails { commentAllowed: Int maxSendable: Int metadata: String minSendable: Int } type MakerRole { icon: String! id: Int! level: RoleLevelEnum! title: String! } input MakerRoleInput { id: Int! level: RoleLevelEnum! } type MakerSkill { id: Int! title: String! } input MakerSkillInput { id: Int! } type Mutation { confirmDonation(payment_request: String!, preimage: String!): Donation! confirmVote(payment_request: String!, preimage: String!): Vote! createProject(input: CreateProjectInput): CreateProjectResponse createStory(data: StoryInputType): Story deleteProject(id: Int!): Project deleteStory(id: Int!): Story donate(amount_in_sat: Int!): Donation! registerInTournament(data: RegisterInTournamentInput, tournament_id: Int!): User updateProfileDetails(data: ProfileDetailsInput): MyProfile updateProfileRoles(data: ProfileRolesInput): MyProfile updateProject(input: UpdateProjectInput): CreateProjectResponse updateTournamentRegistration(data: UpdateTournamentRegistrationInput, tournament_id: Int!): ParticipationInfo updateUserPreferences(userKeys: [UserKeyInputType!]): MyProfile! vote(amount_in_sat: Int!, item_id: Int!, item_type: VOTE_ITEM_TYPE!): Vote! } type MyProfile implements BaseUser { avatar: String! bio: String discord: String email: String github: String id: Int! in_tournament(id: Int!): Boolean! jobTitle: String join_date: Date! lightning_address: String linkedin: String location: String name: String! nostr_prv_key: String nostr_pub_key: String projects: [Project!]! role: String roles: [MakerRole!]! similar_makers: [User!]! skills: [MakerSkill!]! stories: [Story!]! tournaments: [Tournament!]! twitter: String walletsKeys: [WalletKey!]! website: String } enum POST_TYPE { Bounty Question Story } type ParticipationInfo { createdAt: Date! email: String! hacking_status: TournamentMakerHackingStatusEnum! } union Post = Bounty | Question | Story interface PostBase { body: String! createdAt: Date! excerpt: String! id: Int! is_published: Boolean title: String! updatedAt: Date! votes_count: Int! } type PostComment { author: Author! body: String! created_at: Date! id: Int! parentId: Int votes_count: Int! } input ProfileDetailsInput { avatar: ImageInput bio: String discord: String email: String github: String jobTitle: String lightning_address: String linkedin: String location: String name: String twitter: String website: String } input ProfileRolesInput { roles: [MakerRoleInput!]! skills: [MakerSkillInput!]! } type Project { awards: [Award!]! capabilities: [Capability!]! category: Category! cover_image: String! description: String! discord: String github: String hashtag: String! id: Int! launch_status: ProjectLaunchStatusEnum! lightning_address: String lnurl_callback_url: String members: [ProjectMember!]! permissions: [ProjectPermissionEnum!]! recruit_roles: [MakerRole!]! screenshots: [String!]! slack: String stories: [Story!]! tagline: String! tags: [Tag!]! telegram: String thumbnail_image: String! title: String! tournaments: [Tournament!]! twitter: String votes_count: Int! website: String! } enum ProjectLaunchStatusEnum { Launched WIP } type ProjectMember { role: TEAM_MEMBER_ROLE! user: User! } enum ProjectPermissionEnum { DeleteProject UpdateAdmins UpdateInfo UpdateMembers } type Query { allCategories: [Category!]! allProjects(skip: Int = 0, take: Int = 50): [Project!]! checkValidProjectHashtag(hashtag: String!, projectId: Int): Boolean! getAllCapabilities: [Capability!]! getAllHackathons(sortBy: String, tag: Int): [Hackathon!]! getAllMakersRoles: [GenericMakerRole!]! getAllMakersSkills: [MakerSkill!]! getCategory(id: Int!): Category! getDonationsStats: DonationsStats! getFeed(skip: Int = 0, sortBy: String, tag: Int = 0, take: Int = 10): [Post!]! getLnurlDetailsForProject(project_id: Int!): LnurlDetails! getMakersInTournament(openToConnect: Boolean, roleId: Int, search: String, skip: Int = 0, take: Int = 10, tournamentId: Int!): TournamentMakersResponse! getMyDrafts(type: POST_TYPE!): [Post!]! getPostById(id: Int!, type: POST_TYPE!): Post! getProject(id: Int, tag: String): Project! getProjectsInTournament(roleId: Int, search: String, skip: Int = 0, take: Int = 10, tournamentId: Int!): TournamentProjectsResponse! getTournamentById(id: Int!): Tournament! getTournamentToRegister: [Tournament!]! getTrendingPosts: [Post!]! hottestProjects(skip: Int = 0, take: Int = 50): [Project!]! me: MyProfile newProjects(skip: Int = 0, take: Int = 50): [Project!]! officialTags: [Tag!]! popularTags: [Tag!]! profile(id: Int!): User projectsByCategory(category_id: Int!, skip: Int = 0, take: Int = 10): [Project!]! searchProjects(search: String!, skip: Int = 0, take: Int = 50): [Project!]! searchUsers(value: String!): [User!]! similarMakers(id: Int!): [User!]! similarProjects(id: Int!): [Project!]! tournamentParticipationInfo(tournamentId: Int!): ParticipationInfo } type Question implements PostBase { author: Author! body: String! createdAt: Date! excerpt: String! id: Int! is_published: Boolean tags: [Tag!]! title: String! type: String! updatedAt: Date! votes_count: Int! } input RegisterInTournamentInput { email: String! hacking_status: TournamentMakerHackingStatusEnum! } enum RoleLevelEnum { Advanced Beginner Hobbyist Intermediate Pro } type Story implements PostBase { author: Author! body: String! comments: [PostComment!]! comments_count: Int! cover_image: String createdAt: Date! excerpt: String! id: Int! is_published: Boolean project: Project tags: [Tag!]! title: String! type: String! updatedAt: Date! votes_count: Int! } input StoryInputType { body: String! cover_image: ImageInput id: Int is_published: Boolean project_id: Int tags: [String!]! title: String! } enum TEAM_MEMBER_ROLE { Admin Maker Owner } type Tag { description: String icon: String id: Int! isOfficial: Boolean title: String! } input TeamMemberInput { id: Int! role: TEAM_MEMBER_ROLE! } type Tournament { cover_image: String! description: String! end_date: Date! events: [TournamentEvent!]! events_count: Int! faqs: [TournamentFAQ!]! id: Int! judges: [TournamentJudge!]! location: String! makers_count: Int! prizes: [TournamentPrize!]! projects_count: Int! start_date: Date! thumbnail_image: String! title: String! website: String! } type TournamentEvent { description: String! ends_at: Date! id: Int! image: String! links: [String!]! location: String! starts_at: Date! title: String! type: TournamentEventTypeEnum! website: String! } enum TournamentEventTypeEnum { IRLMeetup OnlineMeetup TwitterSpace Workshop } type TournamentFAQ { answer: String! question: String! } type TournamentJudge { avatar: String! company: String! name: String! } enum TournamentMakerHackingStatusEnum { OpenToConnect Solo } type TournamentMakersResponse { hasNext: Boolean hasPrev: Boolean makers: [TournamentParticipant!]! } type TournamentParticipant { hacking_status: TournamentMakerHackingStatusEnum! is_registered: Boolean user: User! } type TournamentPrize { amount: String! image: String! title: String! } type TournamentProjectsResponse { hasNext: Boolean hasPrev: Boolean projects: [Project!]! } input UpdateProjectInput { capabilities: [Int!]! category_id: Int! cover_image: ImageInput! description: String! discord: String github: String hashtag: String! id: Int launch_status: ProjectLaunchStatusEnum! lightning_address: String members: [TeamMemberInput!]! recruit_roles: [Int!]! screenshots: [ImageInput!]! slack: String tagline: String! telegram: String thumbnail_image: ImageInput! title: String! tournaments: [Int!]! twitter: String website: String! } input UpdateTournamentRegistrationInput { email: String hacking_status: TournamentMakerHackingStatusEnum } type User implements BaseUser { avatar: String! bio: String discord: String github: String id: Int! in_tournament(id: Int!): Boolean! jobTitle: String join_date: Date! lightning_address: String linkedin: String location: String name: String! projects: [Project!]! role: String roles: [MakerRole!]! similar_makers: [User!]! skills: [MakerSkill!]! stories: [Story!]! tournaments: [Tournament!]! twitter: String website: String } input UserKeyInputType { key: String! name: String! } enum VOTE_ITEM_TYPE { Bounty PostComment Project Question Story User } type Vote { amount_in_sat: Int! id: Int! item_id: Int! item_type: VOTE_ITEM_TYPE! paid: Boolean! payment_hash: String! payment_request: String! } type WalletKey { createdAt: Date! is_current: Boolean! key: String! name: String! }