performSelect method
dynamic
performSelect(
- SupabaseClient client
Implementation
dynamic performSelect(SupabaseClient client) {
if (select == null) throw Exception('Query is null');
var queryObj = client.from(table).select(
select!,
);
if (limit != null) {
if (offset != null) {
queryObj = queryObj..range(offset!, limit!);
} else {
queryObj = queryObj..limit(limit!);
}
}
for (final f in filters) {
if (f.type == SupasetFilterTypes.eq) {
queryObj = queryObj..eq(f.column, f.value);
}
if (f.type == SupasetFilterTypes.gt) {
queryObj = queryObj..gt(f.column, f.value);
}
if (f.type == SupasetFilterTypes.gte) {
queryObj = queryObj..gte(f.column, f.value);
}
if (f.type == SupasetFilterTypes.lt) {
queryObj = queryObj..lt(f.column, f.value);
}
if (f.type == SupasetFilterTypes.lte) {
queryObj = queryObj..lte(f.column, f.value);
}
if (f.type == SupasetFilterTypes.like) {
queryObj = queryObj..like(f.column, f.value);
}
if (f.type == SupasetFilterTypes.ilike) {
queryObj = queryObj..ilike(f.column, f.value);
}
}
if (isCount) {
queryObj = queryObj..count(CountOption.exact);
}
if (single) {
return queryObj.single();
}
return queryObj;
}