1 - multi module in Auth select save selected module
 2 - add flutter gen for assets builder
This commit is contained in:
2025-05-19 16:16:33 +03:30
parent 982329a3eb
commit 905e407ccd
46 changed files with 1431 additions and 407 deletions

View File

@@ -1,3 +1,4 @@
import 'package:rasadyar_auth/auth.dart';
import 'package:rasadyar_core/core.dart';
part 'user_local_model.g.dart';
@@ -15,12 +16,16 @@ class UserLocalModel extends HiveObject {
@HiveField(4)
String? name;
@HiveField(5)
Module? module;
UserLocalModel({
this.username,
this.password,
this.token,
this.refreshToken,
this.name,
this.module,
});
UserLocalModel copyWith({
@@ -29,6 +34,7 @@ class UserLocalModel extends HiveObject {
String? token,
String? refreshToken,
String? name,
Module? module,
}) {
return UserLocalModel(
username: username ?? this.username,
@@ -36,6 +42,15 @@ class UserLocalModel extends HiveObject {
token: token ?? this.token,
refreshToken: refreshToken ?? this.refreshToken,
name: name ?? this.name,
module: module ?? this.module,
);
}
}
@HiveType(typeId: 1)
enum Module {
@HiveField(0)
liveStocks,
@HiveField(1)
inspection,
}

View File

@@ -22,13 +22,14 @@ class UserLocalModelAdapter extends TypeAdapter<UserLocalModel> {
token: fields[2] as String?,
refreshToken: fields[3] as String?,
name: fields[4] as String?,
module: fields[5] as Module?,
);
}
@override
void write(BinaryWriter writer, UserLocalModel obj) {
writer
..writeByte(5)
..writeByte(6)
..writeByte(0)
..write(obj.username)
..writeByte(1)
@@ -38,7 +39,9 @@ class UserLocalModelAdapter extends TypeAdapter<UserLocalModel> {
..writeByte(3)
..write(obj.refreshToken)
..writeByte(4)
..write(obj.name);
..write(obj.name)
..writeByte(5)
..write(obj.module);
}
@override
@@ -51,3 +54,40 @@ class UserLocalModelAdapter extends TypeAdapter<UserLocalModel> {
runtimeType == other.runtimeType &&
typeId == other.typeId;
}
class ModuleAdapter extends TypeAdapter<Module> {
@override
final typeId = 1;
@override
Module read(BinaryReader reader) {
switch (reader.readByte()) {
case 0:
return Module.liveStocks;
case 1:
return Module.inspection;
default:
return Module.liveStocks;
}
}
@override
void write(BinaryWriter writer, Module obj) {
switch (obj) {
case Module.liveStocks:
writer.writeByte(0);
case Module.inspection:
writer.writeByte(1);
}
}
@override
int get hashCode => typeId.hashCode;
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is ModuleAdapter &&
runtimeType == other.runtimeType &&
typeId == other.typeId;
}