44 lines
890 B
Dart
44 lines
890 B
Dart
library angel_orm_generator.test.models.user;
|
|
|
|
import 'package:angel_migration/angel_migration.dart';
|
|
import 'package:angel_model/angel_model.dart';
|
|
import 'package:angel_orm/angel_orm.dart';
|
|
import 'package:angel_serialize/angel_serialize.dart';
|
|
import 'package:collection/collection.dart';
|
|
part 'user.g.dart';
|
|
|
|
@serializable
|
|
@orm
|
|
abstract class _User extends Model {
|
|
String get username;
|
|
String get password;
|
|
String get email;
|
|
|
|
@hasMany
|
|
List<_UserRole> get userRoles;
|
|
|
|
List<_Role> get roles => userRoles.map((m) => m.role).toList();
|
|
}
|
|
|
|
@serializable
|
|
@orm
|
|
abstract class _Role extends Model {
|
|
String name;
|
|
|
|
@hasMany
|
|
List<_UserRole> get userRoles;
|
|
|
|
List<_User> get users => userRoles.map((m) => m.user).toList();
|
|
}
|
|
|
|
@Serializable(autoIdAndDateFields: false)
|
|
@orm
|
|
abstract class _UserRole {
|
|
int get id;
|
|
|
|
@belongsTo
|
|
_User get user;
|
|
|
|
@belongsTo
|
|
_Role get role;
|
|
}
|