Advanced Settings APIs

The Advanced Settings page allows user to

  • manage the list of data source categories
  • update system settings in related groups

Summary

API Purpose Usage in Izenda Front-end
POST advancedSetting/category Updates the list of categories. Settings > Data Setup > Advanced Settings > Category > Save
GET advancedSetting/category/(tenant_id) Returns an array of categories (filtered by tenant_id if provided). Settings > Data Setup > Advanced Settings > Category
DELETE advancedSetting/category/{category_id} Deletes the category specified by category_id. Settings > Data Setup > Advanced Settings > Category > click Remove icon
GET advancedSetting/performance/(tenant_id) Returns the settings in Performance group (filtered by tenant_id if provided). - On Front-end load
- Settings > Data Setup > Advanced Settings > Performance
POST advancedSetting/performance Updates the settings in Performance group. Settings > Data Setup > Advanced Settings > Performance > Save
GET advancedSetting/security/(tenant_id) Returns the settings in Security group (filtered by tenant_id if provided). - On Front-end load
- Settings > Data Setup > Advanced Settings > Security
POST advancedSetting/security Updates the settings in Security group. Settings > Data Setup > Advanced Settings > Security > Save
GET advancedSetting/miscSetting/(tenant_id) Returns the settings in Others group (filtered by tenant_id if provided). Settings > Data Setup > Advanced Settings > Others
POST advancedSetting/miscSetting Updates the settings in Others group. Settings > Data Setup > Advanced Settings > Others > Save
POST advancedSetting/defaultImageUrl Updates the default image url setting. Not used
GET advancedSetting/defaultImageUrl(?tenantId=tenant_id) Returns the default image url setting. Setting Level Tenant is selected

GET api/advancedSetting/defaultTheme(?tenantId=tenant_id)

New in version 2.9.0.

Returns the default theme setting. Setting Level Tenant is selected

POST api/advancedSetting/defaultTheme

New in version 2.9.0.

Add or update default theme for system or tenant. Save default theme setting.

POST advancedSetting/category

Updates the list of categories.

Request

An array of DataSourceCategory objects

Response

An OperationResult object with success field true if the update is successful

Samples

POST /api/advancedSetting/category HTTP/1.1

With an existing empty category list, this request payload will add two categories ABC and XYZ:

[
  {
     "id" : null,
     "name" : "ABC",
     "tenantId" : null
  }, {
     "id" : null,
     "name" : "XYZ",
     "tenantId" : null
  }
]

Sample response:

{
  "success" : true,
  "messages" : []
}

User needs to reload the category list to have the server-generated ids by calling GET advancedSetting/category/(tenant_id). User will get:

[
  {
     "id" : "0eac7266-4150-4b45-b6f7-6c40d95b6a37",
     "name" : "ABC",
     "tenantId" : null
  }, {
     "id" : "45c747c5-a11a-48f4-b966-14819a07450f",
     "name" : "XYZ",
     "tenantId" : null
  }
]

Right after that, assuming user have renamed ABC category to ABCDEF, removed XYZ and added QRS, the update request payload will be:

[
  {
     "id" : "0eac7266-4150-4b45-b6f7-6c40d95b6a37",
     "name" : "ABCDEF",
     "tenantId" : null
  }, {
     "id" : null,
     "name" : "QRS",
     "tenantId" : null
  }
]

GET advancedSetting/category/(tenant_id)

Returns an array of categories (filtered by tenant_id if provided).

Request

No payload

Response

An array of DataSourceCategory objects

Samples

GET /api/advancedSetting/category HTTP/1.1

Sample response:

[{
     "id" : "45c747c5-a11a-48f4-b966-14819a07450f",
     "name" : "ABC",
     "tenantId" : null,
     "modified" : "2016-03-20T04:47:09.1170000+07:00",
     "deleted" : false
  }, {
     "id" : "cda0ef9a-7fc0-4f9b-96ed-b1c33ea624b1",
     "name" : "DEF",
     "tenantId" : null,
     "modified" : "2016-03-20T04:47:09.1330000+07:00",
     "deleted" : false
  }, {
     "id" : "868e6176-530f-4e8a-bef4-fb14d50e1882",
     "name" : "QRS",
     "tenantId" : null,
     "modified" : "2016-03-20T04:47:09.1330000+07:00",
     "deleted" : false
  }
]

DELETE advancedSetting/category/{category_id}

