-
Notifications
You must be signed in to change notification settings - Fork 2
/
schema.gql
130 lines (112 loc) · 2.06 KB
/
schema.gql
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# -----------------------------------------------
# !!! THIS FILE WAS GENERATED BY TYPE-GRAPHQL !!!
# !!! DO NOT MODIFY THIS FILE BY YOURSELF !!!
# -----------------------------------------------
type Album {
id: String!
provider: Provider!
name: String!
img: String
}
type Artist {
id: String!
provider: Provider!
name: String!
}
type Base {
id: String!
provider: Provider!
}
enum BitRate {
mid
high
sq
hq
}
type Krc {
id: String!
provider: Provider!
ti: String
ar: String
al: String
by: String
items: [KrcArray!]!
}
scalar KrcArray
type Lrc {
id: String!
provider: Provider!
ti: String
ar: String
al: String
by: String
items: [LrcItem!]!
}
type LrcItem {
duration: Float
offset: Float
line: String!
}
type Mutation {
addPeakTime(peak: SongPeaksInput!, provider: Provider!, id: String!): Boolean!
}
enum Privilege {
deny
allow
unknown
}
enum Provider {
kugou
netease
adapterQQ
}
type Query {
lrc(milliseconds: Float, keyword: String, provider: Provider!, id: String!): Lrc
krc(milliseconds: Float, keyword: String, provider: Provider!, id: String!): Krc
song(provider: Provider!, id: String!): Song
search(providers: [Provider!], keyword: String!): [SearchSong!]!
url(br: BitRate, provider: Provider!, id: String!): String!
parseUrl(url: String!): [SearchSong!]!
getPeak(duration: Float!, provider: Provider!, id: String!): SongPeaks!
}
type SearchAlbum {
id: String
name: String!
img: String
}
type SearchArtist {
id: String
name: String!
}
type SearchSong {
id: String!
provider: Provider!
name: String!
privilege: Privilege
artists: [SearchArtist!]
album: SearchAlbum
duration: Float
}
type Song {
id: String!
provider: Provider!
name: String!
duration: Float
klyric: String
lrc: String
privilege: String
artists: [Artist!]
album: Album
peaks: [SongPeaks!]
startTime(duration: Int): Float
}
type SongPeaks {
id: String!
provider: Provider!
duration: Int!
startTime: Float!
}
input SongPeaksInput {
precision: Int!
peaks: [Float!]!
}