feature(plugins/home): Add support for the != operator
This patch adds support for the != operator on the VisitsApi filterBy option. Signed-off-by: Renan Mendes Carvalho <aitherios@gmail.com>
This commit is contained in:
committed by
Camila Belo
parent
bc93253806
commit
a1a7885ca4
@@ -296,7 +296,7 @@ export type VisitsApiQueryParams = {
|
||||
}>;
|
||||
filterBy?: Array<{
|
||||
field: keyof Visit;
|
||||
operator: '<' | '<=' | '==' | '>' | '>=' | 'contains';
|
||||
operator: '<' | '<=' | '==' | '!=' | '>' | '>=' | 'contains';
|
||||
value: string | number;
|
||||
}>;
|
||||
};
|
||||
|
||||
@@ -84,7 +84,7 @@ export type VisitsApiQueryParams = {
|
||||
*/
|
||||
filterBy?: Array<{
|
||||
field: keyof Visit;
|
||||
operator: '<' | '<=' | '==' | '>' | '>=' | 'contains';
|
||||
operator: '<' | '<=' | '==' | '!=' | '>' | '>=' | 'contains';
|
||||
value: string | number;
|
||||
}>;
|
||||
};
|
||||
|
||||
@@ -299,6 +299,19 @@ describe('new MemoryVisitsApi()', () => {
|
||||
expect(visits).toEqual([expect.objectContaining(visitsToSave[1])]);
|
||||
});
|
||||
|
||||
it('filters by timestamp with !=', async () => {
|
||||
const visits = await api.list({
|
||||
filterBy: [
|
||||
{ field: 'timestamp', operator: '!=', value: baseDate + 360_000 },
|
||||
],
|
||||
});
|
||||
expect(visits).toHaveLength(2);
|
||||
expect(visits).toEqual([
|
||||
expect.objectContaining(visitsToSave[2]),
|
||||
expect.objectContaining(visitsToSave[0]),
|
||||
]);
|
||||
});
|
||||
|
||||
it('filters by entityRef with contains', async () => {
|
||||
const visits = await api.list({
|
||||
filterBy: [
|
||||
|
||||
@@ -69,6 +69,7 @@ export class VisitsApiFactory implements VisitsApi {
|
||||
if (filter.operator === '<') return field < filter.value;
|
||||
if (filter.operator === '<=') return field <= filter.value;
|
||||
if (filter.operator === '==') return field === filter.value;
|
||||
if (filter.operator === '!=') return field !== filter.value;
|
||||
if (filter.operator === 'contains')
|
||||
return `${field}`.includes(`${filter.value}`);
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user