feat : auth for new module

This commit is contained in:
MrM
2025-06-03 22:52:21 +03:30
parent ae18a5f648
commit 2b4c019c55
16 changed files with 314 additions and 133 deletions

View File

@@ -19,6 +19,12 @@ class UserLocalModel extends HiveObject {
@HiveField(5)
Module? module;
@HiveField(6)
String? backend;
@HiveField(7)
String? apiKey;
UserLocalModel({
this.username,
this.password,
@@ -26,6 +32,8 @@ class UserLocalModel extends HiveObject {
this.refreshToken,
this.name,
this.module,
this.backend,
this.apiKey,
});
UserLocalModel copyWith({
@@ -35,6 +43,9 @@ class UserLocalModel extends HiveObject {
String? refreshToken,
String? name,
Module? module,
String? backend,
String? apiKey,
}) {
return UserLocalModel(
username: username ?? this.username,
@@ -43,6 +54,8 @@ class UserLocalModel extends HiveObject {
refreshToken: refreshToken ?? this.refreshToken,
name: name ?? this.name,
module: module ?? this.module,
backend: backend ?? this.backend,
apiKey: apiKey ?? this.apiKey,
);
}
}

View File

@@ -23,13 +23,15 @@ class UserLocalModelAdapter extends TypeAdapter<UserLocalModel> {
refreshToken: fields[3] as String?,
name: fields[4] as String?,
module: fields[5] as Module?,
backend: fields[6] as String?,
apiKey: fields[7] as String?,
);
}
@override
void write(BinaryWriter writer, UserLocalModel obj) {
writer
..writeByte(6)
..writeByte(8)
..writeByte(0)
..write(obj.username)
..writeByte(1)
@@ -41,7 +43,11 @@ class UserLocalModelAdapter extends TypeAdapter<UserLocalModel> {
..writeByte(4)
..write(obj.name)
..writeByte(5)
..write(obj.module);
..write(obj.module)
..writeByte(6)
..write(obj.backend)
..writeByte(7)
..write(obj.apiKey);
}
@override

View File

@@ -0,0 +1,18 @@
import 'package:rasadyar_core/core.dart';
part 'user_info_model.freezed.dart';
part 'user_info_model.g.dart';
@freezed
abstract class UserInfoModel with _$UserInfoModel {
const factory UserInfoModel({
bool? isUser,
String? address,
String? backend,
String? apiKey,
}) = _UserInfoModel ;
factory UserInfoModel.fromJson(Map<String, dynamic> json) =>
_$UserInfoModelFromJson(json);
}

View File

@@ -0,0 +1,30 @@
import 'package:freezed_annotation/freezed_annotation.dart';
part 'user_profile_model.freezed.dart';
part 'user_profile_model.g.dart';
@freezed
abstract class UserProfileModel with _$UserProfileModel {
const factory UserProfileModel({
String? accessToken,
String? expiresIn,
String? scope,
String? expireTime,
String? mobile,
String? fullname,
String? firstname,
String? lastname,
String? city,
String? province,
String? nationalCode,
String? nationalId,
String? birthday,
String? image,
int? baseOrder,
List<String>? role,
}) = _UserProfileModel;
factory UserProfileModel.fromJson(Map<String, dynamic> json) =>
_$UserProfileModelFromJson(json);
}