refactor: unify storage config keys and refresh local dev setup
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import 'dart:io';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:social_app/core/api/i_api_client.dart';
|
||||
import 'models/user_response.dart';
|
||||
|
||||
@@ -38,6 +40,28 @@ class UsersApi {
|
||||
return UserResponse.fromJson(response.data);
|
||||
}
|
||||
|
||||
Future<String> uploadAvatar(File file) async {
|
||||
final formData = FormData.fromMap({
|
||||
'file': await MultipartFile.fromFile(
|
||||
file.path,
|
||||
filename: file.path.split('/').last,
|
||||
),
|
||||
});
|
||||
final response = await _client.post<Map<String, dynamic>>(
|
||||
'$_prefix/me/avatar',
|
||||
data: formData,
|
||||
);
|
||||
final payload = response.data;
|
||||
if (payload is! Map<String, dynamic>) {
|
||||
throw StateError('Invalid /users/me/avatar response');
|
||||
}
|
||||
final url = payload['url'];
|
||||
if (url is! String) {
|
||||
throw StateError('Missing url in /users/me/avatar response');
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
Future<List<UserResponse>> searchUsers(String query) async {
|
||||
final response = await _client.post(
|
||||
'$_prefix/search',
|
||||
|
||||
Reference in New Issue
Block a user