composeFilter method
Function
composeFilter(
- FilterParams? filter
)
Implementation
Function composeFilter(FilterParams? filter) {
filter = filter ?? FilterParams();
var search = filter.getAsNullableString('search');
var id = filter.getAsNullableString('id');
var ids = filter.getAsObject('ids');
var name = filter.getAsNullableString('name');
var login = filter.getAsNullableString('login');
var active = filter.getAsNullableBoolean('active');
var fromCreateTime = filter.getAsNullableDateTime('from_create_time');
var toCreateTime = filter.getAsNullableDateTime('to_create_time');
var deleted = filter.getAsBooleanWithDefault('deleted', false);
if (ids != null && ids is String) {
ids = ids.split(',');
}
if (ids != null && !(ids is List)) {
ids = null;
}
return (item) {
if (search != null && !matchSearch(item, search)) {
return false;
}
if (id != null && item.id != id) {
return false;
}
if (name != null && item.name != name) {
return false;
}
if (login != null && item.login != login) {
return false;
}
if (active != null && item.active != active) {
return false;
}
if (fromCreateTime != null && item.create_time >= fromCreateTime) {
return false;
}
if (toCreateTime != null && item.create_time < toCreateTime) {
return false;
}
if (!deleted && item.deleted != null && item.deleted) {
return false;
}
if (ids != null && !(ids as List).contains(item.id)) {
return false;
}
return true;
};
}