D1APP-17 user info api added
This commit is contained in:
parent
cde669b846
commit
be7939ad7f
|
|
@ -1,5 +1,8 @@
|
|||
import 'dart:developer';
|
||||
|
||||
import 'package:didvan/config/design_config.dart';
|
||||
import 'package:didvan/main.dart';
|
||||
import 'package:didvan/providers/server_data_provider.dart';
|
||||
import 'package:didvan/providers/theme_provider.dart';
|
||||
import 'package:didvan/providers/user_provider.dart';
|
||||
import 'package:didvan/routes/routes.dart';
|
||||
|
|
@ -38,13 +41,17 @@ class _SplashState extends State<Splash> {
|
|||
_isGettingThemeData = false;
|
||||
}),
|
||||
);
|
||||
final String? token = await context.read<UserProvider>().setAndGetToken();
|
||||
final userProvider = context.read<UserProvider>();
|
||||
final String? token = await userProvider.setAndGetToken();
|
||||
if (token != null) {
|
||||
log(token);
|
||||
RequestService.token = token;
|
||||
await userProvider.getUserInfo();
|
||||
await context.read<ServerDataProvider>().getData();
|
||||
}
|
||||
await Future.delayed(const Duration(seconds: 2));
|
||||
Navigator.of(context).pushReplacementNamed(
|
||||
token == null ? Routes.authenticaion : Routes.home,
|
||||
arguments: token == null ? false : null,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
import 'package:didvan/providers/core_provider.dart';
|
||||
|
||||
class SplashState extends CoreProvier {}
|
||||
|
|
@ -1,7 +1,14 @@
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:didvan/models/enums.dart';
|
||||
import 'package:didvan/models/user.dart';
|
||||
import 'package:didvan/providers/core_provider.dart';
|
||||
import 'package:didvan/services/network/request.dart';
|
||||
import 'package:didvan/services/network/request_helper.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
|
||||
class UserProvider extends CoreProvier {
|
||||
late User user;
|
||||
Future<String?> setAndGetToken({String? token}) async {
|
||||
final box = await Hive.openBox('autherization');
|
||||
if (token != null) {
|
||||
|
|
@ -10,4 +17,39 @@ class UserProvider extends CoreProvier {
|
|||
return box.toMap()['token'];
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> getUserInfo() async {
|
||||
final RequestService service = RequestService(RequestHelper.userInfo);
|
||||
await service.httpGet();
|
||||
if (service.isSuccess) {
|
||||
user = User.fromJson(service.result['user']);
|
||||
return;
|
||||
}
|
||||
throw 'Getting user from API failed!';
|
||||
}
|
||||
|
||||
Future<bool> setProfilePhoto(File file) async {
|
||||
appState = AppState.isolatedBusy;
|
||||
final RequestService service =
|
||||
RequestService(RequestHelper.updateUserProfile);
|
||||
await service.multipart(file);
|
||||
if (service.isSuccess) {
|
||||
appState = AppState.idle;
|
||||
return true;
|
||||
}
|
||||
appState = AppState.failed;
|
||||
return false;
|
||||
}
|
||||
|
||||
Future<void> setUsername(String username) async {
|
||||
appState = AppState.isolatedBusy;
|
||||
final RequestService service = RequestService(
|
||||
RequestHelper.updateUsername,
|
||||
body: {'username': username},
|
||||
);
|
||||
await service.put();
|
||||
if (service.isSuccess) {
|
||||
// appState = app
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue