-
Notifications
You must be signed in to change notification settings - Fork 1
/
OpenAPI.yaml
340 lines (340 loc) · 11.1 KB
/
OpenAPI.yaml
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
openapi: 3.0.1
info:
title: App Tracker Open API
description: Note that the base url is for test purpose only, do not use this server
in production.
version: v2.0.0
servers:
- url: https://test.k2t3k.tk/api
tags: []
paths:
/appInfo:
get:
tags:
- App Info
summary: Search app info
operationId: e69afbec-4755-4a6f-8a44-decaf8789495
parameters:
- name: q
in: query
description: Regular search text. Leave this empty if you use regex search.
schema:
type: string
default: app-tracker
- name: regex
in: query
description: Regex search pattern. Leave this empty if you use regular search.
schema:
type: string
- name: per
in: query
description: Items per page, default is 10
schema:
type: string
default: "10"
- name: page
in: query
description: Current page, default is 1
schema:
type: string
default: "1"
responses:
200:
description: Response with a list of app info.
content:
'*/*':
schema:
type: object
properties:
metadata:
type: object
properties:
page:
type: integer
per:
type: integer
total:
type: integer
example: 2147483647
items:
type: array
items:
type: object
properties:
appName:
type: string
example: app-tracker
signature:
type: string
example: ""
id:
type: string
description: As long as the response has the same appName,
packageName, activityName and signature, the UUID is exactly
the same. This has no meaning to you but can be handy
when building a hashtable.
example: CB335890-33D6-4069-852C-DC7ECC6E149C
activityName:
type: string
example: ren.imyan.app_tracker.ui.MainActivity
count:
type: integer
example: 9
packageName:
type: string
example: ren.imyan.app_tracker
post:
tags:
- App Info
summary: Upload new app info
operationId: 435ed44a-e0b3-4329-8e2b-9248761bec37
requestBody:
content:
application/json:
schema:
required:
- activityName
- appName
- id
- packageName
- signature
type: object
properties:
appName:
type: string
example: App-Tracker
packageName:
type: string
example: ren.imyan.app_tracker
activityName:
type: string
example: ren.imyan.app_tracker.ui.MainActivity
id:
type: string
description: This is used for distinguish different request. Make
sure you generate a UUID string that is in correct format.
example: CB335890-33D6-4069-852C-DC7ECC6E149C
count:
type: integer
description: This valued always get erased when uploading. Thus
you can ignore this property or toss a random number.
example: 1
signature:
type: string
description: This is used for distinguish uploader. Useful when
you want to do statistics on you very icon pack.
example: app-tracker
required: true
responses:
200:
description: This returns the same object as the uploaded one, but with
a different UUID.
content:
'*/*':
schema:
type: object
properties:
appName:
type: string
packageName:
type: string
activityName:
type: string
id:
type: string
count:
type: integer
signature:
type: string
example: '{"packageName":"ren.imyan.app_tracker","id":"C45F6D06-117F-435E-908A-BC889185F616","signature":"","appName":"App-Tracker","count":1,"activityName":"ren.imyan.app_tracker.ui.MainActivity"}'
x-codegen-request-body-name: body
/{signature}/appInfo:
get:
tags:
- AppInfo with signature
summary: Search app info
operationId: 765f2d0e-1013-4ca2-beaa-5f4c66e5fcab
parameters:
- name: signature
in: path
description: Identity
required: true
schema:
type: string
default: 'app-tracker'
- name: q
in: query
description: Regular search text. Leave this empty if you use regex search.
schema:
type: string
default: app-tracker
- name: regex
in: query
description: Regex search pattern. Leave this empty if you use regular search.
schema:
type: string
- name: per
in: query
description: Items per page, default is 10
schema:
type: string
default: "10"
- name: page
in: query
description: Current page, default is 1
schema:
type: string
default: "1"
responses:
200:
description: Response with a list of app info.
content:
'*/*':
schema:
type: object
properties:
metadata:
type: object
properties:
page:
type: integer
per:
type: integer
total:
type: integer
example: 2147483647
items:
type: array
items:
type: object
properties:
appName:
type: string
example: app-tracker
signature:
type: string
example: ""
id:
type: string
description: As long as the response has the same appName,
packageName, activityName and signature, the UUID is exactly
the same. This has no meaning to you but can be handy
when building a hashtable.
example: CB335890-33D6-4069-852C-DC7ECC6E149C
activityName:
type: string
example: ren.imyan.app_tracker.ui.MainActivity
count:
type: integer
example: 9
packageName:
type: string
example: ren.imyan.app_tracker
/icon:
get:
tags:
- Miscellaneous
summary: Get app icon
description: Get app icon by package name. Icons are fetched from either coolapk.com
or play.google.com.
operationId: a500d606-1c3c-475f-ad7f-036bec306648
parameters:
- name: appId
in: query
description: App's package name
required: true
schema:
type: string
default: com.tencent.mobileqq
responses:
200:
description: Responde with a object containing app icon
content:
'*/*':
schema:
type: object
properties:
url:
type: string
description: Only existe when fetched from google play.
example: https://www.coolapk.com/apk/com.tencent.mobileqq
name:
type: string
description: Only existe when fetched from google play.
example: QQ
image:
type: string
description: URL to the app icon image.
example: https://download-proxy.butanediol.workers.dev/?url=http://pp.myapp.com/ma_icon/0/icon_6633_1645738071/256
/appIcon:
get:
tags:
- App Icon
summary: Get app icon
description: Get app icon by package name.
operationId: 8e59c51a-14df-45b0-afc4-2eb0eb44bf42
parameters:
- name: packageName
in: query
description: App's package name
required: true
schema:
type: string
default: com.tencent.mobileqq
responses:
200:
description: Responde with a object containing app icon
content:
'image/png':
schema:
type: string
format: binary
404:
description: Not found icon in database
content:
'application/json':
schema:
type: object
properties:
reason:
type: string
default: "Not Found"
error:
type: boolean
default: true
post:
tags:
- App Icon
summary: Upload app icon
operationId: 174fa60a-e87e-48c2-bc85-2b6139b521e7
parameters:
- name: packageName
in: query
description: App's package name
required: true
schema:
type: string
default: com.tencent.mobileqq
requestBody:
required: true
content:
image/png:
schema:
type: string
format: binary
responses:
200:
description: Icon metadata
content:
'application/json':
schema:
type: object
properties:
id:
type: string
packageName:
type: string
image:
type: string
format: binary
components: {}