diff --git a/Postgrest/Interfaces/IPostgrestTable.cs b/Postgrest/Interfaces/IPostgrestTable.cs
index 649d466..ca06d5d 100644
--- a/Postgrest/Interfaces/IPostgrestTable.cs
+++ b/Postgrest/Interfaces/IPostgrestTable.cs
@@ -35,7 +35,7 @@ namespace Supabase.Postgrest.Interfaces
///
///
///
- Table And(List filters);
+ IPostgrestTable And(List filters);
///
/// Clears currently defined query values.
@@ -52,7 +52,7 @@ namespace Supabase.Postgrest.Interfaces
///
///
///
- Table Columns(string[] columns);
+ IPostgrestTable Columns(string[] columns);
///
/// By using the columns query parameter it’s possible to specify the payload keys that will be inserted and ignore the rest of the payload.
@@ -64,7 +64,7 @@ namespace Supabase.Postgrest.Interfaces
///
///
///
- Table Columns(Expression> predicate);
+ IPostgrestTable Columns(Expression> predicate);
///
/// Returns ONLY a count from the specified query.
@@ -99,7 +99,7 @@ Task> Delete(TModel model, QueryOptions? options = null,
/// Operation to perform.
/// Value to filter with, must be a `string`, `List<object>`, `Dictionary<string, object>`, `FullTextSearchConfig`, or `Range`
///
- Table Filter(string columnName, Constants.Operator op, TCriterion? criterion);
+ IPostgrestTable Filter(string columnName, Constants.Operator op, TCriterion? criterion);
///
/// Add a filter to a query request using a predicate to select column.
@@ -109,7 +109,7 @@ Task> Delete(TModel model, QueryOptions? options = null,
/// Value to filter with, must be a `string`, `List<object>`, `Dictionary<string, object>`, `FullTextSearchConfig`, or `Range`
///
///
- Table Filter(Expression> predicate, Constants.Operator op,
+ IPostgrestTable Filter(Expression> predicate, Constants.Operator op,
TCriterion? criterion);
///
@@ -145,28 +145,28 @@ Task> Insert(TModel model, QueryOptions? options = null,
///
///
///
- Table Limit(int limit, string? foreignTableName = null);
+ IPostgrestTable Limit(int limit, string? foreignTableName = null);
///
/// Finds all rows whose columns match the specified `query` object.
///
/// The object to filter with, with column names as keys mapped to their filter values.
///
- Table Match(Dictionary query);
+ IPostgrestTable Match(Dictionary query);
///
/// Fills in query parameters based on a given model's primary key(s).
///
/// A model with a primary key column
///
- Table Match(TModel model);
+ IPostgrestTable Match(TModel model);
///
/// Adds a NOT filter to the current query args.
///
///
///
- Table Not(IPostgrestQueryFilter filter);
+ IPostgrestTable Not(IPostgrestQueryFilter filter);
///
/// Adds a NOT filter to the current query args.
@@ -175,7 +175,7 @@ Task> Insert(TModel model, QueryOptions? options = null,
///
///
///
- Table Not(string columnName, Constants.Operator op, Dictionary criteria);
+ IPostgrestTable Not(string columnName, Constants.Operator op, Dictionary criteria);
///
/// Adds a NOT filter to the current query args.
@@ -184,7 +184,7 @@ Task> Insert(TModel model, QueryOptions? options = null,
///
///
///
- Table Not(Expression> predicate, Constants.Operator op, Dictionary criteria);
+ IPostgrestTable Not(Expression> predicate, Constants.Operator op, Dictionary criteria);
///
/// Adds a NOT filter to the current query args.
@@ -197,7 +197,7 @@ Task> Insert(TModel model, QueryOptions? options = null,
///
///
///
- Table Not(string columnName, Constants.Operator op, List criteria);
+ IPostgrestTable Not(string columnName, Constants.Operator op, List criteria);
///
/// Adds a NOT filter to the current query args.
@@ -210,7 +210,7 @@ Task> Insert(TModel model, QueryOptions? options = null,
///
///
///
- Table Not(Expression> predicate, Constants.Operator op,
+ IPostgrestTable Not(Expression> predicate, Constants.Operator op,
List criteria);
///
@@ -225,7 +225,7 @@ Table Not(Expression> predicate, Consta
///
///
///
- Table Not(string columnName, Constants.Operator op, TCriterion? criterion);
+ IPostgrestTable Not(string columnName, Constants.Operator op, TCriterion? criterion);
///
@@ -240,7 +240,7 @@ Table Not(Expression> predicate, Consta
///
///
///
- Table Not(Expression> predicate, Constants.Operator op,
+ IPostgrestTable Not(Expression> predicate, Constants.Operator op,
TCriterion? criterion);
///
@@ -249,28 +249,28 @@ Table Not(Expression> predicate, Consta
///
///
///
- Table Offset(int offset, string? foreignTableName = null);
+ IPostgrestTable Offset(int offset, string? foreignTableName = null);
///
/// By specifying the onConflict query parameter, you can make UPSERT work on a column(s) that has a UNIQUE constraint.
///
///
///
- Table OnConflict(string columnName);
+ IPostgrestTable OnConflict(string columnName);
///
/// Set an onConflict query parameter for UPSERTing on a column that has a UNIQUE constraint using a linq predicate.
///
/// Expects a column from the model to be returned.
///
- Table OnConflict(Expression> predicate);
+ IPostgrestTable OnConflict(Expression> predicate);
///
/// Adds a OR Filter to the current query args.
///
///
///
- Table Or(List filters);
+ IPostgrestTable Or(List filters);
///
/// Adds an ordering to the current query args.
@@ -284,7 +284,7 @@ Table Not(Expression> predicate, Consta
///
///
///
- Table Order(string column, Constants.Ordering ordering,
+ IPostgrestTable Order(string column, Constants.Ordering ordering,
Constants.NullPosition nullPosition = Constants.NullPosition.First);
///
@@ -299,7 +299,7 @@ Table Order(string column, Constants.Ordering ordering,
/// >Expects a columns from the Model to be returned
///
///
- Table Order(Expression> predicate, Constants.Ordering ordering,
+ IPostgrestTable Order(Expression> predicate, Constants.Ordering ordering,
Constants.NullPosition nullPosition = Constants.NullPosition.First);
///
@@ -315,7 +315,7 @@ Table Order(Expression> predicate, Constants.Orderi
///
///
///
- Table Order(string foreignTable, string column, Constants.Ordering ordering,
+ IPostgrestTable Order(string foreignTable, string column, Constants.Ordering ordering,
Constants.NullPosition nullPosition = Constants.NullPosition.First);
///
@@ -323,7 +323,7 @@ Table Order(string foreignTable, string column, Constants.Ordering order
///
///
///
- Table Range(int from);
+ IPostgrestTable Range(int from);
///
/// Sets a bounded range to the current query.
@@ -331,14 +331,14 @@ Table Order(string foreignTable, string column, Constants.Ordering order
///
///
///
- Table Range(int from, int to);
+ IPostgrestTable Range(int from, int to);
///
/// Select columns for query.
///
///
///
- Table Select(string columnQuery);
+ IPostgrestTable Select(string columnQuery);
///
/// Select columns using a predicate function.
@@ -348,7 +348,7 @@ Table Order(string foreignTable, string column, Constants.Ordering order
///
/// Expects an array of columns from the Model to be returned.
///
- Table Select(Expression> predicate);
+ IPostgrestTable Select(Expression> predicate);
///
/// Filter a query based on a predicate function.
@@ -365,7 +365,7 @@ Table Order(string foreignTable, string column, Constants.Ordering order
///
///
///
- Table Where(Expression> predicate);
+ IPostgrestTable Where(Expression> predicate);
///
/// Executes a query that expects to have a single object returned, rather than returning list of models
@@ -383,7 +383,7 @@ Table Order(string foreignTable, string column, Constants.Ordering order
///
///
///
- Table Set(Expression> keySelector, object? value);
+ IPostgrestTable Set(Expression> keySelector, object? value);
///
/// Specifies a KeyValuePair to be updated. Should be combined with filters/where clauses.
@@ -393,7 +393,7 @@ Table Order(string foreignTable, string column, Constants.Ordering order
///
///
///
- Table Set(Expression>> keyValuePairExpression);
+ IPostgrestTable Set(Expression>> keyValuePairExpression);
///
/// Calls an Update function after `Set` has been called.
diff --git a/Postgrest/Linq/WhereExpressionVisitor.cs b/Postgrest/Linq/WhereExpressionVisitor.cs
index e342b81..8b6b63c 100644
--- a/Postgrest/Linq/WhereExpressionVisitor.cs
+++ b/Postgrest/Linq/WhereExpressionVisitor.cs
@@ -123,9 +123,9 @@ protected override Expression VisitMethodCall(MethodCallExpression node)
case nameof(String.Contains):
if (typeof(ICollection).IsAssignableFrom(node.Method.DeclaringType))
- Filter = new QueryFilter(column, Constants.Operator.Contains, GetArgumentValues(node));
+ Filter = new QueryFilter(column, Operator.Contains, GetArgumentValues(node));
else
- Filter = new QueryFilter(column, Constants.Operator.Like, "*" + GetArgumentValues(node).First() + "*");
+ Filter = new QueryFilter(column, Operator.Like, "*" + GetArgumentValues(node).First() + "*");
break;
default:
@@ -141,7 +141,7 @@ protected override Expression VisitMethodCall(MethodCallExpression node)
///
///
///
- private void HandleConstantExpression(string column, Constants.Operator op, ConstantExpression constantExpression)
+ private void HandleConstantExpression(string column, Operator op, ConstantExpression constantExpression)
{
if (constantExpression.Type.IsEnum)
{
@@ -160,7 +160,7 @@ private void HandleConstantExpression(string column, Constants.Operator op, Cons
///
///
///
- private void HandleMemberExpression(string column, Constants.Operator op, MemberExpression memberExpression)
+ private void HandleMemberExpression(string column, Operator op, MemberExpression memberExpression)
{
Filter = new QueryFilter(column, op, GetMemberExpressionValue(memberExpression));
}
@@ -171,7 +171,7 @@ private void HandleMemberExpression(string column, Constants.Operator op, Member
///
///
///
- private void HandleUnaryExpression(string column, Constants.Operator op, UnaryExpression unaryExpression)
+ private void HandleUnaryExpression(string column, Operator op, UnaryExpression unaryExpression)
{
if (unaryExpression.Operand is ConstantExpression constantExpression)
{
@@ -193,7 +193,7 @@ private void HandleUnaryExpression(string column, Constants.Operator op, UnaryEx
///
///
///
- private void HandleNewExpression(string column, Constants.Operator op, NewExpression newExpression)
+ private void HandleNewExpression(string column, Operator op, NewExpression newExpression)
{
var argumentValues = new List
///
///
- private Constants.Operator GetMappedOperator(Expression node)
+ private Operator GetMappedOperator(Expression node)
{
return node.NodeType switch
{
- ExpressionType.Not => Constants.Operator.Not,
- ExpressionType.And => Constants.Operator.And,
- ExpressionType.AndAlso => Constants.Operator.And,
- ExpressionType.OrElse => Constants.Operator.Or,
- ExpressionType.Or => Constants.Operator.Or,
- ExpressionType.Equal => Constants.Operator.Equals,
- ExpressionType.NotEqual => Constants.Operator.NotEqual,
- ExpressionType.LessThan => Constants.Operator.LessThan,
- ExpressionType.GreaterThan => Constants.Operator.GreaterThan,
- ExpressionType.LessThanOrEqual => Constants.Operator.LessThanOrEqual,
- ExpressionType.GreaterThanOrEqual => Constants.Operator.GreaterThanOrEqual,
- _ => Constants.Operator.Equals
+ ExpressionType.Not => Operator.Not,
+ ExpressionType.And => Operator.And,
+ ExpressionType.AndAlso => Operator.And,
+ ExpressionType.OrElse => Operator.Or,
+ ExpressionType.Or => Operator.Or,
+ ExpressionType.Equal => Operator.Equals,
+ ExpressionType.NotEqual => Operator.NotEqual,
+ ExpressionType.LessThan => Operator.LessThan,
+ ExpressionType.GreaterThan => Operator.GreaterThan,
+ ExpressionType.LessThanOrEqual => Operator.LessThanOrEqual,
+ ExpressionType.GreaterThanOrEqual => Operator.GreaterThanOrEqual,
+ _ => Operator.Equals
};
}
diff --git a/Postgrest/QueryFilter.cs b/Postgrest/QueryFilter.cs
index d8c050e..6f21c55 100644
--- a/Postgrest/QueryFilter.cs
+++ b/Postgrest/QueryFilter.cs
@@ -23,7 +23,7 @@ public class QueryFilter : IPostgrestQueryFilter
public object? Criteria { get; }
///
- public Constants.Operator Op { get; }
+ public Operator Op { get; }
///
public string? Property { get; }
@@ -35,7 +35,7 @@ public class QueryFilter : IPostgrestQueryFilter
///
///
///
- public QueryFilter(Expression> predicate, Constants.Operator op, TCriterion? criterion)
+ public QueryFilter(Expression> predicate, Operator op, TCriterion? criterion)
{
var visitor = new SelectExpressionVisitor();
visitor.Visit(predicate);
@@ -66,7 +66,7 @@ public class QueryFilter : IPostgrestQueryFilter
public string? Property { get; private set; }
///
- public Constants.Operator Op { get; private set; }
+ public Operator Op { get; private set; }
///
public object? Criteria { get; private set; }
@@ -77,7 +77,7 @@ public class QueryFilter : IPostgrestQueryFilter
/// Column name
/// Operation: And, Equals, GreaterThan, LessThan, GreaterThanOrEqual, LessThanOrEqual, NotEqual, Is, Adjacent, Not, Like, ILike
///
- public QueryFilter(string property, Constants.Operator op, object? criteria)
+ public QueryFilter(string property, Operator op, object? criteria)
{
if (criteria is DateTime dateTime)
criteria = dateTime.ToString("o", CultureInfo.InvariantCulture);
@@ -86,26 +86,26 @@ public QueryFilter(string property, Constants.Operator op, object? criteria)
switch (op)
{
- case Constants.Operator.And:
- case Constants.Operator.Equals:
- case Constants.Operator.GreaterThan:
- case Constants.Operator.GreaterThanOrEqual:
- case Constants.Operator.LessThan:
- case Constants.Operator.LessThanOrEqual:
- case Constants.Operator.NotEqual:
- case Constants.Operator.Is:
- case Constants.Operator.Adjacent:
- case Constants.Operator.Not:
- case Constants.Operator.Like:
- case Constants.Operator.ILike:
+ case Operator.And:
+ case Operator.Equals:
+ case Operator.GreaterThan:
+ case Operator.GreaterThanOrEqual:
+ case Operator.LessThan:
+ case Operator.LessThanOrEqual:
+ case Operator.NotEqual:
+ case Operator.Is:
+ case Operator.Adjacent:
+ case Operator.Not:
+ case Operator.Like:
+ case Operator.ILike:
Property = property;
Op = op;
Criteria = criteria;
break;
- case Constants.Operator.In:
- case Constants.Operator.Contains:
- case Constants.Operator.ContainedIn:
- case Constants.Operator.Overlap:
+ case Operator.In:
+ case Operator.Contains:
+ case Operator.ContainedIn:
+ case Operator.Overlap:
if (criteria is IList or IDictionary)
{
Property = property;
@@ -131,14 +131,14 @@ public QueryFilter(string property, Constants.Operator op, object? criteria)
/// Column Name
/// Operation: FTS, PHFTS, PLFTS, WFTS
///
- public QueryFilter(string property, Constants.Operator op, FullTextSearchConfig fullTextSearchConfig)
+ public QueryFilter(string property, Operator op, FullTextSearchConfig fullTextSearchConfig)
{
switch (op)
{
- case Constants.Operator.FTS:
- case Constants.Operator.PHFTS:
- case Constants.Operator.PLFTS:
- case Constants.Operator.WFTS:
+ case Operator.FTS:
+ case Operator.PHFTS:
+ case Operator.PLFTS:
+ case Operator.WFTS:
Property = property;
Op = op;
Criteria = fullTextSearchConfig;
@@ -155,18 +155,18 @@ public QueryFilter(string property, Constants.Operator op, FullTextSearchConfig
///
/// Operator: Overlap, StrictlyLeft, StrictlyRight, NotRightOf, NotLeftOf, Adjacent
///
- public QueryFilter(string property, Constants.Operator op, IntRange range)
+ public QueryFilter(string property, Operator op, IntRange range)
{
switch (op)
{
- case Constants.Operator.Overlap:
- case Constants.Operator.Contains:
- case Constants.Operator.ContainedIn:
- case Constants.Operator.StrictlyLeft:
- case Constants.Operator.StrictlyRight:
- case Constants.Operator.NotRightOf:
- case Constants.Operator.NotLeftOf:
- case Constants.Operator.Adjacent:
+ case Operator.Overlap:
+ case Operator.Contains:
+ case Operator.ContainedIn:
+ case Operator.StrictlyLeft:
+ case Operator.StrictlyRight:
+ case Operator.NotRightOf:
+ case Operator.NotLeftOf:
+ case Operator.Adjacent:
Property = property;
Op = op;
Criteria = range;
@@ -184,12 +184,12 @@ public QueryFilter(string property, Constants.Operator op, IntRange range)
///
/// Operation: And, Or
///
- public QueryFilter(Constants.Operator op, List filters)
+ public QueryFilter(Operator op, List filters)
{
switch (op)
{
- case Constants.Operator.Or:
- case Constants.Operator.And:
+ case Operator.Or:
+ case Operator.And:
Op = op;
Criteria = filters;
break;
@@ -204,11 +204,11 @@ public QueryFilter(Constants.Operator op, List filters)
///
/// Operation: Not.
///
- public QueryFilter(Constants.Operator op, IPostgrestQueryFilter filter)
+ public QueryFilter(Operator op, IPostgrestQueryFilter filter)
{
switch (op)
{
- case Constants.Operator.Not:
+ case Operator.Not:
Op = op;
Criteria = filter;
break;
diff --git a/Postgrest/QueryOrderer.cs b/Postgrest/QueryOrderer.cs
index b799e04..2c38152 100644
--- a/Postgrest/QueryOrderer.cs
+++ b/Postgrest/QueryOrderer.cs
@@ -8,10 +8,10 @@ public class QueryOrderer
{
public string? ForeignTable { get; }
public string Column { get; }
- public Constants.Ordering Ordering { get; }
- public Constants.NullPosition NullPosition { get; }
+ public Ordering Ordering { get; }
+ public NullPosition NullPosition { get; }
- public QueryOrderer(string? foreignTable, string column, Constants.Ordering ordering, Constants.NullPosition nullPosition)
+ public QueryOrderer(string? foreignTable, string column, Ordering ordering, NullPosition nullPosition)
{
ForeignTable = foreignTable;
Column = column;
diff --git a/Postgrest/Table.cs b/Postgrest/Table.cs
index 5b21f10..ef23779 100644
--- a/Postgrest/Table.cs
+++ b/Postgrest/Table.cs
@@ -99,7 +99,7 @@ public Table(string baseUrl, JsonSerializerSettings serializerSettings, ClientOp
}
///
- public Table Filter(Expression> predicate, Constants.Operator op,
+ public IPostgrestTable Filter(Expression> predicate, Operator op,
TCriterion? criterion)
{
var visitor = new SelectExpressionVisitor();
@@ -115,21 +115,21 @@ public Table Filter(Expression> predica
}
///
- public Table Filter(string columnName, Constants.Operator op, TCriterion? criterion)
+ public IPostgrestTable Filter(string columnName, Operator op, TCriterion? criterion)
{
switch (criterion)
{
case null:
switch (op)
{
- case Constants.Operator.Equals:
- case Constants.Operator.Is:
- _filters.Add(new QueryFilter(columnName, Constants.Operator.Is, QueryFilter.NullVal));
+ case Operator.Equals:
+ case Operator.Is:
+ _filters.Add(new QueryFilter(columnName, Operator.Is, QueryFilter.NullVal));
break;
- case Constants.Operator.Not:
- case Constants.Operator.NotEqual:
- _filters.Add(new QueryFilter(columnName, Constants.Operator.Not,
- new QueryFilter(columnName, Constants.Operator.Is, QueryFilter.NullVal)));
+ case Operator.Not:
+ case Operator.NotEqual:
+ _filters.Add(new QueryFilter(columnName, Operator.Not,
+ new QueryFilter(columnName, Operator.Is, QueryFilter.NullVal)));
break;
default:
throw new PostgrestException(
@@ -169,18 +169,18 @@ public Table Filter(string columnName, Constants.Operator op
}
///
- public Table Not(IPostgrestQueryFilter filter)
+ public IPostgrestTable Not(IPostgrestQueryFilter filter)
{
- _filters.Add(new QueryFilter(Constants.Operator.Not, filter));
+ _filters.Add(new QueryFilter(Operator.Not, filter));
return this;
}
///
- public Table Not(string columnName, Constants.Operator op, TCriterion? criterion) =>
+ public IPostgrestTable Not(string columnName, Operator op, TCriterion? criterion) =>
Not(new QueryFilter(columnName, op, criterion));
///
- public Table Not(Expression> predicate, Constants.Operator op,
+ public IPostgrestTable Not(Expression> predicate, Operator op,
TCriterion? criterion)
{
var visitor = new SelectExpressionVisitor();
@@ -196,11 +196,11 @@ public Table Not(Expression> predicate,
}
///
- public Table Not(string columnName, Constants.Operator op, List criteria) =>
+ public IPostgrestTable Not(string columnName, Operator op, List criteria) =>
Not(new QueryFilter(columnName, op, criteria.Cast