import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:island/models/file.dart'; part 'user.freezed.dart'; part 'user.g.dart'; @freezed abstract class SnAccount with _$SnAccount { const factory SnAccount({ required int id, required String name, required String nick, required String language, required bool isSuperuser, required SnAccountProfile profile, required DateTime createdAt, required DateTime updatedAt, required DateTime? deletedAt, }) = _SnAccount; factory SnAccount.fromJson(Map json) => _$SnAccountFromJson(json); } @freezed abstract class SnAccountProfile with _$SnAccountProfile { const factory SnAccountProfile({ required int id, required String? firstName, required String? middleName, required String? lastName, required String? bio, required String? pictureId, required SnCloudFile? picture, required String? backgroundId, required SnCloudFile? background, required DateTime createdAt, required DateTime updatedAt, required DateTime? deletedAt, }) = _SnAccountProfile; factory SnAccountProfile.fromJson(Map json) => _$SnAccountProfileFromJson(json); }