@c8y/ngx-components 1018.0.194 → 1018.0.201

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/core/common/global-config.service.d.ts +1 -1
  2. package/core/common/permissions.service.d.ts +69 -2
  3. package/core/common/tenant-ui.service.d.ts +1 -1
  4. package/core/i18n/pattern-messages.data.d.ts +20 -20
  5. package/esm2020/assets-navigator/asset-node.service.mjs +11 -4
  6. package/esm2020/auth-configuration/auth-configuration.guard.mjs +5 -2
  7. package/esm2020/auth-configuration/factories/navigation.factory.mjs +3 -3
  8. package/esm2020/cockpit-config/cockpit-config.guard.mjs +2 -2
  9. package/esm2020/cockpit-config/cockpit-config.service.mjs +2 -2
  10. package/esm2020/context-dashboard/add-dashboard.factory.mjs +13 -3
  11. package/esm2020/context-dashboard/context-dashboard.service.mjs +11 -3
  12. package/esm2020/context-dashboard/dashboard-detail.component.mjs +7 -2
  13. package/esm2020/context-dashboard/report-dashboard/report-dashboard-list.component.mjs +5 -3
  14. package/esm2020/core/common/global-config.service.mjs +7 -2
  15. package/esm2020/core/common/permissions.service.mjs +69 -2
  16. package/esm2020/core/common/tenant-ui.service.mjs +3 -2
  17. package/esm2020/core/common/user-preferences/user-preferences.service.mjs +10 -2
  18. package/esm2020/core/i18n/pattern-messages.data.mjs +21 -21
  19. package/esm2020/ecosystem/application-properties/application-properties.component.mjs +2 -2
  20. package/esm2020/ecosystem/ecosystem-navigation.factory.mjs +3 -3
  21. package/esm2020/ecosystem/packages/package-list/packages-list.component.mjs +2 -2
  22. package/esm2020/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.mjs +2 -2
  23. package/esm2020/files-repository/files-repository.guard.mjs +6 -3
  24. package/esm2020/protocol-lwm2m/components/bootstrap-parameters/lwm2m-bootstrap-parameters.component.mjs +2 -2
  25. package/esm2020/register-device/register-device-navigation.factory.mjs +3 -3
  26. package/esm2020/reports/export-schedules.component.mjs +3 -3
  27. package/esm2020/repository/configuration/device-tab/configuration-preview.component.mjs +14 -6
  28. package/esm2020/sms-gateway/sms-gateway.guard.mjs +2 -2
  29. package/esm2020/sms-gateway/sms-gateway.module.mjs +6 -6
  30. package/esm2020/sub-assets/add-group/add-group.component.mjs +7 -2
  31. package/esm2020/sub-assets/groups.component.mjs +5 -2
  32. package/esm2020/sub-assets/sub-assets.component.mjs +7 -2
  33. package/esm2020/sub-assets/sub-assets.service.mjs +22 -10
  34. package/esm2020/tenants/tenant-list/tenant-list.component.mjs +12 -7
  35. package/esm2020/upgrade/ng1/downgraded.services.mjs +3 -2
  36. package/esm2020/upgrade/ng1/index.mjs +4 -3
  37. package/fesm2015/c8y-ngx-components-assets-navigator.mjs +10 -3
  38. package/fesm2015/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  39. package/fesm2015/c8y-ngx-components-auth-configuration.mjs +7 -4
  40. package/fesm2015/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  41. package/fesm2015/c8y-ngx-components-cockpit-config.mjs +3 -3
  42. package/fesm2015/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  43. package/fesm2015/c8y-ngx-components-context-dashboard.mjs +33 -8
  44. package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  45. package/fesm2015/c8y-ngx-components-ecosystem.mjs +6 -6
  46. package/fesm2015/c8y-ngx-components-ecosystem.mjs.map +1 -1
  47. package/fesm2015/c8y-ngx-components-files-repository.mjs +6 -3
  48. package/fesm2015/c8y-ngx-components-files-repository.mjs.map +1 -1
  49. package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs +2 -2
  50. package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs.map +1 -1
  51. package/fesm2015/c8y-ngx-components-register-device.mjs +3 -3
  52. package/fesm2015/c8y-ngx-components-register-device.mjs.map +1 -1
  53. package/fesm2015/c8y-ngx-components-reports.mjs +2 -2
  54. package/fesm2015/c8y-ngx-components-reports.mjs.map +1 -1
  55. package/fesm2015/c8y-ngx-components-repository-configuration.mjs +13 -5
  56. package/fesm2015/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  57. package/fesm2015/c8y-ngx-components-sms-gateway.mjs +6 -6
  58. package/fesm2015/c8y-ngx-components-sms-gateway.mjs.map +1 -1
  59. package/fesm2015/c8y-ngx-components-sub-assets.mjs +38 -13
  60. package/fesm2015/c8y-ngx-components-sub-assets.mjs.map +1 -1
  61. package/fesm2015/c8y-ngx-components-tenants.mjs +11 -6
  62. package/fesm2015/c8y-ngx-components-tenants.mjs.map +1 -1
  63. package/fesm2015/c8y-ngx-components-upgrade.mjs +4 -2
  64. package/fesm2015/c8y-ngx-components-upgrade.mjs.map +1 -1
  65. package/fesm2015/c8y-ngx-components.mjs +103 -24
  66. package/fesm2015/c8y-ngx-components.mjs.map +1 -1
  67. package/fesm2020/c8y-ngx-components-assets-navigator.mjs +10 -3
  68. package/fesm2020/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  69. package/fesm2020/c8y-ngx-components-auth-configuration.mjs +7 -4
  70. package/fesm2020/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  71. package/fesm2020/c8y-ngx-components-cockpit-config.mjs +3 -3
  72. package/fesm2020/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  73. package/fesm2020/c8y-ngx-components-context-dashboard.mjs +34 -9
  74. package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  75. package/fesm2020/c8y-ngx-components-ecosystem.mjs +6 -6
  76. package/fesm2020/c8y-ngx-components-ecosystem.mjs.map +1 -1
  77. package/fesm2020/c8y-ngx-components-files-repository.mjs +6 -3
  78. package/fesm2020/c8y-ngx-components-files-repository.mjs.map +1 -1
  79. package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs +2 -2
  80. package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs.map +1 -1
  81. package/fesm2020/c8y-ngx-components-register-device.mjs +3 -3
  82. package/fesm2020/c8y-ngx-components-register-device.mjs.map +1 -1
  83. package/fesm2020/c8y-ngx-components-reports.mjs +2 -2
  84. package/fesm2020/c8y-ngx-components-reports.mjs.map +1 -1
  85. package/fesm2020/c8y-ngx-components-repository-configuration.mjs +13 -5
  86. package/fesm2020/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  87. package/fesm2020/c8y-ngx-components-sms-gateway.mjs +6 -6
  88. package/fesm2020/c8y-ngx-components-sms-gateway.mjs.map +1 -1
  89. package/fesm2020/c8y-ngx-components-sub-assets.mjs +38 -13
  90. package/fesm2020/c8y-ngx-components-sub-assets.mjs.map +1 -1
  91. package/fesm2020/c8y-ngx-components-tenants.mjs +11 -6
  92. package/fesm2020/c8y-ngx-components-tenants.mjs.map +1 -1
  93. package/fesm2020/c8y-ngx-components-upgrade.mjs +4 -2
  94. package/fesm2020/c8y-ngx-components-upgrade.mjs.map +1 -1
  95. package/fesm2020/c8y-ngx-components.mjs +103 -24
  96. package/fesm2020/c8y-ngx-components.mjs.map +1 -1
  97. package/package.json +1 -1
  98. package/tenants/tenant-list/tenant-list.component.d.ts +4 -2
  99. package/upgrade/ng1/downgraded.services.d.ts +1 -0
