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/config/design_config.dart';
|
||||||
import 'package:didvan/main.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/theme_provider.dart';
|
||||||
import 'package:didvan/providers/user_provider.dart';
|
import 'package:didvan/providers/user_provider.dart';
|
||||||
import 'package:didvan/routes/routes.dart';
|
import 'package:didvan/routes/routes.dart';
|
||||||
|
|
@ -38,13 +41,17 @@ class _SplashState extends State<Splash> {
|
||||||
_isGettingThemeData = false;
|
_isGettingThemeData = false;
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
final String? token = await context.read<UserProvider>().setAndGetToken();
|
final userProvider = context.read<UserProvider>();
|
||||||
|
final String? token = await userProvider.setAndGetToken();
|
||||||
if (token != null) {
|
if (token != null) {
|
||||||
|
log(token);
|
||||||
RequestService.token = token;
|
RequestService.token = token;
|
||||||
|
await userProvider.getUserInfo();
|
||||||
|
await context.read<ServerDataProvider>().getData();
|
||||||
}
|
}
|
||||||
await Future.delayed(const Duration(seconds: 2));
|
|
||||||
Navigator.of(context).pushReplacementNamed(
|
Navigator.of(context).pushReplacementNamed(
|
||||||
token == null ? Routes.authenticaion : Routes.home,
|
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/providers/core_provider.dart';
|
||||||
|
import 'package:didvan/services/network/request.dart';
|
||||||
|
import 'package:didvan/services/network/request_helper.dart';
|
||||||
import 'package:hive/hive.dart';
|
import 'package:hive/hive.dart';
|
||||||
|
|
||||||
class UserProvider extends CoreProvier {
|
class UserProvider extends CoreProvier {
|
||||||
|
late User user;
|
||||||
Future<String?> setAndGetToken({String? token}) async {
|
Future<String?> setAndGetToken({String? token}) async {
|
||||||
final box = await Hive.openBox('autherization');
|
final box = await Hive.openBox('autherization');
|
||||||
if (token != null) {
|
if (token != null) {
|
||||||
|
|
@ -10,4 +17,39 @@ class UserProvider extends CoreProvier {
|
||||||
return box.toMap()['token'];
|
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