Files
AudiOhm/frontend/lib/domain/entities/user.dart
T
feldenr 9c504d2c3d 🎉 Initial commit: AudiOhm - Alternative à Spotify avec streaming YouTube
Features:
- Frontend Flutter avec thème néon cyberpunk
- Backend FastAPI avec streaming YouTube
- Base de données PostgreSQL + Redis
- Authentification JWT complète
- Recherche multi-source (DB + YouTube)
- Playlists CRUD avec drag & drop
- Queue management
- Settings avec audio quality
- Interface adaptative (Desktop + Mobile)

Tech Stack:
- Frontend: Flutter 3.2+, Riverpod
- Backend: Python 3.11+, FastAPI
- Database: PostgreSQL 15+
- Cache: Redis 7+
- Streaming: yt-dlp + FFmpeg

🚀 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-18 17:08:59 +01:00

59 lines
1.3 KiB
Dart

import 'package:equatable/equatable.dart';
/// User entity
class User extends Equatable {
final String id;
final String email;
final String username;
final String? displayName;
final String? avatarUrl;
final bool isPremium;
final DateTime createdAt;
final DateTime updatedAt;
const User({
required this.id,
required this.email,
required this.username,
this.displayName,
this.avatarUrl,
this.isPremium = false,
required this.createdAt,
required this.updatedAt,
});
User copyWith({
String? id,
String? email,
String? username,
String? displayName,
String? avatarUrl,
bool? isPremium,
DateTime? createdAt,
DateTime? updatedAt,
}) {
return User(
id: id ?? this.id,
email: email ?? this.email,
username: username ?? this.username,
displayName: displayName ?? this.displayName,
avatarUrl: avatarUrl ?? this.avatarUrl,
isPremium: isPremium ?? this.isPremium,
createdAt: createdAt ?? this.createdAt,
updatedAt: updatedAt ?? this.updatedAt,
);
}
@override
List<Object?> get props => [
id,
email,
username,
displayName,
avatarUrl,
isPremium,
createdAt,
updatedAt,
];
}