- Re: #97 Fix set null value on string property. Thanks @alustrement-bob!
- Re: #96 Set
ConfigureAwait(false)
the response to prevent deadlocking applications. Thanks @pur3extreme!
- Re: #92 Changes
IPostgrestTable<>
contract to return the interface rather than a concrete type.
- [MAJOR] Moves namespaces from
Postgrest
toSupabase.Postgrest
- Re: #135 Update nuget package
name
postgrest-csharp
toSupabase.Postgrest
- Re: #147 - Supports
Rpc
specifying a generic type for its return.
- Re: #78, Generalize query filtering creation
in
Table
so that it matches new generic signatures. - Move from
QueryFilter
parameters to a more genericIPostgrestQueryFilter
to support constructing new QueryFilters from a LINQ expression.- Note: Lists of
QueryFilter
s will now need to be defined as:new List<IPostgrestQueryFilter> { new QueryFilter(), ... }
- Note: Lists of
- Adjust serialization of timestamps within a
QueryFilter
to supportDateTime
andDateTimeOffset
using the ISO-8601 (https://stackoverflow.com/a/115002)
- Re: #81
- [Minor] Removes
IgnoreOnInsert
andIgnoreOnUpdate
fromReferenceAttribute
as changing these properties tofalse
does not currently provide the expected functionality. - Fixes
Insert
andUpdate
not working on models that haveReference
specified on a property with a non-null value.
- [Minor] Removes
- Re: #78 Updates signatures for
Not
andFilter
to include generic types for a better development experience. - Updates internal generic type names to be more descriptive.
- Add support for LINQ predicates on
Table<TModel>.Not()
signatures
- Re: #76 Removes the incorrect
ToUniversalTime
conversion in the LINQWhere
parser.
- Re: supabase-csharp#115 Additional support for a model referencing another model with multiple foreign keys.
- Re: supabase-csharp#115 Adds support for multiple references attached to the same model (foreign keys) on a single C# Model.
- Implements a
TableWithCache
forGet
requests that can pull reactive Models from cache before making a remote request. - Re: supabase-csharp#85 Includes sourcelink support.
- Re: #75 Fix issue with marshalling of stored procedure arguments. Big thank you to @corrideat!
- Re: supabase-community/supabase-csharp#81 -
Clarifies
ReferenceAttribute
by changingshouldFilterTopLevel
touseInnerJoin
and adds an additional constructor forReferenceAttribute
with a shortcut for specifying theJoinType
- #70 Minor Unity related fixes
Thanks @wiverson for the work in this release!
- Uses new assembly name of
Supabase.Core
- Changes Assembly output to be
Supabase.Postgrest
- General codebase and QOL improvements. Exceptions are generally thrown through
PostgrestException
now instead ofException
. AFailureHint.Reason
is provided with failures if possible to parse. AddDebugListener
is now available on the client to help with debugging- Merges #65 Cleanup + Add better exception handling
- Merges #66 Local test Fixes
- Fixes #67 Postgrest Reference attribute is producing StackOverflow for circular references
- Fix #61 which further typechecks nullable values.
- Fix #61 which did not correctly parse Linq
Where
when encountering a nullable type. - Add missing support for transforming for
== null
and!= null
- Fix issue from supabase-community/supabase-csharp#48 where boolean model properties would not be evaluated in predicate expressions
- [Minor] Breaking API Change:
PrimaryKey
attribute defaults toshouldInsert: false
as most uses will have the Database generate the primary key. - Merged #60 which Added linq support
for
Select
,Where
,OnConflict
,Columns
,Order
,Update
,Set
, andDelete
GetHeaders
is now passed toModeledResponse
andBaseModel
so that the defaultUpdate
andDelete
methods use the latest credentialsGetHeaders
is used inRpc
calls (re: #39)
IPostgrestClient
andIPostgrestAPI
now implementIGettableHeaders
- Make
SerializerSettings
publicly accessible.
- Re: #54 Restructure Project to support DI and enable
Nullity
Client
is no longer a singleton class.StatelessClient
has been removed asClient
performs the same essential functions.Table
default constructor requires reference toJsonSerializerSettings
BaseModel
now keeps track ofBaseUrl
andRequestClientOptions
. These are now used in the default (and overridable)BaseModel.Update
andBaseModel.Delete
methods (as they previously referenced the singleton).- All publicly facing classes (that offer functionality) now include an Interface.
RequestException
is no longer thrown for attempting to update a record that does not exist, instead an emptyModeledResponse
is returned.
Re: #50 & #51
Adds shouldFilterTopRows
as constructor parameter for ReferenceAttribute
which defaults to true
to match current
API expectations.
- [Minor] Breaking API change: Remove
BaseModel.PrimaryKeyValue
andBaseModel.PrimaryKeyColumn
in favor of aPrimaryKey
dictionary with support for composite keys. - Re: #48 - Add support for derived models
on
ReferenceAttribute
- Re: #49 - Added
Match(T model)
- Merged #47 which added cancellation token support
to
Table<T>
methods. Thanks @devpikachu!
- Additional
OnConflict
Access viaQueryOptions
with reference to supabase-community/supabase-csharp#29
- Added
OnConflict
parameter for UNIQUE resolution with reference to supabase-community/supabase-csharp#29
- Merged #44 Fixing zero length content when sending requests without body. Thanks @SameerOmar!
- Implements #41, which adds support for
infinity
and-infinity
as readable values.
- Merged #39, which a fixed shadowed variable
in
Table.And
andTable.Or
. Thanks @erichards3!
- Fix for #38, Add support for
NullValueHandling
to be specified on aColumn
Attribute and for it to be honored on Inserts and Updates. Defaults to:NullValueHandling.Include
.
- Fix for #37 - Fixes #37 - Return Type
minimal
would fail to resolve because of incorrectAccept
headers. Added header and test to verify for future.
- Fix for #36 - Inserting/Upserting bulk records would fail while doing an unnecessary generic coercion.
- Add a
StatelessClient
static class (re: #7) that enables API interactions through specifyingStatelessClientOptions
- Fix for #35 - Client now handles DateTime[] serialization and deserialization.
- Added tests for
StatelessClient
- Added "Kitchen Sink" tests for roundtrip serialization and deserialization data coersion.