29 lines
944 B
Dart
29 lines
944 B
Dart
import '../core/api/api_client.dart';
|
|
import '../models/user.dart';
|
|
|
|
class UserRepository {
|
|
final ApiClient _client;
|
|
UserRepository(this._client);
|
|
|
|
Future<List<AppUser>> list() async {
|
|
final resp = await _client.get('/users');
|
|
final data = (resp.data['data'] as List?) ?? [];
|
|
return data.map((e) => AppUser.fromJson(e as Map<String, dynamic>)).toList();
|
|
}
|
|
|
|
Future<AppUser> create(Map<String, dynamic> data) async {
|
|
final resp = await _client.post('/users', data: data);
|
|
return AppUser.fromJson(resp.data['data'] as Map<String, dynamic>);
|
|
}
|
|
|
|
Future<AppUser> update(int id, Map<String, dynamic> data) async {
|
|
final resp = await _client.put('/users/$id', data: data);
|
|
return AppUser.fromJson(resp.data['data'] as Map<String, dynamic>);
|
|
}
|
|
|
|
Future<void> resetPassword(int id, String newPassword) async {
|
|
await _client.put('/users/$id/reset-password',
|
|
data: {'password': newPassword});
|
|
}
|
|
}
|