Skip to content

Commit 37ecf7a

Browse files
committed
feat: add inclusive date constraints
1 parent b79d743 commit 37ecf7a

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

src/lib/Filters.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,18 @@ export const Constraints = {
7676
composable: true,
7777
comparable: true,
7878
},
79+
afterOrOn: {
80+
name: 'is after or on',
81+
field: 'Date',
82+
composable: true,
83+
comparable: true,
84+
},
85+
beforeOrOn: {
86+
name: 'is before or on',
87+
field: 'Date',
88+
composable: true,
89+
comparable: true,
90+
},
7991
containsString: {
8092
name: 'contains string',
8193
field: 'String',
@@ -170,7 +182,15 @@ export const FieldConstraints = {
170182
Boolean: ['exists', 'dne', 'eq', 'neq', 'unique'],
171183
Number: ['exists', 'dne', 'eq', 'neq', 'lt', 'lte', 'gt', 'gte', 'unique'],
172184
String: ['exists', 'dne', 'eq', 'neq', 'starts', 'ends', 'stringContainsString', 'unique'],
173-
Date: ['exists', 'dne', 'before', 'after', 'unique'],
185+
Date: [
186+
'exists',
187+
'dne',
188+
'before',
189+
'beforeOrOn',
190+
'after',
191+
'afterOrOn',
192+
'unique',
193+
],
174194
Object: [
175195
'exists',
176196
'dne',

src/lib/queryFromFilters.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,15 @@ function addConstraint(query, filter) {
152152
case 'before':
153153
query.lessThan(filter.get('field'), filter.get('compareTo'));
154154
break;
155+
case 'beforeOrOn':
156+
query.lessThanOrEqualTo(filter.get('field'), filter.get('compareTo'));
157+
break;
155158
case 'after':
156159
query.greaterThan(filter.get('field'), filter.get('compareTo'));
157160
break;
161+
case 'afterOrOn':
162+
query.greaterThanOrEqualTo(filter.get('field'), filter.get('compareTo'));
163+
break;
158164
case 'containsString':
159165
case 'containsNumber':
160166
query.equalTo(filter.get('field'), filter.get('compareTo'));

0 commit comments

Comments
 (0)