Initial commit
This commit is contained in:
10
lib/database/collections/account.dart
Normal file
10
lib/database/collections/account.dart
Normal file
@@ -0,0 +1,10 @@
|
||||
import 'package:isar/isar.dart';
|
||||
|
||||
part 'account.g.dart';
|
||||
|
||||
@collection
|
||||
class Account {
|
||||
Id id = Isar.autoIncrement;
|
||||
|
||||
String? name;
|
||||
}
|
||||
469
lib/database/collections/account.g.dart
Normal file
469
lib/database/collections/account.g.dart
Normal file
@@ -0,0 +1,469 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'account.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// IsarCollectionGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
extension GetAccountCollection on Isar {
|
||||
IsarCollection<Account> get accounts => this.collection();
|
||||
}
|
||||
|
||||
const AccountSchema = CollectionSchema(
|
||||
name: r'Account',
|
||||
id: -6646797162501847804,
|
||||
properties: {
|
||||
r'name': PropertySchema(id: 0, name: r'name', type: IsarType.string),
|
||||
},
|
||||
estimateSize: _accountEstimateSize,
|
||||
serialize: _accountSerialize,
|
||||
deserialize: _accountDeserialize,
|
||||
deserializeProp: _accountDeserializeProp,
|
||||
idName: r'id',
|
||||
indexes: {},
|
||||
links: {},
|
||||
embeddedSchemas: {},
|
||||
getId: _accountGetId,
|
||||
getLinks: _accountGetLinks,
|
||||
attach: _accountAttach,
|
||||
version: '3.1.0+1',
|
||||
);
|
||||
|
||||
int _accountEstimateSize(
|
||||
Account object,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
var bytesCount = offsets.last;
|
||||
{
|
||||
final value = object.name;
|
||||
if (value != null) {
|
||||
bytesCount += 3 + value.length * 3;
|
||||
}
|
||||
}
|
||||
return bytesCount;
|
||||
}
|
||||
|
||||
void _accountSerialize(
|
||||
Account object,
|
||||
IsarWriter writer,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
writer.writeString(offsets[0], object.name);
|
||||
}
|
||||
|
||||
Account _accountDeserialize(
|
||||
Id id,
|
||||
IsarReader reader,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
final object = Account();
|
||||
object.id = id;
|
||||
object.name = reader.readStringOrNull(offsets[0]);
|
||||
return object;
|
||||
}
|
||||
|
||||
P _accountDeserializeProp<P>(
|
||||
IsarReader reader,
|
||||
int propertyId,
|
||||
int offset,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
switch (propertyId) {
|
||||
case 0:
|
||||
return (reader.readStringOrNull(offset)) as P;
|
||||
default:
|
||||
throw IsarError('Unknown property with id $propertyId');
|
||||
}
|
||||
}
|
||||
|
||||
Id _accountGetId(Account object) {
|
||||
return object.id;
|
||||
}
|
||||
|
||||
List<IsarLinkBase<dynamic>> _accountGetLinks(Account object) {
|
||||
return [];
|
||||
}
|
||||
|
||||
void _accountAttach(IsarCollection<dynamic> col, Id id, Account object) {
|
||||
object.id = id;
|
||||
}
|
||||
|
||||
extension AccountQueryWhereSort on QueryBuilder<Account, Account, QWhere> {
|
||||
QueryBuilder<Account, Account, QAfterWhere> anyId() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(const IdWhereClause.any());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension AccountQueryWhere on QueryBuilder<Account, Account, QWhereClause> {
|
||||
QueryBuilder<Account, Account, QAfterWhereClause> idEqualTo(Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterWhereClause> idNotEqualTo(Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
if (query.whereSort == Sort.asc) {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
);
|
||||
} else {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterWhereClause> idGreaterThan(
|
||||
Id id, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterWhereClause> idLessThan(
|
||||
Id id, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterWhereClause> idBetween(
|
||||
Id lowerId,
|
||||
Id upperId, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.between(
|
||||
lower: lowerId,
|
||||
includeLower: includeLower,
|
||||
upper: upperId,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension AccountQueryFilter
|
||||
on QueryBuilder<Account, Account, QFilterCondition> {
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> idEqualTo(Id value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'id', value: value),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> idGreaterThan(
|
||||
Id value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> idLessThan(
|
||||
Id value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> idBetween(
|
||||
Id lower,
|
||||
Id upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'id',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> nameIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
const FilterCondition.isNull(property: r'name'),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> nameIsNotNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
const FilterCondition.isNotNull(property: r'name'),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> nameEqualTo(
|
||||
String? value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> nameGreaterThan(
|
||||
String? value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> nameLessThan(
|
||||
String? value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> nameBetween(
|
||||
String? lower,
|
||||
String? upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'name',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> nameStartsWith(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.startsWith(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> nameEndsWith(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.endsWith(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> nameContains(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.contains(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> nameMatches(
|
||||
String pattern, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.matches(
|
||||
property: r'name',
|
||||
wildcard: pattern,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> nameIsEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'name', value: ''),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterFilterCondition> nameIsNotEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(property: r'name', value: ''),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension AccountQueryObject
|
||||
on QueryBuilder<Account, Account, QFilterCondition> {}
|
||||
|
||||
extension AccountQueryLinks
|
||||
on QueryBuilder<Account, Account, QFilterCondition> {}
|
||||
|
||||
extension AccountQuerySortBy on QueryBuilder<Account, Account, QSortBy> {
|
||||
QueryBuilder<Account, Account, QAfterSortBy> sortByName() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterSortBy> sortByNameDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension AccountQuerySortThenBy
|
||||
on QueryBuilder<Account, Account, QSortThenBy> {
|
||||
QueryBuilder<Account, Account, QAfterSortBy> thenById() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterSortBy> thenByIdDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterSortBy> thenByName() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, Account, QAfterSortBy> thenByNameDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension AccountQueryWhereDistinct
|
||||
on QueryBuilder<Account, Account, QDistinct> {
|
||||
QueryBuilder<Account, Account, QDistinct> distinctByName({
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'name', caseSensitive: caseSensitive);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension AccountQueryProperty
|
||||
on QueryBuilder<Account, Account, QQueryProperty> {
|
||||
QueryBuilder<Account, int, QQueryOperations> idProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'id');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Account, String?, QQueryOperations> nameProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'name');
|
||||
});
|
||||
}
|
||||
}
|
||||
20
lib/database/collections/beneficiary.dart
Normal file
20
lib/database/collections/beneficiary.dart
Normal file
@@ -0,0 +1,20 @@
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:okane/database/collections/account.dart';
|
||||
|
||||
part 'beneficiary.g.dart';
|
||||
|
||||
enum BeneficiaryType { account, other }
|
||||
|
||||
@collection
|
||||
class Beneficiary {
|
||||
Id id = Isar.autoIncrement;
|
||||
|
||||
late String name;
|
||||
|
||||
@Enumerated(EnumType.ordinal)
|
||||
late BeneficiaryType type;
|
||||
|
||||
final account = IsarLink<Account>();
|
||||
|
||||
String? imagePath;
|
||||
}
|
||||
810
lib/database/collections/beneficiary.g.dart
Normal file
810
lib/database/collections/beneficiary.g.dart
Normal file
@@ -0,0 +1,810 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'beneficiary.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// IsarCollectionGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
extension GetBeneficiaryCollection on Isar {
|
||||
IsarCollection<Beneficiary> get beneficiarys => this.collection();
|
||||
}
|
||||
|
||||
const BeneficiarySchema = CollectionSchema(
|
||||
name: r'Beneficiary',
|
||||
id: -7106369371336791482,
|
||||
properties: {
|
||||
r'imagePath': PropertySchema(
|
||||
id: 0,
|
||||
name: r'imagePath',
|
||||
type: IsarType.string,
|
||||
),
|
||||
r'name': PropertySchema(id: 1, name: r'name', type: IsarType.string),
|
||||
r'type': PropertySchema(
|
||||
id: 2,
|
||||
name: r'type',
|
||||
type: IsarType.byte,
|
||||
enumMap: _BeneficiarytypeEnumValueMap,
|
||||
),
|
||||
},
|
||||
estimateSize: _beneficiaryEstimateSize,
|
||||
serialize: _beneficiarySerialize,
|
||||
deserialize: _beneficiaryDeserialize,
|
||||
deserializeProp: _beneficiaryDeserializeProp,
|
||||
idName: r'id',
|
||||
indexes: {},
|
||||
links: {
|
||||
r'account': LinkSchema(
|
||||
id: -725531860126526319,
|
||||
name: r'account',
|
||||
target: r'Account',
|
||||
single: true,
|
||||
),
|
||||
},
|
||||
embeddedSchemas: {},
|
||||
getId: _beneficiaryGetId,
|
||||
getLinks: _beneficiaryGetLinks,
|
||||
attach: _beneficiaryAttach,
|
||||
version: '3.1.0+1',
|
||||
);
|
||||
|
||||
int _beneficiaryEstimateSize(
|
||||
Beneficiary object,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
var bytesCount = offsets.last;
|
||||
{
|
||||
final value = object.imagePath;
|
||||
if (value != null) {
|
||||
bytesCount += 3 + value.length * 3;
|
||||
}
|
||||
}
|
||||
bytesCount += 3 + object.name.length * 3;
|
||||
return bytesCount;
|
||||
}
|
||||
|
||||
void _beneficiarySerialize(
|
||||
Beneficiary object,
|
||||
IsarWriter writer,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
writer.writeString(offsets[0], object.imagePath);
|
||||
writer.writeString(offsets[1], object.name);
|
||||
writer.writeByte(offsets[2], object.type.index);
|
||||
}
|
||||
|
||||
Beneficiary _beneficiaryDeserialize(
|
||||
Id id,
|
||||
IsarReader reader,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
final object = Beneficiary();
|
||||
object.id = id;
|
||||
object.imagePath = reader.readStringOrNull(offsets[0]);
|
||||
object.name = reader.readString(offsets[1]);
|
||||
object.type =
|
||||
_BeneficiarytypeValueEnumMap[reader.readByteOrNull(offsets[2])] ??
|
||||
BeneficiaryType.account;
|
||||
return object;
|
||||
}
|
||||
|
||||
P _beneficiaryDeserializeProp<P>(
|
||||
IsarReader reader,
|
||||
int propertyId,
|
||||
int offset,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
switch (propertyId) {
|
||||
case 0:
|
||||
return (reader.readStringOrNull(offset)) as P;
|
||||
case 1:
|
||||
return (reader.readString(offset)) as P;
|
||||
case 2:
|
||||
return (_BeneficiarytypeValueEnumMap[reader.readByteOrNull(offset)] ??
|
||||
BeneficiaryType.account)
|
||||
as P;
|
||||
default:
|
||||
throw IsarError('Unknown property with id $propertyId');
|
||||
}
|
||||
}
|
||||
|
||||
const _BeneficiarytypeEnumValueMap = {'account': 0, 'other': 1};
|
||||
const _BeneficiarytypeValueEnumMap = {
|
||||
0: BeneficiaryType.account,
|
||||
1: BeneficiaryType.other,
|
||||
};
|
||||
|
||||
Id _beneficiaryGetId(Beneficiary object) {
|
||||
return object.id;
|
||||
}
|
||||
|
||||
List<IsarLinkBase<dynamic>> _beneficiaryGetLinks(Beneficiary object) {
|
||||
return [object.account];
|
||||
}
|
||||
|
||||
void _beneficiaryAttach(
|
||||
IsarCollection<dynamic> col,
|
||||
Id id,
|
||||
Beneficiary object,
|
||||
) {
|
||||
object.id = id;
|
||||
object.account.attach(col, col.isar.collection<Account>(), r'account', id);
|
||||
}
|
||||
|
||||
extension BeneficiaryQueryWhereSort
|
||||
on QueryBuilder<Beneficiary, Beneficiary, QWhere> {
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterWhere> anyId() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(const IdWhereClause.any());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension BeneficiaryQueryWhere
|
||||
on QueryBuilder<Beneficiary, Beneficiary, QWhereClause> {
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idEqualTo(Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idNotEqualTo(
|
||||
Id id,
|
||||
) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
if (query.whereSort == Sort.asc) {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
);
|
||||
} else {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idGreaterThan(
|
||||
Id id, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idLessThan(
|
||||
Id id, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idBetween(
|
||||
Id lowerId,
|
||||
Id upperId, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.between(
|
||||
lower: lowerId,
|
||||
includeLower: includeLower,
|
||||
upper: upperId,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension BeneficiaryQueryFilter
|
||||
on QueryBuilder<Beneficiary, Beneficiary, QFilterCondition> {
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> idEqualTo(
|
||||
Id value,
|
||||
) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'id', value: value),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> idGreaterThan(
|
||||
Id value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> idLessThan(
|
||||
Id value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> idBetween(
|
||||
Id lower,
|
||||
Id upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'id',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
imagePathIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
const FilterCondition.isNull(property: r'imagePath'),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
imagePathIsNotNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
const FilterCondition.isNotNull(property: r'imagePath'),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
imagePathEqualTo(String? value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(
|
||||
property: r'imagePath',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
imagePathGreaterThan(
|
||||
String? value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'imagePath',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
imagePathLessThan(
|
||||
String? value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'imagePath',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
imagePathBetween(
|
||||
String? lower,
|
||||
String? upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'imagePath',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
imagePathStartsWith(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.startsWith(
|
||||
property: r'imagePath',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
imagePathEndsWith(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.endsWith(
|
||||
property: r'imagePath',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
imagePathContains(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.contains(
|
||||
property: r'imagePath',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
imagePathMatches(String pattern, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.matches(
|
||||
property: r'imagePath',
|
||||
wildcard: pattern,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
imagePathIsEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'imagePath', value: ''),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
imagePathIsNotEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(property: r'imagePath', value: ''),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameEqualTo(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameGreaterThan(
|
||||
String value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameLessThan(
|
||||
String value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameBetween(
|
||||
String lower,
|
||||
String upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'name',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameStartsWith(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.startsWith(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameEndsWith(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.endsWith(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameContains(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.contains(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameMatches(
|
||||
String pattern, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.matches(
|
||||
property: r'name',
|
||||
wildcard: pattern,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameIsEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'name', value: ''),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
nameIsNotEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(property: r'name', value: ''),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> typeEqualTo(
|
||||
BeneficiaryType value,
|
||||
) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'type', value: value),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> typeGreaterThan(
|
||||
BeneficiaryType value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'type',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> typeLessThan(
|
||||
BeneficiaryType value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'type',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> typeBetween(
|
||||
BeneficiaryType lower,
|
||||
BeneficiaryType upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'type',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension BeneficiaryQueryObject
|
||||
on QueryBuilder<Beneficiary, Beneficiary, QFilterCondition> {}
|
||||
|
||||
extension BeneficiaryQueryLinks
|
||||
on QueryBuilder<Beneficiary, Beneficiary, QFilterCondition> {
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> account(
|
||||
FilterQuery<Account> q,
|
||||
) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.link(q, r'account');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
|
||||
accountIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.linkLength(r'account', 0, true, 0, true);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension BeneficiaryQuerySortBy
|
||||
on QueryBuilder<Beneficiary, Beneficiary, QSortBy> {
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> sortByImagePath() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'imagePath', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> sortByImagePathDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'imagePath', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> sortByName() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> sortByNameDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> sortByType() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'type', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> sortByTypeDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'type', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension BeneficiaryQuerySortThenBy
|
||||
on QueryBuilder<Beneficiary, Beneficiary, QSortThenBy> {
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> thenById() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> thenByIdDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> thenByImagePath() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'imagePath', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> thenByImagePathDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'imagePath', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> thenByName() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> thenByNameDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> thenByType() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'type', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QAfterSortBy> thenByTypeDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'type', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension BeneficiaryQueryWhereDistinct
|
||||
on QueryBuilder<Beneficiary, Beneficiary, QDistinct> {
|
||||
QueryBuilder<Beneficiary, Beneficiary, QDistinct> distinctByImagePath({
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'imagePath', caseSensitive: caseSensitive);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QDistinct> distinctByName({
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'name', caseSensitive: caseSensitive);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, Beneficiary, QDistinct> distinctByType() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'type');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension BeneficiaryQueryProperty
|
||||
on QueryBuilder<Beneficiary, Beneficiary, QQueryProperty> {
|
||||
QueryBuilder<Beneficiary, int, QQueryOperations> idProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'id');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, String?, QQueryOperations> imagePathProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'imagePath');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, String, QQueryOperations> nameProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'name');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Beneficiary, BeneficiaryType, QQueryOperations> typeProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'type');
|
||||
});
|
||||
}
|
||||
}
|
||||
10
lib/database/collections/expense_category.dart
Normal file
10
lib/database/collections/expense_category.dart
Normal file
@@ -0,0 +1,10 @@
|
||||
import 'package:isar/isar.dart';
|
||||
|
||||
part 'expense_category.g.dart';
|
||||
|
||||
@collection
|
||||
class ExpenseCategory {
|
||||
Id id = Isar.autoIncrement;
|
||||
|
||||
late String name;
|
||||
}
|
||||
451
lib/database/collections/expense_category.g.dart
Normal file
451
lib/database/collections/expense_category.g.dart
Normal file
@@ -0,0 +1,451 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'expense_category.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// IsarCollectionGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
extension GetExpenseCategoryCollection on Isar {
|
||||
IsarCollection<ExpenseCategory> get expenseCategorys => this.collection();
|
||||
}
|
||||
|
||||
const ExpenseCategorySchema = CollectionSchema(
|
||||
name: r'ExpenseCategory',
|
||||
id: -6352499903118634,
|
||||
properties: {
|
||||
r'name': PropertySchema(id: 0, name: r'name', type: IsarType.string),
|
||||
},
|
||||
estimateSize: _expenseCategoryEstimateSize,
|
||||
serialize: _expenseCategorySerialize,
|
||||
deserialize: _expenseCategoryDeserialize,
|
||||
deserializeProp: _expenseCategoryDeserializeProp,
|
||||
idName: r'id',
|
||||
indexes: {},
|
||||
links: {},
|
||||
embeddedSchemas: {},
|
||||
getId: _expenseCategoryGetId,
|
||||
getLinks: _expenseCategoryGetLinks,
|
||||
attach: _expenseCategoryAttach,
|
||||
version: '3.1.0+1',
|
||||
);
|
||||
|
||||
int _expenseCategoryEstimateSize(
|
||||
ExpenseCategory object,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
var bytesCount = offsets.last;
|
||||
bytesCount += 3 + object.name.length * 3;
|
||||
return bytesCount;
|
||||
}
|
||||
|
||||
void _expenseCategorySerialize(
|
||||
ExpenseCategory object,
|
||||
IsarWriter writer,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
writer.writeString(offsets[0], object.name);
|
||||
}
|
||||
|
||||
ExpenseCategory _expenseCategoryDeserialize(
|
||||
Id id,
|
||||
IsarReader reader,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
final object = ExpenseCategory();
|
||||
object.id = id;
|
||||
object.name = reader.readString(offsets[0]);
|
||||
return object;
|
||||
}
|
||||
|
||||
P _expenseCategoryDeserializeProp<P>(
|
||||
IsarReader reader,
|
||||
int propertyId,
|
||||
int offset,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
switch (propertyId) {
|
||||
case 0:
|
||||
return (reader.readString(offset)) as P;
|
||||
default:
|
||||
throw IsarError('Unknown property with id $propertyId');
|
||||
}
|
||||
}
|
||||
|
||||
Id _expenseCategoryGetId(ExpenseCategory object) {
|
||||
return object.id;
|
||||
}
|
||||
|
||||
List<IsarLinkBase<dynamic>> _expenseCategoryGetLinks(ExpenseCategory object) {
|
||||
return [];
|
||||
}
|
||||
|
||||
void _expenseCategoryAttach(
|
||||
IsarCollection<dynamic> col,
|
||||
Id id,
|
||||
ExpenseCategory object,
|
||||
) {
|
||||
object.id = id;
|
||||
}
|
||||
|
||||
extension ExpenseCategoryQueryWhereSort
|
||||
on QueryBuilder<ExpenseCategory, ExpenseCategory, QWhere> {
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterWhere> anyId() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(const IdWhereClause.any());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension ExpenseCategoryQueryWhere
|
||||
on QueryBuilder<ExpenseCategory, ExpenseCategory, QWhereClause> {
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterWhereClause> idEqualTo(
|
||||
Id id,
|
||||
) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterWhereClause>
|
||||
idNotEqualTo(Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
if (query.whereSort == Sort.asc) {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
);
|
||||
} else {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterWhereClause>
|
||||
idGreaterThan(Id id, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterWhereClause> idLessThan(
|
||||
Id id, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterWhereClause> idBetween(
|
||||
Id lowerId,
|
||||
Id upperId, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.between(
|
||||
lower: lowerId,
|
||||
includeLower: includeLower,
|
||||
upper: upperId,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension ExpenseCategoryQueryFilter
|
||||
on QueryBuilder<ExpenseCategory, ExpenseCategory, QFilterCondition> {
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
idEqualTo(Id value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'id', value: value),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
idGreaterThan(Id value, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
idLessThan(Id value, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
idBetween(
|
||||
Id lower,
|
||||
Id upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'id',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
nameEqualTo(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
nameGreaterThan(
|
||||
String value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
nameLessThan(
|
||||
String value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
nameBetween(
|
||||
String lower,
|
||||
String upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'name',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
nameStartsWith(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.startsWith(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
nameEndsWith(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.endsWith(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
nameContains(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.contains(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
nameMatches(String pattern, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.matches(
|
||||
property: r'name',
|
||||
wildcard: pattern,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
nameIsEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'name', value: ''),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
|
||||
nameIsNotEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(property: r'name', value: ''),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension ExpenseCategoryQueryObject
|
||||
on QueryBuilder<ExpenseCategory, ExpenseCategory, QFilterCondition> {}
|
||||
|
||||
extension ExpenseCategoryQueryLinks
|
||||
on QueryBuilder<ExpenseCategory, ExpenseCategory, QFilterCondition> {}
|
||||
|
||||
extension ExpenseCategoryQuerySortBy
|
||||
on QueryBuilder<ExpenseCategory, ExpenseCategory, QSortBy> {
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterSortBy> sortByName() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterSortBy>
|
||||
sortByNameDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension ExpenseCategoryQuerySortThenBy
|
||||
on QueryBuilder<ExpenseCategory, ExpenseCategory, QSortThenBy> {
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterSortBy> thenById() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterSortBy> thenByIdDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterSortBy> thenByName() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterSortBy>
|
||||
thenByNameDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension ExpenseCategoryQueryWhereDistinct
|
||||
on QueryBuilder<ExpenseCategory, ExpenseCategory, QDistinct> {
|
||||
QueryBuilder<ExpenseCategory, ExpenseCategory, QDistinct> distinctByName({
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'name', caseSensitive: caseSensitive);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension ExpenseCategoryQueryProperty
|
||||
on QueryBuilder<ExpenseCategory, ExpenseCategory, QQueryProperty> {
|
||||
QueryBuilder<ExpenseCategory, int, QQueryOperations> idProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'id');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<ExpenseCategory, String, QQueryOperations> nameProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'name');
|
||||
});
|
||||
}
|
||||
}
|
||||
18
lib/database/collections/recurrent.dart
Normal file
18
lib/database/collections/recurrent.dart
Normal file
@@ -0,0 +1,18 @@
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:okane/database/collections/account.dart';
|
||||
import 'package:okane/database/collections/template.dart';
|
||||
|
||||
part 'recurrent.g.dart';
|
||||
|
||||
@collection
|
||||
class RecurringTransaction {
|
||||
Id id = Isar.autoIncrement;
|
||||
|
||||
late int days;
|
||||
|
||||
DateTime? lastExecution;
|
||||
|
||||
final template = IsarLink<TransactionTemplate>();
|
||||
|
||||
final account = IsarLink<Account>();
|
||||
}
|
||||
633
lib/database/collections/recurrent.g.dart
Normal file
633
lib/database/collections/recurrent.g.dart
Normal file
@@ -0,0 +1,633 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'recurrent.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// IsarCollectionGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
extension GetRecurringTransactionCollection on Isar {
|
||||
IsarCollection<RecurringTransaction> get recurringTransactions =>
|
||||
this.collection();
|
||||
}
|
||||
|
||||
const RecurringTransactionSchema = CollectionSchema(
|
||||
name: r'RecurringTransaction',
|
||||
id: 969840479390105118,
|
||||
properties: {
|
||||
r'days': PropertySchema(id: 0, name: r'days', type: IsarType.long),
|
||||
r'lastExecution': PropertySchema(
|
||||
id: 1,
|
||||
name: r'lastExecution',
|
||||
type: IsarType.dateTime,
|
||||
),
|
||||
},
|
||||
estimateSize: _recurringTransactionEstimateSize,
|
||||
serialize: _recurringTransactionSerialize,
|
||||
deserialize: _recurringTransactionDeserialize,
|
||||
deserializeProp: _recurringTransactionDeserializeProp,
|
||||
idName: r'id',
|
||||
indexes: {},
|
||||
links: {
|
||||
r'template': LinkSchema(
|
||||
id: -8891369755965227865,
|
||||
name: r'template',
|
||||
target: r'TransactionTemplate',
|
||||
single: true,
|
||||
),
|
||||
r'account': LinkSchema(
|
||||
id: -6028551496614242115,
|
||||
name: r'account',
|
||||
target: r'Account',
|
||||
single: true,
|
||||
),
|
||||
},
|
||||
embeddedSchemas: {},
|
||||
getId: _recurringTransactionGetId,
|
||||
getLinks: _recurringTransactionGetLinks,
|
||||
attach: _recurringTransactionAttach,
|
||||
version: '3.1.0+1',
|
||||
);
|
||||
|
||||
int _recurringTransactionEstimateSize(
|
||||
RecurringTransaction object,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
var bytesCount = offsets.last;
|
||||
return bytesCount;
|
||||
}
|
||||
|
||||
void _recurringTransactionSerialize(
|
||||
RecurringTransaction object,
|
||||
IsarWriter writer,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
writer.writeLong(offsets[0], object.days);
|
||||
writer.writeDateTime(offsets[1], object.lastExecution);
|
||||
}
|
||||
|
||||
RecurringTransaction _recurringTransactionDeserialize(
|
||||
Id id,
|
||||
IsarReader reader,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
final object = RecurringTransaction();
|
||||
object.days = reader.readLong(offsets[0]);
|
||||
object.id = id;
|
||||
object.lastExecution = reader.readDateTimeOrNull(offsets[1]);
|
||||
return object;
|
||||
}
|
||||
|
||||
P _recurringTransactionDeserializeProp<P>(
|
||||
IsarReader reader,
|
||||
int propertyId,
|
||||
int offset,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
switch (propertyId) {
|
||||
case 0:
|
||||
return (reader.readLong(offset)) as P;
|
||||
case 1:
|
||||
return (reader.readDateTimeOrNull(offset)) as P;
|
||||
default:
|
||||
throw IsarError('Unknown property with id $propertyId');
|
||||
}
|
||||
}
|
||||
|
||||
Id _recurringTransactionGetId(RecurringTransaction object) {
|
||||
return object.id;
|
||||
}
|
||||
|
||||
List<IsarLinkBase<dynamic>> _recurringTransactionGetLinks(
|
||||
RecurringTransaction object,
|
||||
) {
|
||||
return [object.template, object.account];
|
||||
}
|
||||
|
||||
void _recurringTransactionAttach(
|
||||
IsarCollection<dynamic> col,
|
||||
Id id,
|
||||
RecurringTransaction object,
|
||||
) {
|
||||
object.id = id;
|
||||
object.template.attach(
|
||||
col,
|
||||
col.isar.collection<TransactionTemplate>(),
|
||||
r'template',
|
||||
id,
|
||||
);
|
||||
object.account.attach(col, col.isar.collection<Account>(), r'account', id);
|
||||
}
|
||||
|
||||
extension RecurringTransactionQueryWhereSort
|
||||
on QueryBuilder<RecurringTransaction, RecurringTransaction, QWhere> {
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterWhere>
|
||||
anyId() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(const IdWhereClause.any());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension RecurringTransactionQueryWhere
|
||||
on QueryBuilder<RecurringTransaction, RecurringTransaction, QWhereClause> {
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterWhereClause>
|
||||
idEqualTo(Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterWhereClause>
|
||||
idNotEqualTo(Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
if (query.whereSort == Sort.asc) {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
);
|
||||
} else {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterWhereClause>
|
||||
idGreaterThan(Id id, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterWhereClause>
|
||||
idLessThan(Id id, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterWhereClause>
|
||||
idBetween(
|
||||
Id lowerId,
|
||||
Id upperId, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.between(
|
||||
lower: lowerId,
|
||||
includeLower: includeLower,
|
||||
upper: upperId,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension RecurringTransactionQueryFilter
|
||||
on
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QFilterCondition
|
||||
> {
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
daysEqualTo(int value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'days', value: value),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
daysGreaterThan(int value, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'days',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
daysLessThan(int value, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'days',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
daysBetween(
|
||||
int lower,
|
||||
int upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'days',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
idEqualTo(Id value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'id', value: value),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
idGreaterThan(Id value, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
idLessThan(Id value, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
idBetween(
|
||||
Id lower,
|
||||
Id upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'id',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
lastExecutionIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
const FilterCondition.isNull(property: r'lastExecution'),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
lastExecutionIsNotNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
const FilterCondition.isNotNull(property: r'lastExecution'),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
lastExecutionEqualTo(DateTime? value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'lastExecution', value: value),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
lastExecutionGreaterThan(DateTime? value, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'lastExecution',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
lastExecutionLessThan(DateTime? value, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'lastExecution',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
lastExecutionBetween(
|
||||
DateTime? lower,
|
||||
DateTime? upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'lastExecution',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension RecurringTransactionQueryObject
|
||||
on
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QFilterCondition
|
||||
> {}
|
||||
|
||||
extension RecurringTransactionQueryLinks
|
||||
on
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QFilterCondition
|
||||
> {
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
template(FilterQuery<TransactionTemplate> q) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.link(q, r'template');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
templateIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.linkLength(r'template', 0, true, 0, true);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
account(FilterQuery<Account> q) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.link(q, r'account');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QAfterFilterCondition
|
||||
>
|
||||
accountIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.linkLength(r'account', 0, true, 0, true);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension RecurringTransactionQuerySortBy
|
||||
on QueryBuilder<RecurringTransaction, RecurringTransaction, QSortBy> {
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterSortBy>
|
||||
sortByDays() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'days', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterSortBy>
|
||||
sortByDaysDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'days', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterSortBy>
|
||||
sortByLastExecution() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'lastExecution', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterSortBy>
|
||||
sortByLastExecutionDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'lastExecution', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension RecurringTransactionQuerySortThenBy
|
||||
on QueryBuilder<RecurringTransaction, RecurringTransaction, QSortThenBy> {
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterSortBy>
|
||||
thenByDays() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'days', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterSortBy>
|
||||
thenByDaysDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'days', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterSortBy>
|
||||
thenById() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterSortBy>
|
||||
thenByIdDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterSortBy>
|
||||
thenByLastExecution() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'lastExecution', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterSortBy>
|
||||
thenByLastExecutionDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'lastExecution', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension RecurringTransactionQueryWhereDistinct
|
||||
on QueryBuilder<RecurringTransaction, RecurringTransaction, QDistinct> {
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QDistinct>
|
||||
distinctByDays() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'days');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, RecurringTransaction, QDistinct>
|
||||
distinctByLastExecution() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'lastExecution');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension RecurringTransactionQueryProperty
|
||||
on
|
||||
QueryBuilder<
|
||||
RecurringTransaction,
|
||||
RecurringTransaction,
|
||||
QQueryProperty
|
||||
> {
|
||||
QueryBuilder<RecurringTransaction, int, QQueryOperations> idProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'id');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, int, QQueryOperations> daysProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'days');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<RecurringTransaction, DateTime?, QQueryOperations>
|
||||
lastExecutionProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'lastExecution');
|
||||
});
|
||||
}
|
||||
}
|
||||
23
lib/database/collections/template.dart
Normal file
23
lib/database/collections/template.dart
Normal file
@@ -0,0 +1,23 @@
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:okane/database/collections/account.dart';
|
||||
import 'package:okane/database/collections/beneficiary.dart';
|
||||
import 'package:okane/database/collections/expense_category.dart';
|
||||
|
||||
part 'template.g.dart';
|
||||
|
||||
@collection
|
||||
class TransactionTemplate {
|
||||
Id id = Isar.autoIncrement;
|
||||
|
||||
late String name;
|
||||
|
||||
late double amount;
|
||||
|
||||
late bool recurring;
|
||||
|
||||
final expenseCategory = IsarLink<ExpenseCategory>();
|
||||
|
||||
final beneficiary = IsarLink<Beneficiary>();
|
||||
|
||||
final account = IsarLink<Account>();
|
||||
}
|
||||
721
lib/database/collections/template.g.dart
Normal file
721
lib/database/collections/template.g.dart
Normal file
@@ -0,0 +1,721 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'template.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// IsarCollectionGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
extension GetTransactionTemplateCollection on Isar {
|
||||
IsarCollection<TransactionTemplate> get transactionTemplates =>
|
||||
this.collection();
|
||||
}
|
||||
|
||||
const TransactionTemplateSchema = CollectionSchema(
|
||||
name: r'TransactionTemplate',
|
||||
id: -2324989530163310644,
|
||||
properties: {
|
||||
r'amount': PropertySchema(id: 0, name: r'amount', type: IsarType.double),
|
||||
r'name': PropertySchema(id: 1, name: r'name', type: IsarType.string),
|
||||
r'recurring': PropertySchema(
|
||||
id: 2,
|
||||
name: r'recurring',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
},
|
||||
estimateSize: _transactionTemplateEstimateSize,
|
||||
serialize: _transactionTemplateSerialize,
|
||||
deserialize: _transactionTemplateDeserialize,
|
||||
deserializeProp: _transactionTemplateDeserializeProp,
|
||||
idName: r'id',
|
||||
indexes: {},
|
||||
links: {
|
||||
r'expenseCategory': LinkSchema(
|
||||
id: 3013186211408715712,
|
||||
name: r'expenseCategory',
|
||||
target: r'ExpenseCategory',
|
||||
single: true,
|
||||
),
|
||||
r'beneficiary': LinkSchema(
|
||||
id: -7565656011019083791,
|
||||
name: r'beneficiary',
|
||||
target: r'Beneficiary',
|
||||
single: true,
|
||||
),
|
||||
r'account': LinkSchema(
|
||||
id: 2465433941426054606,
|
||||
name: r'account',
|
||||
target: r'Account',
|
||||
single: true,
|
||||
),
|
||||
},
|
||||
embeddedSchemas: {},
|
||||
getId: _transactionTemplateGetId,
|
||||
getLinks: _transactionTemplateGetLinks,
|
||||
attach: _transactionTemplateAttach,
|
||||
version: '3.1.0+1',
|
||||
);
|
||||
|
||||
int _transactionTemplateEstimateSize(
|
||||
TransactionTemplate object,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
var bytesCount = offsets.last;
|
||||
bytesCount += 3 + object.name.length * 3;
|
||||
return bytesCount;
|
||||
}
|
||||
|
||||
void _transactionTemplateSerialize(
|
||||
TransactionTemplate object,
|
||||
IsarWriter writer,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
writer.writeDouble(offsets[0], object.amount);
|
||||
writer.writeString(offsets[1], object.name);
|
||||
writer.writeBool(offsets[2], object.recurring);
|
||||
}
|
||||
|
||||
TransactionTemplate _transactionTemplateDeserialize(
|
||||
Id id,
|
||||
IsarReader reader,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
final object = TransactionTemplate();
|
||||
object.amount = reader.readDouble(offsets[0]);
|
||||
object.id = id;
|
||||
object.name = reader.readString(offsets[1]);
|
||||
object.recurring = reader.readBool(offsets[2]);
|
||||
return object;
|
||||
}
|
||||
|
||||
P _transactionTemplateDeserializeProp<P>(
|
||||
IsarReader reader,
|
||||
int propertyId,
|
||||
int offset,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
switch (propertyId) {
|
||||
case 0:
|
||||
return (reader.readDouble(offset)) as P;
|
||||
case 1:
|
||||
return (reader.readString(offset)) as P;
|
||||
case 2:
|
||||
return (reader.readBool(offset)) as P;
|
||||
default:
|
||||
throw IsarError('Unknown property with id $propertyId');
|
||||
}
|
||||
}
|
||||
|
||||
Id _transactionTemplateGetId(TransactionTemplate object) {
|
||||
return object.id;
|
||||
}
|
||||
|
||||
List<IsarLinkBase<dynamic>> _transactionTemplateGetLinks(
|
||||
TransactionTemplate object,
|
||||
) {
|
||||
return [object.expenseCategory, object.beneficiary, object.account];
|
||||
}
|
||||
|
||||
void _transactionTemplateAttach(
|
||||
IsarCollection<dynamic> col,
|
||||
Id id,
|
||||
TransactionTemplate object,
|
||||
) {
|
||||
object.id = id;
|
||||
object.expenseCategory.attach(
|
||||
col,
|
||||
col.isar.collection<ExpenseCategory>(),
|
||||
r'expenseCategory',
|
||||
id,
|
||||
);
|
||||
object.beneficiary.attach(
|
||||
col,
|
||||
col.isar.collection<Beneficiary>(),
|
||||
r'beneficiary',
|
||||
id,
|
||||
);
|
||||
object.account.attach(col, col.isar.collection<Account>(), r'account', id);
|
||||
}
|
||||
|
||||
extension TransactionTemplateQueryWhereSort
|
||||
on QueryBuilder<TransactionTemplate, TransactionTemplate, QWhere> {
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterWhere> anyId() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(const IdWhereClause.any());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionTemplateQueryWhere
|
||||
on QueryBuilder<TransactionTemplate, TransactionTemplate, QWhereClause> {
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterWhereClause>
|
||||
idEqualTo(Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterWhereClause>
|
||||
idNotEqualTo(Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
if (query.whereSort == Sort.asc) {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
);
|
||||
} else {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterWhereClause>
|
||||
idGreaterThan(Id id, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterWhereClause>
|
||||
idLessThan(Id id, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterWhereClause>
|
||||
idBetween(
|
||||
Id lowerId,
|
||||
Id upperId, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.between(
|
||||
lower: lowerId,
|
||||
includeLower: includeLower,
|
||||
upper: upperId,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionTemplateQueryFilter
|
||||
on
|
||||
QueryBuilder<
|
||||
TransactionTemplate,
|
||||
TransactionTemplate,
|
||||
QFilterCondition
|
||||
> {
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
amountEqualTo(double value, {double epsilon = Query.epsilon}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(
|
||||
property: r'amount',
|
||||
value: value,
|
||||
epsilon: epsilon,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
amountGreaterThan(
|
||||
double value, {
|
||||
bool include = false,
|
||||
double epsilon = Query.epsilon,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'amount',
|
||||
value: value,
|
||||
epsilon: epsilon,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
amountLessThan(
|
||||
double value, {
|
||||
bool include = false,
|
||||
double epsilon = Query.epsilon,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'amount',
|
||||
value: value,
|
||||
epsilon: epsilon,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
amountBetween(
|
||||
double lower,
|
||||
double upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
double epsilon = Query.epsilon,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'amount',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
epsilon: epsilon,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
idEqualTo(Id value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'id', value: value),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
idGreaterThan(Id value, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
idLessThan(Id value, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
idBetween(
|
||||
Id lower,
|
||||
Id upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'id',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
nameEqualTo(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
nameGreaterThan(
|
||||
String value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
nameLessThan(
|
||||
String value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
nameBetween(
|
||||
String lower,
|
||||
String upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'name',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
nameStartsWith(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.startsWith(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
nameEndsWith(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.endsWith(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
nameContains(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.contains(
|
||||
property: r'name',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
nameMatches(String pattern, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.matches(
|
||||
property: r'name',
|
||||
wildcard: pattern,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
nameIsEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'name', value: ''),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
nameIsNotEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(property: r'name', value: ''),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
recurringEqualTo(bool value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'recurring', value: value),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionTemplateQueryObject
|
||||
on
|
||||
QueryBuilder<
|
||||
TransactionTemplate,
|
||||
TransactionTemplate,
|
||||
QFilterCondition
|
||||
> {}
|
||||
|
||||
extension TransactionTemplateQueryLinks
|
||||
on
|
||||
QueryBuilder<
|
||||
TransactionTemplate,
|
||||
TransactionTemplate,
|
||||
QFilterCondition
|
||||
> {
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
expenseCategory(FilterQuery<ExpenseCategory> q) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.link(q, r'expenseCategory');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
expenseCategoryIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.linkLength(r'expenseCategory', 0, true, 0, true);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
beneficiary(FilterQuery<Beneficiary> q) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.link(q, r'beneficiary');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
beneficiaryIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.linkLength(r'beneficiary', 0, true, 0, true);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
account(FilterQuery<Account> q) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.link(q, r'account');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
|
||||
accountIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.linkLength(r'account', 0, true, 0, true);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionTemplateQuerySortBy
|
||||
on QueryBuilder<TransactionTemplate, TransactionTemplate, QSortBy> {
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
sortByAmount() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'amount', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
sortByAmountDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'amount', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
sortByName() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
sortByNameDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
sortByRecurring() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'recurring', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
sortByRecurringDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'recurring', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionTemplateQuerySortThenBy
|
||||
on QueryBuilder<TransactionTemplate, TransactionTemplate, QSortThenBy> {
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
thenByAmount() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'amount', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
thenByAmountDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'amount', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
thenById() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
thenByIdDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
thenByName() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
thenByNameDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'name', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
thenByRecurring() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'recurring', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterSortBy>
|
||||
thenByRecurringDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'recurring', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionTemplateQueryWhereDistinct
|
||||
on QueryBuilder<TransactionTemplate, TransactionTemplate, QDistinct> {
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QDistinct>
|
||||
distinctByAmount() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'amount');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QDistinct>
|
||||
distinctByName({bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'name', caseSensitive: caseSensitive);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, TransactionTemplate, QDistinct>
|
||||
distinctByRecurring() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'recurring');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionTemplateQueryProperty
|
||||
on QueryBuilder<TransactionTemplate, TransactionTemplate, QQueryProperty> {
|
||||
QueryBuilder<TransactionTemplate, int, QQueryOperations> idProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'id');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, double, QQueryOperations> amountProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'amount');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, String, QQueryOperations> nameProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'name');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TransactionTemplate, bool, QQueryOperations>
|
||||
recurringProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'recurring');
|
||||
});
|
||||
}
|
||||
}
|
||||
23
lib/database/collections/transaction.dart
Normal file
23
lib/database/collections/transaction.dart
Normal file
@@ -0,0 +1,23 @@
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:okane/database/collections/account.dart';
|
||||
import 'package:okane/database/collections/beneficiary.dart';
|
||||
import 'package:okane/database/collections/expense_category.dart';
|
||||
|
||||
part 'transaction.g.dart';
|
||||
|
||||
@collection
|
||||
class Transaction {
|
||||
Id id = Isar.autoIncrement;
|
||||
|
||||
late double amount;
|
||||
|
||||
late List<String> tags;
|
||||
|
||||
late DateTime date;
|
||||
|
||||
final expenseCategory = IsarLink<ExpenseCategory>();
|
||||
|
||||
final account = IsarLink<Account>();
|
||||
|
||||
final beneficiary = IsarLink<Beneficiary>();
|
||||
}
|
||||
775
lib/database/collections/transaction.g.dart
Normal file
775
lib/database/collections/transaction.g.dart
Normal file
@@ -0,0 +1,775 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'transaction.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// IsarCollectionGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
extension GetTransactionCollection on Isar {
|
||||
IsarCollection<Transaction> get transactions => this.collection();
|
||||
}
|
||||
|
||||
const TransactionSchema = CollectionSchema(
|
||||
name: r'Transaction',
|
||||
id: 5320225499417954855,
|
||||
properties: {
|
||||
r'amount': PropertySchema(id: 0, name: r'amount', type: IsarType.double),
|
||||
r'date': PropertySchema(id: 1, name: r'date', type: IsarType.dateTime),
|
||||
r'tags': PropertySchema(id: 2, name: r'tags', type: IsarType.stringList),
|
||||
},
|
||||
estimateSize: _transactionEstimateSize,
|
||||
serialize: _transactionSerialize,
|
||||
deserialize: _transactionDeserialize,
|
||||
deserializeProp: _transactionDeserializeProp,
|
||||
idName: r'id',
|
||||
indexes: {},
|
||||
links: {
|
||||
r'expenseCategory': LinkSchema(
|
||||
id: 490804775908778298,
|
||||
name: r'expenseCategory',
|
||||
target: r'ExpenseCategory',
|
||||
single: true,
|
||||
),
|
||||
r'account': LinkSchema(
|
||||
id: -8467990729867616553,
|
||||
name: r'account',
|
||||
target: r'Account',
|
||||
single: true,
|
||||
),
|
||||
r'beneficiary': LinkSchema(
|
||||
id: -1184196133247909686,
|
||||
name: r'beneficiary',
|
||||
target: r'Beneficiary',
|
||||
single: true,
|
||||
),
|
||||
},
|
||||
embeddedSchemas: {},
|
||||
getId: _transactionGetId,
|
||||
getLinks: _transactionGetLinks,
|
||||
attach: _transactionAttach,
|
||||
version: '3.1.0+1',
|
||||
);
|
||||
|
||||
int _transactionEstimateSize(
|
||||
Transaction object,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
var bytesCount = offsets.last;
|
||||
bytesCount += 3 + object.tags.length * 3;
|
||||
{
|
||||
for (var i = 0; i < object.tags.length; i++) {
|
||||
final value = object.tags[i];
|
||||
bytesCount += value.length * 3;
|
||||
}
|
||||
}
|
||||
return bytesCount;
|
||||
}
|
||||
|
||||
void _transactionSerialize(
|
||||
Transaction object,
|
||||
IsarWriter writer,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
writer.writeDouble(offsets[0], object.amount);
|
||||
writer.writeDateTime(offsets[1], object.date);
|
||||
writer.writeStringList(offsets[2], object.tags);
|
||||
}
|
||||
|
||||
Transaction _transactionDeserialize(
|
||||
Id id,
|
||||
IsarReader reader,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
final object = Transaction();
|
||||
object.amount = reader.readDouble(offsets[0]);
|
||||
object.date = reader.readDateTime(offsets[1]);
|
||||
object.id = id;
|
||||
object.tags = reader.readStringList(offsets[2]) ?? [];
|
||||
return object;
|
||||
}
|
||||
|
||||
P _transactionDeserializeProp<P>(
|
||||
IsarReader reader,
|
||||
int propertyId,
|
||||
int offset,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
switch (propertyId) {
|
||||
case 0:
|
||||
return (reader.readDouble(offset)) as P;
|
||||
case 1:
|
||||
return (reader.readDateTime(offset)) as P;
|
||||
case 2:
|
||||
return (reader.readStringList(offset) ?? []) as P;
|
||||
default:
|
||||
throw IsarError('Unknown property with id $propertyId');
|
||||
}
|
||||
}
|
||||
|
||||
Id _transactionGetId(Transaction object) {
|
||||
return object.id;
|
||||
}
|
||||
|
||||
List<IsarLinkBase<dynamic>> _transactionGetLinks(Transaction object) {
|
||||
return [object.expenseCategory, object.account, object.beneficiary];
|
||||
}
|
||||
|
||||
void _transactionAttach(
|
||||
IsarCollection<dynamic> col,
|
||||
Id id,
|
||||
Transaction object,
|
||||
) {
|
||||
object.id = id;
|
||||
object.expenseCategory.attach(
|
||||
col,
|
||||
col.isar.collection<ExpenseCategory>(),
|
||||
r'expenseCategory',
|
||||
id,
|
||||
);
|
||||
object.account.attach(col, col.isar.collection<Account>(), r'account', id);
|
||||
object.beneficiary.attach(
|
||||
col,
|
||||
col.isar.collection<Beneficiary>(),
|
||||
r'beneficiary',
|
||||
id,
|
||||
);
|
||||
}
|
||||
|
||||
extension TransactionQueryWhereSort
|
||||
on QueryBuilder<Transaction, Transaction, QWhere> {
|
||||
QueryBuilder<Transaction, Transaction, QAfterWhere> anyId() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(const IdWhereClause.any());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionQueryWhere
|
||||
on QueryBuilder<Transaction, Transaction, QWhereClause> {
|
||||
QueryBuilder<Transaction, Transaction, QAfterWhereClause> idEqualTo(Id id) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterWhereClause> idNotEqualTo(
|
||||
Id id,
|
||||
) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
if (query.whereSort == Sort.asc) {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
);
|
||||
} else {
|
||||
return query
|
||||
.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: false),
|
||||
)
|
||||
.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: false),
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterWhereClause> idGreaterThan(
|
||||
Id id, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.greaterThan(lower: id, includeLower: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterWhereClause> idLessThan(
|
||||
Id id, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.lessThan(upper: id, includeUpper: include),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterWhereClause> idBetween(
|
||||
Id lowerId,
|
||||
Id upperId, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addWhereClause(
|
||||
IdWhereClause.between(
|
||||
lower: lowerId,
|
||||
includeLower: includeLower,
|
||||
upper: upperId,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionQueryFilter
|
||||
on QueryBuilder<Transaction, Transaction, QFilterCondition> {
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> amountEqualTo(
|
||||
double value, {
|
||||
double epsilon = Query.epsilon,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(
|
||||
property: r'amount',
|
||||
value: value,
|
||||
epsilon: epsilon,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
amountGreaterThan(
|
||||
double value, {
|
||||
bool include = false,
|
||||
double epsilon = Query.epsilon,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'amount',
|
||||
value: value,
|
||||
epsilon: epsilon,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> amountLessThan(
|
||||
double value, {
|
||||
bool include = false,
|
||||
double epsilon = Query.epsilon,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'amount',
|
||||
value: value,
|
||||
epsilon: epsilon,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> amountBetween(
|
||||
double lower,
|
||||
double upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
double epsilon = Query.epsilon,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'amount',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
epsilon: epsilon,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> dateEqualTo(
|
||||
DateTime value,
|
||||
) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'date', value: value),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> dateGreaterThan(
|
||||
DateTime value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'date',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> dateLessThan(
|
||||
DateTime value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'date',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> dateBetween(
|
||||
DateTime lower,
|
||||
DateTime upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'date',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> idEqualTo(
|
||||
Id value,
|
||||
) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'id', value: value),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> idGreaterThan(
|
||||
Id value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> idLessThan(
|
||||
Id value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'id',
|
||||
value: value,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> idBetween(
|
||||
Id lower,
|
||||
Id upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'id',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsElementEqualTo(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(
|
||||
property: r'tags',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsElementGreaterThan(
|
||||
String value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'tags',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsElementLessThan(
|
||||
String value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'tags',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsElementBetween(
|
||||
String lower,
|
||||
String upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.between(
|
||||
property: r'tags',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsElementStartsWith(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.startsWith(
|
||||
property: r'tags',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsElementEndsWith(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.endsWith(
|
||||
property: r'tags',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsElementContains(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.contains(
|
||||
property: r'tags',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsElementMatches(String pattern, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.matches(
|
||||
property: r'tags',
|
||||
wildcard: pattern,
|
||||
caseSensitive: caseSensitive,
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsElementIsEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.equalTo(property: r'tags', value: ''),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsElementIsNotEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(
|
||||
FilterCondition.greaterThan(property: r'tags', value: ''),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsLengthEqualTo(int length) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.listLength(r'tags', length, true, length, true);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> tagsIsEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.listLength(r'tags', 0, true, 0, true);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsIsNotEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.listLength(r'tags', 0, false, 999999, true);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsLengthLessThan(int length, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.listLength(r'tags', 0, true, length, include);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsLengthGreaterThan(int length, {bool include = false}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.listLength(r'tags', length, include, 999999, true);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
tagsLengthBetween(
|
||||
int lower,
|
||||
int upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.listLength(
|
||||
r'tags',
|
||||
lower,
|
||||
includeLower,
|
||||
upper,
|
||||
includeUpper,
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionQueryObject
|
||||
on QueryBuilder<Transaction, Transaction, QFilterCondition> {}
|
||||
|
||||
extension TransactionQueryLinks
|
||||
on QueryBuilder<Transaction, Transaction, QFilterCondition> {
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> expenseCategory(
|
||||
FilterQuery<ExpenseCategory> q,
|
||||
) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.link(q, r'expenseCategory');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
expenseCategoryIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.linkLength(r'expenseCategory', 0, true, 0, true);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> account(
|
||||
FilterQuery<Account> q,
|
||||
) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.link(q, r'account');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
accountIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.linkLength(r'account', 0, true, 0, true);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> beneficiary(
|
||||
FilterQuery<Beneficiary> q,
|
||||
) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.link(q, r'beneficiary');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||
beneficiaryIsNull() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.linkLength(r'beneficiary', 0, true, 0, true);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionQuerySortBy
|
||||
on QueryBuilder<Transaction, Transaction, QSortBy> {
|
||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> sortByAmount() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'amount', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> sortByAmountDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'amount', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> sortByDate() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'date', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> sortByDateDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'date', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionQuerySortThenBy
|
||||
on QueryBuilder<Transaction, Transaction, QSortThenBy> {
|
||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenByAmount() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'amount', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenByAmountDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'amount', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenByDate() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'date', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenByDateDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'date', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenById() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenByIdDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'id', Sort.desc);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionQueryWhereDistinct
|
||||
on QueryBuilder<Transaction, Transaction, QDistinct> {
|
||||
QueryBuilder<Transaction, Transaction, QDistinct> distinctByAmount() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'amount');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QDistinct> distinctByDate() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'date');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, Transaction, QDistinct> distinctByTags() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'tags');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TransactionQueryProperty
|
||||
on QueryBuilder<Transaction, Transaction, QQueryProperty> {
|
||||
QueryBuilder<Transaction, int, QQueryOperations> idProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'id');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, double, QQueryOperations> amountProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'amount');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, DateTime, QQueryOperations> dateProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'date');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Transaction, List<String>, QQueryOperations> tagsProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'tags');
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user