Skip to content

Commit 4adf193

Browse files
authored
Merge branch 'more_list_types' into temp-merge
2 parents 07bd141 + 842c6c5 commit 4adf193

10 files changed

Lines changed: 1555 additions & 303 deletions

lib/api/ImageAPI.dart

Lines changed: 61 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,63 @@ Future<Map<String,dynamic>> fetchImages(String albumID, int page) async {
4141
}
4242
}
4343

44+
Future<Map<String,dynamic>> fetchTagImages(String tagID, int page) async {
45+
Map<String, String> queries = {
46+
"format": "json",
47+
"method": "pwg.tags.getImages",
48+
"tag_id": tagID,
49+
"per_page": "100",
50+
"page": page.toString(),
51+
};
52+
53+
try {
54+
Response response = await API().dio.get('ws.php', queryParameters: queries);
55+
56+
if (response.statusCode == 200) {
57+
return json.decode(response.data);
58+
} else {
59+
return {
60+
'stat': 'fail',
61+
'result': response.statusMessage
62+
};
63+
}
64+
} catch(e) {
65+
var error = e as DioError;
66+
return {
67+
'stat': 'fail',
68+
'result': error.message
69+
};
70+
}
71+
}
72+
73+
Future<Map<String,dynamic>> fetchFavoriteImages(int page) async {
74+
Map<String, String> queries = {
75+
"format": "json",
76+
"method": "pwg.users.favorites.getList",
77+
"per_page": "100",
78+
"page": page.toString(),
79+
};
80+
81+
try {
82+
Response response = await API().dio.get('ws.php', queryParameters: queries);
83+
84+
if (response.statusCode == 200) {
85+
return json.decode(response.data);
86+
} else {
87+
return {
88+
'stat': 'fail',
89+
'result': response.statusMessage
90+
};
91+
}
92+
} catch(e) {
93+
var error = e as DioError;
94+
return {
95+
'stat': 'fail',
96+
'result': error.message
97+
};
98+
}
99+
}
100+
44101
Future<dynamic> getImageInfo(int imageId) async {
45102
Map<String, String> queries = {
46103
"format": "json",
@@ -238,7 +295,7 @@ Future<dynamic> removeImage(int imageId, String catId) async {
238295
if(imageInfo['stat'] == 'fail') return imageInfo;
239296

240297
List<String> categories = imageInfo['result']['categories'].map<String>(
241-
(cat) => cat['id'].toString()
298+
(cat) => cat['id'].toString()
242299
).toList();
243300
categories.removeWhere((cat) => cat == catId);
244301

@@ -309,9 +366,9 @@ Future<dynamic> moveImage(int imageId, List<int> categories) async {
309366

310367
try {
311368
Response response = await API().dio.post(
312-
'ws.php',
313-
data: formData,
314-
queryParameters: queries
369+
'ws.php',
370+
data: formData,
371+
queryParameters: queries
315372
);
316373

317374
if (response.statusCode == 200) {

lib/api/TagAPI.dart

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,32 @@ Future<Map<String,dynamic>> getAdminTags() async {
2929
}
3030
}
3131

32+
Future<Map<String,dynamic>> getTags() async {
33+
Map<String, String> queries = {
34+
"format":"json",
35+
"method": "pwg.tags.getList",
36+
};
37+
38+
Response response = await API().dio.get('ws.php', queryParameters: queries);
39+
40+
try {
41+
if (response.statusCode == 200) {
42+
return json.decode(response.data);
43+
} else {
44+
return {
45+
'stat': 'fail',
46+
'result': response.statusMessage
47+
};
48+
}
49+
} catch(e) {
50+
var error = e as DioError;
51+
return {
52+
'stat': 'fail',
53+
'result': error.message
54+
};
55+
}
56+
}
57+
3258
Future<dynamic> createTag(String tagName) async {
3359
Map<String, String> queries = {
3460
"format":"json",
@@ -54,4 +80,32 @@ Future<dynamic> createTag(String tagName) async {
5480
'result': error.message
5581
};
5682
}
83+
}
84+
85+
Future<dynamic> editTag(int tagId, String tagName) async {
86+
Map<String, String> queries = {
87+
"format": "json",
88+
"method": "pwg.tags.rename",
89+
};
90+
FormData formData = FormData.fromMap({
91+
"tag_id": tagId,
92+
"new_name": tagName,
93+
"pwg_token": API.prefs.getString("pwg_token"),
94+
});
95+
try {
96+
Response response = await API().dio.post(
97+
'ws.php',
98+
data: formData,
99+
queryParameters: queries,
100+
);
101+
if (response.statusCode == 200) {
102+
return json.decode(response.data);
103+
}
104+
} catch (e) {
105+
var error = e as DioError;
106+
return {
107+
'stat': 'fail',
108+
'result': error.message
109+
};
110+
}
57111
}

0 commit comments

Comments
 (0)