fix : splash animation
feat : auth with password chore : app Architecture
This commit is contained in:
12
lib/data/data_provider/local_storage/hive/hive_provider.dart
Normal file
12
lib/data/data_provider/local_storage/hive/hive_provider.dart
Normal file
@@ -0,0 +1,12 @@
|
||||
import 'package:hive_ce_flutter/hive_flutter.dart';
|
||||
import 'package:rasadyar_app/data/data_provider/local_storage/i_local_storage_provider.dart';
|
||||
|
||||
|
||||
enum HiveBoxNames { user, settings, auth }
|
||||
|
||||
class HiveProvider extends ILocalStorageProvider {
|
||||
@override
|
||||
Future<void> init() async {
|
||||
await Hive.initFlutter();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
const int userTypeId = 0;
|
||||
@@ -0,0 +1,3 @@
|
||||
abstract class ILocalStorageProvider {
|
||||
Future<void> init();
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
import 'package:hive_ce_flutter/hive_flutter.dart';
|
||||
import 'package:rasadyar_app/data/data_provider/local_storage/hive/hive_provider.dart';
|
||||
|
||||
abstract class IUserLocalStorage {
|
||||
Future<bool> userAuthed();
|
||||
}
|
||||
|
||||
class UserLocalStorage extends IUserLocalStorage {
|
||||
final user = Hive.box(HiveBoxNames.user.name);
|
||||
|
||||
@override
|
||||
Future<bool> userAuthed() async {
|
||||
if (user.isNotEmpty ) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
17
lib/data/model/user/user_model.dart
Normal file
17
lib/data/model/user/user_model.dart
Normal file
@@ -0,0 +1,17 @@
|
||||
import 'package:hive_ce/hive.dart';
|
||||
|
||||
import '../../data_provider/local_storage/hive/hive_types.dart';
|
||||
|
||||
|
||||
part 'user_model.g.dart';
|
||||
|
||||
@HiveType(typeId: userTypeId)
|
||||
class UserModel extends HiveObject{
|
||||
@HiveField(0)
|
||||
String? token;
|
||||
|
||||
@HiveField(1)
|
||||
String? refreshToken;
|
||||
|
||||
UserModel({this.token, this.refreshToken});
|
||||
}
|
||||
44
lib/data/model/user/user_model.g.dart
Normal file
44
lib/data/model/user/user_model.g.dart
Normal file
@@ -0,0 +1,44 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'user_model.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// TypeAdapterGenerator
|
||||
// **************************************************************************
|
||||
|
||||
class UserModelAdapter extends TypeAdapter<UserModel> {
|
||||
@override
|
||||
final int typeId = 0;
|
||||
|
||||
@override
|
||||
UserModel read(BinaryReader reader) {
|
||||
final numOfFields = reader.readByte();
|
||||
final fields = <int, dynamic>{
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return UserModel(
|
||||
token: fields[0] as String?,
|
||||
refreshToken: fields[1] as String?,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BinaryWriter writer, UserModel obj) {
|
||||
writer
|
||||
..writeByte(2)
|
||||
..writeByte(0)
|
||||
..write(obj.token)
|
||||
..writeByte(1)
|
||||
..write(obj.refreshToken);
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => typeId.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
identical(this, other) ||
|
||||
other is UserModelAdapter &&
|
||||
runtimeType == other.runtimeType &&
|
||||
typeId == other.typeId;
|
||||
}
|
||||
Reference in New Issue
Block a user