mirror of
https://github.com/aljazceru/landscape-template.git
synced 2025-12-17 06:14:27 +01:00
602 lines
11 KiB
GraphQL
602 lines
11 KiB
GraphQL
### 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!
|
|
} |