Property Management

Property Permissions Configuration

Global properties are used to manage Eclipse configurations across tenants. Access to viewing and editing global properties is restricted however there are certain scenarios insitution or other roles need access to a specific property. A common use case is where INSTITUTION_ADMIN users needs access to global properties that are specific to the tenants they are accountable for.

Access to properties is controlled by the permissionsConfig attribute on the properties entity. This is a text field that defines the roles and positions that can READ, UPDATE or DELETE a property.

UPDATE=GLOBAL_ADMIN,GLOBAL_SUPPORT_L3,TENANT_SYSTEM,INSTITUTION_FINANCE_L3_DTB
READ=GLOBAL_ADMIN,GLOBAL_SUPPORT_L3,TENANT_SYSTEM,INSTITUTION_FINANCE_L3_DTB,CUSTOMER
DELETE=GLOBAL_ADMIN

Note for institution roles the institution name must be included so the config will be specific to that institution.
INSTITUTION_FINANCE_L3_DTB

Typical use cases would be:

  1. For certain properties INSTITUTION_ADMIN needs READ, UPDATE and DELETE access to the property - the permissionsConfig for that property should be:
UPDATE=INSTITUTION_ADMIN_DTB
READ=INSTITUTION_ADMIN_DTB 
DELETE=INSTITUTION_ADMIN_DTB

  1. Certain properties need to be publicly available and any API calls without a JWT (i.e. anonymous user) should have READ access to the property - the permissionsConfig for that property should be:
READ=ANONYMOUS

  1. For certain properties, users with the CUSTOMER role should have READ access to the property - the permissionsConfig for that property should be:
READ=CUSTOMER
  1. For certain properties only TENANT_SYSTEM users should have READ access to the property - the permissionsConfig for that property should be:
READ=TENANT_SYSTEM

📘

Note

The permissionsConfig for properties can be viewed and set in the Eclipse Admin Portal but an EFT Corporation global administrator needs to first grant access as by default all properties are restricted.


Using Javaassist-Derived Properties in Eclipse

In some cases, it is useful to define an Eclipse property that is dynamically derived by running Javaassist logic.

For example, you may need a property that provides a list of all Cash Express ATM locations. This data can be retrieved through the Global Properties API, but behind the scenes Eclipse executes Javaassist to fetch the latest data from a third-party API.

The refresh interval can also be configured. This determines how often the Javaassist logic is re-executed. Between refreshes, the data is cached and returned from Eclipse.


Example Configuration

  • Global property: atm.location.config
    This defines the Javaassist execution logic (configured by the EFT team).

  • Tenant-facing property: public.atm.list
    This property can be called by tenants to retrieve the cached ATM list.

#refresh=86400
<javaassist>atm.location.config<javaassist> 

📘

Note

The refresh value is in seconds and the default is 86400