Compare commits

..

No commits in common. "e261710eba01bddb905c1fb4f008c70603d99697" and "d40d24f759d76ee95bbd2bd411fc1cd8f3d20385" have entirely different histories.

25 changed files with 1893 additions and 2179 deletions

View File

@ -17,7 +17,11 @@ const AccountSchema = CollectionSchema(
name: r'Account', name: r'Account',
id: -6646797162501847804, id: -6646797162501847804,
properties: { properties: {
r'name': PropertySchema(id: 0, name: r'name', type: IsarType.string), r'name': PropertySchema(
id: 0,
name: r'name',
type: IsarType.string,
)
}, },
estimateSize: _accountEstimateSize, estimateSize: _accountEstimateSize,
serialize: _accountSerialize, serialize: _accountSerialize,
@ -106,7 +110,10 @@ extension AccountQueryWhereSort on QueryBuilder<Account, Account, QWhere> {
extension AccountQueryWhere on QueryBuilder<Account, Account, QWhereClause> { extension AccountQueryWhere on QueryBuilder<Account, Account, QWhereClause> {
QueryBuilder<Account, Account, QAfterWhereClause> idEqualTo(Id id) { QueryBuilder<Account, Account, QAfterWhereClause> idEqualTo(Id id) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id)); return query.addWhereClause(IdWhereClause.between(
lower: id,
upper: id,
));
}); });
} }
@ -132,10 +139,8 @@ extension AccountQueryWhere on QueryBuilder<Account, Account, QWhereClause> {
}); });
} }
QueryBuilder<Account, Account, QAfterWhereClause> idGreaterThan( QueryBuilder<Account, Account, QAfterWhereClause> idGreaterThan(Id id,
Id id, { {bool include = false}) {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
IdWhereClause.greaterThan(lower: id, includeLower: include), IdWhereClause.greaterThan(lower: id, includeLower: include),
@ -143,10 +148,8 @@ extension AccountQueryWhere on QueryBuilder<Account, Account, QWhereClause> {
}); });
} }
QueryBuilder<Account, Account, QAfterWhereClause> idLessThan( QueryBuilder<Account, Account, QAfterWhereClause> idLessThan(Id id,
Id id, { {bool include = false}) {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
IdWhereClause.lessThan(upper: id, includeUpper: include), IdWhereClause.lessThan(upper: id, includeUpper: include),
@ -161,14 +164,12 @@ extension AccountQueryWhere on QueryBuilder<Account, Account, QWhereClause> {
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(IdWhereClause.between(
IdWhereClause.between(
lower: lowerId, lower: lowerId,
includeLower: includeLower, includeLower: includeLower,
upper: upperId, upper: upperId,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
} }
@ -177,9 +178,10 @@ extension AccountQueryFilter
on QueryBuilder<Account, Account, QFilterCondition> { on QueryBuilder<Account, Account, QFilterCondition> {
QueryBuilder<Account, Account, QAfterFilterCondition> idEqualTo(Id value) { QueryBuilder<Account, Account, QAfterFilterCondition> idEqualTo(Id value) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'id', value: value), property: r'id',
); value: value,
));
}); });
} }
@ -188,13 +190,11 @@ extension AccountQueryFilter
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
@ -203,13 +203,11 @@ extension AccountQueryFilter
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
@ -220,31 +218,29 @@ extension AccountQueryFilter
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'id', property: r'id',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
QueryBuilder<Account, Account, QAfterFilterCondition> nameIsNull() { QueryBuilder<Account, Account, QAfterFilterCondition> nameIsNull() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(const FilterCondition.isNull(
const FilterCondition.isNull(property: r'name'), property: r'name',
); ));
}); });
} }
QueryBuilder<Account, Account, QAfterFilterCondition> nameIsNotNull() { QueryBuilder<Account, Account, QAfterFilterCondition> nameIsNotNull() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(const FilterCondition.isNotNull(
const FilterCondition.isNotNull(property: r'name'), property: r'name',
); ));
}); });
} }
@ -253,13 +249,11 @@ extension AccountQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -269,14 +263,12 @@ extension AccountQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -286,14 +278,12 @@ extension AccountQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -305,16 +295,14 @@ extension AccountQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'name', property: r'name',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -323,13 +311,11 @@ extension AccountQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.startsWith(
FilterCondition.startsWith(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -338,59 +324,53 @@ extension AccountQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.endsWith(
FilterCondition.endsWith(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Account, Account, QAfterFilterCondition> nameContains( QueryBuilder<Account, Account, QAfterFilterCondition> nameContains(
String value, { String value,
bool caseSensitive = true, {bool caseSensitive = true}) {
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.contains(
FilterCondition.contains(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Account, Account, QAfterFilterCondition> nameMatches( QueryBuilder<Account, Account, QAfterFilterCondition> nameMatches(
String pattern, { String pattern,
bool caseSensitive = true, {bool caseSensitive = true}) {
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.matches(
FilterCondition.matches(
property: r'name', property: r'name',
wildcard: pattern, wildcard: pattern,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Account, Account, QAfterFilterCondition> nameIsEmpty() { QueryBuilder<Account, Account, QAfterFilterCondition> nameIsEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'name', value: ''), property: r'name',
); value: '',
));
}); });
} }
QueryBuilder<Account, Account, QAfterFilterCondition> nameIsNotEmpty() { QueryBuilder<Account, Account, QAfterFilterCondition> nameIsNotEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(property: r'name', value: ''), property: r'name',
); value: '',
));
}); });
} }
} }
@ -444,9 +424,8 @@ extension AccountQuerySortThenBy
extension AccountQueryWhereDistinct extension AccountQueryWhereDistinct
on QueryBuilder<Account, Account, QDistinct> { on QueryBuilder<Account, Account, QDistinct> {
QueryBuilder<Account, Account, QDistinct> distinctByName({ QueryBuilder<Account, Account, QDistinct> distinctByName(
bool caseSensitive = true, {bool caseSensitive = true}) {
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'name', caseSensitive: caseSensitive); return query.addDistinctBy(r'name', caseSensitive: caseSensitive);
}); });

View File

@ -22,13 +22,17 @@ const BeneficiarySchema = CollectionSchema(
name: r'imagePath', name: r'imagePath',
type: IsarType.string, type: IsarType.string,
), ),
r'name': PropertySchema(id: 1, name: r'name', type: IsarType.string), r'name': PropertySchema(
id: 1,
name: r'name',
type: IsarType.string,
),
r'type': PropertySchema( r'type': PropertySchema(
id: 2, id: 2,
name: r'type', name: r'type',
type: IsarType.byte, type: IsarType.byte,
enumMap: _BeneficiarytypeEnumValueMap, enumMap: _BeneficiarytypeEnumValueMap,
), )
}, },
estimateSize: _beneficiaryEstimateSize, estimateSize: _beneficiaryEstimateSize,
serialize: _beneficiarySerialize, serialize: _beneficiarySerialize,
@ -42,7 +46,7 @@ const BeneficiarySchema = CollectionSchema(
name: r'account', name: r'account',
target: r'Account', target: r'Account',
single: true, single: true,
), )
}, },
embeddedSchemas: {}, embeddedSchemas: {},
getId: _beneficiaryGetId, getId: _beneficiaryGetId,
@ -107,14 +111,16 @@ P _beneficiaryDeserializeProp<P>(
return (reader.readString(offset)) as P; return (reader.readString(offset)) as P;
case 2: case 2:
return (_BeneficiarytypeValueEnumMap[reader.readByteOrNull(offset)] ?? return (_BeneficiarytypeValueEnumMap[reader.readByteOrNull(offset)] ??
BeneficiaryType.account) BeneficiaryType.account) as P;
as P;
default: default:
throw IsarError('Unknown property with id $propertyId'); throw IsarError('Unknown property with id $propertyId');
} }
} }
const _BeneficiarytypeEnumValueMap = {'account': 0, 'other': 1}; const _BeneficiarytypeEnumValueMap = {
'account': 0,
'other': 1,
};
const _BeneficiarytypeValueEnumMap = { const _BeneficiarytypeValueEnumMap = {
0: BeneficiaryType.account, 0: BeneficiaryType.account,
1: BeneficiaryType.other, 1: BeneficiaryType.other,
@ -129,10 +135,7 @@ List<IsarLinkBase<dynamic>> _beneficiaryGetLinks(Beneficiary object) {
} }
void _beneficiaryAttach( void _beneficiaryAttach(
IsarCollection<dynamic> col, IsarCollection<dynamic> col, Id id, Beneficiary object) {
Id id,
Beneficiary object,
) {
object.id = id; object.id = id;
object.account.attach(col, col.isar.collection<Account>(), r'account', id); object.account.attach(col, col.isar.collection<Account>(), r'account', id);
} }
@ -150,13 +153,15 @@ extension BeneficiaryQueryWhere
on QueryBuilder<Beneficiary, Beneficiary, QWhereClause> { on QueryBuilder<Beneficiary, Beneficiary, QWhereClause> {
QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idEqualTo(Id id) { QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idEqualTo(Id id) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id)); return query.addWhereClause(IdWhereClause.between(
lower: id,
upper: id,
));
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idNotEqualTo( QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idNotEqualTo(
Id id, Id id) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
if (query.whereSort == Sort.asc) { if (query.whereSort == Sort.asc) {
return query return query
@ -178,10 +183,8 @@ extension BeneficiaryQueryWhere
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idGreaterThan( QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idGreaterThan(Id id,
Id id, { {bool include = false}) {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
IdWhereClause.greaterThan(lower: id, includeLower: include), IdWhereClause.greaterThan(lower: id, includeLower: include),
@ -189,10 +192,8 @@ extension BeneficiaryQueryWhere
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idLessThan( QueryBuilder<Beneficiary, Beneficiary, QAfterWhereClause> idLessThan(Id id,
Id id, { {bool include = false}) {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
IdWhereClause.lessThan(upper: id, includeUpper: include), IdWhereClause.lessThan(upper: id, includeUpper: include),
@ -207,14 +208,12 @@ extension BeneficiaryQueryWhere
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(IdWhereClause.between(
IdWhereClause.between(
lower: lowerId, lower: lowerId,
includeLower: includeLower, includeLower: includeLower,
upper: upperId, upper: upperId,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
} }
@ -222,12 +221,12 @@ extension BeneficiaryQueryWhere
extension BeneficiaryQueryFilter extension BeneficiaryQueryFilter
on QueryBuilder<Beneficiary, Beneficiary, QFilterCondition> { on QueryBuilder<Beneficiary, Beneficiary, QFilterCondition> {
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> idEqualTo( QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> idEqualTo(
Id value, Id value) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'id', value: value), property: r'id',
); value: value,
));
}); });
} }
@ -236,13 +235,11 @@ extension BeneficiaryQueryFilter
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
@ -251,13 +248,11 @@ extension BeneficiaryQueryFilter
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
@ -268,46 +263,45 @@ extension BeneficiaryQueryFilter
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'id', property: r'id',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
imagePathIsNull() { imagePathIsNull() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(const FilterCondition.isNull(
const FilterCondition.isNull(property: r'imagePath'), property: r'imagePath',
); ));
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
imagePathIsNotNull() { imagePathIsNotNull() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(const FilterCondition.isNotNull(
const FilterCondition.isNotNull(property: r'imagePath'), property: r'imagePath',
); ));
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
imagePathEqualTo(String? value, {bool caseSensitive = true}) { imagePathEqualTo(
String? value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(
property: r'imagePath', property: r'imagePath',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -318,14 +312,12 @@ extension BeneficiaryQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'imagePath', property: r'imagePath',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -336,14 +328,12 @@ extension BeneficiaryQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'imagePath', property: r'imagePath',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -356,86 +346,84 @@ extension BeneficiaryQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'imagePath', property: r'imagePath',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
imagePathStartsWith(String value, {bool caseSensitive = true}) { imagePathStartsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.startsWith(
FilterCondition.startsWith(
property: r'imagePath', property: r'imagePath',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
imagePathEndsWith(String value, {bool caseSensitive = true}) { imagePathEndsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.endsWith(
FilterCondition.endsWith(
property: r'imagePath', property: r'imagePath',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
imagePathContains(String value, {bool caseSensitive = true}) { imagePathContains(String value, {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.contains(
FilterCondition.contains(
property: r'imagePath', property: r'imagePath',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
imagePathMatches(String pattern, {bool caseSensitive = true}) { imagePathMatches(String pattern, {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.matches(
FilterCondition.matches(
property: r'imagePath', property: r'imagePath',
wildcard: pattern, wildcard: pattern,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
imagePathIsEmpty() { imagePathIsEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'imagePath', value: ''), property: r'imagePath',
); value: '',
));
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
imagePathIsNotEmpty() { imagePathIsNotEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(property: r'imagePath', value: ''), property: r'imagePath',
); value: '',
));
}); });
} }
@ -444,13 +432,11 @@ extension BeneficiaryQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -460,14 +446,12 @@ extension BeneficiaryQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -477,14 +461,12 @@ extension BeneficiaryQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -496,16 +478,14 @@ extension BeneficiaryQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'name', property: r'name',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -514,13 +494,11 @@ extension BeneficiaryQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.startsWith(
FilterCondition.startsWith(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -529,70 +507,64 @@ extension BeneficiaryQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.endsWith(
FilterCondition.endsWith(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameContains( QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameContains(
String value, { String value,
bool caseSensitive = true, {bool caseSensitive = true}) {
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.contains(
FilterCondition.contains(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameMatches( QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameMatches(
String pattern, { String pattern,
bool caseSensitive = true, {bool caseSensitive = true}) {
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.matches(
FilterCondition.matches(
property: r'name', property: r'name',
wildcard: pattern, wildcard: pattern,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameIsEmpty() { QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> nameIsEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'name', value: ''), property: r'name',
); value: '',
));
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition>
nameIsNotEmpty() { nameIsNotEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(property: r'name', value: ''), property: r'name',
); value: '',
));
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> typeEqualTo( QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> typeEqualTo(
BeneficiaryType value, BeneficiaryType value) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'type', value: value), property: r'type',
); value: value,
));
}); });
} }
@ -601,13 +573,11 @@ extension BeneficiaryQueryFilter
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'type', property: r'type',
value: value, value: value,
), ));
);
}); });
} }
@ -616,13 +586,11 @@ extension BeneficiaryQueryFilter
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'type', property: r'type',
value: value, value: value,
), ));
);
}); });
} }
@ -633,15 +601,13 @@ extension BeneficiaryQueryFilter
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'type', property: r'type',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
} }
@ -652,8 +618,7 @@ extension BeneficiaryQueryObject
extension BeneficiaryQueryLinks extension BeneficiaryQueryLinks
on QueryBuilder<Beneficiary, Beneficiary, QFilterCondition> { on QueryBuilder<Beneficiary, Beneficiary, QFilterCondition> {
QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> account( QueryBuilder<Beneficiary, Beneficiary, QAfterFilterCondition> account(
FilterQuery<Account> q, FilterQuery<Account> q) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.link(q, r'account'); return query.link(q, r'account');
}); });
@ -759,17 +724,15 @@ extension BeneficiaryQuerySortThenBy
extension BeneficiaryQueryWhereDistinct extension BeneficiaryQueryWhereDistinct
on QueryBuilder<Beneficiary, Beneficiary, QDistinct> { on QueryBuilder<Beneficiary, Beneficiary, QDistinct> {
QueryBuilder<Beneficiary, Beneficiary, QDistinct> distinctByImagePath({ QueryBuilder<Beneficiary, Beneficiary, QDistinct> distinctByImagePath(
bool caseSensitive = true, {bool caseSensitive = true}) {
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'imagePath', caseSensitive: caseSensitive); return query.addDistinctBy(r'imagePath', caseSensitive: caseSensitive);
}); });
} }
QueryBuilder<Beneficiary, Beneficiary, QDistinct> distinctByName({ QueryBuilder<Beneficiary, Beneficiary, QDistinct> distinctByName(
bool caseSensitive = true, {bool caseSensitive = true}) {
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'name', caseSensitive: caseSensitive); return query.addDistinctBy(r'name', caseSensitive: caseSensitive);
}); });

