class LocalizableStringInfo { LocalizableStringInfo({ required this.resourceName, required this.name, this.values, }); String resourceName; String name; Map? values; factory LocalizableStringInfo.fromJson(Map json) => LocalizableStringInfo( resourceName: json['resourceName'] as String, name: json['name'] as String, values: json['values'] as Map?, ); Map toJson() => { 'resourceName': resourceName, 'name': name, 'values': values, }; } class ExtraPropertyDictionary implements Map { ExtraPropertyDictionary({ Map? map }) { _innerMap = map ?? {}; } late Map _innerMap = {}; @override operator [](Object? key) { return _innerMap[key]; } @override void operator []=(String key, value) { _innerMap[key] = value; } @override void addAll(Map other) { _innerMap.addAll(other); } @override void addEntries(Iterable> newEntries) { _innerMap.addEntries(newEntries); } @override Map cast() { return _innerMap.cast(); } @override void clear() { _innerMap.clear(); } @override bool containsKey(Object? key) { return _innerMap.containsKey(key); } @override bool containsValue(Object? value) { return _innerMap.containsValue(value); } @override Iterable> get entries => _innerMap.entries; @override void forEach(void Function(String key, dynamic value) action) { _innerMap.forEach(action); } @override bool get isEmpty => _innerMap.isEmpty; @override bool get isNotEmpty => _innerMap.isNotEmpty; @override Iterable get keys => _innerMap.keys; @override int get length => _innerMap.length; @override Map map(MapEntry Function(String key, dynamic value) convert) { return _innerMap.map(convert); } @override putIfAbsent(String key, Function() ifAbsent) { return _innerMap.putIfAbsent(key, ifAbsent); } @override remove(Object? key) { return _innerMap.remove(key); } @override void removeWhere(bool Function(String key, dynamic value) test) { _innerMap.removeWhere(test); } @override update(String key, Function(dynamic value) update, {Function()? ifAbsent}) { return _innerMap.update(key, update, ifAbsent: ifAbsent); } @override void updateAll(Function(String key, dynamic value) update) { _innerMap.updateAll(update); } @override Iterable get values => _innerMap.values; } class ExtensibleObject { ExtensibleObject({ this.extraProperties, }); ExtraPropertyDictionary? extraProperties; } class EntityDto { EntityDto({ required this.id, }); TPrimaryKey id; } class CreationAuditedEntityDto extends EntityDto { CreationAuditedEntityDto({ required super.id, required this.creationTime, this.creatorId, }); DateTime creationTime; String? creatorId; } class CreationAuditedEntityWithUserDto extends CreationAuditedEntityDto { CreationAuditedEntityWithUserDto({ required super.id, required this.creator, required super.creationTime, super.creatorId, }); TUserDto creator; } class AuditedEntityDto extends CreationAuditedEntityDto { AuditedEntityDto({ required super.id, required super.creationTime, super.creatorId, this.lastModificationTime, this.lastModifierId, }); DateTime? lastModificationTime; String? lastModifierId; } class AuditedEntityWithUserDto extends AuditedEntityDto { AuditedEntityWithUserDto({ required super.id, required this.creator, required this.lastModifier, required super.creationTime, super.creatorId, super.lastModificationTime, super.lastModifierId, }); TUserDto creator; TUserDto lastModifier; } class FullAuditedEntityDto extends AuditedEntityDto { FullAuditedEntityDto({ required super.id, required this.isDeleted, this.deleterId, this.deletionTime, required super.creationTime, super.creatorId, super.lastModificationTime, super.lastModifierId, }); bool isDeleted; String? deleterId; DateTime? deletionTime; } class FullAuditedEntityWithUserDto extends FullAuditedEntityDto { FullAuditedEntityWithUserDto({ required super.id, required this.creator, required this.lastModifier, required this.deleter, required super.isDeleted, super.deleterId, super.deletionTime, required super.creationTime, super.creatorId, super.lastModificationTime, super.lastModifierId, }); TUserDto creator; TUserDto lastModifier; TUserDto deleter; } class ExtensibleEntityDto extends ExtensibleObject { ExtensibleEntityDto({ required this.id, }); TKey id; } class ExtensibleCreationAuditedEntityDto extends ExtensibleEntityDto { ExtensibleCreationAuditedEntityDto({ required super.id, required this.creationTime, this.creatorId, }); DateTime creationTime; String? creatorId; } class ExtensibleCreationAuditedEntityWithUserDto extends ExtensibleCreationAuditedEntityDto { ExtensibleCreationAuditedEntityWithUserDto({ required super.id, required this.creator, required super.creationTime, super.creatorId, }); TUserDto creator; } class ExtensibleAuditedEntityDto extends ExtensibleCreationAuditedEntityDto { ExtensibleAuditedEntityDto({ required super.id, required super.creationTime, super.creatorId, this.lastModificationTime, this.lastModifierId, }); DateTime? lastModificationTime; String? lastModifierId; } class ExtensibleAuditedEntityWithUserDto extends ExtensibleAuditedEntityDto { ExtensibleAuditedEntityWithUserDto({ required super.id, required this.creator, required this.lastModifier, required super.creationTime, super.creatorId, super.lastModificationTime, super.lastModifierId, }); TUserDto creator; TUserDto lastModifier; } class ExtensibleFullAuditedEntityDto extends ExtensibleAuditedEntityDto { ExtensibleFullAuditedEntityDto({ required super.id, required this.isDeleted, this.deleterId, this.deletionTime, required super.creationTime, super.creatorId, super.lastModificationTime, super.lastModifierId, }); bool isDeleted; String? deleterId; DateTime? deletionTime; } class ExtensibleFullAuditedEntityWithUserDto extends ExtensibleFullAuditedEntityDto { ExtensibleFullAuditedEntityWithUserDto({ required super.id, required this.creator, required this.lastModifier, required this.deleter, required super.isDeleted, super.deleterId, super.deletionTime, required super.creationTime, super.creatorId, super.lastModificationTime, super.lastModifierId, }); TUserDto creator; TUserDto lastModifier; TUserDto deleter; } class ListResultDto { ListResultDto({ required this.items, }); List items; } class LimitedResultRequestDto { LimitedResultRequestDto({ this.maxResultCount, }); int? maxResultCount = 10; } class ExtensibleLimitedResultRequestDto extends LimitedResultRequestDto { ExtensibleLimitedResultRequestDto({ super.maxResultCount, this.extraProperties, }); ExtraPropertyDictionary? extraProperties; } class ExtensibleListResultDto extends ListResultDto { ExtensibleListResultDto({ required super.items, this.extraProperties, }); ExtraPropertyDictionary? extraProperties; } class PagedResultDto extends ListResultDto { PagedResultDto({ required this.totalCount, required super.items, }); int totalCount; } class ExtensiblePagedResultDto extends PagedResultDto { ExtensiblePagedResultDto({ required super.totalCount, required super.items, this.extraProperties, }); ExtraPropertyDictionary? extraProperties; } class SortedResultRequest { SortedResultRequest({ this.sorting, }); String? sorting; } class PagedResultRequestDto extends LimitedResultRequestDto { PagedResultRequestDto({ this.skipCount, super.maxResultCount, }); int? skipCount = 0; } class PagedAndSortedResultRequestDto extends PagedResultRequestDto { PagedAndSortedResultRequestDto({ super.skipCount, super.maxResultCount, this.sorting, }); String? sorting; } class ExtensiblePagedAndSortedResultRequestDto extends PagedAndSortedResultRequestDto { ExtensiblePagedAndSortedResultRequestDto({ super.skipCount, super.maxResultCount, super.sorting, this.extraProperties, }); ExtraPropertyDictionary? extraProperties; } class ExtensiblePagedResultRequestDto extends PagedResultRequestDto { ExtensiblePagedResultRequestDto({ super.skipCount, super.maxResultCount, this.extraProperties, }); ExtraPropertyDictionary? extraProperties; }