mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-22 14:38:06 +02:00
chore: Update dependencies, switch Flutter web renderer to HTML, replace media_kit with video_player/chewie, and remove Hive volume from Docker setup.
This commit is contained in:
1 parent
3c0d472a31
commit
0ca2835cba
16 files changed
+1282
-688
No files matched your search
@@ -1,21 +1,27 @@
|
||||
import 'package:hive/hive.dart';
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
part 'app_user.g.dart';
|
||||
|
||||
/// Hive model for local application users
|
||||
///
|
||||
/// Stores user credentials with hashed passwords and admin privileges
|
||||
@HiveType(typeId: 0)
|
||||
class AppUser {
|
||||
class AppUser extends Equatable {
|
||||
@HiveField(0)
|
||||
final String id;
|
||||
|
||||
@HiveField(1)
|
||||
final String username;
|
||||
|
||||
/// Password hash in format "salt:hash"
|
||||
@HiveField(2)
|
||||
final String passwordHash; // SHA-256 hash
|
||||
final String passwordHash;
|
||||
|
||||
@HiveField(3)
|
||||
final bool isAdmin;
|
||||
|
||||
/// List of playlist IDs assigned to this user
|
||||
@HiveField(4)
|
||||
final List<String> assignedPlaylistIds;
|
||||
|
||||
@@ -26,11 +32,12 @@ class AppUser {
|
||||
required this.id,
|
||||
required this.username,
|
||||
required this.passwordHash,
|
||||
required this.isAdmin,
|
||||
required this.assignedPlaylistIds,
|
||||
this.isAdmin = false,
|
||||
this.assignedPlaylistIds = const [],
|
||||
required this.createdAt,
|
||||
});
|
||||
|
||||
/// Creates a copy of this user with updated fields
|
||||
AppUser copyWith({
|
||||
String? id,
|
||||
String? username,
|
||||
@@ -48,4 +55,14 @@ class AppUser {
|
||||
createdAt: createdAt ?? this.createdAt,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
id,
|
||||
username,
|
||||
passwordHash,
|
||||
isAdmin,
|
||||
assignedPlaylistIds,
|
||||
createdAt,
|
||||
];
|
||||
}
|
||||
Reference in new issue
Block a user