View File

@ -5,7 +5,9 @@ import 'account.dart';
part 'budget.g.dart'; part 'budget.g.dart';
enum BudgetPeriod { month } enum BudgetPeriod {
month
}
@collection @collection
class BudgetItem { class BudgetItem {

View File

@ -17,7 +17,11 @@ const BudgetItemSchema = CollectionSchema(
name: r'BudgetItem', name: r'BudgetItem',
id: 618999772191843499, id: 618999772191843499,
properties: { properties: {
r'amount': PropertySchema(id: 0, name: r'amount', type: IsarType.double), r'amount': PropertySchema(
id: 0,
name: r'amount',
type: IsarType.double,
)
}, },
estimateSize: _budgetItemEstimateSize, estimateSize: _budgetItemEstimateSize,
serialize: _budgetItemSerialize, serialize: _budgetItemSerialize,
@ -31,7 +35,7 @@ const BudgetItemSchema = CollectionSchema(
name: r'expenseCategory', name: r'expenseCategory',
target: r'ExpenseCategory', target: r'ExpenseCategory',
single: true, single: true,
), )
}, },
embeddedSchemas: {}, embeddedSchemas: {},
getId: _budgetItemGetId, getId: _budgetItemGetId,
@ -95,11 +99,7 @@ List<IsarLinkBase<dynamic>> _budgetItemGetLinks(BudgetItem object) {
void _budgetItemAttach(IsarCollection<dynamic> col, Id id, BudgetItem object) { void _budgetItemAttach(IsarCollection<dynamic> col, Id id, BudgetItem object) {
object.id = id; object.id = id;
object.expenseCategory.attach( object.expenseCategory.attach(
col, col, col.isar.collection<ExpenseCategory>(), r'expenseCategory', id);
col.isar.collection<ExpenseCategory>(),
r'expenseCategory',
id,
);
} }
extension BudgetItemQueryWhereSort extension BudgetItemQueryWhereSort
@ -115,7 +115,10 @@ extension BudgetItemQueryWhere
on QueryBuilder<BudgetItem, BudgetItem, QWhereClause> { on QueryBuilder<BudgetItem, BudgetItem, QWhereClause> {
QueryBuilder<BudgetItem, BudgetItem, QAfterWhereClause> idEqualTo(Id id) { QueryBuilder<BudgetItem, BudgetItem, QAfterWhereClause> idEqualTo(Id id) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id)); return query.addWhereClause(IdWhereClause.between(
lower: id,
upper: id,
));
}); });
} }
@ -141,10 +144,8 @@ extension BudgetItemQueryWhere
}); });
} }
QueryBuilder<BudgetItem, BudgetItem, QAfterWhereClause> idGreaterThan( QueryBuilder<BudgetItem, BudgetItem, QAfterWhereClause> idGreaterThan(Id id,
Id id, { {bool include = false}) {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
IdWhereClause.greaterThan(lower: id, includeLower: include), IdWhereClause.greaterThan(lower: id, includeLower: include),
@ -152,10 +153,8 @@ extension BudgetItemQueryWhere
}); });
} }
QueryBuilder<BudgetItem, BudgetItem, QAfterWhereClause> idLessThan( QueryBuilder<BudgetItem, BudgetItem, QAfterWhereClause> idLessThan(Id id,
Id id, { {bool include = false}) {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
IdWhereClause.lessThan(upper: id, includeUpper: include), IdWhereClause.lessThan(upper: id, includeUpper: include),
@ -170,14 +169,12 @@ extension BudgetItemQueryWhere
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(IdWhereClause.between(
IdWhereClause.between(
lower: lowerId, lower: lowerId,
includeLower: includeLower, includeLower: includeLower,
upper: upperId, upper: upperId,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
} }
@ -189,13 +186,11 @@ extension BudgetItemQueryFilter
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(
property: r'amount', property: r'amount',
value: value, value: value,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -205,14 +200,12 @@ extension BudgetItemQueryFilter
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'amount', property: r'amount',
value: value, value: value,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -222,14 +215,12 @@ extension BudgetItemQueryFilter
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'amount', property: r'amount',
value: value, value: value,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -241,26 +232,24 @@ extension BudgetItemQueryFilter
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'amount', property: r'amount',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
QueryBuilder<BudgetItem, BudgetItem, QAfterFilterCondition> idEqualTo( QueryBuilder<BudgetItem, BudgetItem, QAfterFilterCondition> idEqualTo(
Id value, Id value) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'id', value: value), property: r'id',
); value: value,
));
}); });
} }
@ -269,13 +258,11 @@ extension BudgetItemQueryFilter
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
@ -284,13 +271,11 @@ extension BudgetItemQueryFilter
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
@ -301,15 +286,13 @@ extension BudgetItemQueryFilter
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'id', property: r'id',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
} }
@ -320,8 +303,7 @@ extension BudgetItemQueryObject
extension BudgetItemQueryLinks extension BudgetItemQueryLinks
on QueryBuilder<BudgetItem, BudgetItem, QFilterCondition> { on QueryBuilder<BudgetItem, BudgetItem, QFilterCondition> {
QueryBuilder<BudgetItem, BudgetItem, QAfterFilterCondition> expenseCategory( QueryBuilder<BudgetItem, BudgetItem, QAfterFilterCondition> expenseCategory(
FilterQuery<ExpenseCategory> q, FilterQuery<ExpenseCategory> q) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.link(q, r'expenseCategory'); return query.link(q, r'expenseCategory');
}); });
@ -417,14 +399,22 @@ const BudgetSchema = CollectionSchema(
name: r'includeOtherSpendings', name: r'includeOtherSpendings',
type: IsarType.bool, type: IsarType.bool,
), ),
r'income': PropertySchema(id: 1, name: r'income', type: IsarType.double), r'income': PropertySchema(
r'name': PropertySchema(id: 2, name: r'name', type: IsarType.string), id: 1,
name: r'income',
type: IsarType.double,
),
r'name': PropertySchema(
id: 2,
name: r'name',
type: IsarType.string,
),
r'period': PropertySchema( r'period': PropertySchema(
id: 3, id: 3,
name: r'period', name: r'period',
type: IsarType.byte, type: IsarType.byte,
enumMap: _BudgetperiodEnumValueMap, enumMap: _BudgetperiodEnumValueMap,
), )
}, },
estimateSize: _budgetEstimateSize, estimateSize: _budgetEstimateSize,
serialize: _budgetSerialize, serialize: _budgetSerialize,
@ -444,7 +434,7 @@ const BudgetSchema = CollectionSchema(
name: r'items', name: r'items',
target: r'BudgetItem', target: r'BudgetItem',
single: false, single: false,
), )
}, },
embeddedSchemas: {}, embeddedSchemas: {},
getId: _budgetGetId, getId: _budgetGetId,
@ -507,15 +497,18 @@ P _budgetDeserializeProp<P>(
return (reader.readString(offset)) as P; return (reader.readString(offset)) as P;
case 3: case 3:
return (_BudgetperiodValueEnumMap[reader.readByteOrNull(offset)] ?? return (_BudgetperiodValueEnumMap[reader.readByteOrNull(offset)] ??
BudgetPeriod.month) BudgetPeriod.month) as P;
as P;
default: default:
throw IsarError('Unknown property with id $propertyId'); throw IsarError('Unknown property with id $propertyId');
} }
} }
const _BudgetperiodEnumValueMap = {'month': 0}; const _BudgetperiodEnumValueMap = {
const _BudgetperiodValueEnumMap = {0: BudgetPeriod.month}; 'month': 0,
};
const _BudgetperiodValueEnumMap = {
0: BudgetPeriod.month,
};
Id _budgetGetId(Budget object) { Id _budgetGetId(Budget object) {
return object.id; return object.id;
@ -542,7 +535,10 @@ extension BudgetQueryWhereSort on QueryBuilder<Budget, Budget, QWhere> {
extension BudgetQueryWhere on QueryBuilder<Budget, Budget, QWhereClause> { extension BudgetQueryWhere on QueryBuilder<Budget, Budget, QWhereClause> {
QueryBuilder<Budget, Budget, QAfterWhereClause> idEqualTo(Id id) { QueryBuilder<Budget, Budget, QAfterWhereClause> idEqualTo(Id id) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id)); return query.addWhereClause(IdWhereClause.between(
lower: id,
upper: id,
));
}); });
} }
@ -568,10 +564,8 @@ extension BudgetQueryWhere on QueryBuilder<Budget, Budget, QWhereClause> {
}); });
} }
QueryBuilder<Budget, Budget, QAfterWhereClause> idGreaterThan( QueryBuilder<Budget, Budget, QAfterWhereClause> idGreaterThan(Id id,
Id id, { {bool include = false}) {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
IdWhereClause.greaterThan(lower: id, includeLower: include), IdWhereClause.greaterThan(lower: id, includeLower: include),
@ -579,10 +573,8 @@ extension BudgetQueryWhere on QueryBuilder<Budget, Budget, QWhereClause> {
}); });
} }
QueryBuilder<Budget, Budget, QAfterWhereClause> idLessThan( QueryBuilder<Budget, Budget, QAfterWhereClause> idLessThan(Id id,
Id id, { {bool include = false}) {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
IdWhereClause.lessThan(upper: id, includeUpper: include), IdWhereClause.lessThan(upper: id, includeUpper: include),
@ -597,14 +589,12 @@ extension BudgetQueryWhere on QueryBuilder<Budget, Budget, QWhereClause> {
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(IdWhereClause.between(
IdWhereClause.between(
lower: lowerId, lower: lowerId,
includeLower: includeLower, includeLower: includeLower,
upper: upperId, upper: upperId,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
} }
@ -612,9 +602,10 @@ extension BudgetQueryWhere on QueryBuilder<Budget, Budget, QWhereClause> {
extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> { extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
QueryBuilder<Budget, Budget, QAfterFilterCondition> idEqualTo(Id value) { QueryBuilder<Budget, Budget, QAfterFilterCondition> idEqualTo(Id value) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'id', value: value), property: r'id',
); value: value,
));
}); });
} }
@ -623,13 +614,11 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
@ -638,13 +627,11 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
@ -655,27 +642,23 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'id', property: r'id',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
QueryBuilder<Budget, Budget, QAfterFilterCondition> QueryBuilder<Budget, Budget, QAfterFilterCondition>
includeOtherSpendingsEqualTo(bool value) { includeOtherSpendingsEqualTo(bool value) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(
property: r'includeOtherSpendings', property: r'includeOtherSpendings',
value: value, value: value,
), ));
);
}); });
} }
@ -684,13 +667,11 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(
property: r'income', property: r'income',
value: value, value: value,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -700,14 +681,12 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'income', property: r'income',
value: value, value: value,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -717,14 +696,12 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'income', property: r'income',
value: value, value: value,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -736,16 +713,14 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'income', property: r'income',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -754,13 +729,11 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -770,14 +743,12 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -787,14 +758,12 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -806,16 +775,14 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'name', property: r'name',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -824,13 +791,11 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.startsWith(
FilterCondition.startsWith(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -839,69 +804,62 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.endsWith(
FilterCondition.endsWith(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Budget, Budget, QAfterFilterCondition> nameContains( QueryBuilder<Budget, Budget, QAfterFilterCondition> nameContains(String value,
String value, { {bool caseSensitive = true}) {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.contains(
FilterCondition.contains(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Budget, Budget, QAfterFilterCondition> nameMatches( QueryBuilder<Budget, Budget, QAfterFilterCondition> nameMatches(
String pattern, { String pattern,
bool caseSensitive = true, {bool caseSensitive = true}) {
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.matches(
FilterCondition.matches(
property: r'name', property: r'name',
wildcard: pattern, wildcard: pattern,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Budget, Budget, QAfterFilterCondition> nameIsEmpty() { QueryBuilder<Budget, Budget, QAfterFilterCondition> nameIsEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'name', value: ''), property: r'name',
); value: '',
));
}); });
} }
QueryBuilder<Budget, Budget, QAfterFilterCondition> nameIsNotEmpty() { QueryBuilder<Budget, Budget, QAfterFilterCondition> nameIsNotEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(property: r'name', value: ''), property: r'name',
); value: '',
));
}); });
} }
QueryBuilder<Budget, Budget, QAfterFilterCondition> periodEqualTo( QueryBuilder<Budget, Budget, QAfterFilterCondition> periodEqualTo(
BudgetPeriod value, BudgetPeriod value) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'period', value: value), property: r'period',
); value: value,
));
}); });
} }
@ -910,13 +868,11 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'period', property: r'period',
value: value, value: value,
), ));
);
}); });
} }
@ -925,13 +881,11 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'period', property: r'period',
value: value, value: value,
), ));
);
}); });
} }
@ -942,15 +896,13 @@ extension BudgetQueryFilter on QueryBuilder<Budget, Budget, QFilterCondition> {
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'period', property: r'period',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
} }
@ -959,8 +911,7 @@ extension BudgetQueryObject on QueryBuilder<Budget, Budget, QFilterCondition> {}
extension BudgetQueryLinks on QueryBuilder<Budget, Budget, QFilterCondition> { extension BudgetQueryLinks on QueryBuilder<Budget, Budget, QFilterCondition> {
QueryBuilder<Budget, Budget, QAfterFilterCondition> account( QueryBuilder<Budget, Budget, QAfterFilterCondition> account(
FilterQuery<Account> q, FilterQuery<Account> q) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.link(q, r'account'); return query.link(q, r'account');
}); });
@ -973,16 +924,14 @@ extension BudgetQueryLinks on QueryBuilder<Budget, Budget, QFilterCondition> {
} }
QueryBuilder<Budget, Budget, QAfterFilterCondition> items( QueryBuilder<Budget, Budget, QAfterFilterCondition> items(
FilterQuery<BudgetItem> q, FilterQuery<BudgetItem> q) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.link(q, r'items'); return query.link(q, r'items');
}); });
} }
QueryBuilder<Budget, Budget, QAfterFilterCondition> itemsLengthEqualTo( QueryBuilder<Budget, Budget, QAfterFilterCondition> itemsLengthEqualTo(
int length, int length) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.linkLength(r'items', length, true, length, true); return query.linkLength(r'items', length, true, length, true);
}); });
@ -1026,12 +975,7 @@ extension BudgetQueryLinks on QueryBuilder<Budget, Budget, QFilterCondition> {
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.linkLength( return query.linkLength(
r'items', r'items', lower, includeLower, upper, includeUpper);
lower,
includeLower,
upper,
includeUpper,
);
}); });
} }
} }
@ -1161,9 +1105,8 @@ extension BudgetQueryWhereDistinct on QueryBuilder<Budget, Budget, QDistinct> {
}); });
} }
QueryBuilder<Budget, Budget, QDistinct> distinctByName({ QueryBuilder<Budget, Budget, QDistinct> distinctByName(
bool caseSensitive = true, {bool caseSensitive = true}) {
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'name', caseSensitive: caseSensitive); return query.addDistinctBy(r'name', caseSensitive: caseSensitive);
}); });