Deletes the category specified by category_id.

Request

No payload

Response

An OperationResult object with success field true if the deletion is successful

Samples

DELETE /api/advancedSetting/category/cda0ef9a-7fc0-4f9b-96ed-b1c33ea624b1 HTTP/1.1

Sample response:

{
  "success" : true,
  "messages" : null
}

GET advancedSetting/performance/(tenant_id)

Returns the settings in Performance group (filtered by tenant_id if provided).

Request

No payload

Response

Samples

GET /api/advancedSetting/performance HTTP/1.1

Sample response:

{
  "queryTimeoutValue" : 3600,
  "queryTimeoutDefaultValue" : 3600,
  "useNoLockValue" : true,
  "useNoLockDefaultValue" : true,
  "dataSourceLimitValue" : 1000,
  "dataSourceLimitDefaultValue" : 1000,
  "tenantId" : null
}

POST advancedSetting/performance

Updates the settings in Performance group.

Request

Response

An OperationResult object with success fied true if the update is successful

Samples

POST /api/advancedSetting/performance HTTP/1.1

Request payload to update Query Timeout to 360:

{
  "queryTimeoutValue" : 360,
  "useNoLockValue" : true,
  "dataSourceLimitValue" : 1000,
  "tenantId" : null
}

Sample response:

{
  "success" : true,
  "messages" : null
}

GET advancedSetting/security/(tenant_id)

Returns the settings in Security group (filtered by tenant_id if provided).

Request

No payload

Response

Samples

GET /api/advancedSetting/security HTTP/1.1

Sample response:

{
   "tenantFieldValue": "TenantID;UserID",
   "tenantFieldDefaultValue": "",
   "showTenantFieldValue": true,
   "showTenantFieldDefaultValue": true,
   "setAdditiveFieldAutoVisibleValue": false,
   "setAdditiveFieldAutoVisibleDefaultValue": false,
   "setAdditiveFieldAutoFilterableValue": false,
   "setAdditiveFieldAutoFilterableDefaultValue": false,
   "tenantId": null,
   "tenantFields": [
      {
         "name": "TenantID",
         "isSystem": true
      },
      {
         "name": "UserID",
         "isSystem": true
      }
   ],
   "allowShowTenant": true,
   "modified": "2017-02-15T06:31:15"
}

POST advancedSetting/security

Updates the settings in Security group.

Request

Response

An OperationResult object with success field true if the update is successful

Samples

POST /api/advancedSetting/security HTTP/1.1

Request payload to set Additive Fields Auto Visible:

{
  "showTenantFieldValue" : true,
  "setAdditiveFieldAutoVisibleValue" : true,
  "setAdditiveFieldAutoFilterableValue" : false,
  "tenantId" : null
}

Sample response:

{
  "success" : true,
  "messages" : null
}

GET advancedSetting/miscSetting/(tenant_id)

Returns the settings in Others group (filtered by tenant_id if provided).

Request

A Entity object

Response

An OtherSetting object

Samples

GET /api/advancedSetting/miscSetting HTTP/1.1

Sample response:

{
   "sortColumnNameValue": false,
   "sortColumnNameDefaultValue": false,
   "trimTimeInJoinsValue": true,
   "trimTimeInJoinsDefaultValue": true,
   "timezoneForDataOffsetValue": 0,
   "timezoneForDataOffsetDefaultValue": 0,
   "timezoneForTimestampOffsetValue": 0,
   "timezoneForTimestampOffsetDefaultValue": 0,
   "convertNullToEmptyStringValue": false,
   "convertNullToEmptyStringDefaultValue": false,
   "showSchemaNameValue": false,
   "showSchemaNameDefaultValue": false,
   "showIntroductionTextValue": false,
   "showIntroductionTextDefaultValue": false,
   "introductionTextValue": "",
   "introductionTextDefaultValue": "",
   "sendToDiskPathValue": "",
   "sendToDiskPathDefaultValue": "",
   "tenantId": null,
   "modified": "2017-02-15T07:29:25.3300651"
   "hideReportHeaderAndFooterValue": true,
   "hideReportHeaderAndFooterDefaultValue": false
}

POST advancedSetting/miscSetting

Updates the settings in Others group.

Request

An OtherSetting object

Response

An OperationResult object with success field true if the update is successful

Samples

POST /api/advancedSetting/miscSetting HTTP/1.1

