bones_api 1.0.15 bones_api: ^1.0.15 copied to clipboard
Bones_API - A Powerful API backend framework for Dart. Comes with a built-in HTTP Server, routes handler, entity handler, SQL translator, and DB adapters.
1.0.15 #
EntityHandler
:resolveValueByType
now can select an entity by its ID when necessary.
ClassReflectionEntityHandler
:- Fixed
fieldsTypes
andfindIdFieldName
, to ignore fields that are final or doesn't have a setter. - Fixed use of
reflection
to ensure that current object is used.
- Fixed
- Improved tests to run
Entity
tests repositories with reflection and without reflection. - reflection_factory: ^1.0.12
1.0.14 #
- Added
SQLAdapter
forMySQL
. - SQL:
- Improve generated SQL, to adapt to different dialects.
- Allow generation of SQL with only positional parameters (needed for MySQL).
- Improve return of DELETE, to circumvent SQL dialects without
RETURNNG
andOUTPUT
. - Improved supported types.
- mysql1: ^0.19.2
- docker_commander: ^2.0.13
1.0.13 #
- Added
TypeInfo
to represent better types with generics. - Added
TableRelationshipReference
for use inTableScheme
. - Added
TimedMap
to help with timed caches. - Added
KeyConditionIN
andKeyConditionNotIN
. - Entities:
- Added support to relationship fields.
- Added support for List fields pointing to another entity.
SQLEntityRepository
:- Added support to UPDATE.
- Added support to relationship tables.
1.0.12 #
- CLI:
- Added option
--build
to automatically build reflection files when detected by inspector. - Added commands:
create
: creates abones_api
backend project tree.info
: show information about thebones_api
backend project template.
- Added option
- reflection_factory: ^1.0.10
- project_template: ^1.0.2
- resource_portable: ^3.0.0
1.0.11 #
APIRequest
:- Added
scheme
,requesterSource
and_requesterAddress
.
- Added
APIResponse
:- Added metrics support (used to generate
Server-Timing
headers). - Added
setCORS
.
- Added metrics support (used to generate
- Added
TypeParser
, for lenient parsing of basic Dart types. - Entities:
- Better automatic conversion of types when setting entities fields.
- Added support for transactions.
- Repositories:
- Added
limit
support for queries. - Better resolution of correct
EntityRepository
andEntityHandler
for a type while loading it. - Better resolution of sub-entities in fields.
- Added
- Improved tests:
- Using Docker container to test PostgreSQL adapter.
- async_extension: ^1.0.7
- reflection_factory: ^1.0.8
- docker_commander: ^2.0.12
1.0.10 #
TableScheme
:- Added
getFieldsValues
andgetFieldValue
.
- Added
EntityHandler
: optimized fiel resolution onsetFieldsFromMap
.- Improved dartdoc references.
- Improved tests.
1.0.9 #
apiMethod
now can receive anAPIRequest
parameter while receiving other normal parameters.PostgreSQLAdapter
: correctly resolvingidFieldName
by primary key column.- Added test to ensure that
APIRoot.VERSION
is compatible withpubspec.yaml
. - Added test that uses reflection.
- Added
build_verify
test. - reflection_factory: ^1.0.7
1.0.8 #
- Added
APIConfig
:- CLI now accepts a
--config
option.
- CLI now accepts a
- Rename
Data
classes toEntity
. - Added
MemorySQLAdapter
. - Added
TableScheme
to helpConditionEncoder
:- SQL now can perform inner join:
- Example Condition:
address.state = "NY"
- Example Condition:
- SQL now can perform inner join:
- Improved
ConditionID
encoding:- ID field name (primary key) can be resolved for each table.
#ID
can be used to point to the primary key field/column.
APIRepository
&EntityRepository
:- Added delete operation.
EntityHandler
now handles better fields that points to other entities.- Improved tests.
- async_extension: ^1.0.5
- reflection_factory: ^1.0.6
- yaml: ^3.1.0
- yaml_writer: ^1.0.1
- mercury_client: ^2.1.0
1.0.7 #
- Added
APIPayload.payloadFileExtension
. - Added
ConditionEncoder
,ConditionSQLEncoder
. - Improved Data & Entity framework:
- Added
SQLDatabaseAdapter
andPostgreAdapter
. - Added
DataRepositorySQL
.
- Added
- Added DB Adapter for PostgreSQL.
- APIServer:
- Better auto MIME Type resolution.
- Now API methods can return
FutureOr<APIResponse>
. - mime: ^1.0.0
1.0.6 #
- CLI Hot Reload fixed:
- Avoid reload of main Isolate (bones_api CLI), since API is spawned in it's own Isolate.
DataEntity
:- Added
fieldsNames
.
- Added
DataHandlerProvider
:- Fixed
getDataHandler
.
- Fixed
- Added
EntityDataHandler
andDataRepositoryProvider
.
1.0.5 #
- Added integration with
ReflectionFactory
.- Routes can be configured using a
reflection
object.
- Routes can be configured using a
APIServer
:- Added support to Dart VM Hot Reload.
- CLI
bones_api
:- Added flag
--hotreload
to serve the API with Hot Reload enabled.
- Added flag
- Added
DataEntity
andDataHandler
framework - Added
Condition
:- Allow queries using a syntax similar to Dart.
- New
APIRepository
, to allow database agnostic integration. - dart_spawner: ^1.0.5
- reflection_factory: ^1.0.4
- args: ^2.2.0
- petitparser: ^4.2.0
- hotreloader: ^3.0.1
- logging: ^1.0.1
- collection: ^1.15.0
- lints: ^1.0.1
1.0.4 #
- CLI
bones_api
:- Added command
console
. - Command
serve
: added headerContent-Type
.
- Added command
- Added
Arguments
tool. - Added
APIRequest.fromArgs
andAPIRequest.fromArgsLine
. - Added
APIRequest
/APIResponse
payloadMimeType
.
1.0.3 #
APIServer
:- Added
create
andrun
helpers.
- Added
1.0.2 #
APIServer
:- Add
isStopped
andwaitStopped()
. - Removed
isClosed
.
- Add
- Fix
PATCH
method. - CLI:
- Improved serve console logging.
- Using
dart_spawner
to spawn/run anAPI
. - dart_spawner: ^1.0.2
- Removed
yaml: ^3.1.0
1.0.1 #
- Improve documentation.
- Fix typo.
1.0.0 #
- CLI:
bones_api
withserve
command. - Initial version.