@@ -1059,7 +1059,7 @@ const MESSAGES = {
1059
1059
  '^Can not activate a certificate which is either expired or not yet valid$': {
1060
1060
  gettext: gettext('Cannot activate a certificate which is either expired or not yet valid.')
1061
1061
  },
1062
- '^Cannot add certificate - certificate with (.+?) fingerprint already exists. : Certificate with (.+?) fingerprint already exists.': {
1062
+ '^Cannot add certificate - certificate with (.+?) fingerprint already exists. : Certificate with (.+?) fingerprint already exists.$': {
1063
1063
  gettext: gettext('Could not add certificate. Certificate with {{fingerprint}} fingerprint already exists.'),
1064
1064
  placeholders: {
1065
1065
  fingerprint: '$1'
@@ -1354,7 +1354,7 @@ const MESSAGES = {
1354
1354
  applicationId: '$2'
1355
1355
  }
1356
1356
  },
1357
- '^Http status code: 404\n{error="options/Not Found",message="Unable to find option by given key: sigfox-agent/provider.token",info="https://www.cumulocity.com/guides/reference-guide/#error_reporting",details="null"}': {
1357
+ '^Http status code: 404\n{error="options/Not Found",message="Unable to find option by given key: sigfox-agent/provider.token",info="https://www.cumulocity.com/guides/reference-guide/#error_reporting",details="null"}$': {
1358
1358
  gettext: gettext('Unable to find option by given key: sigfox-agent/provider.token')
1359
1359
  },
1360
1360
  '^Failed to delete application. : Cannot remove application assigned to other tenants.$': {
@@ -1475,7 +1475,7 @@ const MESSAGES = {
1475
1475
  '^Inventory Role removed$': {
1476
1476
  gettext: gettext('Inventory role removed')
1477
1477
  },
1478
- '^Inventory Role (.+?) removed': {
1478
+ '^Inventory Role (.+?) removed$': {
1479
1479
  gettext: gettext('Inventory role "{{name}}" deleted.'),
1480
1480
  placeholders: {
1481
1481
  name: '$1'
@@ -1484,16 +1484,16 @@ const MESSAGES = {
1484
1484
  '^Inventory Role updated$': {
1485
1485
  gettext: gettext('Inventory role updated')
1486
1486
  },
1487
- '^Inventory Role (.+?) updated': {
1487
+ '^Inventory Role (.+?) updated$': {
1488
1488
  gettext: gettext('Inventory role "{{name}}" updated.'),
1489
1489
  placeholders: {
1490
1490
  name: '$1'
1491
1491
  }
1492
1492
  },
1493
- '^I/O error: Connection refused; nested exception is Connection refused : Connection refused': {
1493
+ '^I/O error: Connection refused; nested exception is Connection refused : Connection refused$': {
1494
1494
  gettext: gettext('Connection refused')
1495
1495
  },
1496
- '^I/O error: Read timed out; nested exception is Read timed out : Read timed out': {
1496
+ '^I/O error: Read timed out; nested exception is Read timed out : Read timed out$': {
1497
1497
  gettext: gettext('Read timed out')
1498
1498
  },
1499
1499
  '^Log file requested$': {
@@ -1569,7 +1569,7 @@ const MESSAGES = {
1569
1569
  '^Operation updated$': {
1570
1570
  gettext: gettext('Operation updated.')
1571
1571
  },
1572
- "^Operation created: status='(.+?)'.": {
1572
+ "^Operation created: status='(.+?)'.$": {
1573
1573
  gettext: gettext('Operation created: status: "{{ status | translate }}".'),
1574
1574
  placeholders: {
1575
1575
  status: '$1'
@@ -1593,13 +1593,13 @@ const MESSAGES = {
1593
1593
  option: '$1'
1594
1594
  }
1595
1595
  },
1596
- '^Owner field error. : Cannot introduce cyclic dependency.': {
1596
+ '^Owner field error. : Cannot introduce cyclic dependency.$': {
1597
1597
  gettext: gettext('Could not introduce cyclic ownership dependency.')
1598
1598
  },
1599
1599
  '^Password change is temporary blocked.$': {
1600
1600
  gettext: gettext('Password change is temporarily blocked.')
1601
1601
  },
1602
- '^Password cipher does not match': {
1602
+ '^Password cipher does not match$': {
1603
1603
  gettext: gettext('Password cipher does not match.')
1604
1604
  },
1605
1605
  '^Platform application cannot be added to, nor removed from any tenant.$': {
@@ -1608,7 +1608,7 @@ const MESSAGES = {
1608
1608
  '^Private key must be provided in KEY_PAIR credentials$': {
1609
1609
  gettext: gettext('Private key must be provided when "Public/private keys" option is selected.')
1610
1610
  },
1611
- '^Private key cipher does not match': {
1611
+ '^Private key cipher does not match$': {
1612
1612
  gettext: gettext('Private key cipher does not match')
1613
1613
  },
1614
1614
  '^Protocol "(.+?)" does not support "(.+?)" credentials type$': {
@@ -1645,13 +1645,13 @@ const MESSAGES = {
1645
1645
  id: '$1'
1646
1646
  }
1647
1647
  },
1648
- '^Retrieve configuration snapshot from device (.+?)': {
1648
+ '^Retrieve configuration snapshot from device (.+?)$': {
1649
1649
  gettext: gettext('Retrieve configuration snapshot from device {{deviceName}}'),
1650
1650
  placeholders: {
1651
1651
  deviceName: '$1'
1652
1652
  }
1653
1653
  },
1654
- '^Retrieve (.+?) configuration snapshot from device (.+?)': {
1654
+ '^Retrieve (.+?) configuration snapshot from device (.+?)$': {
1655
1655
  gettext: gettext('Retrieve {{configurationType}} configuration snapshot from device {{deviceName}}'),
1656
1656
  placeholders: {
1657
1657
  configurationType: '$1',
@@ -1665,7 +1665,7 @@ const MESSAGES = {
1665
1665
  scaleNumber: '$2'
1666
1666
  }
1667
1667
  },
1668
- '^Send configuration snapshot (.+?) of configuration type (.+?) to device (.+?)': {
1668
+ '^Send configuration snapshot (.+?) of configuration type (.+?) to device (.+?)$': {
1669
1669
  gettext: gettext('Send configuration snapshot {{snapshotName}} of configuration type {{configurationType}} to device {{deviceName}}'),
1670
1670
  placeholders: {
1671
1671
  snapshotName: '$1',
@@ -1673,7 +1673,7 @@ const MESSAGES = {
1673
1673
  deviceName: '$3'
1674
1674
  }
1675
1675
  },
1676
- '^Send configuration snapshot (.+?) to device (.+?)': {
1676
+ '^Send configuration snapshot (.+?) to device (.+?)$': {
1677
1677
  gettext: gettext('Send configuration snapshot {{snapshotName}} to device {{deviceName}}'),
1678
1678
  placeholders: {
1679
1679
  snapshotName: '$1',
@@ -1901,25 +1901,25 @@ const MESSAGES = {
1901
1901
  inventoryAssignment: '$1'
1902
1902
  }
1903
1903
  },
1904
- 'applications \\[(.+?)\\] added$': {
1904
+ 'applications \\[(.+?)\\] added': {
1905
1905
  gettext: gettext('applications [{{applicationsList}}] added'),
1906
1906
  placeholders: {
1907
1907
  applicationsList: '$1'
1908
1908
  }
1909
1909
  },
1910
- 'applications \\[(.+?)\\] removed$': {
1910
+ 'applications \\[(.+?)\\] removed': {
1911
1911
  gettext: gettext('applications [{{applicationsList}}] removed'),
1912
1912
  placeholders: {
1913
1913
  applicationsList: '$1'
1914
1914
  }
1915
1915
  },
1916
- 'global roles \\[(.+?)\\] added$': {
1916
+ 'global roles \\[(.+?)\\] added': {
1917
1917
  gettext: gettext('global roles [{{globalRolesList}}] added'),
1918
1918
  placeholders: {
1919
1919
  globalRolesList: '$1'
1920
1920
  }
1921
1921
  },
1922
- 'global roles \\[(.+?)\\] removed$': {
1922
+ 'global roles \\[(.+?)\\] removed': {
1923
1923
  gettext: gettext('global roles [{{globalRolesList}}] removed'),
1924
1924
  placeholders: {
1925
1925
  globalRolesList: '$1'
@@ -1968,7 +1968,7 @@ const MESSAGES = {
1968
1968
  '^You have reached devices limit. No more devices can be registered.$': {
1969
1969
  gettext: gettext('You reached devices limit. No more devices can be registered.')
1970
1970
  },
1971
- '^(.+) succeeded for volume "(.+)"': {
1971
+ '^(.+) succeeded for volume "(.+)"$': {
1972
1972
  gettext: gettext('Operation "{{operation}}" succeeded for volume "{{volume}}".'),
1973
1973
  placeholders: {
1974
1974
  operation: '$1',
@@ -2652,7 +2652,7 @@ const MESSAGES = {
2652
2652
  '^This command returns a list of shell commands with description that can be created for the Lwm2m device connector\\.$': {
2653
2653
  gettext: gettext('This command returns a list of shell commands with description that can be created for the LWM2M device connector.')
2654
2654
  },
2655
- '^The following operations are supported:': {
2655
+ '^The following operations are supported:$': {
2656
2656
  gettext: gettext('The following operations are supported:')
2657
2657
  },
2658
2658
  '^PSK template$': {
@@ -5164,7 +5164,7 @@ class Permissions {
5164
5164
  * Checks if the current user has write permissions for the given mo.
5165
5165
  * (either through global role, individual device permissions or via inventory roles).
5166
5166
  *
5167
- * @param {array} roleIds Array of roles which the current user should have.
5167
+ * @param roleIds The array of role ids to check if the current user have at least one of them.
5168
5168
  * @param {IManagedObject | IIdentified} mo The managed object for which we are checking whether the user has access.
5169
5169
  * @param {CanEditConfig} config A configuration object that can take the following values:
5170
5170
  * - `skipRolesCheck`: `boolean` - skips roles check,
@@ -5240,6 +5240,73 @@ class Permissions {
5240
5240
  return false;
5241
5241
  }
5242
5242
  }
5243
+ Permissions.ROLE_ADVANCED_SOFTWARE_ADMIN = 'ROLE_ADVANCED_SOFTWARE_ADMIN';
5244
+ Permissions.ROLE_ADVANCED_SOFTWARE_READ = 'ROLE_ADVANCED_SOFTWARE_READ';
5245
+ Permissions.ROLE_ALARM_ADMIN = 'ROLE_ALARM_ADMIN';
5246
+ Permissions.ROLE_ALARM_READ = 'ROLE_ALARM_READ';
5247
+ Permissions.ROLE_ANALYTICSBUILDER_READ = 'ROLE_ANALYTICSBUILDER_READ';
5248
+ Permissions.ROLE_APPLICATION_MANAGEMENT_ADMIN = 'ROLE_APPLICATION_MANAGEMENT_ADMIN';
5249
+ Permissions.ROLE_APPLICATION_MANAGEMENT_READ = 'ROLE_APPLICATION_MANAGEMENT_READ';
5250
+ Permissions.ROLE_AUDIT_ADMIN = 'ROLE_AUDIT_ADMIN';
5251
+ Permissions.ROLE_AUDIT_READ = 'ROLE_AUDIT_READ';
5252
+ Permissions.ROLE_BINARY_ADMIN = 'ROLE_BINARY_ADMIN';
5253
+ Permissions.ROLE_BINARY_CREATE = 'ROLE_BINARY_CREATE';
5254
+ Permissions.ROLE_BINARY_READ = 'ROLE_BINARY_READ';
5255
+ Permissions.ROLE_BULK_OPERATION_ADMIN = 'ROLE_BULK_OPERATION_ADMIN';
5256
+ Permissions.ROLE_BULK_OPERATION_READ = 'ROLE_BULK_OPERATION_READ';
5257
+ Permissions.ROLE_CEP_MANAGEMENT_ADMIN = 'ROLE_CEP_MANAGEMENT_ADMIN';
5258
+ Permissions.ROLE_CEP_MANAGEMENT_READ = 'ROLE_CEP_MANAGEMENT_READ';
5259
+ Permissions.ROLE_DATA_BROKER_ADMIN = 'ROLE_DATA_BROKER_ADMIN';
5260
+ Permissions.ROLE_DATA_BROKER_READ = 'ROLE_DATA_BROKER_READ';
5261
+ Permissions.ROLE_DEVICE_CONTROL_ADMIN = 'ROLE_DEVICE_CONTROL_ADMIN';
5262
+ Permissions.ROLE_DEVICE_CONTROL_READ = 'ROLE_DEVICE_CONTROL_READ';
5263
+ Permissions.ROLE_EMAIL_CREATE = 'ROLE_EMAIL_CREATE';
5264
+ Permissions.ROLE_EPLAPPS_READ = 'ROLE_EPLAPPS_READ';
5265
+ Permissions.ROLE_EVENT_ADMIN = 'ROLE_EVENT_ADMIN';
5266
+ Permissions.ROLE_EVENT_READ = 'ROLE_EVENT_READ';
5267
+ Permissions.ROLE_GENERIC_MQTT_ADMIN = 'ROLE_GENERIC_MQTT_ADMIN';
5268
+ Permissions.ROLE_IDENTITY_ADMIN = 'ROLE_IDENTITY_ADMIN';
5269
+ Permissions.ROLE_IDENTITY_READ = 'ROLE_IDENTITY_READ';
5270
+ Permissions.ROLE_INVENTORY_ADMIN = 'ROLE_INVENTORY_ADMIN';
5271
+ Permissions.ROLE_INVENTORY_CREATE = 'ROLE_INVENTORY_CREATE';
5272
+ Permissions.ROLE_INVENTORY_READ = 'ROLE_INVENTORY_READ';
5273
+ Permissions.ROLE_MACHINE_LEARNING_READ = 'ROLE_MACHINE_LEARNING_READ';
5274
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN = 'ROLE_MANAGED_OBJECT_ADMIN';
5275
+ Permissions.ROLE_MANAGED_OBJECT_CREATE = 'ROLE_MANAGED_OBJECT_CREATE';
5276
+ Permissions.ROLE_MANAGED_OBJECT_READ = 'ROLE_MANAGED_OBJECT_READ';
5277
+ Permissions.ROLE_MEASUREMENT_ADMIN = 'ROLE_MEASUREMENT_ADMIN';
5278
+ Permissions.ROLE_MEASUREMENT_READ = 'ROLE_MEASUREMENT_READ';
5279
+ Permissions.ROLE_MQTT_CONNECT_ADMIN = 'ROLE_MQTT_CONNECT_ADMIN';
5280
+ Permissions.ROLE_MQTT_SERVICE_ADMIN = 'ROLE_MQTT_SERVICE_ADMIN';
5281
+ Permissions.ROLE_NOTIFICATION_2_ADMIN = 'ROLE_NOTIFICATION_2_ADMIN';
5282
+ Permissions.ROLE_OPTION_MANAGEMENT_ADMIN = 'ROLE_OPTION_MANAGEMENT_ADMIN';
5283
+ Permissions.ROLE_OPTION_MANAGEMENT_READ = 'ROLE_OPTION_MANAGEMENT_READ';
5284
+ Permissions.ROLE_PROVISIONING_CREATE = 'ROLE_PROVISIONING_CREATE';
5285
+ Permissions.ROLE_PROVISIONING_READ = 'ROLE_PROVISIONING_READ';
5286
+ Permissions.ROLE_PROVISIONING_UPDATE = 'ROLE_PROVISIONING_UPDATE';
5287
+ Permissions.ROLE_REMOTE_ACCESS_ADMIN = 'ROLE_REMOTE_ACCESS_ADMIN';
5288
+ Permissions.ROLE_RETENTION_RULE_ADMIN = 'ROLE_RETENTION_RULE_ADMIN';
5289
+ Permissions.ROLE_RETENTION_RULE_READ = 'ROLE_RETENTION_RULE_READ';
5290
+ Permissions.ROLE_SCHEDULE_REPORT_ADMIN = 'ROLE_SCHEDULE_REPORT_ADMIN';
5291
+ Permissions.ROLE_SIMULATOR_ADMIN = 'ROLE_SIMULATOR_ADMIN';
5292
+ Permissions.ROLE_SMARTGROUP_ADMIN = 'ROLE_SMARTGROUP_ADMIN';
5293
+ Permissions.ROLE_SMARTGROUP_CREATE = 'ROLE_SMARTGROUP_CREATE';
5294
+ Permissions.ROLE_SMARTGROUP_UPDATE = 'ROLE_SMARTGROUP_UPDATE';
5295
+ Permissions.ROLE_SMARTRULE_ADMIN = 'ROLE_SMARTRULE_ADMIN';
5296
+ Permissions.ROLE_SMARTRULE_READ = 'ROLE_SMARTRULE_READ';
5297
+ Permissions.ROLE_SMS_ADMIN = 'ROLE_SMS_ADMIN';
5298
+ Permissions.ROLE_SMS_READ = 'ROLE_SMS_READ';
5299
+ Permissions.ROLE_TENANT_ADMIN = 'ROLE_TENANT_ADMIN';
5300
+ Permissions.ROLE_TENANT_MANAGEMENT_ADMIN = 'ROLE_TENANT_MANAGEMENT_ADMIN';
5301
+ Permissions.ROLE_TENANT_MANAGEMENT_CREATE = 'ROLE_TENANT_MANAGEMENT_CREATE';
5302
+ Permissions.ROLE_TENANT_MANAGEMENT_READ = 'ROLE_TENANT_MANAGEMENT_READ';
5303
+ Permissions.ROLE_TENANT_MANAGEMENT_UPDATE = 'ROLE_TENANT_MANAGEMENT_UPDATE';
5304
+ Permissions.ROLE_TENANT_STATISTICS_READ = 'ROLE_TENANT_STATISTICS_READ';
5305
+ Permissions.ROLE_USER_MANAGEMENT_ADMIN = 'ROLE_USER_MANAGEMENT_ADMIN';
5306
+ Permissions.ROLE_USER_MANAGEMENT_CREATE = 'ROLE_USER_MANAGEMENT_CREATE';
5307
+ Permissions.ROLE_USER_MANAGEMENT_OWN_ADMIN = 'ROLE_USER_MANAGEMENT_OWN_ADMIN';
5308
+ Permissions.ROLE_USER_MANAGEMENT_OWN_READ = 'ROLE_USER_MANAGEMENT_OWN_READ';
5309
+ Permissions.ROLE_USER_MANAGEMENT_READ = 'ROLE_USER_MANAGEMENT_READ';
5243
5310
  Permissions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: Permissions, deps: [{ token: AppStateService }, { token: i1$1.InventoryService }, { token: i1$1.UserService }], target: i0.ɵɵFactoryTarget.Injectable });
5244
5311
  Permissions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: Permissions, providedIn: 'root' });
5245
5312
  __decorate([
@@ -5965,7 +6032,14 @@ class UserPreferencesService {
5965
6032
  * @returns A proper storage.
5966
6033
  */
5967
6034
  getStorage(user) {
5968
- return this.user.hasAllRoles(user, ['ROLE_INVENTORY_READ', 'ROLE_INVENTORY_ADMIN'])
6035
+ return this.user.hasAllRoles(user, [
6036
+ Permissions.ROLE_INVENTORY_READ,
6037
+ Permissions.ROLE_INVENTORY_ADMIN
6038
+ ]) ||
6039
+ this.user.hasAllRoles(user, [
6040
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN,
6041
+ Permissions.ROLE_MANAGED_OBJECT_READ
6042
+ ])
5969
6043
  ? this.storage.inventory
5970
6044
  : this.storage.local;
5971
6045
  }
@@ -6730,7 +6804,12 @@ class GlobalConfigService {
6730
6804
  this.fragmentTypeMapping = {
6731
6805
  c8y_Software: 'c8y_SoftwareAsGlobal',
6732
6806
  c8y_Firmware: 'c8y_FirmwareAsGlobal',
6733
- c8y_ConfigurationDump: 'c8y_ConfigurationAsGlobal'
6807
+ c8y_ConfigurationDump: 'c8y_ConfigurationAsGlobal',
6808
+ c8y_DeviceShellTemplate: 'c8y_ShellTemplateAsGlobal',
6809
+ c8y_ModbusDeviceType: 'c8y_FieldbusAsGlobal',
6810
+ c8y_CANopenDeviceType: 'c8y_CANOpenAsGlobal',
6811
+ c8y_LoraDeviceType: 'c8y_LoraAsGlobal',
6812
+ c8y_SigfoxDeviceType: 'c8y_SigfoxAsGlobal'
6734
6813
  };
6735
6814
  this.cache = undefined;
6736
6815
  }
@@ -6826,7 +6905,7 @@ class TenantUiService {
6826
6905
  this.userService = userService;
6827
6906
  this.appStateService = appStateService;
6828
6907
  this.MANAGEMENT = 'management';
6829
- this.ROLE_TENANT_MANAGEMENT_READ = 'ROLE_TENANT_MANAGEMENT_READ';
6908
+ this.ROLE_TENANT_MANAGEMENT_READ = Permissions.ROLE_TENANT_MANAGEMENT_READ;
6830
6909
  }
6831
6910
  /**
6832
6911
  * Returns current tenant