Request payload to set Timezone Offset to -4:

{
   "sortColumnNameValue": false,
   "trimTimeInJoinsValue": true,
   "timezoneForDataOffsetValue": "-4",
   "timezoneForTimestampOffsetValue": "0",
   "convertNullToEmptyStringValue": false,
   "showSchemaNameValue": false,
   "showIntroductionTextValue": false,
   "introductionTextValue": "",
   "sendToDiskPathValue": "",
   "sortColumnNameDefaultValue": false,
   "trimTimeInJoinsDefaultValue": true,
   "timezoneForDataOffsetDefaultValue": 0,
   "timezoneForTimestampOffsetDefaultValue": 0,
   "convertNullToEmptyStringDefaultValue": false,
   "showSchemaNameDefaultValue": false,
   "showIntroductionTextDefaultValue": false,
   "introductionTextDefaultValue": "",
   "sendToDiskPathDefaultValue": "",
   "tenantId": null,
   "modified": "2017-02-15T07:29:25.3300651",
   "hideReportHeaderAndFooterValue":true
}

Sample response:

{
  "success" : true,
  "messages" : null
}

POST advancedSetting/defaultImageUrl

Updates the default image url setting.

Request

Payload: an AdvancedSetting object

Response

The saved AdvancedSetting object with name field value “DefaultImageUrl”

Samples

POST /api/advancedSetting/defaultImageUrl HTTP/1.1

Payload:

{
   "value": "http://localhost/img/default.png",
   "tenantId": null
}

Response:

{
   "id": "c8ecf9fd-196d-44a3-90ec-97f393ebfc0c",
   "name": "DefaultImageUrl",
   "value": "http://localhost/img/default.png",
   "defaultValue": null,
   "type": null,
   "tenantId": null,
   "deleted": false,
   "modified": "2017-04-12T16:55:11.4884228Z"
}

GET advancedSetting/defaultImageUrl(?tenantId=tenant_id)

Returns the default image url setting.

Request

No payload

Optional querystring: ?tenantId=<the id of the tenant>

Response

An AdvancedSetting object

Samples

GET /api/advancedSetting/defaultImageUrl HTTP/1.1

Response:

{
   "id": "c8ecf9fd-196d-44a3-90ec-97f393ebfc0c",
   "name": "DefaultImageUrl",
   "value": "http://localhost/img/default.png",
   "defaultValue": null,
   "type": null,
   "tenantId": null,
   "deleted": false,
   "modified": "2017-04-12T16:55:11.4900000+07:00"
}

GET api/advancedSetting/defaultTheme(?tenantId=tenant_id)

New in version 2.9.0.

Returns the default theme setting.

Request

No payload

Optional querystring: ?tenantId=<the id of the tenant>

Response

An AdvancedSetting object

Samples

GET /api/advancedSetting/defaultTheme HTTP/1.1

Response:

{
   "id":"04d46221-24e0-4363-b2f6-99370d85ebe6",
   "name":"DefaultTheme",
   "value":"Monte Carlo",
   "defaultValue":null,
   "type":"Others",
   "tenantId":null,
   "deleted":false,
   "modified":"2018-05-22T06:43:56.0000000+07:00"
}
GET /api/advancedSetting/defaultTheme/c39a4500-b902-4e5b-ae86-901c09b71516 HTTP/1.1

Response:

{
   "id": "06a83a57-39c0-44d4-841d-aa56e2d15ba7",
   "name": "DefaultTheme",
   "value": "Morning Sky",
   "defaultValue": null,
   "type": "Others",
   "tenantId": "c39a4500-b902-4e5b-ae86-901c09b71516",
   "deleted": false,
   "modified": "2018-05-22T10:20:07.2700000+07:00"
}

POST api/advancedSetting/defaultTheme

New in version 2.9.0.

Add or update default theme for system or tenant.

Request

Payload: an AdvancedSetting object

Response

The saved AdvancedSetting object with name field value is “DefaultTheme”

Samples

POST /api/advancedSetting/defaultTheme HTTP/1.1

Response:

{
   "id":"04d46221-24e0-4363-b2f6-99370d85ebe6",
   "name":"DefaultTheme",
   "value":"Monte Carlo",
   "defaultValue":null,
   "type":"Others",
   "tenantId":null,
   "deleted":false,
   "modified":"2018-05-22T10:38:41.5779097Z"
}