Skip to content

Releases: trenoncourt/AutoQueryable

AutoQueryable 2.0.11-beta

15 Jun 09:31
1383b3d
Compare
Choose a tag to compare
Pre-release

Features

add ThenBy/ThenByDescending method for sorting
add sub query or else capability
add multiple or capability
update doc with or & and capabilities

Fix

change backing field to resolve net core serializer problem
total count now works in concurrent queries

AutoQueryable 2.0.6-beta

08 Sep 09:18
23ec11b
Compare
Choose a tag to compare
Pre-release

Fixes

fix: remove '_' from auto property naming in netframework classic

AutoQueryable 2.0.5-beta

12 Aug 17:58
10593a5
Compare
Choose a tag to compare
Pre-release

Features

#68 total-count with wrapwith clause

You can now ask total-count in wrapWith clause

?select=id,name&color=red&wrapWith=total-count,count

Fixes

#69 DisAllowed Clauses

Disallowed & allowed are fixed in this release. UT has been added for this feature.

AutoQueryable 2.0.4-beta

05 Aug 18:21
dedf2fc
Compare
Choose a tag to compare
Pre-release

Fixes

#61 Decimal points in query strings

decimal point in query string are now well converted into decimal type

AutoQueryable 2.0.3-beta

03 Aug 07:53
4f88610
Compare
Choose a tag to compare
Pre-release

Features

#57 Default to select

You can now define DefaultToSelect property in AQ settings or with attribute. By default, selection si '_' which is all properties without navigation

[AutoQueryable(DefaultToSelect = "_")]
[AutoQueryable(DefaultToSelect = "*")]
[AutoQueryable(DefaultToSelect = "id,name")]

Fixes

#58 Support for Indexer access

Indexer properties are now ignored to prevent this bug, they will be managed in a future release.

AutoQueryable 2.0.2-beta

25 Jul 14:35
5c3880d
Compare
Choose a tag to compare
Pre-release

Features

Dependency Injection

The major update into AQ 2.x is DI. you can replace all AQ dependencies by yours, eg:

services.AddScoped<IAutoQueryableContext, AutoQueryableContext>()
                .AddScoped<IAutoQueryableProfile, AutoQueryableProfile>(_ => profile)
                .AddScoped<IAutoQueryHandler, AutoQueryHandler>()
                .AddScoped<IClauseValueManager, ClauseValueManager>()
                .AddScoped<ICriteriaFilterManager, CriteriaFilterManager>()
                .AddScoped<IClauseMapManager, ClauseMapManager>()
                .AddScoped<ISelectClauseHandler, DefaultSelectClauseHandler>()
                .AddScoped<IOrderByClauseHandler, DefaultOrderByClauseHandler>()
                .AddScoped<IWrapWithClauseHandler, DefaultWrapWithClauseHandler>()
                .AddScoped<IQueryStringAccessor, AspNetCoreQueryStringAccessor>()
                .AddScoped<AutoQueryableFilter>();

there are 2 new packages for aspnet core & aspnet framework to add all default AQ dependencies :

// aspnet core
services..AddAutoQueryable();
// aspnet framework
builder.RegisterAutoQueryable();

Global settings

You can define global settings for AQ with DI:

services.AddAutoQueryable(settings => { settings.DefaultToTake = 10; });

If you're not using built-in DI you can register your own implementation of IAutoQueryableProfile

Swagger

#56 You can now use AQ swagger extension with non AQ attribute routes with the new AutoQueryableSwagger Attribute

Changes

Default To take

#57 Default to take has no default value. We can define default value in DI settings

AutoQueryable 1.7.0

25 Apr 15:33
1015c8c
Compare
Choose a tag to compare

Features

Page and PageSize clauses

  • Add Page and PageSize clauses to include paging for requests

DateInYear and DateNotInYear

  • Add DateInYear and DateNotInYear filters to filter date with year only, usage: mydate:year=1989&mydate:year!=2018

Changes

Default To take

Add default value for DefaultToTake property : 10

Refactor

Big refacto of filters & unit testing:

  • CriteriaFilter
  • DateTimeFilter
  • StringFilter
  • Level - Alias for filters
  • Xunit and FluentAssertions for testing
  • Require 'this' qualifier for properties, fields, events, ...
  • Var usage in all declarations

Big thanks to @nfdevil for this work

AutoQueryable 1.6.0

07 Apr 10:03
97202b4
Compare
Choose a tag to compare

Features

Default Order By

  • Add DefaultOrderBy, DefaultOrderByDesc capability in attribute and profile

Default To take

Add DefaultToTake capability in attribute and profile

Fixes

MaxToTake

  • MaxToTake now works without queryString

Select Helper

  • runtime type now use type name as well

Base Types

  • base types now work with take/skip

Refactor

Started a big refactoring of the project for 2.0 version:

  • Remove providers & default providers
  • Perf improvment
  • Small fixes
  • Change nullable properties in profil in favor of properties
  • No more AQ.Core project
  • Add AQ context injected in all models
  • Add clauses models
  • ...

AutoQueryable 1.5.0

20 Jan 16:34
eea8289
Compare
Choose a tag to compare

Features

Level zero star selector

Add ability to retrieve all relationships from level 0 with select=*

Level zero underscore selector

Add ability to retrieve all the fields of level 0 without relationships with select=_.

Of course you can chain level zero underscore and star with others selections

AutoQueryable 1.4.1

18 Jan 18:12
9ce4b0d
Compare
Choose a tag to compare

Features

Base type

Add a property inside autoqueryable attribute and autoqueryable profile to chose between dynamic types and base types.
Dynamic type will be the default type.

Fixes

Query string

  • query string with special character * is now unescaped