776 lines
21 KiB
Dart
776 lines
21 KiB
Dart
// 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');
|
|
});
|
|
}
|
|
}
|