View File

@ -17,7 +17,11 @@ const ExpenseCategorySchema = CollectionSchema(
name: r'ExpenseCategory', name: r'ExpenseCategory',
id: -6352499903118634, id: -6352499903118634,
properties: { properties: {
r'name': PropertySchema(id: 0, name: r'name', type: IsarType.string), r'name': PropertySchema(
id: 0,
name: r'name',
type: IsarType.string,
)
}, },
estimateSize: _expenseCategoryEstimateSize, estimateSize: _expenseCategoryEstimateSize,
serialize: _expenseCategorySerialize, serialize: _expenseCategorySerialize,
@ -87,10 +91,7 @@ List<IsarLinkBase<dynamic>> _expenseCategoryGetLinks(ExpenseCategory object) {
} }
void _expenseCategoryAttach( void _expenseCategoryAttach(
IsarCollection<dynamic> col, IsarCollection<dynamic> col, Id id, ExpenseCategory object) {
Id id,
ExpenseCategory object,
) {
object.id = id; object.id = id;
} }
@ -106,10 +107,12 @@ extension ExpenseCategoryQueryWhereSort
extension ExpenseCategoryQueryWhere extension ExpenseCategoryQueryWhere
on QueryBuilder<ExpenseCategory, ExpenseCategory, QWhereClause> { on QueryBuilder<ExpenseCategory, ExpenseCategory, QWhereClause> {
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterWhereClause> idEqualTo( QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterWhereClause> idEqualTo(
Id id, Id id) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id)); return query.addWhereClause(IdWhereClause.between(
lower: id,
upper: id,
));
}); });
} }
@ -146,9 +149,8 @@ extension ExpenseCategoryQueryWhere
} }
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterWhereClause> idLessThan( QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterWhereClause> idLessThan(
Id id, { Id id,
bool include = false, {bool include = false}) {
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
IdWhereClause.lessThan(upper: id, includeUpper: include), IdWhereClause.lessThan(upper: id, includeUpper: include),
@ -163,14 +165,12 @@ extension ExpenseCategoryQueryWhere
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(IdWhereClause.between(
IdWhereClause.between(
lower: lowerId, lower: lowerId,
includeLower: includeLower, includeLower: includeLower,
upper: upperId, upper: upperId,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
} }
@ -180,35 +180,38 @@ extension ExpenseCategoryQueryFilter
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition> QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
idEqualTo(Id value) { idEqualTo(Id value) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'id', value: value), property: r'id',
); value: value,
));
}); });
} }
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition> QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
idGreaterThan(Id value, {bool include = false}) { idGreaterThan(
Id value, {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition> QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
idLessThan(Id value, {bool include = false}) { idLessThan(
Id value, {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
@ -220,28 +223,27 @@ extension ExpenseCategoryQueryFilter
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'id', property: r'id',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition> QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
nameEqualTo(String value, {bool caseSensitive = true}) { nameEqualTo(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -252,14 +254,12 @@ extension ExpenseCategoryQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -270,14 +270,12 @@ extension ExpenseCategoryQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -290,86 +288,84 @@ extension ExpenseCategoryQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'name', property: r'name',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition> QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
nameStartsWith(String value, {bool caseSensitive = true}) { nameStartsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.startsWith(
FilterCondition.startsWith(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition> QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
nameEndsWith(String value, {bool caseSensitive = true}) { nameEndsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.endsWith(
FilterCondition.endsWith(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition> QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
nameContains(String value, {bool caseSensitive = true}) { nameContains(String value, {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.contains(
FilterCondition.contains(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition> QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
nameMatches(String pattern, {bool caseSensitive = true}) { nameMatches(String pattern, {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.matches(
FilterCondition.matches(
property: r'name', property: r'name',
wildcard: pattern, wildcard: pattern,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition> QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
nameIsEmpty() { nameIsEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'name', value: ''), property: r'name',
); value: '',
));
}); });
} }
QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition> QueryBuilder<ExpenseCategory, ExpenseCategory, QAfterFilterCondition>
nameIsNotEmpty() { nameIsNotEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(property: r'name', value: ''), property: r'name',
); value: '',
));
}); });
} }
} }
@ -426,9 +422,8 @@ extension ExpenseCategoryQuerySortThenBy
extension ExpenseCategoryQueryWhereDistinct extension ExpenseCategoryQueryWhereDistinct
on QueryBuilder<ExpenseCategory, ExpenseCategory, QDistinct> { on QueryBuilder<ExpenseCategory, ExpenseCategory, QDistinct> {
QueryBuilder<ExpenseCategory, ExpenseCategory, QDistinct> distinctByName({ QueryBuilder<ExpenseCategory, ExpenseCategory, QDistinct> distinctByName(
bool caseSensitive = true, {bool caseSensitive = true}) {
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addDistinctBy(r'name', caseSensitive: caseSensitive); return query.addDistinctBy(r'name', caseSensitive: caseSensitive);
}); });

View File

@ -18,12 +18,16 @@ const RecurringTransactionSchema = CollectionSchema(
name: r'RecurringTransaction', name: r'RecurringTransaction',
id: 969840479390105118, id: 969840479390105118,
properties: { properties: {
r'days': PropertySchema(id: 0, name: r'days', type: IsarType.long), r'days': PropertySchema(
id: 0,
name: r'days',
type: IsarType.long,
),
r'lastExecution': PropertySchema( r'lastExecution': PropertySchema(
id: 1, id: 1,
name: r'lastExecution', name: r'lastExecution',
type: IsarType.dateTime, type: IsarType.dateTime,
), )
}, },
estimateSize: _recurringTransactionEstimateSize, estimateSize: _recurringTransactionEstimateSize,
serialize: _recurringTransactionSerialize, serialize: _recurringTransactionSerialize,
@ -43,7 +47,7 @@ const RecurringTransactionSchema = CollectionSchema(
name: r'account', name: r'account',
target: r'Account', target: r'Account',
single: true, single: true,
), )
}, },
embeddedSchemas: {}, embeddedSchemas: {},
getId: _recurringTransactionGetId, getId: _recurringTransactionGetId,
@ -105,23 +109,15 @@ Id _recurringTransactionGetId(RecurringTransaction object) {
} }
List<IsarLinkBase<dynamic>> _recurringTransactionGetLinks( List<IsarLinkBase<dynamic>> _recurringTransactionGetLinks(
RecurringTransaction object, RecurringTransaction object) {
) {
return [object.template, object.account]; return [object.template, object.account];
} }
void _recurringTransactionAttach( void _recurringTransactionAttach(
IsarCollection<dynamic> col, IsarCollection<dynamic> col, Id id, RecurringTransaction object) {
Id id,
RecurringTransaction object,
) {
object.id = id; object.id = id;
object.template.attach( object.template
col, .attach(col, col.isar.collection<TransactionTemplate>(), r'template', id);
col.isar.collection<TransactionTemplate>(),
r'template',
id,
);
object.account.attach(col, col.isar.collection<Account>(), r'account', id); object.account.attach(col, col.isar.collection<Account>(), r'account', id);
} }
@ -140,7 +136,10 @@ extension RecurringTransactionQueryWhere
QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterWhereClause> QueryBuilder<RecurringTransaction, RecurringTransaction, QAfterWhereClause>
idEqualTo(Id id) { idEqualTo(Id id) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id)); return query.addWhereClause(IdWhereClause.between(
lower: id,
upper: id,
));
}); });
} }
@ -193,319 +192,233 @@ extension RecurringTransactionQueryWhere
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(IdWhereClause.between(
IdWhereClause.between(
lower: lowerId, lower: lowerId,
includeLower: includeLower, includeLower: includeLower,
upper: upperId, upper: upperId,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
} }
extension RecurringTransactionQueryFilter extension RecurringTransactionQueryFilter on QueryBuilder<RecurringTransaction,
on RecurringTransaction, QFilterCondition> {
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> daysEqualTo(int value) {
RecurringTransaction,
QFilterCondition
> {
QueryBuilder<
RecurringTransaction,
RecurringTransaction,
QAfterFilterCondition
>
daysEqualTo(int value) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'days', value: value), property: r'days',
); value: value,
));
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> daysGreaterThan(
RecurringTransaction, int value, {
QAfterFilterCondition bool include = false,
> }) {
daysGreaterThan(int value, {bool include = false}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'days', property: r'days',
value: value, value: value,
), ));
);
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> daysLessThan(
RecurringTransaction, int value, {
QAfterFilterCondition bool include = false,
> }) {
daysLessThan(int value, {bool include = false}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'days', property: r'days',
value: value, value: value,
), ));
);
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> daysBetween(
RecurringTransaction,
QAfterFilterCondition
>
daysBetween(
int lower, int lower,
int upper, { int upper, {
bool includeLower = true, bool includeLower = true,
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'days', property: r'days',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> idEqualTo(Id value) {
RecurringTransaction,
QAfterFilterCondition
>
idEqualTo(Id value) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'id', value: value), property: r'id',
); value: value,
));
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> idGreaterThan(
RecurringTransaction, Id value, {
QAfterFilterCondition bool include = false,
> }) {
idGreaterThan(Id value, {bool include = false}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> idLessThan(
RecurringTransaction, Id value, {
QAfterFilterCondition bool include = false,
> }) {
idLessThan(Id value, {bool include = false}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> idBetween(
RecurringTransaction,
QAfterFilterCondition
>
idBetween(
Id lower, Id lower,
Id upper, { Id upper, {
bool includeLower = true, bool includeLower = true,
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'id', property: r'id',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> lastExecutionIsNull() {
RecurringTransaction,
QAfterFilterCondition
>
lastExecutionIsNull() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(const FilterCondition.isNull(
const FilterCondition.isNull(property: r'lastExecution'), property: r'lastExecution',
); ));
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> lastExecutionIsNotNull() {
RecurringTransaction,
QAfterFilterCondition
>
lastExecutionIsNotNull() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(const FilterCondition.isNotNull(
const FilterCondition.isNotNull(property: r'lastExecution'), property: r'lastExecution',
); ));
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> lastExecutionEqualTo(DateTime? value) {
RecurringTransaction,
QAfterFilterCondition
>
lastExecutionEqualTo(DateTime? value) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'lastExecution', value: value), property: r'lastExecution',
); value: value,
));
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> lastExecutionGreaterThan(
RecurringTransaction, DateTime? value, {
QAfterFilterCondition bool include = false,
> }) {
lastExecutionGreaterThan(DateTime? value, {bool include = false}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'lastExecution', property: r'lastExecution',
value: value, value: value,
), ));
);
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> lastExecutionLessThan(
RecurringTransaction, DateTime? value, {
QAfterFilterCondition bool include = false,
> }) {
lastExecutionLessThan(DateTime? value, {bool include = false}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'lastExecution', property: r'lastExecution',
value: value, value: value,
), ));
);
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> lastExecutionBetween(
RecurringTransaction,
QAfterFilterCondition
>
lastExecutionBetween(
DateTime? lower, DateTime? lower,
DateTime? upper, { DateTime? upper, {
bool includeLower = true, bool includeLower = true,
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'lastExecution', property: r'lastExecution',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
} }
extension RecurringTransactionQueryObject extension RecurringTransactionQueryObject on QueryBuilder<RecurringTransaction,
on RecurringTransaction, QFilterCondition> {}
QueryBuilder<
RecurringTransaction,
RecurringTransaction,
QFilterCondition
> {}
extension RecurringTransactionQueryLinks extension RecurringTransactionQueryLinks on QueryBuilder<RecurringTransaction,
on RecurringTransaction, QFilterCondition> {
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> template(FilterQuery<TransactionTemplate> q) {
RecurringTransaction,
QFilterCondition
> {
QueryBuilder<
RecurringTransaction,
RecurringTransaction,
QAfterFilterCondition
>
template(FilterQuery<TransactionTemplate> q) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.link(q, r'template'); return query.link(q, r'template');
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> templateIsNull() {
RecurringTransaction,
QAfterFilterCondition
>
templateIsNull() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.linkLength(r'template', 0, true, 0, true); return query.linkLength(r'template', 0, true, 0, true);
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> account(FilterQuery<Account> q) {
RecurringTransaction,
QAfterFilterCondition
>
account(FilterQuery<Account> q) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.link(q, r'account'); return query.link(q, r'account');
}); });
} }
QueryBuilder< QueryBuilder<RecurringTransaction, RecurringTransaction,
RecurringTransaction, QAfterFilterCondition> accountIsNull() {
RecurringTransaction,
QAfterFilterCondition
>
accountIsNull() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.linkLength(r'account', 0, true, 0, true); return query.linkLength(r'account', 0, true, 0, true);
}); });
@ -605,13 +518,8 @@ extension RecurringTransactionQueryWhereDistinct
} }
} }
extension RecurringTransactionQueryProperty extension RecurringTransactionQueryProperty on QueryBuilder<
on RecurringTransaction, RecurringTransaction, QQueryProperty> {
QueryBuilder<
RecurringTransaction,
RecurringTransaction,
QQueryProperty
> {
QueryBuilder<RecurringTransaction, int, QQueryOperations> idProperty() { QueryBuilder<RecurringTransaction, int, QQueryOperations> idProperty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addPropertyName(r'id'); return query.addPropertyName(r'id');

View File

@ -18,13 +18,21 @@ const TransactionTemplateSchema = CollectionSchema(
name: r'TransactionTemplate', name: r'TransactionTemplate',
id: -2324989530163310644, id: -2324989530163310644,
properties: { properties: {
r'amount': PropertySchema(id: 0, name: r'amount', type: IsarType.double), r'amount': PropertySchema(
r'name': PropertySchema(id: 1, name: r'name', type: IsarType.string), id: 0,
name: r'amount',
type: IsarType.double,
),
r'name': PropertySchema(
id: 1,
name: r'name',
type: IsarType.string,
),
r'recurring': PropertySchema( r'recurring': PropertySchema(
id: 2, id: 2,
name: r'recurring', name: r'recurring',
type: IsarType.bool, type: IsarType.bool,
), )
}, },
estimateSize: _transactionTemplateEstimateSize, estimateSize: _transactionTemplateEstimateSize,
serialize: _transactionTemplateSerialize, serialize: _transactionTemplateSerialize,
@ -50,7 +58,7 @@ const TransactionTemplateSchema = CollectionSchema(
name: r'account', name: r'account',
target: r'Account', target: r'Account',
single: true, single: true,
), )
}, },
embeddedSchemas: {}, embeddedSchemas: {},
getId: _transactionTemplateGetId, getId: _transactionTemplateGetId,
@ -117,29 +125,17 @@ Id _transactionTemplateGetId(TransactionTemplate object) {
} }
List<IsarLinkBase<dynamic>> _transactionTemplateGetLinks( List<IsarLinkBase<dynamic>> _transactionTemplateGetLinks(
TransactionTemplate object, TransactionTemplate object) {
) {
return [object.expenseCategory, object.beneficiary, object.account]; return [object.expenseCategory, object.beneficiary, object.account];
} }
void _transactionTemplateAttach( void _transactionTemplateAttach(
IsarCollection<dynamic> col, IsarCollection<dynamic> col, Id id, TransactionTemplate object) {
Id id,
TransactionTemplate object,
) {
object.id = id; object.id = id;
object.expenseCategory.attach( object.expenseCategory.attach(
col, col, col.isar.collection<ExpenseCategory>(), r'expenseCategory', id);
col.isar.collection<ExpenseCategory>(), object.beneficiary
r'expenseCategory', .attach(col, col.isar.collection<Beneficiary>(), r'beneficiary', id);
id,
);
object.beneficiary.attach(
col,
col.isar.collection<Beneficiary>(),
r'beneficiary',
id,
);
object.account.attach(col, col.isar.collection<Account>(), r'account', id); object.account.attach(col, col.isar.collection<Account>(), r'account', id);
} }
@ -157,7 +153,10 @@ extension TransactionTemplateQueryWhere
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterWhereClause> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterWhereClause>
idEqualTo(Id id) { idEqualTo(Id id) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id)); return query.addWhereClause(IdWhereClause.between(
lower: id,
upper: id,
));
}); });
} }
@ -210,35 +209,29 @@ extension TransactionTemplateQueryWhere
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(IdWhereClause.between(
IdWhereClause.between(
lower: lowerId, lower: lowerId,
includeLower: includeLower, includeLower: includeLower,
upper: upperId, upper: upperId,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
} }
extension TransactionTemplateQueryFilter extension TransactionTemplateQueryFilter on QueryBuilder<TransactionTemplate,
on TransactionTemplate, QFilterCondition> {
QueryBuilder<
TransactionTemplate,
TransactionTemplate,
QFilterCondition
> {
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
amountEqualTo(double value, {double epsilon = Query.epsilon}) { amountEqualTo(
double value, {
double epsilon = Query.epsilon,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(
property: r'amount', property: r'amount',
value: value, value: value,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -249,14 +242,12 @@ extension TransactionTemplateQueryFilter
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'amount', property: r'amount',
value: value, value: value,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -267,14 +258,12 @@ extension TransactionTemplateQueryFilter
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'amount', property: r'amount',
value: value, value: value,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -287,51 +276,52 @@ extension TransactionTemplateQueryFilter
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'amount', property: r'amount',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
idEqualTo(Id value) { idEqualTo(Id value) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'id', value: value), property: r'id',
); value: value,
));
}); });
} }
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
idGreaterThan(Id value, {bool include = false}) { idGreaterThan(
Id value, {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
idLessThan(Id value, {bool include = false}) { idLessThan(
Id value, {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
@ -343,28 +333,27 @@ extension TransactionTemplateQueryFilter
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'id', property: r'id',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
nameEqualTo(String value, {bool caseSensitive = true}) { nameEqualTo(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -375,14 +364,12 @@ extension TransactionTemplateQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -393,14 +380,12 @@ extension TransactionTemplateQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -413,114 +398,103 @@ extension TransactionTemplateQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'name', property: r'name',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
nameStartsWith(String value, {bool caseSensitive = true}) { nameStartsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.startsWith(
FilterCondition.startsWith(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
nameEndsWith(String value, {bool caseSensitive = true}) { nameEndsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.endsWith(
FilterCondition.endsWith(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
nameContains(String value, {bool caseSensitive = true}) { nameContains(String value, {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.contains(
FilterCondition.contains(
property: r'name', property: r'name',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
nameMatches(String pattern, {bool caseSensitive = true}) { nameMatches(String pattern, {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.matches(
FilterCondition.matches(
property: r'name', property: r'name',
wildcard: pattern, wildcard: pattern,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
nameIsEmpty() { nameIsEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'name', value: ''), property: r'name',
); value: '',
));
}); });
} }
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
nameIsNotEmpty() { nameIsNotEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(property: r'name', value: ''), property: r'name',
); value: '',
));
}); });
} }
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
recurringEqualTo(bool value) { recurringEqualTo(bool value) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'recurring', value: value), property: r'recurring',
); value: value,
));
}); });
} }
} }
extension TransactionTemplateQueryObject extension TransactionTemplateQueryObject on QueryBuilder<TransactionTemplate,
on TransactionTemplate, QFilterCondition> {}
QueryBuilder<
TransactionTemplate,
TransactionTemplate,
QFilterCondition
> {}
extension TransactionTemplateQueryLinks extension TransactionTemplateQueryLinks on QueryBuilder<TransactionTemplate,
on TransactionTemplate, QFilterCondition> {
QueryBuilder<
TransactionTemplate,
TransactionTemplate,
QFilterCondition
> {
QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition> QueryBuilder<TransactionTemplate, TransactionTemplate, QAfterFilterCondition>
expenseCategory(FilterQuery<ExpenseCategory> q) { expenseCategory(FilterQuery<ExpenseCategory> q) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {

View File

@ -17,9 +17,21 @@ const TransactionSchema = CollectionSchema(
name: r'Transaction', name: r'Transaction',
id: 5320225499417954855, id: 5320225499417954855,
properties: { properties: {
r'amount': PropertySchema(id: 0, name: r'amount', type: IsarType.double), r'amount': PropertySchema(
r'date': PropertySchema(id: 1, name: r'date', type: IsarType.dateTime), id: 0,
r'tags': PropertySchema(id: 2, name: r'tags', type: IsarType.stringList), 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, estimateSize: _transactionEstimateSize,
serialize: _transactionSerialize, serialize: _transactionSerialize,
@ -45,7 +57,7 @@ const TransactionSchema = CollectionSchema(
name: r'beneficiary', name: r'beneficiary',
target: r'Beneficiary', target: r'Beneficiary',
single: true, single: true,
), )
}, },
embeddedSchemas: {}, embeddedSchemas: {},
getId: _transactionGetId, getId: _transactionGetId,
@ -122,24 +134,13 @@ List<IsarLinkBase<dynamic>> _transactionGetLinks(Transaction object) {
} }
void _transactionAttach( void _transactionAttach(
IsarCollection<dynamic> col, IsarCollection<dynamic> col, Id id, Transaction object) {
Id id,
Transaction object,
) {
object.id = id; object.id = id;
object.expenseCategory.attach( object.expenseCategory.attach(
col, col, col.isar.collection<ExpenseCategory>(), r'expenseCategory', id);
col.isar.collection<ExpenseCategory>(),
r'expenseCategory',
id,
);
object.account.attach(col, col.isar.collection<Account>(), r'account', id); object.account.attach(col, col.isar.collection<Account>(), r'account', id);
object.beneficiary.attach( object.beneficiary
col, .attach(col, col.isar.collection<Beneficiary>(), r'beneficiary', id);
col.isar.collection<Beneficiary>(),
r'beneficiary',
id,
);
} }
extension TransactionQueryWhereSort extension TransactionQueryWhereSort
@ -155,13 +156,15 @@ extension TransactionQueryWhere
on QueryBuilder<Transaction, Transaction, QWhereClause> { on QueryBuilder<Transaction, Transaction, QWhereClause> {
QueryBuilder<Transaction, Transaction, QAfterWhereClause> idEqualTo(Id id) { QueryBuilder<Transaction, Transaction, QAfterWhereClause> idEqualTo(Id id) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause(IdWhereClause.between(lower: id, upper: id)); return query.addWhereClause(IdWhereClause.between(
lower: id,
upper: id,
));
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterWhereClause> idNotEqualTo( QueryBuilder<Transaction, Transaction, QAfterWhereClause> idNotEqualTo(
Id id, Id id) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
if (query.whereSort == Sort.asc) { if (query.whereSort == Sort.asc) {
return query return query
@ -183,10 +186,8 @@ extension TransactionQueryWhere
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterWhereClause> idGreaterThan( QueryBuilder<Transaction, Transaction, QAfterWhereClause> idGreaterThan(Id id,
Id id, { {bool include = false}) {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
IdWhereClause.greaterThan(lower: id, includeLower: include), IdWhereClause.greaterThan(lower: id, includeLower: include),
@ -194,10 +195,8 @@ extension TransactionQueryWhere
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterWhereClause> idLessThan( QueryBuilder<Transaction, Transaction, QAfterWhereClause> idLessThan(Id id,
Id id, { {bool include = false}) {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(
IdWhereClause.lessThan(upper: id, includeUpper: include), IdWhereClause.lessThan(upper: id, includeUpper: include),
@ -212,14 +211,12 @@ extension TransactionQueryWhere
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addWhereClause( return query.addWhereClause(IdWhereClause.between(
IdWhereClause.between(
lower: lowerId, lower: lowerId,
includeLower: includeLower, includeLower: includeLower,
upper: upperId, upper: upperId,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
} }
@ -231,13 +228,11 @@ extension TransactionQueryFilter
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(
property: r'amount', property: r'amount',
value: value, value: value,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -248,14 +243,12 @@ extension TransactionQueryFilter
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'amount', property: r'amount',
value: value, value: value,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -265,14 +258,12 @@ extension TransactionQueryFilter
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'amount', property: r'amount',
value: value, value: value,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
@ -284,26 +275,24 @@ extension TransactionQueryFilter
double epsilon = Query.epsilon, double epsilon = Query.epsilon,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'amount', property: r'amount',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
epsilon: epsilon, epsilon: epsilon,
), ));
);
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> dateEqualTo( QueryBuilder<Transaction, Transaction, QAfterFilterCondition> dateEqualTo(
DateTime value, DateTime value) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'date', value: value), property: r'date',
); value: value,
));
}); });
} }
@ -312,13 +301,11 @@ extension TransactionQueryFilter
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'date', property: r'date',
value: value, value: value,
), ));
);
}); });
} }
@ -327,13 +314,11 @@ extension TransactionQueryFilter
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'date', property: r'date',
value: value, value: value,
), ));
);
}); });
} }
@ -344,25 +329,23 @@ extension TransactionQueryFilter
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'date', property: r'date',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> idEqualTo( QueryBuilder<Transaction, Transaction, QAfterFilterCondition> idEqualTo(
Id value, Id value) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'id', value: value), property: r'id',
); value: value,
));
}); });
} }
@ -371,13 +354,11 @@ extension TransactionQueryFilter
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
@ -386,13 +367,11 @@ extension TransactionQueryFilter
bool include = false, bool include = false,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'id', property: r'id',
value: value, value: value,
), ));
);
}); });
} }
@ -403,28 +382,27 @@ extension TransactionQueryFilter
bool includeUpper = true, bool includeUpper = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'id', property: r'id',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
), ));
);
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
tagsElementEqualTo(String value, {bool caseSensitive = true}) { tagsElementEqualTo(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(
property: r'tags', property: r'tags',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -435,14 +413,12 @@ extension TransactionQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(
include: include, include: include,
property: r'tags', property: r'tags',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -453,14 +429,12 @@ extension TransactionQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.lessThan(
FilterCondition.lessThan(
include: include, include: include,
property: r'tags', property: r'tags',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
@ -473,120 +447,154 @@ extension TransactionQueryFilter
bool caseSensitive = true, bool caseSensitive = true,
}) { }) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.between(
FilterCondition.between(
property: r'tags', property: r'tags',
lower: lower, lower: lower,
includeLower: includeLower, includeLower: includeLower,
upper: upper, upper: upper,
includeUpper: includeUpper, includeUpper: includeUpper,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
tagsElementStartsWith(String value, {bool caseSensitive = true}) { tagsElementStartsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.startsWith(
FilterCondition.startsWith(
property: r'tags', property: r'tags',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
tagsElementEndsWith(String value, {bool caseSensitive = true}) { tagsElementEndsWith(
String value, {
bool caseSensitive = true,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.endsWith(
FilterCondition.endsWith(
property: r'tags', property: r'tags',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
tagsElementContains(String value, {bool caseSensitive = true}) { tagsElementContains(String value, {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.contains(
FilterCondition.contains(
property: r'tags', property: r'tags',
value: value, value: value,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
tagsElementMatches(String pattern, {bool caseSensitive = true}) { tagsElementMatches(String pattern, {bool caseSensitive = true}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.matches(
FilterCondition.matches(
property: r'tags', property: r'tags',
wildcard: pattern, wildcard: pattern,
caseSensitive: caseSensitive, caseSensitive: caseSensitive,
), ));
);
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
tagsElementIsEmpty() { tagsElementIsEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.equalTo(
FilterCondition.equalTo(property: r'tags', value: ''), property: r'tags',
); value: '',
));
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
tagsElementIsNotEmpty() { tagsElementIsNotEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.addFilterCondition( return query.addFilterCondition(FilterCondition.greaterThan(
FilterCondition.greaterThan(property: r'tags', value: ''), property: r'tags',
); value: '',
));
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
tagsLengthEqualTo(int length) { tagsLengthEqualTo(int length) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.listLength(r'tags', length, true, length, true); return query.listLength(
r'tags',
length,
true,
length,
true,
);
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> tagsIsEmpty() { QueryBuilder<Transaction, Transaction, QAfterFilterCondition> tagsIsEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.listLength(r'tags', 0, true, 0, true); return query.listLength(
r'tags',
0,
true,
0,
true,
);
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
tagsIsNotEmpty() { tagsIsNotEmpty() {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.listLength(r'tags', 0, false, 999999, true); return query.listLength(
r'tags',
0,
false,
999999,
true,
);
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
tagsLengthLessThan(int length, {bool include = false}) { tagsLengthLessThan(
int length, {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.listLength(r'tags', 0, true, length, include); return query.listLength(
r'tags',
0,
true,
length,
include,
);
}); });
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
tagsLengthGreaterThan(int length, {bool include = false}) { tagsLengthGreaterThan(
int length, {
bool include = false,
}) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.listLength(r'tags', length, include, 999999, true); return query.listLength(
r'tags',
length,
include,
999999,
true,
);
}); });
} }
@ -615,8 +623,7 @@ extension TransactionQueryObject
extension TransactionQueryLinks extension TransactionQueryLinks
on QueryBuilder<Transaction, Transaction, QFilterCondition> { on QueryBuilder<Transaction, Transaction, QFilterCondition> {
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> expenseCategory( QueryBuilder<Transaction, Transaction, QAfterFilterCondition> expenseCategory(
FilterQuery<ExpenseCategory> q, FilterQuery<ExpenseCategory> q) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.link(q, r'expenseCategory'); return query.link(q, r'expenseCategory');
}); });
@ -630,8 +637,7 @@ extension TransactionQueryLinks
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> account( QueryBuilder<Transaction, Transaction, QAfterFilterCondition> account(
FilterQuery<Account> q, FilterQuery<Account> q) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.link(q, r'account'); return query.link(q, r'account');
}); });
@ -645,8 +651,7 @@ extension TransactionQueryLinks
} }
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> beneficiary( QueryBuilder<Transaction, Transaction, QAfterFilterCondition> beneficiary(
FilterQuery<Beneficiary> q, FilterQuery<Beneficiary> q) {
) {
return QueryBuilder.apply(this, (query) { return QueryBuilder.apply(this, (query) {
return query.link(q, r'beneficiary'); return query.link(q, r'beneficiary');
}); });

View File

@ -211,12 +211,7 @@ Stream<void> watchExpenseCategory() {
} }
Stream<void> watchBudgets(Account account) { Stream<void> watchBudgets(Account account) {
return GetIt.I return GetIt.I.get<Isar>().budgets.filter().account((q) => q.idEqualTo(account.id)).watchLazy(fireImmediately: true);
.get<Isar>()
.budgets
.filter()
.account((q) => q.idEqualTo(account.id))
.watchLazy(fireImmediately: true);
} }
Future<List<Budget>> getBudgets(Account? account) { Future<List<Budget>> getBudgets(Account? account) {
@ -224,12 +219,7 @@ Future<List<Budget>> getBudgets(Account? account) {
return Future.value([]); return Future.value([]);
} }
return GetIt.I return GetIt.I.get<Isar>().budgets.filter().account((q) => q.idEqualTo(account.id)).findAll();
.get<Isar>()
.budgets
.filter()
.account((q) => q.idEqualTo(account.id))
.findAll();
} }
Future<void> upsertBudget(Budget budget) { Future<void> upsertBudget(Budget budget) {
@ -249,13 +239,11 @@ Future<void> upsertBudgetItem(BudgetItem item) {
}); });
} }
enum TransactionQueryDateOption { thisMonth } enum TransactionQueryDateOption {
thisMonth,
}
Future<List<Transaction>> getTransactionsInTimeframe( Future<List<Transaction>> getTransactionsInTimeframe(Account account, DateTime today, TransactionQueryDateOption option) async {
Account account,
DateTime today,
TransactionQueryDateOption option,
) async {
final lower = switch (option) { final lower = switch (option) {
TransactionQueryDateOption.thisMonth => DateTime( TransactionQueryDateOption.thisMonth => DateTime(
today.year, today.year,
@ -267,8 +255,7 @@ Future<List<Transaction>> getTransactionsInTimeframe(
TransactionQueryDateOption.thisMonth => monthEnding(today), TransactionQueryDateOption.thisMonth => monthEnding(today),
}; };
return GetIt.I return GetIt.I.get<Isar>()
.get<Isar>()
.transactions .transactions
.filter() .filter()
.account((q) => q.idEqualTo(account.id)) .account((q) => q.idEqualTo(account.id))

View File

@ -195,8 +195,7 @@ class OkaneNavigationLayout extends StatelessWidget {
}, },
), ),
if (p.showAccountName && if (p.showAccountName && state.activeAccountIndex != null)
state.activeAccountIndex != null)
Padding( Padding(
padding: EdgeInsets.only(left: 8), padding: EdgeInsets.only(left: 8),
child: Text( child: Text(
@ -219,8 +218,7 @@ class OkaneNavigationLayout extends StatelessWidget {
), ),
ScreenSize.normal => Column( ScreenSize.normal => Column(
children: [ children: [
if (p.showAccountName && if (p.showAccountName && state.activeAccountIndex != null)
state.activeAccountIndex != null)
AccountIndicator( AccountIndicator(
accountName: accountName:
state state

View File

@ -9,8 +9,6 @@ import 'package:okane/ui/pages/account/total_balance_card.dart';
import 'package:okane/ui/pages/account/upcoming_transactions_card.dart'; import 'package:okane/ui/pages/account/upcoming_transactions_card.dart';
import 'package:okane/ui/state/core.dart'; import 'package:okane/ui/state/core.dart';
import 'package:okane/ui/utils.dart'; import 'package:okane/ui/utils.dart';
import 'package:okane/ui/widgets/piechart.dart';
import 'package:okane/ui/widgets/piechart_card.dart';
class AccountListPage extends StatefulWidget { class AccountListPage extends StatefulWidget {
final bool isPage; final bool isPage;
@ -104,17 +102,18 @@ class AccountListPageState extends State<AccountListPage> {
), ),
Padding( Padding(
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8), padding: EdgeInsets.symmetric(horizontal: 16, vertical: 8),
child: TotalBalanceCard(), child: TotalBalanceCard(),
), ),
Padding( Padding(
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8), padding: EdgeInsets.symmetric(horizontal: 16, vertical: 8),
child: UpcomingTransactionsCard(), child: UpcomingTransactionsCard(),
), ),
Wrap(
Row(
children: [ children: [
Padding(padding: EdgeInsets.all(8), child: BreakdownCard()), Padding(padding: EdgeInsets.all(16), child: BreakdownCard()),
], ],
), ),
], ],

View File

@ -7,12 +7,11 @@ import 'package:okane/ui/state/core.dart';
import 'package:okane/ui/utils.dart'; import 'package:okane/ui/utils.dart';
double getBalanceGraphScaling(double maxBalance) { double getBalanceGraphScaling(double maxBalance) {
final absMaxBalance = maxBalance.abs(); if (maxBalance < 100) {
if (absMaxBalance < 100) {
return 10; return 10;
} else if (absMaxBalance < 1000) { } else if (maxBalance < 1000) {
return 200; return 200;
} else if (absMaxBalance < 10000) { } else if (maxBalance < 10000) {
return 1000; return 1000;
} }

View File

@ -8,8 +8,6 @@ import 'package:okane/database/collections/transaction.dart';
import 'package:okane/database/database.dart'; import 'package:okane/database/database.dart';
import 'package:okane/ui/state/core.dart'; import 'package:okane/ui/state/core.dart';
import 'package:okane/ui/utils.dart'; import 'package:okane/ui/utils.dart';
import 'package:okane/ui/widgets/piechart.dart';
import 'package:okane/ui/widgets/piechart_card.dart';
const CATEGORY_INCOME = "Income"; const CATEGORY_INCOME = "Income";
const CATEGORY_OTHER = "Other"; const CATEGORY_OTHER = "Other";
@ -73,42 +71,35 @@ class BreakdownCard extends StatelessWidget {
return (expenses: expenses, colors: colors, usable: usableMoney); return (expenses: expenses, colors: colors, usable: usableMoney);
} }
Widget _buildCard(Widget child, String? subtitle) {
return ResponsiveCard(
titleText: "Expense Breakdown",
subtitleText: subtitle,
child: child,
);
}
Widget _buildCenterText(String text) {
return _buildCard(Center(child: Text(text)), null);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final bloc = GetIt.I.get<CoreCubit>(); final bloc = GetIt.I.get<CoreCubit>();
return BlocBuilder<CoreCubit, CoreState>( return Card(
child: Padding(
padding: const EdgeInsets.all(8),
child: BlocBuilder<CoreCubit, CoreState>(
builder: (context, state) { builder: (context, state) {
if (bloc.activeAccount == null) { if (bloc.activeAccount == null) {
return _buildCenterText("No account active"); return Text("No active account");
} }
return FutureBuilder( return FutureBuilder(
future: getLastTransactions(bloc.activeAccount!, DateTime.now(), 30), future: getLastTransactions(
bloc.activeAccount!,
DateTime.now(),
30,
),
builder: (context, snapshot) { builder: (context, snapshot) {
if (!snapshot.hasData) { final title = Padding(
return _buildCard( padding: EdgeInsets.only(bottom: 16),
Padding( child: Text("Expense Breakdown"),
padding: EdgeInsets.all(16),
child: SizedBox(
width: 150 - 16 * 2,
height: 150 - 16 * 2,
child: CircularProgressIndicator(),
),
),
null,
); );
if (!snapshot.hasData) {
return Column(children: [title, CircularProgressIndicator()]);
}
if (snapshot.data!.isEmpty) {
return Column(children: [title, Text("No transactions")]);
} }
final data = _computeSections(snapshot.data!); final data = _computeSections(snapshot.data!);
@ -124,28 +115,58 @@ class BreakdownCard extends StatelessWidget {
), ),
) )
.toList(); .toList();
if (sectionData.isEmpty) { return Column(
return _buildCenterText("No expenses available"); children: [
} title,
return _buildCard( Row(
OkanePieChart( children: [
valueConverter: formatCurrency, SizedBox(
items: width: 150,
data.expenses.entries height: 150,
child: AspectRatio(
aspectRatio: 1,
child: PieChart(
PieChartData(
borderData: FlBorderData(show: false),
sectionsSpace: 0,
centerSpaceRadius: 35,
sections: sectionData,
),
),
),
),
Padding(
padding: EdgeInsets.only(left: 16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children:
data.expenses.keys
.map( .map(
(e) => ( (key) => LegendItem(
title: e.key, text: key,
value: e.value, color: data.colors[key]!,
color: colorHash(e.key),
), ),
) )
.toList(), .toList(),
), ),
),
],
),
Padding(
padding: EdgeInsets.only(top: 16),
child: Text(
"Available money: ${formatCurrency(data.usable)}", "Available money: ${formatCurrency(data.usable)}",
),
),
],
); );
}, },
); );
}, },
),
),
); );
} }
} }

View File

@ -23,17 +23,18 @@ class AddBudgetState extends State<AddBudgetPopup> {
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
TextField( TextField(
decoration: InputDecoration(hintText: "Budget name"), decoration: InputDecoration(
hintText: "Budget name",
),
controller: _budgetNameEditController, controller: _budgetNameEditController,
), ),
TextField( TextField(
decoration: InputDecoration(hintText: "Income"), decoration: InputDecoration(
controller: _budgetIncomeEditController, hintText: "Income",
keyboardType: TextInputType.numberWithOptions(
signed: false,
decimal: true,
), ),
controller: _budgetIncomeEditController,
keyboardType: TextInputType.numberWithOptions(signed: false, decimal: true),
), ),
Row( Row(
@ -41,14 +42,12 @@ class AddBudgetState extends State<AddBudgetPopup> {
children: [ children: [
OutlinedButton( OutlinedButton(
onPressed: () async { onPressed: () async {
if (_budgetNameEditController.text.isEmpty || if (_budgetNameEditController.text.isEmpty || _budgetIncomeEditController.text.isEmpty) {
_budgetIncomeEditController.text.isEmpty) {
return; return;
} }
final bloc = GetIt.I.get<CoreCubit>(); final bloc = GetIt.I.get<CoreCubit>();
final budget = final budget = Budget()
Budget()
..name = _budgetNameEditController.text ..name = _budgetNameEditController.text
..period = BudgetPeriod.month ..period = BudgetPeriod.month
..includeOtherSpendings = false ..includeOtherSpendings = false

View File

@ -11,11 +11,7 @@ class AddBudgetItemPopup extends StatefulWidget {
final VoidCallback onDone; final VoidCallback onDone;
final Budget budget; final Budget budget;
const AddBudgetItemPopup({ const AddBudgetItemPopup({super.key, required this.onDone, required this.budget});
super.key,
required this.onDone,
required this.budget,
});
@override @override
AddBudgetItemState createState() => AddBudgetItemState(); AddBudgetItemState createState() => AddBudgetItemState();
@ -52,12 +48,11 @@ class AddBudgetItemState extends State<AddBudgetItemPopup> {
), ),
TextField( TextField(
decoration: InputDecoration(hintText: "Amount"), decoration: InputDecoration(
controller: _budgetItemAmountEditController, hintText: "Amount",
keyboardType: TextInputType.numberWithOptions(
signed: false,
decimal: true,
), ),
controller: _budgetItemAmountEditController,
keyboardType: TextInputType.numberWithOptions(signed: false, decimal: true),
), ),
Row( Row(
@ -65,27 +60,16 @@ class AddBudgetItemState extends State<AddBudgetItemPopup> {
children: [ children: [
OutlinedButton( OutlinedButton(
onPressed: () async { onPressed: () async {
if (_budgetItemAmountEditController.text.isEmpty || if (_budgetItemAmountEditController.text.isEmpty || _expenseCategory == null) {
_expenseCategory == null) {
return; return;
} }
if (widget.budget.items if (widget.budget.items.where((i) => i.expenseCategory.value!.name == _expenseCategory!.name).firstOrNull != null) {
.where(
(i) =>
i.expenseCategory.value!.name ==
_expenseCategory!.name,
)
.firstOrNull !=
null) {
return; return;
} }
final item = final item = BudgetItem()
BudgetItem()
..expenseCategory.value = _expenseCategory ..expenseCategory.value = _expenseCategory
..amount = double.parse( ..amount = double.parse(_budgetItemAmountEditController.text);
_budgetItemAmountEditController.text,
);
await upsertBudgetItem(item); await upsertBudgetItem(item);
widget.budget.items.add(item); widget.budget.items.add(item);
await upsertBudget(widget.budget); await upsertBudget(widget.budget);

View File

@ -8,8 +8,6 @@ import 'package:okane/ui/pages/account/breakdown_card.dart';
import 'package:okane/ui/pages/budgets/add_budget_item.dart'; import 'package:okane/ui/pages/budgets/add_budget_item.dart';
import 'package:okane/ui/state/core.dart'; import 'package:okane/ui/state/core.dart';
import 'package:okane/ui/utils.dart'; import 'package:okane/ui/utils.dart';
import 'package:okane/ui/widgets/piechart.dart';
import 'package:okane/ui/widgets/piechart_card.dart';
class BudgetDetailsPage extends StatelessWidget { class BudgetDetailsPage extends StatelessWidget {
final bool isPage; final bool isPage;
@ -260,42 +258,205 @@ class BudgetDetailsPage extends StatelessWidget {
Wrap( Wrap(
children: [ children: [
Padding( Padding(
padding: EdgeInsets.symmetric(horizontal: 8), padding: EdgeInsets.all(8),
child: PieChartCard( child: SizedBox(
fallbackText: "", child: Card(
valueConverter: formatCurrency, child: Column(
items: crossAxisAlignment:
state.activeBudget!.items CrossAxisAlignment.center,
children: [
Padding(
padding: EdgeInsets.only(top: 8),
child: Text(
"Budget breakdown",
style:
Theme.of(
context,
).textTheme.titleLarge,
textAlign: TextAlign.center,
),
),
Row(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: EdgeInsets.all(16),
child: SizedBox(
width: 150,
height: 150,
child: AspectRatio(
aspectRatio: 1,
child: PieChart(
PieChartData(
borderData: FlBorderData(
show: false,
),
sectionsSpace: 0,
centerSpaceRadius: 35,
sections:
state
.activeBudget!
.items
.map( .map(
(i) => ( (
title: i.expenseCategory.value!.name, i,
value: i.amount, ) => PieChartSectionData(
value:
i.amount
.abs(),
title:
formatCurrency(
i.amount
.abs(),
),
titleStyle: TextStyle(
fontWeight:
FontWeight
.bold,
),
radius: 40,
color: colorHash( color: colorHash(
i.expenseCategory.value!.name, i
.expenseCategory
.value!
.name,
), ),
), ),
) )
.toList(), .toList(),
titleText: "Budget breakdown", ),
),
),
), ),
), ),
Padding( Padding(
padding: EdgeInsets.symmetric(horizontal: 8), padding: EdgeInsets.symmetric(
child: PieChartCard( horizontal: 8,
fallbackText: "No spending available", ),
valueConverter: formatCurrency, child: Column(
items: crossAxisAlignment:
spending.entries CrossAxisAlignment.start,
children:
state.activeBudget!.items
.map( .map(
(e) => ( (i) => LegendItem(
title: e.key, text:
value: e.value.abs(), i
color: colorHash(e.key), .expenseCategory
.value!
.name,
color: colorHash(
i
.expenseCategory
.value!
.name,
),
), ),
) )
.toList(), .toList(),
titleText: "Spending Breakdown", ),
),
],
),
],
),
),
),
),
Padding(
padding: EdgeInsets.all(8),
child: SizedBox(
child: Card(
child: Column(
crossAxisAlignment:
CrossAxisAlignment.center,
children: [
Padding(
padding: EdgeInsets.only(top: 8),
child: Text(
"Spending breakdown",
style:
Theme.of(
context,
).textTheme.titleLarge,
textAlign: TextAlign.center,
),
),
Row(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: EdgeInsets.all(16),
child: SizedBox(
width: 150,
height: 150,
child: AspectRatio(
aspectRatio: 1,
child: PieChart(
PieChartData(
borderData: FlBorderData(
show: false,
),
sectionsSpace: 0,
centerSpaceRadius: 35,
sections:
spending.entries
.map(
(
e,
) => PieChartSectionData(
value:
e.value
.abs(),
title:
formatCurrency(
e.value
.abs(),
),
titleStyle: TextStyle(
fontWeight:
FontWeight
.bold,
),
radius: 40,
color:
colorHash(
e.key,
),
),
)
.toList(),
),
),
),
),
),
Padding(
padding: EdgeInsets.symmetric(
horizontal: 8,
),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children:
spending.keys
.map(
(k) => LegendItem(
text: k,
color: colorHash(k),
),
)
.toList(),
),
),
],
),
],
),
),
), ),
), ),
], ],

View File

@ -19,7 +19,9 @@ class BudgetListPage extends StatelessWidget {
if (state.budgets.isEmpty) { if (state.budgets.isEmpty) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [Text("No budgets")], children: [
Text("No budgets"),
],
); );
} }

View File

@ -7,11 +7,7 @@ class EditBudgetPopup extends StatefulWidget {
final VoidCallback onDone; final VoidCallback onDone;
const EditBudgetPopup({ const EditBudgetPopup({required this.budget, required this.onDone, super.key});
required this.budget,
required this.onDone,
super.key,
});
@override @override
EditBudgetState createState() => EditBudgetState(); EditBudgetState createState() => EditBudgetState();
@ -36,7 +32,9 @@ class EditBudgetState extends State<EditBudgetPopup> {
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
TextField( TextField(
decoration: InputDecoration(hintText: "Name"), decoration: InputDecoration(
hintText: "Name",
),
controller: _budgetNameEditController, controller: _budgetNameEditController,
), ),
Row( Row(
@ -58,9 +56,7 @@ class EditBudgetState extends State<EditBudgetPopup> {
if (_budgetNameEditController.text.isEmpty) { if (_budgetNameEditController.text.isEmpty) {
return; return;
} }
if (_budgetNameEditController.text == widget.budget.name && if (_budgetNameEditController.text == widget.budget.name && _includeOtherSpendings == widget.budget.includeOtherSpendings) {
_includeOtherSpendings ==
widget.budget.includeOtherSpendings) {
widget.onDone(); widget.onDone();
return; return;
} }

View File

@ -99,7 +99,9 @@ class CoreCubit extends Cubit<CoreState> {
emit(state.copyWith(expenseCategories: await getExpenseCategories())); emit(state.copyWith(expenseCategories: await getExpenseCategories()));
}); });
_budgetsStreamSubscription?.cancel(); _budgetsStreamSubscription?.cancel();
_budgetsStreamSubscription = watchBudgets(activeAccount!).listen((_) async { _budgetsStreamSubscription = watchBudgets(activeAccount!).listen((
_,
) async {
emit(state.copyWith(budgets: await getBudgets(activeAccount!))); emit(state.copyWith(budgets: await getBudgets(activeAccount!)));
}); });
} }

View File

@ -12,8 +12,7 @@ part of 'core.dart';
T _$identity<T>(T value) => value; T _$identity<T>(T value) => value;
final _privateConstructorUsedError = UnsupportedError( final _privateConstructorUsedError = UnsupportedError(
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models', 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');
);
/// @nodoc /// @nodoc
mixin _$CoreState { mixin _$CoreState {
@ -42,8 +41,8 @@ abstract class $CoreStateCopyWith<$Res> {
factory $CoreStateCopyWith(CoreState value, $Res Function(CoreState) then) = factory $CoreStateCopyWith(CoreState value, $Res Function(CoreState) then) =
_$CoreStateCopyWithImpl<$Res, CoreState>; _$CoreStateCopyWithImpl<$Res, CoreState>;
@useResult @useResult
$Res call({ $Res call(
OkanePage activePage, {OkanePage activePage,
int? activeAccountIndex, int? activeAccountIndex,
Transaction? activeTransaction, Transaction? activeTransaction,
List<Account> accounts, List<Account> accounts,
@ -53,8 +52,7 @@ abstract class $CoreStateCopyWith<$Res> {
List<Beneficiary> beneficiaries, List<Beneficiary> beneficiaries,
List<ExpenseCategory> expenseCategories, List<ExpenseCategory> expenseCategories,
List<Budget> budgets, List<Budget> budgets,
Budget? activeBudget, Budget? activeBudget});
});
} }
/// @nodoc /// @nodoc
@ -82,66 +80,52 @@ class _$CoreStateCopyWithImpl<$Res, $Val extends CoreState>
Object? budgets = null, Object? budgets = null,
Object? activeBudget = freezed, Object? activeBudget = freezed,
}) { }) {
return _then( return _then(_value.copyWith(
_value.copyWith( activePage: null == activePage
activePage:
null == activePage
? _value.activePage ? _value.activePage
: activePage // ignore: cast_nullable_to_non_nullable : activePage // ignore: cast_nullable_to_non_nullable
as OkanePage, as OkanePage,
activeAccountIndex: activeAccountIndex: freezed == activeAccountIndex
freezed == activeAccountIndex
? _value.activeAccountIndex ? _value.activeAccountIndex
: activeAccountIndex // ignore: cast_nullable_to_non_nullable : activeAccountIndex // ignore: cast_nullable_to_non_nullable
as int?, as int?,
activeTransaction: activeTransaction: freezed == activeTransaction
freezed == activeTransaction
? _value.activeTransaction ? _value.activeTransaction
: activeTransaction // ignore: cast_nullable_to_non_nullable : activeTransaction // ignore: cast_nullable_to_non_nullable
as Transaction?, as Transaction?,
accounts: accounts: null == accounts
null == accounts
? _value.accounts ? _value.accounts
: accounts // ignore: cast_nullable_to_non_nullable : accounts // ignore: cast_nullable_to_non_nullable
as List<Account>, as List<Account>,
recurringTransactions: recurringTransactions: null == recurringTransactions
null == recurringTransactions
? _value.recurringTransactions ? _value.recurringTransactions
: recurringTransactions // ignore: cast_nullable_to_non_nullable : recurringTransactions // ignore: cast_nullable_to_non_nullable
as List<RecurringTransaction>, as List<RecurringTransaction>,
transactions: transactions: null == transactions
null == transactions
? _value.transactions ? _value.transactions
: transactions // ignore: cast_nullable_to_non_nullable : transactions // ignore: cast_nullable_to_non_nullable
as List<Transaction>, as List<Transaction>,
transactionTemplates: transactionTemplates: null == transactionTemplates
null == transactionTemplates
? _value.transactionTemplates ? _value.transactionTemplates
: transactionTemplates // ignore: cast_nullable_to_non_nullable : transactionTemplates // ignore: cast_nullable_to_non_nullable
as List<TransactionTemplate>, as List<TransactionTemplate>,
beneficiaries: beneficiaries: null == beneficiaries
null == beneficiaries
? _value.beneficiaries ? _value.beneficiaries
: beneficiaries // ignore: cast_nullable_to_non_nullable : beneficiaries // ignore: cast_nullable_to_non_nullable
as List<Beneficiary>, as List<Beneficiary>,
expenseCategories: expenseCategories: null == expenseCategories
null == expenseCategories
? _value.expenseCategories ? _value.expenseCategories
: expenseCategories // ignore: cast_nullable_to_non_nullable : expenseCategories // ignore: cast_nullable_to_non_nullable
as List<ExpenseCategory>, as List<ExpenseCategory>,
budgets: budgets: null == budgets
null == budgets
? _value.budgets ? _value.budgets
: budgets // ignore: cast_nullable_to_non_nullable : budgets // ignore: cast_nullable_to_non_nullable
as List<Budget>, as List<Budget>,
activeBudget: activeBudget: freezed == activeBudget
freezed == activeBudget
? _value.activeBudget ? _value.activeBudget
: activeBudget // ignore: cast_nullable_to_non_nullable : activeBudget // ignore: cast_nullable_to_non_nullable
as Budget?, as Budget?,
) ) as $Val);
as $Val,
);
} }
} }
@ -149,13 +133,12 @@ class _$CoreStateCopyWithImpl<$Res, $Val extends CoreState>
abstract class _$$CoreStateImplCopyWith<$Res> abstract class _$$CoreStateImplCopyWith<$Res>
implements $CoreStateCopyWith<$Res> { implements $CoreStateCopyWith<$Res> {
factory _$$CoreStateImplCopyWith( factory _$$CoreStateImplCopyWith(
_$CoreStateImpl value, _$CoreStateImpl value, $Res Function(_$CoreStateImpl) then) =
$Res Function(_$CoreStateImpl) then, __$$CoreStateImplCopyWithImpl<$Res>;
) = __$$CoreStateImplCopyWithImpl<$Res>;
@override @override
@useResult @useResult
$Res call({ $Res call(
OkanePage activePage, {OkanePage activePage,
int? activeAccountIndex, int? activeAccountIndex,
Transaction? activeTransaction, Transaction? activeTransaction,
List<Account> accounts, List<Account> accounts,
@ -165,8 +148,7 @@ abstract class _$$CoreStateImplCopyWith<$Res>
List<Beneficiary> beneficiaries, List<Beneficiary> beneficiaries,
List<ExpenseCategory> expenseCategories, List<ExpenseCategory> expenseCategories,
List<Budget> budgets, List<Budget> budgets,
Budget? activeBudget, Budget? activeBudget});
});
} }
/// @nodoc /// @nodoc
@ -174,9 +156,8 @@ class __$$CoreStateImplCopyWithImpl<$Res>
extends _$CoreStateCopyWithImpl<$Res, _$CoreStateImpl> extends _$CoreStateCopyWithImpl<$Res, _$CoreStateImpl>
implements _$$CoreStateImplCopyWith<$Res> { implements _$$CoreStateImplCopyWith<$Res> {
__$$CoreStateImplCopyWithImpl( __$$CoreStateImplCopyWithImpl(
_$CoreStateImpl _value, _$CoreStateImpl _value, $Res Function(_$CoreStateImpl) _then)
$Res Function(_$CoreStateImpl) _then, : super(_value, _then);
) : super(_value, _then);
@pragma('vm:prefer-inline') @pragma('vm:prefer-inline')
@override @override
@ -193,73 +174,60 @@ class __$$CoreStateImplCopyWithImpl<$Res>
Object? budgets = null, Object? budgets = null,
Object? activeBudget = freezed, Object? activeBudget = freezed,
}) { }) {
return _then( return _then(_$CoreStateImpl(
_$CoreStateImpl( activePage: null == activePage
activePage:
null == activePage
? _value.activePage ? _value.activePage
: activePage // ignore: cast_nullable_to_non_nullable : activePage // ignore: cast_nullable_to_non_nullable
as OkanePage, as OkanePage,
activeAccountIndex: activeAccountIndex: freezed == activeAccountIndex
freezed == activeAccountIndex
? _value.activeAccountIndex ? _value.activeAccountIndex
: activeAccountIndex // ignore: cast_nullable_to_non_nullable : activeAccountIndex // ignore: cast_nullable_to_non_nullable
as int?, as int?,
activeTransaction: activeTransaction: freezed == activeTransaction
freezed == activeTransaction
? _value.activeTransaction ? _value.activeTransaction
: activeTransaction // ignore: cast_nullable_to_non_nullable : activeTransaction // ignore: cast_nullable_to_non_nullable
as Transaction?, as Transaction?,
accounts: accounts: null == accounts
null == accounts
? _value._accounts ? _value._accounts
: accounts // ignore: cast_nullable_to_non_nullable : accounts // ignore: cast_nullable_to_non_nullable
as List<Account>, as List<Account>,
recurringTransactions: recurringTransactions: null == recurringTransactions
null == recurringTransactions
? _value._recurringTransactions ? _value._recurringTransactions
: recurringTransactions // ignore: cast_nullable_to_non_nullable : recurringTransactions // ignore: cast_nullable_to_non_nullable
as List<RecurringTransaction>, as List<RecurringTransaction>,
transactions: transactions: null == transactions
null == transactions
? _value._transactions ? _value._transactions
: transactions // ignore: cast_nullable_to_non_nullable : transactions // ignore: cast_nullable_to_non_nullable
as List<Transaction>, as List<Transaction>,
transactionTemplates: transactionTemplates: null == transactionTemplates
null == transactionTemplates
? _value._transactionTemplates ? _value._transactionTemplates
: transactionTemplates // ignore: cast_nullable_to_non_nullable : transactionTemplates // ignore: cast_nullable_to_non_nullable
as List<TransactionTemplate>, as List<TransactionTemplate>,
beneficiaries: beneficiaries: null == beneficiaries
null == beneficiaries
? _value._beneficiaries ? _value._beneficiaries
: beneficiaries // ignore: cast_nullable_to_non_nullable : beneficiaries // ignore: cast_nullable_to_non_nullable
as List<Beneficiary>, as List<Beneficiary>,
expenseCategories: expenseCategories: null == expenseCategories
null == expenseCategories
? _value._expenseCategories ? _value._expenseCategories
: expenseCategories // ignore: cast_nullable_to_non_nullable : expenseCategories // ignore: cast_nullable_to_non_nullable
as List<ExpenseCategory>, as List<ExpenseCategory>,
budgets: budgets: null == budgets
null == budgets
? _value._budgets ? _value._budgets
: budgets // ignore: cast_nullable_to_non_nullable : budgets // ignore: cast_nullable_to_non_nullable
as List<Budget>, as List<Budget>,
activeBudget: activeBudget: freezed == activeBudget
freezed == activeBudget
? _value.activeBudget ? _value.activeBudget
: activeBudget // ignore: cast_nullable_to_non_nullable : activeBudget // ignore: cast_nullable_to_non_nullable
as Budget?, as Budget?,
), ));
);
} }
} }
/// @nodoc /// @nodoc
class _$CoreStateImpl implements _CoreState { class _$CoreStateImpl implements _CoreState {
const _$CoreStateImpl({ const _$CoreStateImpl(
this.activePage = OkanePage.accounts, {this.activePage = OkanePage.accounts,
this.activeAccountIndex, this.activeAccountIndex,
this.activeTransaction = null, this.activeTransaction = null,
final List<Account> accounts = const [], final List<Account> accounts = const [],
@ -269,8 +237,8 @@ class _$CoreStateImpl implements _CoreState {
final List<Beneficiary> beneficiaries = const [], final List<Beneficiary> beneficiaries = const [],
final List<ExpenseCategory> expenseCategories = const [], final List<ExpenseCategory> expenseCategories = const [],
final List<Budget> budgets = const [], final List<Budget> budgets = const [],
this.activeBudget = null, this.activeBudget = null})
}) : _accounts = accounts, : _accounts = accounts,
_recurringTransactions = recurringTransactions, _recurringTransactions = recurringTransactions,
_transactions = transactions, _transactions = transactions,
_transactionTemplates = transactionTemplates, _transactionTemplates = transactionTemplates,
@ -373,26 +341,16 @@ class _$CoreStateImpl implements _CoreState {
(identical(other.activeTransaction, activeTransaction) || (identical(other.activeTransaction, activeTransaction) ||
other.activeTransaction == activeTransaction) && other.activeTransaction == activeTransaction) &&
const DeepCollectionEquality().equals(other._accounts, _accounts) && const DeepCollectionEquality().equals(other._accounts, _accounts) &&
const DeepCollectionEquality().equals( const DeepCollectionEquality()
other._recurringTransactions, .equals(other._recurringTransactions, _recurringTransactions) &&
_recurringTransactions, const DeepCollectionEquality()
) && .equals(other._transactions, _transactions) &&
const DeepCollectionEquality().equals( const DeepCollectionEquality()
other._transactions, .equals(other._transactionTemplates, _transactionTemplates) &&
_transactions, const DeepCollectionEquality()
) && .equals(other._beneficiaries, _beneficiaries) &&
const DeepCollectionEquality().equals( const DeepCollectionEquality()
other._transactionTemplates, .equals(other._expenseCategories, _expenseCategories) &&
_transactionTemplates,
) &&
const DeepCollectionEquality().equals(
other._beneficiaries,
_beneficiaries,
) &&
const DeepCollectionEquality().equals(
other._expenseCategories,
_expenseCategories,
) &&
const DeepCollectionEquality().equals(other._budgets, _budgets) && const DeepCollectionEquality().equals(other._budgets, _budgets) &&
(identical(other.activeBudget, activeBudget) || (identical(other.activeBudget, activeBudget) ||
other.activeBudget == activeBudget)); other.activeBudget == activeBudget));
@ -411,8 +369,7 @@ class _$CoreStateImpl implements _CoreState {
const DeepCollectionEquality().hash(_beneficiaries), const DeepCollectionEquality().hash(_beneficiaries),
const DeepCollectionEquality().hash(_expenseCategories), const DeepCollectionEquality().hash(_expenseCategories),
const DeepCollectionEquality().hash(_budgets), const DeepCollectionEquality().hash(_budgets),
activeBudget, activeBudget);
);
@JsonKey(ignore: true) @JsonKey(ignore: true)
@override @override
@ -422,8 +379,8 @@ class _$CoreStateImpl implements _CoreState {
} }
abstract class _CoreState implements CoreState { abstract class _CoreState implements CoreState {
const factory _CoreState({ const factory _CoreState(
final OkanePage activePage, {final OkanePage activePage,
final int? activeAccountIndex, final int? activeAccountIndex,
final Transaction? activeTransaction, final Transaction? activeTransaction,
final List<Account> accounts, final List<Account> accounts,
@ -433,8 +390,7 @@ abstract class _CoreState implements CoreState {
final List<Beneficiary> beneficiaries, final List<Beneficiary> beneficiaries,
final List<ExpenseCategory> expenseCategories, final List<ExpenseCategory> expenseCategories,
final List<Budget> budgets, final List<Budget> budgets,
final Budget? activeBudget, final Budget? activeBudget}) = _$CoreStateImpl;
}) = _$CoreStateImpl;
@override @override
OkanePage get activePage; OkanePage get activePage;

View File

@ -74,5 +74,12 @@ String formatCurrency(double amount, {bool precise = true}) {
} }
DateTime monthEnding(DateTime now) { DateTime monthEnding(DateTime now) {
return DateTime(now.year, now.month, 32, 23, 59, 59); return DateTime(
now.year,
now.month,
32,
23,
59,
59,
);
} }

View File

@ -22,7 +22,8 @@ class AccountIndicator extends StatelessWidget {
), ),
), ),
const Spacer(), const Spacer(),
if (trailing != null) trailing!, if (trailing != null)
trailing!,
], ],
), ),
); );

View File

@ -1,84 +0,0 @@
import 'package:fl_chart/fl_chart.dart';
import 'package:flutter/material.dart';
import 'package:okane/ui/pages/account/breakdown_card.dart';
typedef OkanePieChartSection = ({String title, double value, Color color});
typedef OkanePieChartValueConverter = String Function(double);
String numToString(double input) {
return input.toString();
}
class OkanePieChart extends StatelessWidget {
// Width of the pie chart
final double width;
// Height of the pie chart
final double height;
final List<OkanePieChartSection> items;
final OkanePieChartValueConverter valueConverter;
const OkanePieChart({
required this.items,
this.valueConverter = numToString,
this.width = 150,
this.height = 150,
super.key,
});
@override
Widget build(BuildContext context) {
return Row(
mainAxisSize: MainAxisSize.min,
children: [
Padding(
padding: EdgeInsets.all(16),
child: SizedBox(
width: width,
height: height,
child: AspectRatio(
aspectRatio: 1,
child: PieChart(
PieChartData(
borderData: FlBorderData(show: false),
sectionsSpace: 5,
centerSpaceRadius: 35,
sections:
items
.map(
(i) => PieChartSectionData(
value: i.value,
title: valueConverter(i.value),
titleStyle: TextStyle(
fontWeight: FontWeight.bold,
),
radius: 40,
color: i.color,
),
)
.toList(),
),
),
),
),
),
Padding(
padding: EdgeInsets.symmetric(horizontal: 8),
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children:
items
.map((i) => LegendItem(text: i.title, color: i.color))
.toList(),
),
),
],
);
}
}

View File

@ -1,83 +0,0 @@
import 'package:flutter/material.dart';
import 'package:okane/screen.dart';
import 'package:okane/ui/widgets/piechart.dart';
class ResponsiveCard extends StatelessWidget {
final String titleText;
final String? subtitleText;
final Widget child;
const ResponsiveCard({
super.key,
required this.titleText,
required this.child,
this.subtitleText,
});
@override
Widget build(BuildContext context) {
final screenSize = getScreenSize(context);
final card = Card(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Padding(
padding: EdgeInsets.only(top: 8, left: 8, right: 8),
child: Text(
titleText,
style: Theme.of(
context,
).textTheme.titleLarge!.copyWith(fontWeight: FontWeight.bold),
),
),
child,
if (subtitleText != null)
Padding(padding: EdgeInsets.all(8), child: Text(subtitleText!)),
],
),
);
return switch (screenSize) {
ScreenSize.small => Row(children: [Expanded(child: card)]),
ScreenSize.normal => Container(
constraints: BoxConstraints(maxWidth: ScreenSize.normal.size),
child: card,
),
};
}
}
class PieChartCard extends StatelessWidget {
final String titleText;
// Text to display when items is empty.
final String fallbackText;
final OkanePieChartValueConverter valueConverter;
final List<OkanePieChartSection> items;
const PieChartCard({
super.key,
this.valueConverter = numToString,
required this.items,
required this.fallbackText,
required this.titleText,
});
@override
Widget build(BuildContext context) {
final child =
items.isEmpty
? SizedBox(
width: 150,
height: 150,
child: Center(child: Text(fallbackText)),
)
: OkanePieChart(valueConverter: valueConverter, items: items);
return ResponsiveCard(titleText: titleText, child: child);
}
}