bones_api 1.0.39
bones_api: ^1.0.39 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.39 #
- Added support to Let's Encrypt HTTPS certificates.
bones_api.dartCLI:- Allow domain static files.
APIRoot:APILogger: to allow logging ofAPIRootevents.APIRequestHandler: for personalized request handlers.- New fields
preApiRequestHandlersandposApiRequestHandlers.
- Fix
SQLAdapter.generateInsertRelationshipSQLs. - Added test tag:
slow - shelf_static: ^1.1.0
- shelf_letsencrypt: ^1.0.0
- dart_spawner: ^1.0.6
- data_serializer: ^1.0.6
- mercury_client: ^2.1.3
- build_verify: ^3.0.0
- path: ^1.8.1
- sdk: '>=2.14.0 <3.0.0'
1.0.38 #
- Fix references and naming:
postgretopostgres. APIServer: added support forGzipencoding, through packageshelf_gzip.- shelf_gzip: ^4.0.0
- reflection_factory: ^1.0.21
- data_serializer: ^1.0.3
1.0.37 #
- Added support to
Conditionoperator=~(IN). - Added support to SQL operator
IN. - postgres: ^2.4.3
- test: ^1.19.5
- dependency_validator: ^3.1.2
1.0.36 #
TypeParserandTypeInfomoved to packagereflection_factory.- reflection_factory: ^1.0.20
1.0.35 #
- Fix
TypeInfo:- Now
TypeInfohandlesTypecomparison in a special way (to keep consistence between VM and JS/Web).
- Now
1.0.34 #
- Improved
EntityHandlerresolution of fields while creating instances fromMap. - reflection_factory: ^1.0.19
1.0.33 #
Entity&EntityHandler:- Added support for enums.
- Added
enumToNameandenumFromName - reflection_factory: ^1.0.18
1.0.32 #
Json:- Integrated with
reflection_factoryJsonCodec.
- Integrated with
FieldsFromMap.getFieldsValuesFromMap: added parameterincludeAbsentFields.isAPIMethod: now ignores methods declared byAPIModule, sincereflection_factorynow supports supper classes.- reflection_factory: ^1.0.17
- postgres: ^2.4.2
- build_runner: ^2.1.5
- test: ^1.19.3
1.0.31 #
- Added
APIServer.apiInfoURL. - Updated
bones_api_template.tar.gz. - CLI
serve: fix an issue when mixing parameters-band-r.
1.0.30 #
Json.toJson:- Added parameters:
removeNullFieldsandentityHandlerProvider. - Fixed application of
removeFieldandmaskFieldover an entity.
- Added parameters:
1.0.29 #
- Improved
Json.toJson. - Added field
APIAuthentication.data. APISecurity: addedgetAuthenticationData.
1.0.28 #
- Added
API-INFOpath: describes the API routes.
1.0.27 #
- Improved resolution of
ClassReflectionEntityHandler. - Extension:
ReflectionFactory.createFromMap.ClassReflection.createFromMap.
- async_extension: ^1.0.9
- reflection_factory: ^1.0.16
1.0.26 #
- Added
APICredential,APIPasswordandAPISecurity. - Routes now can have
APIRouteRuleannotations. EntityHandler: now using also using sibling reflections to resolve.DataTime:toJsonnow converts to aUTCstring.- Added
MapMultiValueExtension. - Updated
bones_api_template.tar.gz. - reflection_factory: ^1.0.14
- crypto: ^3.0.1
1.0.25 #
- Update template:
lib/src/template/bones_api_template.tar.gz
1.0.24 #
TableFieldReferenceandTableFieldReferencenow also have the fields type.SchemeProvidernow can resolve an entity ID.- Fix
Conditionvalue when an entity is passed or referenced.
1.0.23 #
Transaction:- Added
abortto cancel the current executing transaction. - Better error handling.
- Added
- Error Zone:
runErrorZonetransformed intocreateErrorZoneand an extension withrunGuardedAsyncandasyncTry.
executeWithPool: addedvalidatorparameter.- async_extension: ^1.0.8
1.0.22 #
Condition:- Improved sub-field match.
SQL:- Allow
Conditionwith fields that are a relationship table.
- Allow
MySQLAdapter:- Using
sqlElementQuote"`" to avoid issues with reserved words.
- Using
1.0.21 #
- Better handling of route parameters with
nulland empty values. - Improve example and
README.md. - mercury_client: ^2.1.1
1.0.20 #
APIRouteBuilder:- Better conversion of parameters types.
- Payload only for parameter of type
Uint8List.
APIServer:- Better handling of errors of async payloads (
Futureresolution).
- Better handling of errors of async payloads (
1.0.19 #
- Improved
SQLEntityRepositorytests. - Fixed
MemorySQLAdapter:- Ensure that relationships entries are unique.
- Update previous entity fields.
- Improved tests tags:
version,dockerandbuild.
1.0.18 #
APIResponseStatus:- Added
BAD_REQUEST.
- Added
- Added
InstanceTrackerto track entities fields changes. EntityRepository:- tracking entity fields changes.
- SQL:
- Fix update syntax.
- Improved
UPDATEto set only modified fields.
1.0.17 #
- Optimize imports.
- Fix wrong import, that was preventing to use in JS/Browser platforms.
1.0.16 #
- Better handling of
APIServererrors and logging. - Added
runErrorZonehelper. - Added logging for entity operations errors.
- reflection_factory: ^1.0.13
1.0.15 #
EntityHandler:resolveValueByTypenow can select an entity by its ID when necessary.
ClassReflectionEntityHandler:- Fixed
fieldsTypesandfindIdFieldName, to ignore fields that are final or doesn't have a setter. - Fixed use of
reflectionto ensure that current object is used.
- Fixed
- Improved tests to run
Entitytests repositories with reflection and without reflection. - reflection_factory: ^1.0.12
1.0.14 #
- Added
SQLAdapterforMySQL. - 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
RETURNNGandOUTPUT. - Improved supported types.
- mysql1: ^0.19.2
- docker_commander: ^2.0.13
1.0.13 #
- Added
TypeInfoto represent better types with generics. - Added
TableRelationshipReferencefor use inTableScheme. - Added
TimedMapto help with timed caches. - Added
KeyConditionINandKeyConditionNotIN. - 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
--buildto automatically build reflection files when detected by inspector. - Added commands:
create: creates abones_apibackend project tree.info: show information about thebones_apibackend 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,requesterSourceand_requesterAddress.
- Added
APIResponse:- Added metrics support (used to generate
Server-Timingheaders). - 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
limitsupport for queries. - Better resolution of correct
EntityRepositoryandEntityHandlerfor 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
getFieldsValuesandgetFieldValue.
- Added
EntityHandler: optimized fiel resolution onsetFieldsFromMap.- Improved dartdoc references.
- Improved tests.
1.0.9 #
apiMethodnow can receive anAPIRequestparameter while receiving other normal parameters.PostgreSQLAdapter: correctly resolvingidFieldNameby primary key column.- Added test to ensure that
APIRoot.VERSIONis compatible withpubspec.yaml. - Added test that uses reflection.
- Added
build_verifytest. - reflection_factory: ^1.0.7
1.0.8 #
- Added
APIConfig:- CLI now accepts a
--configoption.
- CLI now accepts a
- Rename
Dataclasses toEntity. - Added
MemorySQLAdapter. - Added
TableSchemeto helpConditionEncoder:- SQL now can perform inner join:
- Example Condition:
address.state = "NY"
- Example Condition:
- SQL now can perform inner join:
- Improved
ConditionIDencoding:- ID field name (primary key) can be resolved for each table.
#IDcan be used to point to the primary key field/column.
APIRepository&EntityRepository:- Added delete operation.
EntityHandlernow 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
SQLDatabaseAdapterandPostgreAdapter. - 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
EntityDataHandlerandDataRepositoryProvider.
1.0.5 #
- Added integration with
ReflectionFactory.- Routes can be configured using a
reflectionobject.
- Routes can be configured using a
APIServer:- Added support to Dart VM Hot Reload.
- CLI
bones_api:- Added flag
--hotreloadto serve the API with Hot Reload enabled.
- Added flag
- Added
DataEntityandDataHandlerframework - 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
Argumentstool. - Added
APIRequest.fromArgsandAPIRequest.fromArgsLine. - Added
APIRequest/APIResponsepayloadMimeType.
1.0.3 #
APIServer:- Added
createandrunhelpers.
- Added
1.0.2 #
APIServer:- Add
isStoppedandwaitStopped(). - Removed
isClosed.
- Add
- Fix
PATCHmethod. - CLI:
- Improved serve console logging.
- Using
dart_spawnerto 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_apiwithservecommand. - Initial version.