queryMakerStream method
SupabaseStreamBuilder
queryMakerStream(
- String mid,
- QueryValue value,
- SupabaseStreamFilterBuilder streamBuilder
Implementation
SupabaseStreamBuilder queryMakerStream(
String mid, QueryValue value, SupabaseStreamFilterBuilder streamBuilder) {
switch (value.operType) {
case OperType.isEqualTo:
return streamBuilder.eq(mid, value.value);
case OperType.isGreaterThan:
streamBuilder.gt(mid, value.value);
break;
case OperType.isGreaterThanOrEqualTo:
streamBuilder.gte(mid, value.value);
break;
case OperType.isLessThan:
streamBuilder.lt(mid, value.value);
break;
case OperType.isLessThanOrEqualTo:
streamBuilder.lte(mid, value.value);
break;
case OperType.isNotEqualTo:
streamBuilder.neq(mid, value.value);
break;
// case OperType.arrayContains:
// if (value.value is String) {
// String temp = '"${value.value}"'; // 쌍따옴표로 묶어 주어야 한다.
// streamBuilder.ilike(mid, '%$temp%');
// } else {
// streamBuilder.ilike(mid, '%${value.value}%');
// }
// break;
// case OperType.arrayContainsAny: // ilike 로 대체
// if (value.value is String) {s
// String temp = '"${value.value}"'; // 쌍따옴표로 묶어 주어야 한다.
// streamBuilder.ilike(mid, '%$temp%');
// } else {
// streamBuilder.ilike(mid, '%${value.value}%');
// }
// break;
// case OperType.whereIn:
// streamBuilder.contains(mid, value.value);
// break;
// case OperType.whereNotIn:
// streamBuilder.not(mid, "in", value.value);
// break;
// case OperType.textSearch:
// streamBuilder.textSearch(mid, value.value);
// break;
case OperType.isNull:
streamBuilder.eq(mid, ''); // isNull 함수가 없다. 일단 빈 문자열로 처리한다.
break;
default:
return streamBuilder.eq(mid, value.value);
}
return streamBuilder;
}