Skip to content

Commit 61ea215

Browse files
author
Joan Reyero
authored
Fixed filtering members by username on any platform (#580)
1 parent 0ed2705 commit 61ea215

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

backend/src/database/repositories/filters/queryParser.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,11 @@ class QueryParser {
215215
// {activityCount: {gt: 10}} (the value would be 10)
216216
let right = typeof value === 'object' ? value[Object.keys(value)[0]] : value
217217

218-
// handle textContains for literals
219-
if (typeof value === 'object' && Object.keys(value)[0] === 'textContains') {
218+
// handle textContains and jsonContains for literals
219+
if (
220+
(typeof value === 'object' && Object.keys(value)[0] === 'textContains') ||
221+
Object.keys(value)[0] === 'jsonContains'
222+
) {
220223
op = Op.iLike
221224
right = `%${right}%`
222225
}

backend/src/database/repositories/memberRepository.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -857,6 +857,7 @@ class MemberRepository {
857857
nestedFields: {
858858
...dynamicAttributesDefaultNestedFields,
859859
reach: 'reach.total',
860+
username: 'username.asString',
860861
},
861862
aggregators: {
862863
activityCount,
@@ -868,6 +869,7 @@ class MemberRepository {
868869
identities,
869870
...dynamicAttributesPlatformNestedFields,
870871
'reach.total': Sequelize.literal(`("member".reach->'total')::int`),
872+
'username.asString': Sequelize.literal(`CAST("member"."username" AS TEXT)`),
871873
...SequelizeFilterUtils.getNativeTableFieldAggregations(
872874
[
873875
'id',

0 commit comments

Comments
 (0)