184 lines
4.5 KiB
JavaScript
184 lines
4.5 KiB
JavaScript
import { gql } from 'graphql-tag'
|
|
|
|
export default gql`
|
|
extend type Query {
|
|
me: User
|
|
settings: User
|
|
user(name: String!): User
|
|
users: [User!]
|
|
nameAvailable(name: String!): Boolean!
|
|
topUsers(cursor: String, when: String, from: String, to: String, by: String, limit: Limit): UsersNullable!
|
|
topCowboys(cursor: String): UsersNullable!
|
|
searchUsers(q: String!, limit: Limit, similarity: Float): [User!]!
|
|
userSuggestions(q: String, limit: Limit): [User!]!
|
|
hasNewNotes: Boolean!
|
|
}
|
|
|
|
type UsersNullable {
|
|
cursor: String
|
|
users: [User]!
|
|
}
|
|
|
|
type Users {
|
|
cursor: String
|
|
users: [User!]!
|
|
}
|
|
|
|
extend type Mutation {
|
|
setName(name: String!): String
|
|
setSettings(settings: SettingsInput!): User
|
|
setPhoto(photoId: ID!): Int!
|
|
upsertBio(bio: String!): User!
|
|
setWalkthrough(tipPopover: Boolean, upvotePopover: Boolean): Boolean
|
|
unlinkAuth(authType: String!): AuthMethods!
|
|
linkUnverifiedEmail(email: String!): Boolean
|
|
hideWelcomeBanner: Boolean
|
|
subscribeUserPosts(id: ID): User
|
|
subscribeUserComments(id: ID): User
|
|
toggleMute(id: ID): User
|
|
generateApiKey(id: ID!): String
|
|
deleteApiKey(id: ID!): User
|
|
}
|
|
|
|
type User {
|
|
id: ID!
|
|
createdAt: Date!
|
|
name: String
|
|
nitems(when: String, from: String, to: String): Int!
|
|
nposts(when: String, from: String, to: String): Int!
|
|
nterritories(when: String, from: String, to: String): Int!
|
|
ncomments(when: String, from: String, to: String): Int!
|
|
bio: Item
|
|
bioId: Int
|
|
photoId: Int
|
|
since: Int
|
|
|
|
optional: UserOptional!
|
|
privates: UserPrivates
|
|
|
|
meMute: Boolean!
|
|
meSubscriptionPosts: Boolean!
|
|
meSubscriptionComments: Boolean!
|
|
}
|
|
|
|
input SettingsInput {
|
|
autoDropBolt11s: Boolean!
|
|
diagnostics: Boolean!
|
|
noReferralLinks: Boolean!
|
|
fiatCurrency: String!
|
|
greeterMode: Boolean!
|
|
hideBookmarks: Boolean!
|
|
hideCowboyHat: Boolean!
|
|
hideGithub: Boolean!
|
|
hideNostr: Boolean!
|
|
hideTwitter: Boolean!
|
|
hideFromTopUsers: Boolean!
|
|
hideInvoiceDesc: Boolean!
|
|
hideIsContributor: Boolean!
|
|
hideWalletBalance: Boolean!
|
|
imgproxyOnly: Boolean!
|
|
nostrCrossposting: Boolean!
|
|
nostrPubkey: String
|
|
nostrRelays: [String!]
|
|
noteAllDescendants: Boolean!
|
|
noteCowboyHat: Boolean!
|
|
noteDeposits: Boolean!,
|
|
noteWithdrawals: Boolean!,
|
|
noteEarning: Boolean!
|
|
noteForwardedSats: Boolean!
|
|
noteInvites: Boolean!
|
|
noteItemSats: Boolean!
|
|
noteJobIndicator: Boolean!
|
|
noteMentions: Boolean!
|
|
nsfwMode: Boolean!
|
|
tipDefault: Int!
|
|
turboTipping: Boolean!
|
|
zapUndos: Int
|
|
wildWestMode: Boolean!
|
|
withdrawMaxFeeDefault: Int!
|
|
}
|
|
|
|
type AuthMethods {
|
|
lightning: Boolean!
|
|
nostr: Boolean!
|
|
github: Boolean!
|
|
twitter: Boolean!
|
|
email: String
|
|
apiKey: String
|
|
}
|
|
|
|
type UserPrivates {
|
|
"""
|
|
extremely sensitive
|
|
"""
|
|
sats: Int!
|
|
authMethods: AuthMethods!
|
|
lnAddr: String
|
|
|
|
"""
|
|
only relevant to user
|
|
"""
|
|
lastCheckedJobs: String
|
|
hideWelcomeBanner: Boolean!
|
|
tipPopover: Boolean!
|
|
upvotePopover: Boolean!
|
|
hasInvites: Boolean!
|
|
apiKeyEnabled: Boolean!
|
|
|
|
"""
|
|
mirrors SettingsInput
|
|
"""
|
|
autoDropBolt11s: Boolean!
|
|
diagnostics: Boolean!
|
|
noReferralLinks: Boolean!
|
|
fiatCurrency: String!
|
|
greeterMode: Boolean!
|
|
hideBookmarks: Boolean!
|
|
hideCowboyHat: Boolean!
|
|
hideGithub: Boolean!
|
|
hideNostr: Boolean!
|
|
hideTwitter: Boolean!
|
|
hideFromTopUsers: Boolean!
|
|
hideInvoiceDesc: Boolean!
|
|
hideIsContributor: Boolean!
|
|
hideWalletBalance: Boolean!
|
|
imgproxyOnly: Boolean!
|
|
nostrCrossposting: Boolean!
|
|
nostrPubkey: String
|
|
nostrRelays: [String!]
|
|
noteAllDescendants: Boolean!
|
|
noteCowboyHat: Boolean!
|
|
noteDeposits: Boolean!
|
|
noteWithdrawals: Boolean!
|
|
noteEarning: Boolean!
|
|
noteForwardedSats: Boolean!
|
|
noteInvites: Boolean!
|
|
noteItemSats: Boolean!
|
|
noteJobIndicator: Boolean!
|
|
noteMentions: Boolean!
|
|
nsfwMode: Boolean!
|
|
tipDefault: Int!
|
|
turboTipping: Boolean!
|
|
zapUndos: Int
|
|
wildWestMode: Boolean!
|
|
withdrawMaxFeeDefault: Int!
|
|
autoWithdrawThreshold: Int
|
|
autoWithdrawMaxFeePercent: Float
|
|
}
|
|
|
|
type UserOptional {
|
|
"""
|
|
conditionally private
|
|
"""
|
|
stacked(when: String, from: String, to: String): Int
|
|
spent(when: String, from: String, to: String): Int
|
|
referrals(when: String, from: String, to: String): Int
|
|
streak: Int
|
|
maxStreak: Int
|
|
isContributor: Boolean
|
|
githubId: String
|
|
twitterId: String
|
|
nostrAuthPubkey: String
|
|
}
|
|
`
|