feat(users): add getById API and UserBasicInfo

This commit is contained in:
qzl
2026-03-11 20:58:32 +08:00
parent d3545b5c28
commit 1b05e4c619
@@ -1,12 +1,33 @@
import 'package:social_app/core/api/i_api_client.dart';
import 'models/user_response.dart';
class UserBasicInfo {
final String id;
final String username;
final String? avatarUrl;
UserBasicInfo({required this.id, required this.username, this.avatarUrl});
factory UserBasicInfo.fromJson(Map<String, dynamic> json) {
return UserBasicInfo(
id: json['id'] as String,
username: json['username'] as String,
avatarUrl: json['avatar_url'] as String?,
);
}
}
class UsersApi {
final IApiClient _client;
static const _prefix = '/api/v1/users';
UsersApi(this._client);
Future<UserBasicInfo> getById(String userId) async {
final response = await _client.get('$_prefix/$userId');
return UserBasicInfo.fromJson(response.data);
}
Future<UserResponse> getMe() async {
final response = await _client.get('$_prefix/me');
return UserResponse.fromJson(response.data);