- Added a UI to show records in the DATA API change queue per subscribed API client
- Non string renderers: respect returned data when it is an empty array or struct for rendering in results
- Ability to set API level defaults for allowIdInsert and allowed verbs
- #86 Fix issue with id field appearing as required for POST requests
- Ability to have deleted record detail in queue data
- Add flag option to allow renderers to process empty values (fix for certain implementations with changes made in 3.5.5)
- DATAAPI-27 - Function count does not exist in the object
- DATAAPI-28 - Swagger docs expand api to invalid endpoint url
- Validated data not passed through on update single record - PUT
- Always return id field in entity GETs
- Stop silent try/catch that could lead to inconsistent return form of atomic data api queue items
- Queue with atomic changes do not include default value or generated value fields for INSERT
- Update twgit release version generator
- #73 Exit early from field rendering to avoid needless handler invocation
- #70 API call returns all fields when only invalid fields provided in fields parameter
- #68 Fix for issue where background errors recorded when deleting records without an id field
- DATAAPI-16 - Pass complete record through to renderer
- #64 Change to way delete operations queue when there are outstanding insert/update operations in the queue
- #67 New
postValidateUpsertData
interception point
- Time values now have default formatting of HH:mm
- #62- Fix issues with bad content renderers for data with page links
- #61 - Fix bad i18n keys being used for documenting field descriptions
- #58 - Return
null
for empty strings and empty numeric field types
- Add
dataApiIgnoreDefaultFilters
feature - Fix issue deleteData( filter=... ) would not queue deletes
- Add property’s name to data returned by field settings
- Pass through all args when using recordCountOnly=true to ensure saved/extra filters are included
- Add
getMultipleRecords()
method for embedding entities
- Introduce new annotation for objects to limit which fields will be watched for pushing changes into a change queue
- Explicitly pass args through to documentation view (Preside 10.14 compatibility)
- Ensure assets are compiled in build
- Move build and deploy to GitHub actions
- Fix: include filters in pagination links
- Fix: If object name and the api entity name are different within one entity, no rights can be assigned in the API Manager
- Fix missed merge conflict
- Add some safety checking for non-existant entities when building permissions forms (fixes potential errors with custom namespace configurations)
- Building on
v3.0.15
,skipApiQueueWhenSkipSyncQueue
now considered for all CRUD data api changes. Default value is now true
skipApiQueueWhenSkipSyncQueue
object decoration to use syncSynQueue intercept data to determine whether to skip the api change queue or not. You can sync object data without it being added to the api change queue.
- Fix for issue where there may be custom API configuration for objects that do not exist. Just ignore the configuration rather than raise errors.
- Fix for Queue Record Count not being returned for the default queue
- Fix for #43. PUT operations could fail when providing an unchanged field that had a unique index.
- Reapply accidentally removed code from v3.0.10 pull request.
- Add ability to bypass queuing a record in insertData() with
skipDataApiQueue
argument.
- #39 Add configuration option for disabling X-Total-Records on queue fetches
- Ensure DELETE from queue works in all different queue scenarios
- #38 Specifying fields in request should respect property alias
- #37 Add
dataApiDerivative
argument to properties for rendering image asset URLs
- #36 Fix error where DELETE /queue fails for batch delete on default queue (array of IDs in JSON body)
- #35 Ensure that 404 is shown when API resource URI not found (was throwing 500 error)
- #34 Ensure deleting entries from the queue works with all default queues in all namespaces
- #33 Ensure all queue items are picked up for default queues
- #29 Apply saved filters when queueing changes to data
- #27 Use field aliases when documenting and using filter fields in paginated GET requests
- #26 Fix for errors raised when calling API for entity whose primary key is numeric
- Add admin UI for managing individual user access to entities, verbs and queues
- Ability to turn off the queue feature entirely
- Ability to turn off the queue feature per object
- Allow queue to contain atomic data changes
- Allow queue to return configurable number of records, rather than always 1
- Allow multiple queues for different groups of objects and with individual queue settings
- Add new plain HTML documentation endpoint
- Object properties should be able to specify type and format for their spec definitions
- Ability to categorize entities (applies to HTML documentation only)
- Ability to set sort order on entities
- Ability to set favicon for an API
- Use plural name of entity for default entity tag name
- Automatically convert foreign keys to assets, links and pages to URLs.
- Ability to exclude/include properties in the API through annotations on the properties
- Documentation of foreign keys: only use 'Foreign Key UUID' format when it really is a UUID (i.e., not for int)
- Do not show authentication description when API does not use authentication
- Fix path to docs
- Better handling of namespaced routes and handler paths
- Update queues to allow namespacing
- Add support for multiple configured APIs via namespacing
- Add
dataApiSavedFilters
annotation
- Total record count should return filtered count if filter is applied
- Prevent stack overflow with recursive loading of services on application startup
- #2: Add preValidate interception point for upsert operations
- Fixes #1: ensure that booleans are rendered as 'true' or 'false', not '1' or '0'
- Add general error message documentation
- When POSTing (creating records), do not ignore missing fields
- Add option for specifying whether or not ID field creation is supported
- Refactoring build system
- Change queue logic so that fetching next item from queue always returns the same item until the API user manually removes it from the queue
- Fix interceptor logic to not break deletes that use a filter other than record IDs
- Improve documentation of queue system API
- Fix the possible field list for the 'fields' REST API param
- Allow for default descriptions of commonly named fields
- Initial release