2023-07-23 15:08:43 +00:00
|
|
|
import { gql } from 'graphql-tag'
|
2021-03-25 19:29:24 +00:00
|
|
|
|
|
|
|
export default gql`
|
|
|
|
extend type Query {
|
2023-10-23 23:19:36 +00:00
|
|
|
me: User
|
2022-06-02 22:55:23 +00:00
|
|
|
settings: User
|
2021-05-21 22:32:21 +00:00
|
|
|
user(name: String!): User
|
2021-03-25 19:29:24 +00:00
|
|
|
users: [User!]
|
2021-05-21 22:32:21 +00:00
|
|
|
nameAvailable(name: String!): Boolean!
|
2023-11-22 16:30:43 +00:00
|
|
|
topUsers(cursor: String, when: String, from: String, to: String, by: String, limit: Limit): Users
|
2023-02-09 18:41:28 +00:00
|
|
|
topCowboys(cursor: String): Users
|
2023-11-22 16:30:43 +00:00
|
|
|
searchUsers(q: String!, limit: Limit, similarity: Float): [User!]!
|
|
|
|
userSuggestions(q: String, limit: Limit): [User!]!
|
2022-11-07 23:31:29 +00:00
|
|
|
hasNewNotes: Boolean!
|
2021-12-17 00:01:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type Users {
|
|
|
|
cursor: String
|
|
|
|
users: [User!]!
|
2021-03-25 19:29:24 +00:00
|
|
|
}
|
|
|
|
|
2021-05-22 00:09:11 +00:00
|
|
|
extend type Mutation {
|
2023-07-23 15:08:43 +00:00
|
|
|
setName(name: String!): String
|
2023-11-10 01:05:35 +00:00
|
|
|
setSettings(settings: SettingsInput!): User
|
2022-05-16 20:51:22 +00:00
|
|
|
setPhoto(photoId: ID!): Int!
|
2021-09-24 21:28:21 +00:00
|
|
|
upsertBio(bio: String!): User!
|
2021-12-09 20:40:40 +00:00
|
|
|
setWalkthrough(tipPopover: Boolean, upvotePopover: Boolean): Boolean
|
2022-06-02 22:55:23 +00:00
|
|
|
unlinkAuth(authType: String!): AuthMethods!
|
|
|
|
linkUnverifiedEmail(email: String!): Boolean
|
2023-09-11 21:29:45 +00:00
|
|
|
hideWelcomeBanner: Boolean
|
2023-09-18 18:20:02 +00:00
|
|
|
subscribeUserPosts(id: ID): User
|
|
|
|
subscribeUserComments(id: ID): User
|
2023-09-28 20:02:25 +00:00
|
|
|
toggleMute(id: ID): User
|
2024-01-07 17:00:24 +00:00
|
|
|
setAutoWithdraw(lnAddr: String!, autoWithdrawThreshold: Int!, autoWithdrawMaxFeePercent: Float!): Boolean
|
|
|
|
removeAutoWithdraw: Boolean
|
2022-06-02 22:55:23 +00:00
|
|
|
}
|
|
|
|
|
2021-03-25 19:29:24 +00:00
|
|
|
type User {
|
|
|
|
id: ID!
|
2023-07-27 00:18:42 +00:00
|
|
|
createdAt: Date!
|
2021-03-25 19:29:24 +00:00
|
|
|
name: String
|
2023-11-09 00:15:36 +00:00
|
|
|
nitems(when: String, from: String, to: String): Int!
|
|
|
|
nposts(when: String, from: String, to: String): Int!
|
|
|
|
ncomments(when: String, from: String, to: String): Int!
|
2021-09-23 17:42:00 +00:00
|
|
|
bio: Item
|
2022-04-28 18:11:05 +00:00
|
|
|
bioId: Int
|
2022-05-16 20:51:22 +00:00
|
|
|
photoId: Int
|
2023-06-03 00:55:45 +00:00
|
|
|
since: Int
|
2023-11-10 01:05:35 +00:00
|
|
|
|
|
|
|
optional: UserOptional!
|
|
|
|
privates: UserPrivates
|
|
|
|
|
|
|
|
meMute: Boolean!
|
|
|
|
meSubscriptionPosts: Boolean!
|
|
|
|
meSubscriptionComments: Boolean!
|
|
|
|
}
|
|
|
|
|
|
|
|
input SettingsInput {
|
|
|
|
autoDropBolt11s: Boolean!
|
|
|
|
diagnostics: Boolean!
|
|
|
|
fiatCurrency: String!
|
|
|
|
greeterMode: Boolean!
|
|
|
|
hideBookmarks: Boolean!
|
|
|
|
hideCowboyHat: Boolean!
|
|
|
|
hideFromTopUsers: Boolean!
|
|
|
|
hideInvoiceDesc: Boolean!
|
|
|
|
hideIsContributor: Boolean!
|
|
|
|
hideWalletBalance: Boolean!
|
|
|
|
imgproxyOnly: Boolean!
|
2023-10-04 18:47:09 +00:00
|
|
|
nostrCrossposting: Boolean!
|
2023-11-10 01:05:35 +00:00
|
|
|
nostrPubkey: String
|
|
|
|
nostrRelays: [String!]
|
2022-04-21 22:50:02 +00:00
|
|
|
noteAllDescendants: Boolean!
|
2024-01-11 17:27:54 +00:00
|
|
|
noteTerritoryPosts: Boolean!
|
2023-11-10 01:05:35 +00:00
|
|
|
noteCowboyHat: Boolean!
|
2022-04-21 22:50:02 +00:00
|
|
|
noteDeposits: Boolean!
|
2023-11-10 01:05:35 +00:00
|
|
|
noteEarning: Boolean!
|
|
|
|
noteForwardedSats: Boolean!
|
2022-04-21 22:50:02 +00:00
|
|
|
noteInvites: Boolean!
|
2023-11-10 01:05:35 +00:00
|
|
|
noteItemSats: Boolean!
|
2022-05-09 17:30:27 +00:00
|
|
|
noteJobIndicator: Boolean!
|
2023-11-10 01:05:35 +00:00
|
|
|
noteMentions: Boolean!
|
|
|
|
tipDefault: Int!
|
|
|
|
turboTipping: Boolean!
|
|
|
|
wildWestMode: Boolean!
|
|
|
|
withdrawMaxFeeDefault: Int!
|
|
|
|
}
|
|
|
|
|
|
|
|
type AuthMethods {
|
|
|
|
lightning: Boolean!
|
|
|
|
nostr: Boolean!
|
|
|
|
github: Boolean!
|
|
|
|
twitter: Boolean!
|
|
|
|
email: String
|
|
|
|
}
|
|
|
|
|
|
|
|
type UserPrivates {
|
|
|
|
"""
|
|
|
|
extremely sensitive
|
|
|
|
"""
|
|
|
|
sats: Int!
|
|
|
|
authMethods: AuthMethods!
|
2024-01-07 17:00:24 +00:00
|
|
|
lnAddr: String
|
2023-11-10 01:05:35 +00:00
|
|
|
|
|
|
|
"""
|
|
|
|
only relevant to user
|
|
|
|
"""
|
|
|
|
lastCheckedJobs: String
|
|
|
|
hideWelcomeBanner: Boolean!
|
|
|
|
tipPopover: Boolean!
|
|
|
|
upvotePopover: Boolean!
|
|
|
|
hasInvites: Boolean!
|
|
|
|
|
|
|
|
"""
|
|
|
|
mirrors SettingsInput
|
|
|
|
"""
|
2023-11-09 17:50:43 +00:00
|
|
|
autoDropBolt11s: Boolean!
|
2023-11-10 01:05:35 +00:00
|
|
|
diagnostics: Boolean!
|
|
|
|
fiatCurrency: String!
|
|
|
|
greeterMode: Boolean!
|
2023-08-23 20:29:55 +00:00
|
|
|
hideBookmarks: Boolean!
|
2023-11-10 01:05:35 +00:00
|
|
|
hideCowboyHat: Boolean!
|
|
|
|
hideFromTopUsers: Boolean!
|
|
|
|
hideInvoiceDesc: Boolean!
|
|
|
|
hideIsContributor: Boolean!
|
2023-09-12 17:19:26 +00:00
|
|
|
hideWalletBalance: Boolean!
|
2023-10-03 18:05:04 +00:00
|
|
|
imgproxyOnly: Boolean!
|
2023-11-10 01:05:35 +00:00
|
|
|
nostrCrossposting: Boolean!
|
|
|
|
nostrPubkey: String
|
|
|
|
nostrRelays: [String!]
|
|
|
|
noteAllDescendants: Boolean!
|
2024-01-11 17:27:54 +00:00
|
|
|
noteTerritoryPosts: Boolean!
|
2023-11-10 01:05:35 +00:00
|
|
|
noteCowboyHat: Boolean!
|
|
|
|
noteDeposits: Boolean!
|
|
|
|
noteEarning: Boolean!
|
|
|
|
noteForwardedSats: Boolean!
|
|
|
|
noteInvites: Boolean!
|
|
|
|
noteItemSats: Boolean!
|
|
|
|
noteJobIndicator: Boolean!
|
|
|
|
noteMentions: Boolean!
|
|
|
|
tipDefault: Int!
|
|
|
|
turboTipping: Boolean!
|
2022-09-21 19:57:36 +00:00
|
|
|
wildWestMode: Boolean!
|
2023-11-10 01:05:35 +00:00
|
|
|
withdrawMaxFeeDefault: Int!
|
2024-01-07 17:00:24 +00:00
|
|
|
autoWithdrawThreshold: Int
|
2024-01-13 05:47:05 +00:00
|
|
|
autoWithdrawMaxFeePercent: Float
|
2023-11-10 01:05:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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
|
2021-03-25 19:29:24 +00:00
|
|
|
}
|
|
|
|
`
|