android
assets
ios
lib
models
auth.dart
auth.freezed.dart
auth.g.dart
file.dart
file.freezed.dart
file.g.dart
post.dart
post.freezed.dart
post.g.dart
user.dart
user.freezed.dart
user.g.dart
pods
screens
services
widgets
main.dart
route.dart
route.gr.dart
linux
macos
web
windows
.gitignore
.metadata
README.md
analysis_options.yaml
build.yaml
devtools_options.yaml
pubspec.lock
pubspec.yaml
43 lines
1.1 KiB
Dart
43 lines
1.1 KiB
Dart
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<String, dynamic> 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 SnCloudFile? picture,
|
|
required SnCloudFile? background,
|
|
required DateTime createdAt,
|
|
required DateTime updatedAt,
|
|
required DateTime? deletedAt,
|
|
}) = _SnAccountProfile;
|
|
|
|
factory SnAccountProfile.fromJson(Map<String, dynamic> json) =>
|
|
_$SnAccountProfileFromJson(json);
|
|
}
|