Repository navigation
Expand file tree
/
Copy pathschema.graphql
More file actions
109 lines (92 loc) · 1.78 KB
/
Copy pathschema.graphql
File metadata and controls
109 lines (92 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
schema {
query: Query
mutation: Mutation
}
union AdoptFrogResult = AdoptFrogSuccess | Error
type AdoptFrogSuccess {
frog: FrogProfile
}
scalar DateTime
type Error {
message: String!
}
type FrogForVisitor {
frog: FrogProfile
visitor: VisitorResponse
}
type FrogProfile {
id: String!
createdAt: DateTime!
updatedAt: DateTime!
owner: UserProfile!
alive: Boolean!
health: Int!
sanity: Int!
hunger: Int!
status: FrogProfileStatus!
diedAt: DateTime
lastLoop: DateTime
nextLoop: DateTime
sanityCounter: Int!
species: String
hands: String
clothes: String
ipfsMetadataHash: String
mintedNftId: Int
mintedNftAddress: String
mintedNftTxHash: String
mintedNftReceipt: String
imageUrl: String
}
enum FrogProfileStatus {
HAPPY
CONTENT
SAD
}
union InteractionResult = InteractionSuccess | Error
type InteractionSuccess {
success: Boolean
}
type MintParameters {
to: String
nonce: Int
uri: String
priceWei: String
expires: Int
}
input MintedFrogInput {
id: String!
nftId: Int!
address: String!
txHash: String!
receipt: String!
}
union MintedFrogResult = MintedFrogSuccess | Error
type MintedFrogSuccess {
frog: FrogProfile
}
type Mutation {
adoptFrog(fid: Int!): AdoptFrogResult
mintedFrog(input: MintedFrogInput): MintedFrogResult
frameInteraction(frameUrl: String!, interactionJson: String!): InteractionResult
}
type Query {
frogForVisitor(id: String!, fid: Int): FrogForVisitor
frogByFid(fid: Int!): FrogProfile
myProfile: UserProfile
}
type UserProfile {
username: String!
firstName: String!
lastName: String!
email: String!
isStaff: Boolean!
id: String!
farcasterId: Int!
}
type VisitorResponse {
user: UserProfile
actionsAllowed: Boolean!
cooldownUntil: Int
mintParameters: MintParameters
}