my_controller.dart
1.21 KB
import 'package:doublefeel_flutter/core/network/api/user_api.dart';
import 'package:doublefeel_flutter/core/result/app_result.dart';
import 'package:doublefeel_flutter/data/local/user_preferences_storage.dart';
import 'package:doublefeel_flutter/data/models/user/user_models.dart';
import 'package:get/get.dart';
import 'package:image_picker/image_picker.dart';
class MyController extends GetxController {
MyController(this._userApi);
final UserApi _userApi;
final ImagePicker _picker = ImagePicker();
void updateNickname(String nickname) async {
final result = await _userApi.updateOwnerUserInfo(nickname: nickname);
if (result is AppSuccess<UserInfoResponse>) {
await Get.find<UserPreferencesStorage>().updateMeUserInfo(result.data);
}
}
Future<void> pickAvatar() async {
final result = await _picker.pickImage(source: ImageSource.gallery);
if (result != null) {
var obsUrl = 'https://cdn.couple360.net/couple360/themes/im_theme7.png';
final updateResult = await _userApi.updateOwnerUserInfo(avatar: obsUrl);
if (updateResult is AppSuccess<UserInfoResponse>) {
await Get.find<UserPreferencesStorage>()
.updateMeUserInfo(updateResult.data);
}
}
}
}