Files
landscape-template/functions/graphql/schema.graphql
2022-04-16 17:31:17 +03:00

147 lines
2.7 KiB
GraphQL

### This file was generated by Nexus Schema
### Do not make changes to this file directly
type Award {
id: Int!
image: String!
project: Project!
title: String!
url: String!
}
type Bounty implements PostBase {
applicants_count: Int!
author: User!
cover_image: String!
date: String!
deadline: String!
excerpt: String!
id: Int!
reward_amount: Int!
tags: [Tag!]!
title: String!
type: String!
votes_count: Int!
}
type Category {
apps_count: Int!
cover_image: String
icon: String
id: Int!
project: [Project!]!
title: String!
votes_sum: Int!
}
type LnurlDetails {
commentAllowed: Int
maxSendable: Int
metadata: String
minSendable: Int
}
type Mutation {
confirmVote(payment_request: String!, preimage: String!): Vote!
vote(amount_in_sat: Int!, project_id: Int!): Vote!
}
union Post = Bounty | Question | Story
interface PostBase {
author: User!
date: String!
excerpt: String!
id: Int!
tags: [Tag!]!
title: String!
votes_count: Int!
}
type PostComment {
author: User!
body: String!
date: String!
id: Int!
}
type Project {
awards: [Award!]!
category: Category!
cover_image: String!
description: String!
id: Int!
lightning_address: String
lnurl_callback_url: String
screenshots: [String!]!
tags: [Tag!]!
thumbnail_image: String!
title: String!
votes_count: Int!
website: String!
}
type Query {
allCategories: [Category!]!
allProjects(skip: Int = 0, take: Int = 50): [Project!]!
getCategory(id: Int!): Category!
getFeed(skip: Int = 0, take: Int = 15): [Post!]!
getLnurlDetailsForProject(project_id: Int!): LnurlDetails!
getPostById(id: Int!): Post!
getProject(id: Int!): Project!
hottestProjects(skip: Int = 0, take: Int = 50): [Project!]!
newProjects(skip: Int = 0, take: Int = 50): [Project!]!
projectsByCategory(category_id: Int!, skip: Int = 0, take: Int = 10): [Project!]!
searchProjects(search: String!, skip: Int = 0, take: Int = 50): [Project!]!
}
type Question implements PostBase {
answers_count: Int!
author: User!
comments: [PostComment!]!
cover_image: String!
date: String!
deadline: String!
excerpt: String!
id: Int!
reward_amount: Int!
tags: [Tag!]!
title: String!
type: String!
votes_count: Int!
}
type Story implements PostBase {
author: User!
comments_count: Int!
cover_image: String!
date: String!
excerpt: String!
id: Int!
tags: [Tag!]!
title: String!
type: String!
votes_count: Int!
}
type Tag {
id: Int!
project: [Project!]!
title: String!
}
type User {
id: Int!
image: String!
name: String!
}
type Vote {
amount_in_sat: Int!
id: Int!
paid: Boolean!
payment_hash: String!
payment_request: String!
project: Project!
}