Refactored to run under pers directory on RCube
Changed logging location to be syslog.LOCAL3 instead of unique file following pers protocol
Changed database user to be same as used in pers
Disabled access to adl and adllog API endpoints for sites that do not have RCare Mobile enabled. Returns 400 Bad Request status in that case
Added device related Alarm fields independent of the device parameter lookup. This allows API clients to add alarms for devices that are not defined in the devices table
Added view and view/member endpoints to handle incident views
Added incident filtering, including filtering by view. See GET /api/incident/ in the API Spec for details
Removed DELETE action from incident endpoint
Converted to a gradle build for packaging and deployment
Added back self-contained install script
Use package list to selectivly install debian packages to prevent issues on legacy cubes
Prevent API failure if DB_Ver is missing from database (very, very old cubes)
Implemented PUT support for updating. POST with ID will still work, but is considered deprecated
Added /api/versions/ endpoint for pulling all versioning info from a Cube
Added /api/status/led/ endpoint for pulling status of Cube front panel LEDs
Added site to /api/ endpoint to easily identify Cube site
Moved DB_ver from /api/ to /ap/versions/ endpoint
Fixed installer suppressing apt-get output, possibly causing hangs
Added /api/broadcast/ endpoint to handle broadcasts
Added /api/auth/rcmuser endpoint to handle logins for RCare Mobile, which checks available licenses, user type, and current login status
Auth API now returns ttl that specifies how long an access token has to live
Access tokens for users now have a TTL that is equal to the login_duration defined for the user
Added limit filter to /api/incident
Defaulted to order by start_time descending for /api/incident
Required Account find by room 'address1' and 'address2' parameters
Fixed docs for Account find by room
Added limit and offset support to /api/adllog
Added /api/account/photo API to support account photos
Added /api/user/photo API to support user photos
Added /api/nfc API to support NFC tags
Added photoPath as member of Account and User objects for quick photo access
Fixed /api/view/member API signature to more industry standard format
Moved more server defined constants into configuration
Cleaned up functions causing entries in error log
POST and PUT requests accept JSON encoded paramaters with content ype of 'application/json'
Fixed filtering of incidents for default view (Issue #1)
Ignore any view provided to the incident filter that is less than 1
Return error if incident filter provided with non-existent view ID (Issue #2)
Removed ability to delete default view and default view members
rcm-server user (rcare2) is not counted against the number of used licenses (Issue #4)
Fixed issue with identifying PNG images in PhotoManager
Fixed missing account photos under certain circumstances
Added checks to prevent default view from being updated
Added release and user context to sentry.io reporting
Corrected default view to be 0, not 1
Allow GET /api/view to ge called unauthenticated. Resolves some bootstrapping issues for external applications
Added /api/authlog endpoint to handle authentication logging
Added /api/locator endpoint to handle locator management
Automatically generate auth_log entry on successful /api/auth/user and /api/auth/rcmuser calls
Added ALP to /api/settings for identifying ALP (advanced locating protocol) sites
Added has_fault and associated fault flags to objects returned from /api/device
Added filtering on /api/device, including has_fault
Added missing server notifications on database changes
Added missing server notifications on user picture change
Fixing LocatorManager unit tests
IncidentManager no longer recognizes view 1 as a default view
Add hash to the end of all user and account images to bypass caching
Allow RCM users to login to an RCube if CC900 preference is set
Added /api/metrics/call endpoint to return call metrics
Added /api/token/apn endpoint to allow for Apple Push Notification integration
Added filter options to /api/user endpoint, including rcmactive to ruturn only currently logged in RCM users
Added missing type field to /api/user endpoint operations
Removed default/test app authentication secrets
Incident Log items returns in newest-to-oldest order instead of unordered
Added /api/token/wakeup endpoint to allow for notification of external tokens
Added curl extentions to php for Alexa Echo integration support
Use option based identifier for RCM users for legacy cubes
Round durations from database for call_metrics, since milli/micros show up as decimals
Use default shift times when calculating shift metrics
Allow debian package list to be updated
Added DELETE /api/device/echo/[id] endpoint to delete Amazon Echo devices
Added rcare-alexa app auth
Rename packages for Debian stretch during install/update
Added check for blank account in AlarmManager (closes #5)
Added catch for invalid view ID in incident filter (closes #6)
Rearranged app auths to make them more consistent
Limited number of allowed iOS logins to new rcm_ios_licenses field
Generated text-to-speech audio for created/updated accounts by using tts=true field
Handled non-Vcube params on account updates to Rcubes
Added check to only do text-to-speech for non-Rcubes
Handled missing RCM license counts
Handled iOS license check better, only do if iOS license is requested
Added check for failing connected RCM user call (fixes #7)
Fixed issue with very short usernames incorrectly showing up as logged in
Added detection of DISABLE_ADLS def to disable ADLs for new RCare Mobile apps
Changed Debian package installer to use safer method of installation
Added field_lock field to Account API
Improved logging output to be less spammy and more informative
Added /api/update endpoint for handling update objects
Added /api/update/check endpoint for checking for available updates
Added /api/update/download endpoint for downloading binary updates
Removed unused /api/broadcast endpoint
Added documentation for remote API access
Updated all composer libraries
Fixed account photo path on RCubes
Fixed token refresh for apps (closes #8)
Added /api/rcmdevice endpoint for handling RCare Mobile devices
Added green_dome value to accounts to allow for setting of presence dome light
Added allactive to GET /api/incident endpoint that always returns active incidents first
Added DB version checking for API calls for recently added fields
Added automatic RCM Device update and creation on /api/auth/rcmuser
Added new fields to /api/rcmdevice to support better device identification
Added /api/update/[id]/apply endpoint for applying updates to devices
Added /api/update/[id]/rcmdevices endpoint for finding devices with applied update
Added /api/rcmdevice/[id]/updates endpoint for finding updates applied to device
Added logic for multi-purpose LED 2 in /api/status/led
Resized deviceid column in authlog to handle bcube-ui UUIDs
Added /api/timedreminder endpoint for handling timed reminders
Added /api/patientdata endpoint for handling arbitrary patient data
Added detection of same device login in /api/auth/rcmuser
Redirected rcm-client updates over version 3.x to rcm-client-android
Fixed installer to add rcm_devices table for RCube installs
Added support for KORE failover on LED 4
Fixed issue with class const not working on PHP less than 5.3
Fixed issue accessing returned array directly on PHP less than 5.3 (CUBE-API-1X)
Fixed incorrect timed reminder ID name (CUBE-API-2A, CUBE-API-2B)
Fixed missing result object in NFC API Route (CUBE-API-2E)
Fixed error with missing 'hw_type' during login (CUBE-API-2D)
Fixed error returning newly created auth log entries (CUBE-API-2C)
Added support for Debian 10 (buster)
Added extended statuses on LED 4
Fixed README documentation
Added unit tests to ensure update checks for rcm-client / rcm-client-android behave correctly
Added /api/settings/extapp endpoint for pulling RCare Mobil external app config
Added PUT /api/settings for allowing editing of select settings
Changed POST /api/token/wakeup/[user] default behavior to send standard wakeups
Added POST /api/token/wakeup/[user] parameter voip=true to allow for VoIP wakeups
Added apn_topic field to all token endpoints to differentiate between VoIP and iOS tokens
Added notify topics of user_login and user_logout when creating auth log items for rcm-client-ios devices
Added new rcm_apn_legacy_mode setting to PUT /api/settings
Added script for creating build environment
Updated documentation
Added new ids param to limit GET /device by device id(s).
Return timezone with cube settings.
Update support server IP.
Added hash logic to /account to support client side caching.
alarm now returns the incident that it created.
POST account will now update RCM user.
Add rcare2 to database
Fix for license counting for auth on PHP 7.
Nxtgen integration
Messaging endpoint
extra_json field for users
GroupNameManager now creates notification chain correctly.
Handle Incident close correctly.
Moved logging to /var/log/cube-api/
Support for iOS APNs push notifications
Remove logging call to reduce Sentry usage
Add ability to specify if an endpoint should provide cache-control header.
User endpoints now send cache-control.
Added ALIS app key
New Features
- Added /api/adtlog endpoint for posting ADT Log information
- Added PCC_ALLERGY_AD to rcare.defs in config
- Upgraded composer packages
Resolved Issues
- Made all fields required for create in APNTokenManager
- Fixed syntax that breaks on php 5.3 (closes CUBE-API-7E)
- Added explicit zero result if hash is same (closes CUBE-API-42)
ADT Log endpoint
Added
- Several new app-based auth tokens
findAllByIDto AccountManager specifically for PCC
Changed
- APNTokenManager: Default view_number to 0 if it doesn’t exist
- Remove all closing PHP tags to prevent errors in API response
- Update gradle script to support v8
Auth tokens