queryMakerStream method

SupabaseStreamBuilder queryMakerStream(
  1. String mid,
  2. QueryValue value,
  3. 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;
}