diff --git a/README.md b/README.md index 112e4fb..8441071 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -ThingsBoard PE API client library for Dart developers. It's compatible with TB PE 3.3.0. +ThingsBoard PE API client library for Dart developers. Provides model objects and services to communicate with ThingsBoard PE platform using RESTful APIs and WebSocket protocol. +Current client version is compatible with ThingsBoard PE starting from version 3.3.0PE. ## Usage diff --git a/example/callbacks.dart b/example/callbacks.dart index 2678daf..2ea66dd 100644 --- a/example/callbacks.dart +++ b/example/callbacks.dart @@ -42,13 +42,14 @@ Future onUserLoaded() async { print('authUser: ${tbClient.getAuthUser()}'); var currentUserDetails = await tbClient.getUserService().getUser(); print('currentUserDetails: $currentUserDetails'); - await tbClient.logout(requestConfig: RequestConfig(ignoreLoading: true, ignoreErrors: true)); + await tbClient.logout( + requestConfig: + RequestConfig(ignoreLoading: true, ignoreErrors: true)); exit(0); } else { await tbClient.login(LoginRequest('tenant@thingsboard.org', 'tenant')); } - } - catch (e, s) { + } catch (e, s) { print('Error: $e'); print('Stack: $s'); } diff --git a/example/device_api.dart b/example/device_api.dart index 28df133..f07bbcc 100644 --- a/example/device_api.dart +++ b/example/device_api.dart @@ -15,8 +15,8 @@ void main() async { await deviceApiExample(); - await tbClient.logout(requestConfig: RequestConfig(ignoreLoading: true, ignoreErrors: true)); - + await tbClient.logout( + requestConfig: RequestConfig(ignoreLoading: true, ignoreErrors: true)); } catch (e, s) { print('Error: $e'); print('Stack: $s'); @@ -24,9 +24,12 @@ void main() async { } Future deviceApiExample() async { - print('**********************************************************************'); - print('* DEVICE API EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* DEVICE API EXAMPLE *'); + print( + '**********************************************************************'); var deviceName = getRandomString(30); @@ -34,18 +37,24 @@ Future deviceApiExample() async { device.additionalInfo = {'description': 'My test device!'}; var savedDevice = await tbClient.getDeviceService().saveDevice(device); print('savedDevice: $savedDevice'); - var foundDevice = await tbClient.getDeviceService().getDevice(savedDevice.id!.id!); + var foundDevice = + await tbClient.getDeviceService().getDevice(savedDevice.id!.id!); print('foundDevice: $foundDevice'); - var res = await tbClient.getAttributeService().saveEntityAttributesV2(foundDevice!.id!, AttributeScope.SHARED_SCOPE.toShortString(), { - 'targetTemperature': 22.4, - 'targetHumidity': 57.8 - }); + var res = await tbClient.getAttributeService().saveEntityAttributesV2( + foundDevice!.id!, + AttributeScope.SHARED_SCOPE.toShortString(), + {'targetTemperature': 22.4, 'targetHumidity': 57.8}); print('Save attributes result: $res'); - var attributes = await tbClient.getAttributeService().getAttributesByScope(foundDevice.id!, AttributeScope.SHARED_SCOPE.toShortString(), ['targetTemperature', 'targetHumidity']); + var attributes = await tbClient.getAttributeService().getAttributesByScope( + foundDevice.id!, + AttributeScope.SHARED_SCOPE.toShortString(), + ['targetTemperature', 'targetHumidity']); print('Found device attributes: $attributes'); await tbClient.getDeviceService().deleteDevice(savedDevice.id!.id!); - foundDevice = await tbClient.getDeviceService().getDevice(savedDevice.id!.id!); + foundDevice = + await tbClient.getDeviceService().getDevice(savedDevice.id!.id!); print('foundDevice: $foundDevice'); - print('**********************************************************************'); + print( + '**********************************************************************'); } diff --git a/example/entity_group.dart b/example/entity_group.dart index 88332a7..b4edc58 100644 --- a/example/entity_group.dart +++ b/example/entity_group.dart @@ -16,8 +16,8 @@ void main() async { await fetchEntityGroupEntitiesExample(); await getOwnersExample(); - await tbClient.logout(requestConfig: RequestConfig(ignoreLoading: true, ignoreErrors: true)); - + await tbClient.logout( + requestConfig: RequestConfig(ignoreLoading: true, ignoreErrors: true)); } catch (e, s) { print('Error: $e'); print('Stack: $s'); @@ -25,50 +25,76 @@ void main() async { } Future fetchEntityGroupsExample() async { - print('**********************************************************************'); - print('* FETCH ENTITY GROUPS EXAMPLE *'); - print('**********************************************************************'); - - for (var groupType in [EntityType.DEVICE, EntityType.ASSET, EntityType.ENTITY_VIEW, - EntityType.DASHBOARD, EntityType.CUSTOMER, EntityType.USER, EntityType.EDGE]) { - var entityGroups = await tbClient.getEntityGroupService().getEntityGroupsByType(groupType); + print( + '**********************************************************************'); + print( + '* FETCH ENTITY GROUPS EXAMPLE *'); + print( + '**********************************************************************'); + + for (var groupType in [ + EntityType.DEVICE, + EntityType.ASSET, + EntityType.ENTITY_VIEW, + EntityType.DASHBOARD, + EntityType.CUSTOMER, + EntityType.USER, + EntityType.EDGE + ]) { + var entityGroups = + await tbClient.getEntityGroupService().getEntityGroupsByType(groupType); print('found ${groupType.toShortString()} groups: $entityGroups'); } - print('**********************************************************************'); + print( + '**********************************************************************'); } Future fetchEntityGroupEntitiesExample() async { - print('**********************************************************************'); - print('* FETCH ENTITY GROUP ENTITIES EXAMPLE *'); - print('**********************************************************************'); - - var deviceGroupAll = await tbClient.getEntityGroupService().getEntityGroupAllByOwnerAndType(TenantId(tbClient.getAuthUser()!.tenantId), EntityType.DEVICE); + print( + '**********************************************************************'); + print( + '* FETCH ENTITY GROUP ENTITIES EXAMPLE *'); + print( + '**********************************************************************'); + + var deviceGroupAll = await tbClient + .getEntityGroupService() + .getEntityGroupAllByOwnerAndType( + TenantId(tbClient.getAuthUser()!.tenantId), EntityType.DEVICE); print('found device group all: $deviceGroupAll'); var pageLink = PageLink(10); PageData deviceEntities; do { - deviceEntities = await tbClient.getEntityGroupService().getEntities(deviceGroupAll!.id!.id!, pageLink); + deviceEntities = await tbClient + .getEntityGroupService() + .getEntities(deviceGroupAll!.id!.id!, pageLink); print('Device group all short entity views: $deviceEntities'); pageLink = pageLink.nextPageLink(); - } while(deviceEntities.hasNext); + } while (deviceEntities.hasNext); pageLink = PageLink(10); PageData devices; do { - devices = await tbClient.getDeviceService().getDevicesByEntityGroupId(deviceGroupAll.id!.id!, pageLink); + devices = await tbClient + .getDeviceService() + .getDevicesByEntityGroupId(deviceGroupAll.id!.id!, pageLink); print('Device group all devices: $devices'); pageLink = pageLink.nextPageLink(); - } while(devices.hasNext); + } while (devices.hasNext); - print('**********************************************************************'); + print( + '**********************************************************************'); } Future getOwnersExample() async { - print('**********************************************************************'); - print('* GET OWNERS EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* GET OWNERS EXAMPLE *'); + print( + '**********************************************************************'); var pageLink = PageLink(10); PageData owners; @@ -76,8 +102,10 @@ Future getOwnersExample() async { owners = await tbClient.getEntityGroupService().getOwners(pageLink); print('owners: $owners'); pageLink = pageLink.nextPageLink(); - } while(owners.hasNext); - print('**********************************************************************'); + } while (owners.hasNext); + print( + '**********************************************************************'); - print('**********************************************************************'); + print( + '**********************************************************************'); } diff --git a/example/fetch_data.dart b/example/fetch_data.dart index 5b2b469..34b4680 100644 --- a/example/fetch_data.dart +++ b/example/fetch_data.dart @@ -13,11 +13,11 @@ late ThingsboardClient tbClient; void main() async { try { tbClient = ThingsboardClient(thingsBoardApiEndpoint, - storage: InMemoryStorage(), - onUserLoaded: onUserLoaded, - onError: onError, - onLoadStarted: onLoadStarted, - onLoadFinished: onLoadFinished); + storage: InMemoryStorage(), + onUserLoaded: onUserLoaded, + onError: onError, + onLoadStarted: onLoadStarted, + onLoadFinished: onLoadFinished); await tbClient.init(); } catch (e, s) { print('Error: $e'); @@ -47,7 +47,7 @@ Future onUserLoaded() async { User? currentUser; try { currentUser = await tbClient.getUserService().getUser(); - } catch(e) { + } catch (e) { await tbClient.logout(); } print('currentUser: $currentUser'); @@ -85,36 +85,40 @@ Future onUserLoaded() async { await fetchRolesExample(); await fetchWhiteLabelingParamsExample(); } - await tbClient.logout(requestConfig: RequestConfig(ignoreLoading: true, ignoreErrors: true)); + await tbClient.logout( + requestConfig: + RequestConfig(ignoreLoading: true, ignoreErrors: true)); } else { if (!loginExecuted) { loginExecuted = true; - await tbClient.login( - LoginRequest(username, password)); + await tbClient.login(LoginRequest(username, password)); } } - } - catch (e, s) { + } catch (e, s) { print('Error: $e'); print('Stack: $s'); } } Future getOAuth2ClientsExample() async { - print('**********************************************************************'); - print('* OAUTH2 CLIENTS INFO EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* OAUTH2 CLIENTS INFO EXAMPLE *'); + print( + '**********************************************************************'); var clients = await tbClient.getOAuth2Service().getOAuth2Clients(); print('OAuth2 clients: $clients'); - } Future fetchSettingsExample() async { - - print('**********************************************************************'); - print('* FETCH SETTINGS EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* FETCH SETTINGS EXAMPLE *'); + print( + '**********************************************************************'); var settings = await tbClient.getAdminService().getAdminSettings('general'); print('General settings: ${settings?.generalSettings}'); @@ -127,19 +131,21 @@ Future fetchSettingsExample() async { var securitySettings = await tbClient.getAdminService().getSecuritySettings(); print('Security settings: $securitySettings'); - + var updateMessage = await tbClient.getAdminService().checkUpdates(); print('Updates: $updateMessage'); - print('**********************************************************************'); + print( + '**********************************************************************'); } Future fetchTenantsExample() async { - - print('**********************************************************************'); - print('* FETCH TENANTS EXAMPLE *'); - print('**********************************************************************'); - + print( + '**********************************************************************'); + print( + '* FETCH TENANTS EXAMPLE *'); + print( + '**********************************************************************'); var pageLink = PageLink(10); PageData tenants; @@ -147,29 +153,36 @@ Future fetchTenantsExample() async { tenants = await tbClient.getTenantService().getTenantInfos(pageLink); print('tenants: $tenants'); pageLink = pageLink.nextPageLink(); - } while(tenants.hasNext); - print('**********************************************************************'); + } while (tenants.hasNext); + print( + '**********************************************************************'); } Future fetchDashboardParametersExample() async { - - print('**********************************************************************'); - print('* FETCH DASHBOARD PARAMETERS EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* FETCH DASHBOARD PARAMETERS EXAMPLE *'); + print( + '**********************************************************************'); var serverTime = await tbClient.getDashboardService().getServerTime(); print('serverTime: $serverTime'); - var maxDatapointsLimit = await tbClient.getDashboardService().getMaxDatapointsLimit(); + var maxDatapointsLimit = + await tbClient.getDashboardService().getMaxDatapointsLimit(); print('maxDatapointsLimit: $maxDatapointsLimit'); - print('**********************************************************************'); + print( + '**********************************************************************'); } Future fetchUsersExample() async { - - print('**********************************************************************'); - print('* FETCH USERS EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* FETCH USERS EXAMPLE *'); + print( + '**********************************************************************'); var pageLink = PageLink(10); PageData users; @@ -177,16 +190,19 @@ Future fetchUsersExample() async { users = await tbClient.getUserService().getUserUsers(pageLink); print('users: $users'); pageLink = pageLink.nextPageLink(); - } while(users.hasNext); + } while (users.hasNext); - print('**********************************************************************'); + print( + '**********************************************************************'); } Future fetchUserAssetsExample() async { - - print('**********************************************************************'); - print('* FETCH USER ASSETS EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* FETCH USER ASSETS EXAMPLE *'); + print( + '**********************************************************************'); var pageLink = PageLink(10); PageData assets; @@ -194,15 +210,18 @@ Future fetchUserAssetsExample() async { assets = await tbClient.getAssetService().getUserAssets(pageLink); print('assets: $assets'); pageLink = pageLink.nextPageLink(); - } while(assets.hasNext); - print('**********************************************************************'); + } while (assets.hasNext); + print( + '**********************************************************************'); } Future fetchUserDevicesExample() async { - - print('**********************************************************************'); - print('* FETCH USER DEVICES EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* FETCH USER DEVICES EXAMPLE *'); + print( + '**********************************************************************'); var pageLink = PageLink(10); PageData devices; @@ -210,48 +229,61 @@ Future fetchUserDevicesExample() async { devices = await tbClient.getDeviceService().getUserDevices(pageLink); print('devices: $devices'); pageLink = pageLink.nextPageLink(); - } while(devices.hasNext); - print('**********************************************************************'); + } while (devices.hasNext); + print( + '**********************************************************************'); } Future fetchDeviceProfilesExample() async { - print('**********************************************************************'); - print('* FETCH DEVICE PROFILES EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* FETCH DEVICE PROFILES EXAMPLE *'); + print( + '**********************************************************************'); var pageLink = PageLink(10); PageData deviceProfiles; do { - deviceProfiles = await tbClient.getDeviceProfileService().getDeviceProfiles(pageLink); + deviceProfiles = + await tbClient.getDeviceProfileService().getDeviceProfiles(pageLink); print('deviceProfiles: $deviceProfiles'); pageLink = pageLink.nextPageLink(); - } while(deviceProfiles.hasNext); + } while (deviceProfiles.hasNext); - print('**********************************************************************'); + print( + '**********************************************************************'); } Future fetchDeviceProfileInfosExample() async { - - print('**********************************************************************'); - print('* FETCH DEVICE PROFILE INFOS EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* FETCH DEVICE PROFILE INFOS EXAMPLE *'); + print( + '**********************************************************************'); var pageLink = PageLink(10); PageData deviceProfileInfos; do { - deviceProfileInfos = await tbClient.getDeviceProfileService().getDeviceProfileInfos(pageLink); + deviceProfileInfos = await tbClient + .getDeviceProfileService() + .getDeviceProfileInfos(pageLink); print('deviceProfileInfos: $deviceProfileInfos'); pageLink = pageLink.nextPageLink(); - } while(deviceProfileInfos.hasNext); + } while (deviceProfileInfos.hasNext); - print('**********************************************************************'); + print( + '**********************************************************************'); } Future fetchUserCustomersExample() async { - - print('**********************************************************************'); - print('* FETCH USER CUSTOMERS EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* FETCH USER CUSTOMERS EXAMPLE *'); + print( + '**********************************************************************'); var pageLink = PageLink(10); PageData customers; @@ -259,31 +291,42 @@ Future fetchUserCustomersExample() async { customers = await tbClient.getCustomerService().getUserCustomers(pageLink); print('customers: $customers'); pageLink = pageLink.nextPageLink(); - } while(customers.hasNext); - print('**********************************************************************'); + } while (customers.hasNext); + print( + '**********************************************************************'); } Future fetchUserDashboardsExample() async { - print('**********************************************************************'); - print('* FETCH USER DASHBOARDS EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* FETCH USER DASHBOARDS EXAMPLE *'); + print( + '**********************************************************************'); var pageLink = PageLink(10); PageData dashboards; do { - dashboards = await tbClient.getDashboardService().getUserDashboards(pageLink); + dashboards = + await tbClient.getDashboardService().getUserDashboards(pageLink); print('dashboards: $dashboards'); pageLink = pageLink.nextPageLink(); - } while(dashboards.hasNext); - print('**********************************************************************'); + } while (dashboards.hasNext); + print( + '**********************************************************************'); } Future fetchAlarmsExample() async { - print('**********************************************************************'); - print('* FETCH ALARMS EXAMPLE *'); - print('**********************************************************************'); - - var alarmQuery = AlarmQuery(TimePageLink(10, 0, null, SortOrder('createdTime', Direction.DESC)), fetchOriginator: true); + print( + '**********************************************************************'); + print( + '* FETCH ALARMS EXAMPLE *'); + print( + '**********************************************************************'); + + var alarmQuery = AlarmQuery( + TimePageLink(10, 0, null, SortOrder('createdTime', Direction.DESC)), + fetchOriginator: true); PageData alarms; var total = 0; do { @@ -291,18 +334,23 @@ Future fetchAlarmsExample() async { total += alarms.data.length; print('alarms: $alarms'); alarmQuery.pageLink = alarmQuery.pageLink.nextPageLink(); - } while(alarms.hasNext && total <= 50); - print('**********************************************************************'); + } while (alarms.hasNext && total <= 50); + print( + '**********************************************************************'); } Future countEntitiesExample() async { - print('**********************************************************************'); - print('* COUNT ENTITIES EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* COUNT ENTITIES EXAMPLE *'); + print( + '**********************************************************************'); var entityFilter = EntityTypeFilter(entityType: EntityType.DEVICE); var devicesQuery = EntityCountQuery(entityFilter: entityFilter); - var totalDevicesCount = await tbClient.getEntityQueryService().countEntitiesByQuery(devicesQuery); + var totalDevicesCount = + await tbClient.getEntityQueryService().countEntitiesByQuery(devicesQuery); print('Total devices: $totalDevicesCount'); var activeDeviceKeyFilter = KeyFilter( key: EntityKey(type: EntityKeyType.ATTRIBUTE, key: 'active'), @@ -311,7 +359,8 @@ Future countEntitiesExample() async { operation: BooleanOperation.EQUAL, value: FilterPredicateValue(true))); devicesQuery.keyFilters = [activeDeviceKeyFilter]; - var activeDevicesCount = await tbClient.getEntityQueryService().countEntitiesByQuery(devicesQuery); + var activeDevicesCount = + await tbClient.getEntityQueryService().countEntitiesByQuery(devicesQuery); print('Active devices: $activeDevicesCount'); var inactiveDeviceKeyFilter = KeyFilter( key: EntityKey(type: EntityKeyType.ATTRIBUTE, key: 'active'), @@ -320,15 +369,20 @@ Future countEntitiesExample() async { operation: BooleanOperation.EQUAL, value: FilterPredicateValue(false))); devicesQuery.keyFilters = [inactiveDeviceKeyFilter]; - var inactiveDevicesCount = await tbClient.getEntityQueryService().countEntitiesByQuery(devicesQuery); + var inactiveDevicesCount = + await tbClient.getEntityQueryService().countEntitiesByQuery(devicesQuery); print('Inactive devices: $inactiveDevicesCount'); - print('**********************************************************************'); + print( + '**********************************************************************'); } Future queryEntitiesExample() async { - print('**********************************************************************'); - print('* QUERY ENTITIES EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* QUERY ENTITIES EXAMPLE *'); + print( + '**********************************************************************'); var entityFilter = EntityTypeFilter(entityType: EntityType.DEVICE); var inactiveDeviceKeyFilter = KeyFilter( @@ -346,29 +400,44 @@ Future queryEntitiesExample() async { EntityKey(type: EntityKeyType.ATTRIBUTE, key: 'active') ]; - var devicesQuery = EntityDataQuery(entityFilter: entityFilter, keyFilters: [inactiveDeviceKeyFilter], - entityFields: deviceFields, latestValues: deviceAttributes, pageLink: EntityDataPageLink(pageSize: 10, - sortOrder: EntityDataSortOrder(key: EntityKey(type: EntityKeyType.ENTITY_FIELD, key: 'createdTime'), + var devicesQuery = EntityDataQuery( + entityFilter: entityFilter, + keyFilters: [inactiveDeviceKeyFilter], + entityFields: deviceFields, + latestValues: deviceAttributes, + pageLink: EntityDataPageLink( + pageSize: 10, + sortOrder: EntityDataSortOrder( + key: EntityKey( + type: EntityKeyType.ENTITY_FIELD, key: 'createdTime'), direction: EntityDataSortOrderDirection.DESC))); PageData devices; do { - devices = await tbClient.getEntityQueryService().findEntityDataByQuery(devicesQuery); + devices = await tbClient + .getEntityQueryService() + .findEntityDataByQuery(devicesQuery); // print('Inactive devices entities data: $devices'); print('Inactive devices entities data:'); devices.data.forEach((device) { - print('id: ${device.entityId.id}, createdTime: ${device.createdTime}, name: ${device.field('name')!}, type: ${device.field('type')!}, active: ${device.attribute('active')}'); + print( + 'id: ${device.entityId.id}, createdTime: ${device.createdTime}, name: ${device.field('name')!}, type: ${device.field('type')!}, active: ${device.attribute('active')}'); }); devicesQuery = devicesQuery.next(); } while (devices.hasNext); - print('**********************************************************************'); + print( + '**********************************************************************'); } Future fetchAuditLogsExample() async { - print('**********************************************************************'); - print('* FETCH AUDIT LOGS EXAMPLE *'); - print('**********************************************************************'); - - var pageLink = TimePageLink(10, 0, null, SortOrder('createdTime', Direction.DESC)); + print( + '**********************************************************************'); + print( + '* FETCH AUDIT LOGS EXAMPLE *'); + print( + '**********************************************************************'); + + var pageLink = + TimePageLink(10, 0, null, SortOrder('createdTime', Direction.DESC)); PageData auditLogs; var total = 0; do { @@ -376,14 +445,18 @@ Future fetchAuditLogsExample() async { total += auditLogs.data.length; print('auditLogs: $auditLogs'); pageLink = pageLink.nextPageLink(); - } while(auditLogs.hasNext && total <= 50); - print('**********************************************************************'); + } while (auditLogs.hasNext && total <= 50); + print( + '**********************************************************************'); } Future fetchResourcesExample() async { - print('**********************************************************************'); - print('* FETCH RESOURCES EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* FETCH RESOURCES EXAMPLE *'); + print( + '**********************************************************************'); var pageLink = PageLink(10); PageData resources; @@ -391,12 +464,13 @@ Future fetchResourcesExample() async { resources = await tbClient.getResourceService().getResources(pageLink); print('resources: $resources'); pageLink = pageLink.nextPageLink(); - } while(resources.hasNext); + } while (resources.hasNext); if (resources.data.isNotEmpty) { var resource = resources.data[0]; print('download resource with id: ${resource.id!.id}'); - var responseBody = await tbClient.getResourceService().downloadResource(resource.id!.id!); + var responseBody = + await tbClient.getResourceService().downloadResource(resource.id!.id!); if (responseBody != null) { var headers = Headers.fromMap(responseBody.headers); var contentLength = headers[Headers.contentLengthHeader]?.first ?? '-1'; @@ -409,30 +483,38 @@ Future fetchResourcesExample() async { bytes.forEach((bytes) { var base64str = base64Encode(bytes); print('download resource chunk length: ${bytes.length}'); - print('download resource chunk bytes: [${base64str.substring(0, min(30, base64str.length))}...]'); + print( + 'download resource chunk bytes: [${base64str.substring(0, min(30, base64str.length))}...]'); }); } } - print('**********************************************************************'); + print( + '**********************************************************************'); } Future fetchOtaPackagesExample() async { - print('**********************************************************************'); - print('* FETCH OTA PACKAGES EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* FETCH OTA PACKAGES EXAMPLE *'); + print( + '**********************************************************************'); var pageLink = PageLink(10); PageData otaPackages; do { - otaPackages = await tbClient.getOtaPackageService().getOtaPackages(pageLink); + otaPackages = + await tbClient.getOtaPackageService().getOtaPackages(pageLink); print('otaPackages: $otaPackages'); pageLink = pageLink.nextPageLink(); - } while(otaPackages.hasNext); + } while (otaPackages.hasNext); if (otaPackages.data.isNotEmpty) { var otaPackage = otaPackages.data[0]; print('download ota package with id: ${otaPackage.id!.id}'); - var responseBody = await tbClient.getOtaPackageService().downloadOtaPackage(otaPackage.id!.id!); + var responseBody = await tbClient + .getOtaPackageService() + .downloadOtaPackage(otaPackage.id!.id!); if (responseBody != null) { var headers = Headers.fromMap(responseBody.headers); var contentLength = headers[Headers.contentLengthHeader]?.first ?? '-1'; @@ -445,17 +527,22 @@ Future fetchOtaPackagesExample() async { bytes.forEach((bytes) { var base64str = base64Encode(bytes); print('download ota package chunk length: ${bytes.length}'); - print('download ota package chunk bytes: [${base64str.substring(0, min(30, base64str.length))}...]'); + print( + 'download ota package chunk bytes: [${base64str.substring(0, min(30, base64str.length))}...]'); }); } } - print('**********************************************************************'); + print( + '**********************************************************************'); } Future fetchRolesExample() async { - print('**********************************************************************'); - print('* FETCH ROLES EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* FETCH ROLES EXAMPLE *'); + print( + '**********************************************************************'); var pageLink = PageLink(10); PageData roles; @@ -463,18 +550,23 @@ Future fetchRolesExample() async { roles = await tbClient.getRoleService().getRoles(pageLink); print('roles: $roles'); pageLink = pageLink.nextPageLink(); - } while(roles.hasNext); - print('**********************************************************************'); + } while (roles.hasNext); + print( + '**********************************************************************'); } Future fetchWhiteLabelingParamsExample() async { - print('**********************************************************************'); - print('* FETCH WHITE-LABELING PARAMS EXAMPLE *'); - print('**********************************************************************'); - - var whiteLabelingParams = await tbClient.getWhiteLabelingService().getWhiteLabelParams(); + print( + '**********************************************************************'); + print( + '* FETCH WHITE-LABELING PARAMS EXAMPLE *'); + print( + '**********************************************************************'); + + var whiteLabelingParams = + await tbClient.getWhiteLabelingService().getWhiteLabelParams(); print('whiteLabelingParams: $whiteLabelingParams'); - print('**********************************************************************'); + print( + '**********************************************************************'); } - diff --git a/example/ota_package.dart b/example/ota_package.dart index c7c8f61..34f9bec 100644 --- a/example/ota_package.dart +++ b/example/ota_package.dart @@ -20,8 +20,8 @@ void main() async { await otaPackageExample(); - await tbClient.logout(requestConfig: RequestConfig(ignoreLoading: true, ignoreErrors: true)); - + await tbClient.logout( + requestConfig: RequestConfig(ignoreLoading: true, ignoreErrors: true)); } catch (e, s) { print('Error: $e'); print('Stack: $s'); @@ -29,20 +29,31 @@ void main() async { } Future otaPackageExample() async { - print('**********************************************************************'); - print('* OTA PACKAGE EXAMPLE *'); - print('**********************************************************************'); - - var deviceProfileId = (await tbClient.getDeviceProfileService().getDefaultDeviceProfileInfo()).id; - - var otaPackage = OtaPackageInfo(DeviceProfileId(deviceProfileId.id!), OtaPackageType.FIRMWARE, getRandomString(30), 'v.1'); - otaPackage = await tbClient.getOtaPackageService().saveOtaPackageInfo(otaPackage); + print( + '**********************************************************************'); + print( + '* OTA PACKAGE EXAMPLE *'); + print( + '**********************************************************************'); + + var deviceProfileId = + (await tbClient.getDeviceProfileService().getDefaultDeviceProfileInfo()) + .id; + + var otaPackage = OtaPackageInfo(DeviceProfileId(deviceProfileId.id!), + OtaPackageType.FIRMWARE, getRandomString(30), 'v.1'); + otaPackage = + await tbClient.getOtaPackageService().saveOtaPackageInfo(otaPackage); var file = MultipartFile.fromString('Test content', filename: 'test.txt'); - otaPackage = await tbClient.getOtaPackageService().saveOtaPackageData(otaPackage.id!.id!, file, checksumAlgorithm: ChecksumAlgorithm.SHA256); + otaPackage = await tbClient.getOtaPackageService().saveOtaPackageData( + otaPackage.id!.id!, file, + checksumAlgorithm: ChecksumAlgorithm.SHA256); print('download ota package with id: ${otaPackage.id!.id}'); - var responseBody = await tbClient.getOtaPackageService().downloadOtaPackage(otaPackage.id!.id!); + var responseBody = await tbClient + .getOtaPackageService() + .downloadOtaPackage(otaPackage.id!.id!); if (responseBody != null) { var headers = Headers.fromMap(responseBody.headers); var contentLength = headers[Headers.contentLengthHeader]?.first ?? '-1'; @@ -55,11 +66,13 @@ Future otaPackageExample() async { bytes.forEach((bytes) { var base64str = base64Encode(bytes); print('download ota package chunk length: ${bytes.length}'); - print('download ota package chunk bytes: [${base64str.substring(0, min(30, base64str.length))}...]'); + print( + 'download ota package chunk bytes: [${base64str.substring(0, min(30, base64str.length))}...]'); }); } await tbClient.getOtaPackageService().deleteOtaPackage(otaPackage.id!.id!); - print('**********************************************************************'); + print( + '**********************************************************************'); } diff --git a/example/thingsboard_client.dart b/example/thingsboard_client.dart index 77f1b59..cc0b32e 100644 --- a/example/thingsboard_client.dart +++ b/example/thingsboard_client.dart @@ -15,7 +15,6 @@ void main() async { print('currentUserDetails: $currentUserDetails'); await tbClient.logout(); - } catch (e, s) { print('Error: $e'); print('Stack: $s'); diff --git a/example/user_permissions.dart b/example/user_permissions.dart index 345eb67..4b019cc 100644 --- a/example/user_permissions.dart +++ b/example/user_permissions.dart @@ -14,8 +14,8 @@ void main() async { await userPermissionsExample(); - await tbClient.logout(requestConfig: RequestConfig(ignoreLoading: true, ignoreErrors: true)); - + await tbClient.logout( + requestConfig: RequestConfig(ignoreLoading: true, ignoreErrors: true)); } catch (e, s) { print('Error: $e'); print('Stack: $s'); @@ -23,15 +23,21 @@ void main() async { } Future userPermissionsExample() async { - print('**********************************************************************'); - print('* USER PERMISSIONS EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* USER PERMISSIONS EXAMPLE *'); + print( + '**********************************************************************'); - var allowedUserPermissions = await tbClient.getUserPermissionsService().getAllowedPermissions(); + var allowedUserPermissions = + await tbClient.getUserPermissionsService().getAllowedPermissions(); print('Allowed user permissions: ${allowedUserPermissions.userPermissions}'); - print('Has generic devices read permission: ${allowedUserPermissions.hasGenericPermission(Resource.DEVICE, Operation.READ)}'); + print( + 'Has generic devices read permission: ${allowedUserPermissions.hasGenericPermission(Resource.DEVICE, Operation.READ)}'); - print('**********************************************************************'); + print( + '**********************************************************************'); } diff --git a/example/websocket_api.dart b/example/websocket_api.dart index b0e54d7..2cfd893 100644 --- a/example/websocket_api.dart +++ b/example/websocket_api.dart @@ -11,7 +11,6 @@ late ThingsboardClient tbClient; void main() async { try { - tbClient = ThingsboardClient(thingsBoardApiEndpoint); await tbClient.login(LoginRequest(username, password)); @@ -20,8 +19,8 @@ void main() async { await entityDataQuerySubscriptionExample(); await entityDataQueryWithTimeseriesSubscriptionExample(); - await tbClient.logout(requestConfig: RequestConfig(ignoreLoading: true, ignoreErrors: true)); - + await tbClient.logout( + requestConfig: RequestConfig(ignoreLoading: true, ignoreErrors: true)); } catch (e, s) { print('Error: $e'); print('Stack: $s'); @@ -29,20 +28,25 @@ void main() async { } Future simpleAttributesSubscriptionExample() async { - print('**********************************************************************'); - print('* SIMPLE ATTRIBUTES SUBSCRIPTION EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* SIMPLE ATTRIBUTES SUBSCRIPTION EXAMPLE *'); + print( + '**********************************************************************'); var deviceName = getRandomString(30); var device = Device(deviceName, 'default'); device.additionalInfo = {'description': 'My test device!'}; var savedDevice = await tbClient.getDeviceService().saveDevice(device); print('savedDevice: $savedDevice'); - var foundDevice = await tbClient.getDeviceService().getDevice(savedDevice.id!.id!); + var foundDevice = + await tbClient.getDeviceService().getDevice(savedDevice.id!.id!); print('foundDevice: $foundDevice'); var telemetryService = tbClient.getTelemetryService(); - var subscription = TelemetrySubscriber.createEntityAttributesSubscription(telemetryService: telemetryService, + var subscription = TelemetrySubscriber.createEntityAttributesSubscription( + telemetryService: telemetryService, entityId: foundDevice!.id!, attributeScope: AttributeScope.SHARED_SCOPE.toShortString()); @@ -52,33 +56,38 @@ Future simpleAttributesSubscriptionExample() async { subscription.subscribe(); - var res = await tbClient.getAttributeService().saveEntityAttributesV2(foundDevice.id!, AttributeScope.SHARED_SCOPE.toShortString(), { - 'targetTemperature': 22.4, - 'targetHumidity': 57.8 - }); + var res = await tbClient.getAttributeService().saveEntityAttributesV2( + foundDevice.id!, + AttributeScope.SHARED_SCOPE.toShortString(), + {'targetTemperature': 22.4, 'targetHumidity': 57.8}); print('Save attributes result: $res'); - res = await tbClient.getAttributeService().saveEntityAttributesV2(foundDevice.id!, AttributeScope.SHARED_SCOPE.toShortString(), { - 'targetTemperature': 30, - 'targetHumidity': 55.1 - }); + res = await tbClient.getAttributeService().saveEntityAttributesV2( + foundDevice.id!, + AttributeScope.SHARED_SCOPE.toShortString(), + {'targetTemperature': 30, 'targetHumidity': 55.1}); print('Save attributes result: $res'); await Future.delayed(Duration(seconds: 1)); subscription.unsubscribe(); await tbClient.getDeviceService().deleteDevice(savedDevice.id!.id!); - print('**********************************************************************'); + print( + '**********************************************************************'); } Future entityDataQuerySubscriptionExample() async { - print('**********************************************************************'); - print('* ENTITY DATA QUERY SUBSCRIPTION EXAMPLE *'); - print('**********************************************************************'); + print( + '**********************************************************************'); + print( + '* ENTITY DATA QUERY SUBSCRIPTION EXAMPLE *'); + print( + '**********************************************************************'); var deviceName = getRandomString(30); var device = Device(deviceName, 'default'); device.additionalInfo = {'description': 'My test device!'}; var savedDevice = await tbClient.getDeviceService().saveDevice(device); print('savedDevice: $savedDevice'); - var foundDevice = await tbClient.getDeviceService().getDevice(savedDevice.id!.id!); + var foundDevice = + await tbClient.getDeviceService().getDevice(savedDevice.id!.id!); print('foundDevice: $foundDevice'); var entityFilter = SingleEntityFilter(singleEntity: foundDevice!.id!); @@ -92,9 +101,15 @@ Future entityDataQuerySubscriptionExample() async { EntityKey(type: EntityKeyType.ATTRIBUTE, key: 'targetHumidity') ]; - var devicesQuery = EntityDataQuery(entityFilter: entityFilter, - entityFields: deviceFields, latestValues: deviceAttributes, pageLink: EntityDataPageLink(pageSize: 10, - sortOrder: EntityDataSortOrder(key: EntityKey(type: EntityKeyType.ENTITY_FIELD, key: 'createdTime'), + var devicesQuery = EntityDataQuery( + entityFilter: entityFilter, + entityFields: deviceFields, + latestValues: deviceAttributes, + pageLink: EntityDataPageLink( + pageSize: 10, + sortOrder: EntityDataSortOrder( + key: EntityKey( + type: EntityKeyType.ENTITY_FIELD, key: 'createdTime'), direction: EntityDataSortOrderDirection.DESC))); var latestCmd = LatestValueCmd(keys: deviceAttributes); @@ -111,30 +126,33 @@ Future entityDataQuerySubscriptionExample() async { subscription.subscribe(); - var res = await tbClient.getAttributeService().saveEntityAttributesV2(foundDevice.id!, AttributeScope.SHARED_SCOPE.toShortString(), { - 'targetTemperature': 22.4, - 'targetHumidity': 57.8 - }); + var res = await tbClient.getAttributeService().saveEntityAttributesV2( + foundDevice.id!, + AttributeScope.SHARED_SCOPE.toShortString(), + {'targetTemperature': 22.4, 'targetHumidity': 57.8}); print('Save attributes result: $res'); await Future.delayed(Duration(seconds: 1)); - res = await tbClient.getAttributeService().saveEntityAttributesV2(foundDevice.id!, AttributeScope.SHARED_SCOPE.toShortString(), { - 'targetTemperature': 30, - 'targetHumidity': 55.1 - }); + res = await tbClient.getAttributeService().saveEntityAttributesV2( + foundDevice.id!, + AttributeScope.SHARED_SCOPE.toShortString(), + {'targetTemperature': 30, 'targetHumidity': 55.1}); print('Save attributes result: $res'); await Future.delayed(Duration(seconds: 1)); subscription.unsubscribe(); await tbClient.getDeviceService().deleteDevice(savedDevice.id!.id!); - print('**********************************************************************'); + print( + '**********************************************************************'); } Future entityDataQueryWithTimeseriesSubscriptionExample() async { - print('**********************************************************************'); - print('* ENTITY DATA QUERY WITH TIMESERIES SUBSCRIPTION EXAMPLE *'); - print('**********************************************************************'); - + print( + '**********************************************************************'); + print( + '* ENTITY DATA QUERY WITH TIMESERIES SUBSCRIPTION EXAMPLE *'); + print( + '**********************************************************************'); var deviceName = getRandomString(30); var device = Device(deviceName, 'default'); @@ -142,7 +160,8 @@ Future entityDataQueryWithTimeseriesSubscriptionExample() async { var savedDevice = await tbClient.getDeviceService().saveDevice(device); print('savedDevice: $savedDevice'); - var entityFilter = EntityNameFilter(entityType: EntityType.DEVICE, entityNameFilter: deviceName); + var entityFilter = EntityNameFilter( + entityType: EntityType.DEVICE, entityNameFilter: deviceName); var deviceFields = [ EntityKey(type: EntityKeyType.ENTITY_FIELD, key: 'name'), EntityKey(type: EntityKeyType.ENTITY_FIELD, key: 'type'), @@ -153,15 +172,24 @@ Future entityDataQueryWithTimeseriesSubscriptionExample() async { EntityKey(type: EntityKeyType.TIME_SERIES, key: 'humidity') ]; - var devicesQuery = EntityDataQuery(entityFilter: entityFilter, - entityFields: deviceFields, latestValues: deviceTelemetry, pageLink: EntityDataPageLink(pageSize: 10, - sortOrder: EntityDataSortOrder(key: EntityKey(type: EntityKeyType.ENTITY_FIELD, key: 'createdTime'), + var devicesQuery = EntityDataQuery( + entityFilter: entityFilter, + entityFields: deviceFields, + latestValues: deviceTelemetry, + pageLink: EntityDataPageLink( + pageSize: 10, + sortOrder: EntityDataSortOrder( + key: EntityKey( + type: EntityKeyType.ENTITY_FIELD, key: 'createdTime'), direction: EntityDataSortOrderDirection.DESC))); var currentTime = DateTime.now().millisecondsSinceEpoch; var timeWindow = Duration(hours: 1).inMilliseconds; - var tsCmd = TimeSeriesCmd(keys: ['temperature', 'humidity'], startTs: currentTime - timeWindow, timeWindow: timeWindow); + var tsCmd = TimeSeriesCmd( + keys: ['temperature', 'humidity'], + startTs: currentTime - timeWindow, + timeWindow: timeWindow); var cmd = EntityDataCmd(query: devicesQuery, tsCmd: tsCmd); @@ -177,16 +205,15 @@ Future entityDataQueryWithTimeseriesSubscriptionExample() async { var rng = Random(); - for (var i =0;i<5; i++) { + for (var i = 0; i < 5; i++) { await Future.delayed(Duration(seconds: 1)); var temperature = 10 + 20 * rng.nextDouble(); var humidity = 30 + 40 * rng.nextDouble(); - var telemetryRequest = { - 'temperature': temperature, - 'humidity': humidity - }; + var telemetryRequest = {'temperature': temperature, 'humidity': humidity}; print('Save telemetry request: $telemetryRequest'); - var res = await tbClient.getAttributeService().saveEntityTelemetry(savedDevice.id!, 'TELEMETRY', telemetryRequest); + var res = await tbClient + .getAttributeService() + .saveEntityTelemetry(savedDevice.id!, 'TELEMETRY', telemetryRequest); print('Save telemetry result: $res'); } @@ -194,5 +221,6 @@ Future entityDataQueryWithTimeseriesSubscriptionExample() async { subscription.unsubscribe(); await tbClient.getDeviceService().deleteDevice(savedDevice.id!.id!); - print('**********************************************************************'); + print( + '**********************************************************************'); } diff --git a/lib/src/error/thingsboard_error.dart b/lib/src/error/thingsboard_error.dart index de9ecc0..4091f56 100644 --- a/lib/src/error/thingsboard_error.dart +++ b/lib/src/error/thingsboard_error.dart @@ -15,7 +15,7 @@ abstract class ThingsBoardErrorCode { } int httpStatusToThingsboardErrorCode(int status) { - switch(status) { + switch (status) { case HttpStatus.unauthorized: return ThingsBoardErrorCode.authentication; case HttpStatus.forbidden: @@ -38,12 +38,17 @@ class ThingsboardError implements Exception { String? message; int? errorCode; int? status; - dynamic? error; + dynamic error; - ThingsboardError({this.message, this.errorCode, this.status, this.refreshTokenPending, this.error}); + ThingsboardError( + {this.message, + this.errorCode, + this.status, + this.refreshTokenPending, + this.error}); - ThingsboardError.fromJson(Map json): - message = json['message'], + ThingsboardError.fromJson(Map json) + : message = json['message'], errorCode = json['errorCode'], status = json['status']; @@ -55,7 +60,8 @@ class ThingsboardError implements Exception { @override String toString() { - var msg = 'ThingsboardError: message: [$message], errorCode: $errorCode, status: $status'; + var msg = + 'ThingsboardError: message: [$message], errorCode: $errorCode, status: $status'; if (_stackTrace != null) { msg += '\n$_stackTrace'; } diff --git a/lib/src/http/http_utils.dart b/lib/src/http/http_utils.dart index 0d29fdc..4f9aeae 100644 --- a/lib/src/http/http_utils.dart +++ b/lib/src/http/http_utils.dart @@ -6,32 +6,43 @@ class RequestConfig { bool ignoreLoading; bool ignoreErrors; bool resendRequest; - RequestConfig({this.ignoreLoading = false, this.ignoreErrors = false, this.resendRequest = false}); + RequestConfig( + {this.ignoreLoading = false, + this.ignoreErrors = false, + this.resendRequest = false}); } Options defaultHttpOptionsFromConfig(RequestConfig? config) { config ??= RequestConfig(); - return defaultHttpOptions(ignoreLoading: config.ignoreLoading, ignoreErrors: config.ignoreErrors, resendRequest: config.resendRequest); + return defaultHttpOptions( + ignoreLoading: config.ignoreLoading, + ignoreErrors: config.ignoreErrors, + resendRequest: config.resendRequest); } -Options defaultHttpOptions({bool ignoreLoading = false, - bool ignoreErrors = false, - bool resendRequest = false}) { - var interceptorConfig = InterceptorConfig(ignoreLoading: ignoreLoading, ignoreErrors: ignoreErrors, resendRequest: resendRequest); +Options defaultHttpOptions( + {bool ignoreLoading = false, + bool ignoreErrors = false, + bool resendRequest = false}) { + var interceptorConfig = InterceptorConfig( + ignoreLoading: ignoreLoading, + ignoreErrors: ignoreErrors, + resendRequest: resendRequest); var options = Options( - headers: { - 'Content-Type': 'application/json' - }, - extra: interceptorConfig.toExtra() - ); + headers: {'Content-Type': 'application/json'}, + extra: interceptorConfig.toExtra()); return options; } -Future nullIfNotFound(Future Function(RequestConfig requestConfig) fetchFunction, {RequestConfig? requestConfig}) async { +Future nullIfNotFound( + Future Function(RequestConfig requestConfig) fetchFunction, + {RequestConfig? requestConfig}) async { try { - return await fetchFunction(requestConfig ?? RequestConfig(ignoreErrors: true)); + return await fetchFunction( + requestConfig ?? RequestConfig(ignoreErrors: true)); } catch (e) { - if (e is ThingsboardError && e.errorCode == ThingsBoardErrorCode.itemNotFound) { + if (e is ThingsboardError && + e.errorCode == ThingsBoardErrorCode.itemNotFound) { return null; } else { rethrow; @@ -39,9 +50,13 @@ Future nullIfNotFound(Future Function(RequestConfig requestConfig) fe } } -Future isSuccessful(Future> Function(RequestConfig requestConfig) requestFunction, {RequestConfig? requestConfig}) async { +Future isSuccessful( + Future> Function(RequestConfig requestConfig) + requestFunction, + {RequestConfig? requestConfig}) async { try { - var response = await requestFunction(requestConfig ?? RequestConfig(ignoreErrors: true)); + var response = await requestFunction( + requestConfig ?? RequestConfig(ignoreErrors: true)); if (response.statusCode != null) { var seriesCode = response.statusCode! ~/ 100; return seriesCode == 2; diff --git a/lib/src/interceptor/http_interceptor.dart b/lib/src/interceptor/http_interceptor.dart index 348c010..dae85bb 100644 --- a/lib/src/interceptor/http_interceptor.dart +++ b/lib/src/interceptor/http_interceptor.dart @@ -9,7 +9,6 @@ import '../model/constants.dart'; import '../thingsboard_client_base.dart'; class HttpInterceptor extends Interceptor { - static const String _authScheme = 'Bearer '; static const _authHeaderName = 'X-Authorization'; @@ -20,21 +19,24 @@ class HttpInterceptor extends Interceptor { final void Function() _loadFinish; final void Function(ThingsboardError error) _onError; - final _internalUrlPrefixes = [ - '/api/auth/token', - '/api/plugins/rpc' - ]; + final _internalUrlPrefixes = ['/api/auth/token', '/api/plugins/rpc']; int _activeRequests = 0; - HttpInterceptor(this._dio, this._tbClient, void Function() onLoadStart, void Function() onLoadFinish, void Function(ThingsboardError error) onError): - _internalDio = Dio(BaseOptions(baseUrl: _dio.options.baseUrl)), + HttpInterceptor( + this._dio, + this._tbClient, + void Function() onLoadStart, + void Function() onLoadFinish, + void Function(ThingsboardError error) onError) + : _internalDio = Dio(BaseOptions(baseUrl: _dio.options.baseUrl)), _loadStart = onLoadStart, _loadFinish = onLoadFinish, _onError = onError; @override - Future onRequest(RequestOptions options, RequestInterceptorHandler handler) async { + Future onRequest( + RequestOptions options, RequestInterceptorHandler handler) async { if (options.path.startsWith('/api/')) { var config = _getInterceptorConfig(options); var isLoading = !_isInternalUrlPrefix(options.path); @@ -42,10 +44,13 @@ class HttpInterceptor extends Interceptor { _updateLoadingState(config, isLoading); } if (_isTokenBasedAuthEntryPoint(options.path)) { - if (_tbClient.getJwtToken() == null && !_tbClient.refreshTokenPending()) { - return _handleRequestError(options, handler, ThingsboardError(message: 'Unauthorized!')); + if (_tbClient.getJwtToken() == null && + !_tbClient.refreshTokenPending()) { + return _handleRequestError( + options, handler, ThingsboardError(message: 'Unauthorized!')); } else if (!_tbClient.isJwtTokenValid()) { - return _handleRequestError(options, handler, ThingsboardError(refreshTokenPending: true)); + return _handleRequestError( + options, handler, ThingsboardError(refreshTokenPending: true)); } else { return _jwtIntercept(options, handler); } @@ -57,25 +62,32 @@ class HttpInterceptor extends Interceptor { } } - Future _jwtIntercept(RequestOptions options, RequestInterceptorHandler handler) async { + Future _jwtIntercept( + RequestOptions options, RequestInterceptorHandler handler) async { if (_updateAuthorizationHeader(options)) { return _handleRequest(options, handler); } else { - return _handleRequestError(options, handler, ThingsboardError(message: 'Could not get JWT token from store.')); + return _handleRequestError(options, handler, + ThingsboardError(message: 'Could not get JWT token from store.')); } } - Future _handleRequest(RequestOptions options, RequestInterceptorHandler handler) async { + Future _handleRequest( + RequestOptions options, RequestInterceptorHandler handler) async { return handler.next(options); } - Future _handleRequestError(RequestOptions options, RequestInterceptorHandler handler, ThingsboardError error) async { - var response = Response(requestOptions: options, data: error); - return handler.reject(DioError(response: response, requestOptions: options), true); + Future _handleRequestError(RequestOptions options, + RequestInterceptorHandler handler, ThingsboardError error) async { + var response = + Response(requestOptions: options, data: error); + return handler.reject( + DioError(response: response, requestOptions: options), true); } @override - Future onResponse(Response response, ResponseInterceptorHandler handler) async { + Future onResponse( + Response response, ResponseInterceptorHandler handler) async { var config = _getInterceptorConfig(response.requestOptions); if (response.requestOptions.path.startsWith('/api/')) { _updateLoadingState(config, false); @@ -92,8 +104,10 @@ class HttpInterceptor extends Interceptor { var tbError = _tbClient.toThingsboardError(error); var errorCode = tbError.errorCode; var refreshToken = false; - if (tbError.refreshTokenPending == true || error.response?.statusCode == 401) { - if (tbError.refreshTokenPending == true || errorCode == ThingsBoardErrorCode.jwtTokenExpired) { + if (tbError.refreshTokenPending == true || + error.response?.statusCode == 401) { + if (tbError.refreshTokenPending == true || + errorCode == ThingsBoardErrorCode.jwtTokenExpired) { refreshToken = true; } else if (errorCode == ThingsBoardErrorCode.credentialsExpired) { notify = false; @@ -108,15 +122,18 @@ class HttpInterceptor extends Interceptor { if (error.requestOptions.path.startsWith('/api/')) { _updateLoadingState(config, false); } - return _handleError(tbError, error.requestOptions, handler, notify && !ignoreErrors); + return _handleError( + tbError, error.requestOptions, handler, notify && !ignoreErrors); } - Future _refreshTokenAndRetry(DioError error, ErrorInterceptorHandler handler, InterceptorConfig config) async { + Future _refreshTokenAndRetry(DioError error, ErrorInterceptorHandler handler, + InterceptorConfig config) async { _dio.interceptors.requestLock.lock(); _dio.interceptors.responseLock.lock(); try { - await _tbClient.refreshJwtToken(internalDio: _internalDio, interceptRefreshToken: true); - } catch(e) { + await _tbClient.refreshJwtToken( + internalDio: _internalDio, interceptRefreshToken: true); + } catch (e) { if (error.requestOptions.path.startsWith('/api/')) { _updateLoadingState(config, false); } @@ -128,15 +145,18 @@ class HttpInterceptor extends Interceptor { return _retryRequest(error, handler); } - Future _retryRequestWithTimeout(DioError error, ErrorInterceptorHandler handler) async { + Future _retryRequestWithTimeout( + DioError error, ErrorInterceptorHandler handler) async { var rng = Random(); - var timeout = 1000 + rng.nextInt(3000); + var timeout = 1000 + rng.nextInt(3000); return _retryRequest(error, handler, timeout: timeout); } - Future _retryRequest(DioError error, ErrorInterceptorHandler handler, {int? timeout}) async { + Future _retryRequest(DioError error, ErrorInterceptorHandler handler, + {int? timeout}) async { if (timeout != null) { - return Future.delayed(Duration(milliseconds: timeout), () => _retryRequest(error, handler)); + return Future.delayed( + Duration(milliseconds: timeout), () => _retryRequest(error, handler)); } else { var options = error.requestOptions; var extra = options.extra; @@ -162,17 +182,19 @@ class HttpInterceptor extends Interceptor { requestEncoder: options.requestEncoder, responseDecoder: options.responseDecoder, listFormat: options.listFormat, - )); + )); return handler.resolve(response); } } - Future _handleError(error, RequestOptions requestOptions, ErrorInterceptorHandler handler, bool notify) async { + Future _handleError(error, RequestOptions requestOptions, + ErrorInterceptorHandler handler, bool notify) async { var tbError = _tbClient.toThingsboardError(error); if (notify) { _onError(tbError); } - return handler.next(DioError(requestOptions: requestOptions, error: tbError)); + return handler + .next(DioError(requestOptions: requestOptions, error: tbError)); } InterceptorConfig _getInterceptorConfig(RequestOptions options) { @@ -182,15 +204,13 @@ class HttpInterceptor extends Interceptor { bool _updateAuthorizationHeader(RequestOptions options) { var jwtToken = _tbClient.getJwtToken(); if (jwtToken != null) { - options.headers[_authHeaderName] = - _authScheme + jwtToken; + options.headers[_authHeaderName] = _authScheme + jwtToken; return true; } else { return false; } } - bool _isInternalUrlPrefix(String url) { for (var prefix in _internalUrlPrefixes) { if (url.startsWith(prefix)) { @@ -201,7 +221,7 @@ class HttpInterceptor extends Interceptor { } bool _isTokenBasedAuthEntryPoint(String url) { - return url.startsWith('/api/') && + return url.startsWith('/api/') && !url.startsWith(Constants.entryPoints['login']!) && !url.startsWith(Constants.entryPoints['tokenRefresh']!) && !url.startsWith(Constants.entryPoints['nonTokenBased']!); @@ -222,4 +242,3 @@ class HttpInterceptor extends Interceptor { } } } - diff --git a/lib/src/interceptor/interceptor_config.dart b/lib/src/interceptor/interceptor_config.dart index 35ec683..8a4aa47 100644 --- a/lib/src/interceptor/interceptor_config.dart +++ b/lib/src/interceptor/interceptor_config.dart @@ -4,7 +4,11 @@ class InterceptorConfig { bool resendRequest = false; bool isRetry = false; - InterceptorConfig({this.ignoreLoading = false, this.ignoreErrors = false, this.resendRequest = false, this.isRetry = false}); + InterceptorConfig( + {this.ignoreLoading = false, + this.ignoreErrors = false, + this.resendRequest = false, + this.isRetry = false}); InterceptorConfig.fromExtra(Map? extra) { if (extra != null) { diff --git a/lib/src/model/additional_info_based.dart b/lib/src/model/additional_info_based.dart index c1a18c5..90b5e59 100644 --- a/lib/src/model/additional_info_based.dart +++ b/lib/src/model/additional_info_based.dart @@ -3,14 +3,15 @@ import 'has_additional_info.dart'; import 'base_data.dart'; import 'id/has_uuid.dart'; -abstract class AdditionalInfoBased extends BaseData with HasAdditionalInfo { - +abstract class AdditionalInfoBased extends BaseData + with HasAdditionalInfo { Map? additionalInfo; AdditionalInfoBased(); - AdditionalInfoBased.fromJson(Map json, [fromIdFunction? fromId]): - additionalInfo = json['additionalInfo'], + AdditionalInfoBased.fromJson(Map json, + [fromIdFunction? fromId]) + : additionalInfo = json['additionalInfo'], super.fromJson(json, fromId); @override @@ -22,7 +23,7 @@ abstract class AdditionalInfoBased extends BaseData with H return json; } - @override + @override Map? getAdditionalInfo() { return additionalInfo; } diff --git a/lib/src/model/alarm_models.dart b/lib/src/model/alarm_models.dart index e494138..f716b01 100644 --- a/lib/src/model/alarm_models.dart +++ b/lib/src/model/alarm_models.dart @@ -6,16 +6,11 @@ import 'has_name.dart'; import 'has_tenant_id.dart'; import 'id/alarm_id.dart'; -enum AlarmSeverity { - CRITICAL, - MAJOR, - MINOR, - WARNING, - INDETERMINATE -} +enum AlarmSeverity { CRITICAL, MAJOR, MINOR, WARNING, INDETERMINATE } AlarmSeverity alarmSeverityFromString(String value) { - return AlarmSeverity.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return AlarmSeverity.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension AlarmSeverityToString on AlarmSeverity { @@ -24,15 +19,11 @@ extension AlarmSeverityToString on AlarmSeverity { } } -enum AlarmStatus { - ACTIVE_UNACK, - ACTIVE_ACK, - CLEARED_UNACK, - CLEARED_ACK -} +enum AlarmStatus { ACTIVE_UNACK, ACTIVE_ACK, CLEARED_UNACK, CLEARED_ACK } AlarmStatus alarmStatusFromString(String value) { - return AlarmStatus.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return AlarmStatus.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension AlarmStatusToString on AlarmStatus { @@ -41,16 +32,11 @@ extension AlarmStatusToString on AlarmStatus { } } -enum AlarmSearchStatus { - ANY, - ACTIVE, - CLEARED, - ACK, - UNACK -} +enum AlarmSearchStatus { ANY, ACTIVE, CLEARED, ACK, UNACK } AlarmSearchStatus alarmSearchStatusFromString(String value) { - return AlarmSearchStatus.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return AlarmSearchStatus.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension AlarmSearchStatusToString on AlarmSearchStatus { @@ -60,7 +46,6 @@ extension AlarmSearchStatusToString on AlarmSearchStatus { } class Alarm extends BaseData with HasName, HasTenantId { - TenantId tenantId; String type; EntityId originator; @@ -73,8 +58,8 @@ class Alarm extends BaseData with HasName, HasTenantId { bool propagate; Map? details; - Alarm.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), + Alarm.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), type = json['type'], originator = EntityId.fromJson(json['originator']), severity = alarmSeverityFromString(json['severity']), @@ -130,8 +115,8 @@ class Alarm extends BaseData with HasName, HasTenantId { class AlarmInfo extends Alarm { String? originatorName; - AlarmInfo.fromJson(Map json): - originatorName = json['originatorName'], + AlarmInfo.fromJson(Map json) + : originatorName = json['originatorName'], super.fromJson(json); @override @@ -145,14 +130,17 @@ class AlarmInfo extends Alarm { } class AlarmQuery { - EntityId? affectedEntityId; TimePageLink pageLink; AlarmSearchStatus? searchStatus; AlarmStatus? status; bool? fetchOriginator; - AlarmQuery(this.pageLink, {this.affectedEntityId, this.searchStatus, this.status, this.fetchOriginator}); + AlarmQuery(this.pageLink, + {this.affectedEntityId, + this.searchStatus, + this.status, + this.fetchOriginator}); Map toQueryParameters() { var queryParameters = pageLink.toQueryParameters(); @@ -166,5 +154,4 @@ class AlarmQuery { } return queryParameters; } - } diff --git a/lib/src/model/asset_models.dart b/lib/src/model/asset_models.dart index 1baefe0..79ae400 100644 --- a/lib/src/model/asset_models.dart +++ b/lib/src/model/asset_models.dart @@ -8,8 +8,8 @@ import 'id/asset_id.dart'; import 'id/customer_id.dart'; import 'id/tenant_id.dart'; -class Asset extends AdditionalInfoBased implements GroupEntity { - +class Asset extends AdditionalInfoBased + implements GroupEntity { TenantId? tenantId; CustomerId? customerId; String name; @@ -18,9 +18,11 @@ class Asset extends AdditionalInfoBased implements GroupEntity Asset(this.name, this.type); - Asset.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), - customerId = json['customerId'] != null ? CustomerId.fromJson(json['customerId']) : null, + Asset.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), + customerId = json['customerId'] != null + ? CustomerId.fromJson(json['customerId']) + : null, name = json['name'], type = json['type'], label = json['label'], @@ -65,7 +67,9 @@ class Asset extends AdditionalInfoBased implements GroupEntity @override EntityId? getOwnerId() { - return customerId != null && !customerId!.isNullUid() ? customerId : tenantId; + return customerId != null && !customerId!.isNullUid() + ? customerId + : tenantId; } @override @@ -86,18 +90,16 @@ class Asset extends AdditionalInfoBased implements GroupEntity return '${additionalInfoBasedString('tenantId: $tenantId, customerId: $customerId, name: $name, type: $type, ' 'label: $label${toStringBody != null ? ', ' + toStringBody : ''}')}'; } - } class AssetSearchQuery extends EntitySearchQuery { - List assetTypes; - AssetSearchQuery({ - required RelationsSearchParameters parameters, - required this.assetTypes, - String? relationType - }): super(parameters: parameters, relationType: relationType); + AssetSearchQuery( + {required RelationsSearchParameters parameters, + required this.assetTypes, + String? relationType}) + : super(parameters: parameters, relationType: relationType); @override Map toJson() { diff --git a/lib/src/model/audit_log_models.dart b/lib/src/model/audit_log_models.dart index 800da28..9235dcb 100644 --- a/lib/src/model/audit_log_models.dart +++ b/lib/src/model/audit_log_models.dart @@ -48,7 +48,8 @@ enum ActionType { } ActionType actionTypeFromString(String value) { - return ActionType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return ActionType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension ActionTypeToString on ActionType { @@ -57,13 +58,11 @@ extension ActionTypeToString on ActionType { } } -enum ActionStatus { - SUCCESS, - FAILURE -} +enum ActionStatus { SUCCESS, FAILURE } ActionStatus actionStatusFromString(String value) { - return ActionStatus.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return ActionStatus.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension ActionStatusToString on ActionStatus { @@ -73,7 +72,6 @@ extension ActionStatusToString on ActionStatus { } class AuditLog extends BaseData { - TenantId tenantId; CustomerId? customerId; EntityId entityId; @@ -85,9 +83,11 @@ class AuditLog extends BaseData { ActionStatus actionStatus; String? actionFailureDetails; - AuditLog.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), - customerId = json['customerId'] != null ? CustomerId.fromJson(json['customerId']) : null, + AuditLog.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), + customerId = json['customerId'] != null + ? CustomerId.fromJson(json['customerId']) + : null, entityId = EntityId.fromJson(json['entityId']), entityName = json['entityName'], userId = UserId.fromJson(json['userId']), @@ -108,7 +108,8 @@ class AuditLog extends BaseData { String actionDataToString() { var actionDataStr = jsonEncode(actionData); if (actionDataStr.length > 50) { - actionDataStr = actionDataStr.substring(0, min(50, actionDataStr.length)) + '...'; + actionDataStr = + actionDataStr.substring(0, min(50, actionDataStr.length)) + '...'; } return actionDataStr; } @@ -118,7 +119,9 @@ class AuditLog extends BaseData { return 'null'; } if (actionFailureDetails!.length > 50) { - return actionFailureDetails!.substring(0, min(50, actionFailureDetails!.length)) + '...'; + return actionFailureDetails! + .substring(0, min(50, actionFailureDetails!.length)) + + '...'; } return actionFailureDetails!; } diff --git a/lib/src/model/authority_enum.dart b/lib/src/model/authority_enum.dart index 2b423d2..98e3d23 100644 --- a/lib/src/model/authority_enum.dart +++ b/lib/src/model/authority_enum.dart @@ -7,7 +7,8 @@ enum Authority { } Authority authorityFromString(String value) { - return Authority.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return Authority.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension AuthorityToString on Authority { diff --git a/lib/src/model/base_data.dart b/lib/src/model/base_data.dart index d994cfe..fb69944 100644 --- a/lib/src/model/base_data.dart +++ b/lib/src/model/base_data.dart @@ -8,8 +8,8 @@ abstract class BaseData extends IdBased { BaseData(); - BaseData.fromJson(Map json, [fromIdFunction? fromId]): - createdTime = json['createdTime'], + BaseData.fromJson(Map json, [fromIdFunction? fromId]) + : createdTime = json['createdTime'], super.fromJson(json, fromId); @override diff --git a/lib/src/model/blob_entity_models.dart b/lib/src/model/blob_entity_models.dart index 3e41f59..e00a453 100644 --- a/lib/src/model/blob_entity_models.dart +++ b/lib/src/model/blob_entity_models.dart @@ -10,23 +10,24 @@ import 'has_customer_id.dart'; import 'id/blob_entity_id.dart'; import 'tenant_entity.dart'; -class BlobEntityInfo extends AdditionalInfoBased implements HasName, TenantEntity, HasCustomerId, HasOwnerId { - +class BlobEntityInfo extends AdditionalInfoBased + implements HasName, TenantEntity, HasCustomerId, HasOwnerId { TenantId? tenantId; CustomerId? customerId; String name; String type; String contentType; - BlobEntityInfo.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), - customerId = json['customerId'] != null ? CustomerId.fromJson(json['customerId']) : null, + BlobEntityInfo.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), + customerId = json['customerId'] != null + ? CustomerId.fromJson(json['customerId']) + : null, name = json['name'], type = json['type'], contentType = json['contentType'], super.fromJson(json); - @override String getName() { return name; @@ -49,7 +50,9 @@ class BlobEntityInfo extends AdditionalInfoBased implements HasNam @override EntityId? getOwnerId() { - return customerId != null && !customerId!.isNullUid() ? customerId : tenantId; + return customerId != null && !customerId!.isNullUid() + ? customerId + : tenantId; } @override @@ -70,16 +73,14 @@ class BlobEntityInfo extends AdditionalInfoBased implements HasNam return '${additionalInfoBasedString('tenantId: $tenantId, customerId: $customerId, name: $name, type: $type, ' 'contentType: $contentType${toStringBody != null ? ', ' + toStringBody : ''}')}'; } - } class BlobEntityWithCustomerInfo extends BlobEntityInfo { - String? customerTitle; bool? customerIsPublic; - BlobEntityWithCustomerInfo.fromJson(Map json): - customerTitle = json['customerTitle'], + BlobEntityWithCustomerInfo.fromJson(Map json) + : customerTitle = json['customerTitle'], customerIsPublic = json['customerIsPublic'], super.fromJson(json); @@ -87,5 +88,4 @@ class BlobEntityWithCustomerInfo extends BlobEntityInfo { String toString() { return 'BlobEntityWithCustomerInfo{${blobEntityInfoString('customerTitle: $customerTitle, customerIsPublic: $customerIsPublic')}}'; } - } diff --git a/lib/src/model/component_descriptor_models.dart b/lib/src/model/component_descriptor_models.dart index c538d31..32b086b 100644 --- a/lib/src/model/component_descriptor_models.dart +++ b/lib/src/model/component_descriptor_models.dart @@ -1,16 +1,11 @@ import 'base_data.dart'; import 'id/component_descriptor_id.dart'; -enum ComponentType { - ENRICHMENT, - FILTER, - TRANSFORMATION, - ACTION, - EXTERNAL -} +enum ComponentType { ENRICHMENT, FILTER, TRANSFORMATION, ACTION, EXTERNAL } ComponentType componentTypeFromString(String value) { - return ComponentType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return ComponentType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension ComponentTypeToString on ComponentType { @@ -19,13 +14,11 @@ extension ComponentTypeToString on ComponentType { } } -enum ComponentScope { - SYSTEM, - TENANT -} +enum ComponentScope { SYSTEM, TENANT } ComponentScope componentScopeFromString(String value) { - return ComponentScope.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return ComponentScope.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension ComponentScopeToString on ComponentScope { @@ -35,7 +28,6 @@ extension ComponentScopeToString on ComponentScope { } class ComponentDescriptor extends BaseData { - ComponentType type; ComponentScope scope; String name; @@ -43,8 +35,8 @@ class ComponentDescriptor extends BaseData { Map? configurationDescriptor; String? actions; - ComponentDescriptor.fromJson(Map json): - type = componentTypeFromString(json['type']), + ComponentDescriptor.fromJson(Map json) + : type = componentTypeFromString(json['type']), scope = componentScopeFromString(json['scope']), name = json['name'], clazz = json['clazz'], diff --git a/lib/src/model/constants.dart b/lib/src/model/constants.dart index f795b1d..b95af2d 100644 --- a/lib/src/model/constants.dart +++ b/lib/src/model/constants.dart @@ -1,9 +1,7 @@ class Constants { - static const entryPoints = { 'login': '/api/auth/login', 'tokenRefresh': '/api/auth/token', 'nonTokenBased': '/api/noauth' }; - } diff --git a/lib/src/model/contact_based_model.dart b/lib/src/model/contact_based_model.dart index 674c758..cb84383 100644 --- a/lib/src/model/contact_based_model.dart +++ b/lib/src/model/contact_based_model.dart @@ -7,8 +7,8 @@ import 'has_name.dart'; import 'id/has_uuid.dart'; import 'id/ids.dart'; -abstract class ContactBased extends AdditionalInfoBased with HasName { - +abstract class ContactBased extends AdditionalInfoBased + with HasName { String? country; String? state; String? city; @@ -29,8 +29,8 @@ abstract class ContactBased extends AdditionalInfoBased wi } } - ContactBased.fromJson(Map json): - country = json['country'], + ContactBased.fromJson(Map json) + : country = json['country'], state = json['state'], city = json['city'], address = json['address'], diff --git a/lib/src/model/converter_models.dart b/lib/src/model/converter_models.dart index dab2760..334c0f0 100644 --- a/lib/src/model/converter_models.dart +++ b/lib/src/model/converter_models.dart @@ -8,13 +8,11 @@ import 'id/converter_id.dart'; import 'additional_info_based.dart'; import 'tenant_entity.dart'; -enum ConverterType { - UPLINK, - DOWNLINK -} +enum ConverterType { UPLINK, DOWNLINK } ConverterType converterTypeFromString(String value) { - return ConverterType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return ConverterType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension ConverterTypeToString on ConverterType { @@ -22,18 +20,23 @@ extension ConverterTypeToString on ConverterType { return toString().split('.').last; } } -class Converter extends AdditionalInfoBased implements HasName, TenantEntity { +class Converter extends AdditionalInfoBased + implements HasName, TenantEntity { TenantId? tenantId; String name; ConverterType type; bool debugMode; Map configuration; - Converter({required this.name, required this.type, this.debugMode = false, required this.configuration}); + Converter( + {required this.name, + required this.type, + this.debugMode = false, + required this.configuration}); - Converter.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), + Converter.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), name = json['name'], type = converterTypeFromString(json['type']), debugMode = json['debugMode'], @@ -75,45 +78,46 @@ class Converter extends AdditionalInfoBased implements HasName, Ten } class TestUpLinkInputParams { - Map metadata; String payload; String decoder; - TestUpLinkInputParams({required this.metadata, required this.payload, required this.decoder}); + TestUpLinkInputParams( + {required this.metadata, required this.payload, required this.decoder}); - Map toJson() => { - 'metadata': metadata, - 'payload': payload, - 'decoder': decoder - }; + Map toJson() => + {'metadata': metadata, 'payload': payload, 'decoder': decoder}; } class TestDownLinkInputParams { - Map metadata; String msg; String msgType; Map integrationMetadata; String encoder; - TestDownLinkInputParams({required this.metadata, required this.msg, required this.msgType, required this.integrationMetadata, required this.encoder}); + TestDownLinkInputParams( + {required this.metadata, + required this.msg, + required this.msgType, + required this.integrationMetadata, + required this.encoder}); Map toJson() => { - 'metadata': metadata, - 'msg': msg, - 'msgType': msgType, - 'integrationMetadata': integrationMetadata, - 'encoder': encoder - }; + 'metadata': metadata, + 'msg': msg, + 'msgType': msgType, + 'integrationMetadata': integrationMetadata, + 'encoder': encoder + }; } class TestConverterResult { String? output; String? error; - TestConverterResult.fromJson(Map json): - output = json['output'], + TestConverterResult.fromJson(Map json) + : output = json['output'], error = json['error']; @override @@ -123,15 +127,14 @@ class TestConverterResult { } class ConverterDebugInput { - ContentType inContentType; String inContent; String inMetadata; String inMsgType; String inIntegrationMetadata; - ConverterDebugInput.fromJson(Map json): - inContentType = contentTypeFromString(json['inContentType']), + ConverterDebugInput.fromJson(Map json) + : inContentType = contentTypeFromString(json['inContentType']), inContent = json['inContent'], inMetadata = json['inMetadata'], inMsgType = json['inMsgType'], diff --git a/lib/src/model/custom_menu_models.dart b/lib/src/model/custom_menu_models.dart index d429d48..c5f3b7e 100644 --- a/lib/src/model/custom_menu_models.dart +++ b/lib/src/model/custom_menu_models.dart @@ -17,20 +17,22 @@ class CustomMenuItem { this.setAccessToken, this.childMenuItems}); - CustomMenuItem.fromJson(Map json): - name = json['name'], + CustomMenuItem.fromJson(Map json) + : name = json['name'], iconUrl = json['iconUrl'], materialIcon = json['materialIcon'], iframeUrl = json['iframeUrl'], dashboardId = json['dashboardId'], hideDashboardToolbar = json['hideDashboardToolbar'], setAccessToken = json['setAccessToken'], - childMenuItems = json['childMenuItems'] != null ? (json['childMenuItems'] as List).map((e) => CustomMenuItem.fromJson(e)).toList() : null; + childMenuItems = json['childMenuItems'] != null + ? (json['childMenuItems'] as List) + .map((e) => CustomMenuItem.fromJson(e)) + .toList() + : null; Map toJson() { - var json = { - 'name': name - }; + var json = {'name': name}; if (iconUrl != null) { json['iconUrl'] = iconUrl; } @@ -62,16 +64,18 @@ class CustomMenuItem { } class CustomMenu { - List? disabledMenuItems; List? menuItems; - CustomMenu({this.disabledMenuItems, - this.menuItems}); + CustomMenu({this.disabledMenuItems, this.menuItems}); - CustomMenu.fromJson(Map json): - disabledMenuItems = json['disabledMenuItems'], - menuItems = json['menuItems'] != null ? (json['menuItems'] as List).map((e) => CustomMenuItem.fromJson(e)).toList() : null; + CustomMenu.fromJson(Map json) + : disabledMenuItems = json['disabledMenuItems'], + menuItems = json['menuItems'] != null + ? (json['menuItems'] as List) + .map((e) => CustomMenuItem.fromJson(e)) + .toList() + : null; Map toJson() { var json = {}; diff --git a/lib/src/model/custom_translation_model.dart b/lib/src/model/custom_translation_model.dart index eb9bd60..dcdeb42 100644 --- a/lib/src/model/custom_translation_model.dart +++ b/lib/src/model/custom_translation_model.dart @@ -3,8 +3,8 @@ class CustomTranslation { CustomTranslation(this.translationMap); - CustomTranslation.fromJson(Map json): - translationMap = json['translationMap']; + CustomTranslation.fromJson(Map json) + : translationMap = json['translationMap']; Map toJson() { var json = {}; diff --git a/lib/src/model/customer_models.dart b/lib/src/model/customer_models.dart index d42339d..c41aa11 100644 --- a/lib/src/model/customer_models.dart +++ b/lib/src/model/customer_models.dart @@ -6,17 +6,19 @@ import 'id/has_uuid.dart'; import 'id/tenant_id.dart'; import 'contact_based_model.dart'; -class Customer extends ContactBased implements GroupEntity { - +class Customer extends ContactBased + implements GroupEntity { TenantId? tenantId; CustomerId? parentCustomerId; String title; Customer(this.title); - Customer.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), - parentCustomerId = json['parentCustomerId'] != null ? CustomerId.fromJson(json['parentCustomerId']) : null, + Customer.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), + parentCustomerId = json['parentCustomerId'] != null + ? CustomerId.fromJson(json['parentCustomerId']) + : null, title = json['title'], super.fromJson(json); @@ -55,7 +57,9 @@ class Customer extends ContactBased implements GroupEntity implements GroupEntity parentCustomerId != null && !parentCustomerId!.isNullUid(); + bool isSubCustomer() => + parentCustomerId != null && !parentCustomerId!.isNullUid(); @override String toString() { return 'Customer{${contactBasedString('tenantId: $tenantId, parentCustomerId: $parentCustomerId, title: $title')}}'; } - } class ShortCustomerInfo { @@ -81,8 +85,8 @@ class ShortCustomerInfo { String title; bool isPublic; - ShortCustomerInfo.fromJson(Map json): - customerId = CustomerId.fromJson(json['customerId']), + ShortCustomerInfo.fromJson(Map json) + : customerId = CustomerId.fromJson(json['customerId']), title = json['title'], isPublic = json['isPublic'] ?? false; diff --git a/lib/src/model/dashboard_models.dart b/lib/src/model/dashboard_models.dart index ba5a69d..812ac17 100644 --- a/lib/src/model/dashboard_models.dart +++ b/lib/src/model/dashboard_models.dart @@ -10,8 +10,8 @@ import 'id/has_uuid.dart'; import 'id/tenant_id.dart'; import 'id/dashboard_id.dart'; -class DashboardInfo extends BaseData implements GroupEntity { - +class DashboardInfo extends BaseData + implements GroupEntity { TenantId? tenantId; CustomerId? customerId; String title; @@ -20,15 +20,20 @@ class DashboardInfo extends BaseData implements GroupEntity json): - tenantId = TenantId.fromJson(json['tenantId']), - customerId = json['customerId'] != null ? CustomerId.fromJson(json['customerId']) : null, + DashboardInfo.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), + customerId = json['customerId'] != null + ? CustomerId.fromJson(json['customerId']) + : null, title = json['title'], image = json['image'], - assignedCustomers = json['assignedCustomers'] != null ? - (json['assignedCustomers'] as List).map((e) => ShortCustomerInfo.fromJson(e)).toSet() : {}, + assignedCustomers = json['assignedCustomers'] != null + ? (json['assignedCustomers'] as List) + .map((e) => ShortCustomerInfo.fromJson(e)) + .toSet() + : {}, mobileHide = json['mobileHide'], mobileOrder = json['mobileOrder'], super.fromJson(json); @@ -46,7 +51,8 @@ class DashboardInfo extends BaseData implements GroupEntity e.toJson()).toList(); + json['assignedCustomers'] = + assignedCustomers.map((e) => e.toJson()).toList(); if (mobileHide != null) { json['mobileHide'] = mobileHide; } @@ -78,7 +84,9 @@ class DashboardInfo extends BaseData implements GroupEntity implements GroupEntity configuration; - Dashboard(String title): - configuration = {}, + Dashboard(String title) + : configuration = {}, super(title); - Dashboard.fromJson(Map json): - configuration = json['configuration'], + Dashboard.fromJson(Map json) + : configuration = json['configuration'], super.fromJson(json); @override @@ -127,17 +134,15 @@ class Dashboard extends DashboardInfo { } class HomeDashboard extends Dashboard { - bool hideDashboardToolbar; - HomeDashboard(String title, this.hideDashboardToolbar): - super(title); + HomeDashboard(String title, this.hideDashboardToolbar) : super(title); - HomeDashboard.fromJson(Map json): - hideDashboardToolbar = json['hideDashboardToolbar'], + HomeDashboard.fromJson(Map json) + : hideDashboardToolbar = json['hideDashboardToolbar'], super.fromJson(json); - @override + @override Map toJson() { var json = super.toJson(); json['hideDashboardToolbar'] = hideDashboardToolbar; @@ -151,17 +156,17 @@ class HomeDashboard extends Dashboard { } class HomeDashboardInfo { - DashboardId? dashboardId; bool hideDashboardToolbar; HomeDashboardInfo(this.hideDashboardToolbar); - HomeDashboardInfo.fromJson(Map json): - dashboardId = json['dashboardId'] != null ? DashboardId.fromJson(json['dashboardId']) : null, + HomeDashboardInfo.fromJson(Map json) + : dashboardId = json['dashboardId'] != null + ? DashboardId.fromJson(json['dashboardId']) + : null, hideDashboardToolbar = json['hideDashboardToolbar']; - @override Map toJson() { var json = {}; if (dashboardId != null) { diff --git a/lib/src/model/device_models.dart b/lib/src/model/device_models.dart index fa041e8..5329fe9 100644 --- a/lib/src/model/device_models.dart +++ b/lib/src/model/device_models.dart @@ -20,12 +20,11 @@ import 'id/device_id.dart'; import 'id/rule_chain_id.dart'; import 'id/tenant_id.dart'; -enum DeviceProfileType { - DEFAULT -} +enum DeviceProfileType { DEFAULT } DeviceProfileType deviceProfileTypeFromString(String value) { - return DeviceProfileType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return DeviceProfileType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension DeviceProfileTypeToString on DeviceProfileType { @@ -34,16 +33,11 @@ extension DeviceProfileTypeToString on DeviceProfileType { } } -enum DeviceTransportType { - DEFAULT, - MQTT, - COAP, - LWM2M, - SNMP -} +enum DeviceTransportType { DEFAULT, MQTT, COAP, LWM2M, SNMP } DeviceTransportType deviceTransportTypeFromString(String value) { - return DeviceTransportType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return DeviceTransportType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension DeviceTransportTypeToString on DeviceTransportType { @@ -52,13 +46,11 @@ extension DeviceTransportTypeToString on DeviceTransportType { } } -enum TransportPayloadType { - JSON, - PROTOBUF -} +enum TransportPayloadType { JSON, PROTOBUF } TransportPayloadType transportPayloadTypeFromString(String value) { - return TransportPayloadType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return TransportPayloadType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension TransportPayloadTypeToString on TransportPayloadType { @@ -67,13 +59,11 @@ extension TransportPayloadTypeToString on TransportPayloadType { } } -enum CoapTransportDeviceType { - DEFAULT, - EFENTO -} +enum CoapTransportDeviceType { DEFAULT, EFENTO } CoapTransportDeviceType coapTransportDeviceTypeFromString(String value) { - return CoapTransportDeviceType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return CoapTransportDeviceType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension CoapTransportDeviceTypeToString on CoapTransportDeviceType { @@ -89,7 +79,8 @@ enum DeviceProfileProvisionType { } DeviceProfileProvisionType deviceProfileProvisionTypeFromString(String value) { - return DeviceProfileProvisionType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return DeviceProfileProvisionType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension DeviceProfileProvisionTypeToString on DeviceProfileProvisionType { @@ -99,7 +90,6 @@ extension DeviceProfileProvisionTypeToString on DeviceProfileProvisionType { } abstract class DeviceProfileConfiguration { - DeviceProfileConfiguration(); DeviceProfileType getType(); @@ -107,7 +97,7 @@ abstract class DeviceProfileConfiguration { factory DeviceProfileConfiguration.fromJson(Map json) { if (json.containsKey('type')) { var deviceProfileType = deviceProfileTypeFromString(json['type']); - switch(deviceProfileType) { + switch (deviceProfileType) { case DeviceProfileType.DEFAULT: return DefaultDeviceProfileConfiguration.fromJson(json); } @@ -121,11 +111,9 @@ abstract class DeviceProfileConfiguration { json['type'] = getType().toShortString(); return json; } - } class DefaultDeviceProfileConfiguration extends DeviceProfileConfiguration { - DefaultDeviceProfileConfiguration(); @override @@ -145,15 +133,15 @@ class DefaultDeviceProfileConfiguration extends DeviceProfileConfiguration { } abstract class DeviceProfileTransportConfiguration { - DeviceProfileTransportConfiguration(); DeviceTransportType getType(); - factory DeviceProfileTransportConfiguration.fromJson(Map json) { + factory DeviceProfileTransportConfiguration.fromJson( + Map json) { if (json.containsKey('type')) { var deviceProfileType = deviceTransportTypeFromString(json['type']); - switch(deviceProfileType) { + switch (deviceProfileType) { case DeviceTransportType.DEFAULT: return DefaultDeviceProfileTransportConfiguration.fromJson(json); case DeviceTransportType.MQTT: @@ -175,11 +163,10 @@ abstract class DeviceProfileTransportConfiguration { json['type'] = getType().toShortString(); return json; } - } -class DefaultDeviceProfileTransportConfiguration extends DeviceProfileTransportConfiguration { - +class DefaultDeviceProfileTransportConfiguration + extends DeviceProfileTransportConfiguration { DefaultDeviceProfileTransportConfiguration(); @override @@ -187,7 +174,8 @@ class DefaultDeviceProfileTransportConfiguration extends DeviceProfileTransportC return DeviceTransportType.DEFAULT; } - DefaultDeviceProfileTransportConfiguration.fromJson(Map json); + DefaultDeviceProfileTransportConfiguration.fromJson( + Map json); @override Map toJson() => super.toJson(); @@ -198,25 +186,25 @@ class DefaultDeviceProfileTransportConfiguration extends DeviceProfileTransportC } } -class MqttDeviceProfileTransportConfiguration extends DeviceProfileTransportConfiguration { - +class MqttDeviceProfileTransportConfiguration + extends DeviceProfileTransportConfiguration { Map properties; - MqttDeviceProfileTransportConfiguration(): properties = {}; + MqttDeviceProfileTransportConfiguration() : properties = {}; @override DeviceTransportType getType() { return DeviceTransportType.MQTT; } - MqttDeviceProfileTransportConfiguration.fromJson(Map json): - properties = json; + MqttDeviceProfileTransportConfiguration.fromJson(Map json) + : properties = json; @override Map toJson() => { - ...super.toJson(), - ...properties, - }; + ...super.toJson(), + ...properties, + }; @override String toString() { @@ -224,25 +212,25 @@ class MqttDeviceProfileTransportConfiguration extends DeviceProfileTransportConf } } -class CoapDeviceProfileTransportConfiguration extends DeviceProfileTransportConfiguration { - +class CoapDeviceProfileTransportConfiguration + extends DeviceProfileTransportConfiguration { Map properties; - CoapDeviceProfileTransportConfiguration(): properties = {}; + CoapDeviceProfileTransportConfiguration() : properties = {}; @override DeviceTransportType getType() { return DeviceTransportType.MQTT; } - CoapDeviceProfileTransportConfiguration.fromJson(Map json): - properties = json; + CoapDeviceProfileTransportConfiguration.fromJson(Map json) + : properties = json; @override Map toJson() => { - ...super.toJson(), - ...properties, - }; + ...super.toJson(), + ...properties, + }; @override String toString() { @@ -250,25 +238,25 @@ class CoapDeviceProfileTransportConfiguration extends DeviceProfileTransportConf } } -class Lwm2mDeviceProfileTransportConfiguration extends DeviceProfileTransportConfiguration { - +class Lwm2mDeviceProfileTransportConfiguration + extends DeviceProfileTransportConfiguration { Map properties; - Lwm2mDeviceProfileTransportConfiguration(): properties = {}; + Lwm2mDeviceProfileTransportConfiguration() : properties = {}; @override DeviceTransportType getType() { return DeviceTransportType.MQTT; } - Lwm2mDeviceProfileTransportConfiguration.fromJson(Map json): - properties = json; + Lwm2mDeviceProfileTransportConfiguration.fromJson(Map json) + : properties = json; @override Map toJson() => { - ...super.toJson(), - ...properties, - }; + ...super.toJson(), + ...properties, + }; @override String toString() { @@ -276,25 +264,25 @@ class Lwm2mDeviceProfileTransportConfiguration extends DeviceProfileTransportCon } } -class SnmpDeviceProfileTransportConfiguration extends DeviceProfileTransportConfiguration { - +class SnmpDeviceProfileTransportConfiguration + extends DeviceProfileTransportConfiguration { Map properties; - SnmpDeviceProfileTransportConfiguration(): properties = {}; + SnmpDeviceProfileTransportConfiguration() : properties = {}; @override DeviceTransportType getType() { return DeviceTransportType.MQTT; } - SnmpDeviceProfileTransportConfiguration.fromJson(Map json): - properties = json; + SnmpDeviceProfileTransportConfiguration.fromJson(Map json) + : properties = json; @override Map toJson() => { - ...super.toJson(), - ...properties, - }; + ...super.toJson(), + ...properties, + }; @override String toString() { @@ -303,15 +291,14 @@ class SnmpDeviceProfileTransportConfiguration extends DeviceProfileTransportConf } class DeviceProvisionConfiguration { - DeviceProfileProvisionType type; String? provisionDeviceSecret; DeviceProvisionConfiguration(this.type); - DeviceProvisionConfiguration.fromJson(Map json): - type = deviceProfileProvisionTypeFromString(json['type']), - provisionDeviceSecret = json['provisionDeviceSecret']; + DeviceProvisionConfiguration.fromJson(Map json) + : type = deviceProfileProvisionTypeFromString(json['type']), + provisionDeviceSecret = json['provisionDeviceSecret']; Map toJson() { var json = {}; @@ -329,13 +316,11 @@ class DeviceProvisionConfiguration { } class DeviceProfileAlarm { - Map properties; - DeviceProfileAlarm(): properties = {}; + DeviceProfileAlarm() : properties = {}; - DeviceProfileAlarm.fromJson(Map json): - properties = json; + DeviceProfileAlarm.fromJson(Map json) : properties = json; Map toJson() => properties; @@ -346,21 +331,29 @@ class DeviceProfileAlarm { } class DeviceProfileData { - DeviceProfileConfiguration configuration; DeviceProfileTransportConfiguration transportConfiguration; List? alarms; DeviceProvisionConfiguration? provisionConfiguration; - DeviceProfileData(): - configuration = DefaultDeviceProfileConfiguration(), + DeviceProfileData() + : configuration = DefaultDeviceProfileConfiguration(), transportConfiguration = DefaultDeviceProfileTransportConfiguration(); - DeviceProfileData.fromJson(Map json): - configuration = DeviceProfileConfiguration.fromJson(json['configuration']), - transportConfiguration = DeviceProfileTransportConfiguration.fromJson(json['transportConfiguration']), - alarms = json['alarms'] != null ? (json['alarms'] as List).map((e) => DeviceProfileAlarm.fromJson(e)).toList() : null, - provisionConfiguration = json['provisionConfiguration'] != null ? DeviceProvisionConfiguration.fromJson(json['provisionConfiguration']) : null; + DeviceProfileData.fromJson(Map json) + : configuration = + DeviceProfileConfiguration.fromJson(json['configuration']), + transportConfiguration = DeviceProfileTransportConfiguration.fromJson( + json['transportConfiguration']), + alarms = json['alarms'] != null + ? (json['alarms'] as List) + .map((e) => DeviceProfileAlarm.fromJson(e)) + .toList() + : null, + provisionConfiguration = json['provisionConfiguration'] != null + ? DeviceProvisionConfiguration.fromJson( + json['provisionConfiguration']) + : null; Map toJson() { var json = {}; @@ -381,8 +374,8 @@ class DeviceProfileData { } } -class DeviceProfile extends BaseData with HasName, HasTenantId, HasOtaPackage { - +class DeviceProfile extends BaseData + with HasName, HasTenantId, HasOtaPackage { TenantId? tenantId; String name; String? description; @@ -399,27 +392,36 @@ class DeviceProfile extends BaseData with HasName, HasTenantId, OtaPackageId? softwareId; DeviceProfileData profileData; - DeviceProfile(this.name): - type = DeviceProfileType.DEFAULT, + DeviceProfile(this.name) + : type = DeviceProfileType.DEFAULT, transportType = DeviceTransportType.DEFAULT, provisionType = DeviceProfileProvisionType.DISABLED, profileData = DeviceProfileData(); - DeviceProfile.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), + DeviceProfile.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), name = json['name'], description = json['description'], isDefault = json['default'], type = deviceProfileTypeFromString(json['type']), image = json['image'], transportType = deviceTransportTypeFromString(json['transportType']), - provisionType = deviceProfileProvisionTypeFromString(json['provisionType']), + provisionType = + deviceProfileProvisionTypeFromString(json['provisionType']), provisionDeviceKey = json['provisionDeviceKey'], - defaultRuleChainId = json['defaultRuleChainId'] != null ? RuleChainId.fromJson(json['defaultRuleChainId']) : null, - defaultDashboardId = json['defaultDashboardId'] != null ? DashboardId.fromJson(json['defaultDashboardId']) : null, + defaultRuleChainId = json['defaultRuleChainId'] != null + ? RuleChainId.fromJson(json['defaultRuleChainId']) + : null, + defaultDashboardId = json['defaultDashboardId'] != null + ? DashboardId.fromJson(json['defaultDashboardId']) + : null, defaultQueueName = json['defaultQueueName'], - firmwareId = json['firmwareId'] != null ? OtaPackageId.fromJson(json['firmwareId']) : null, - softwareId = json['softwareId'] != null ? OtaPackageId.fromJson(json['softwareId']) : null, + firmwareId = json['firmwareId'] != null + ? OtaPackageId.fromJson(json['firmwareId']) + : null, + softwareId = json['softwareId'] != null + ? OtaPackageId.fromJson(json['softwareId']) + : null, profileData = DeviceProfileData.fromJson(json['profileData']), super.fromJson(json); @@ -487,38 +489,39 @@ class DeviceProfile extends BaseData with HasName, HasTenantId, @override String toString() { return 'DeviceProfile{${baseDataString('tenantId: $tenantId, name: $name, description: $description, ' - 'isDefault: $isDefault, type: $type, image: ${image != null ? '['+image!.substring(0, min(30, image!.length)) + '...]' : 'null'}, transportType: $transportType, provisionType: $provisionType, ' + 'isDefault: $isDefault, type: $type, image: ${image != null ? '[' + image!.substring(0, min(30, image!.length)) + '...]' : 'null'}, transportType: $transportType, provisionType: $provisionType, ' 'provisionDeviceKey: $provisionDeviceKey, defaultRuleChainId: $defaultRuleChainId, defaultDashboardId: $defaultDashboardId, defaultQueueName: $defaultQueueName, ' 'firmwareId: $firmwareId, softwareId: $softwareId, profileData: $profileData')}}'; } - } class DeviceProfileInfo extends EntityInfo { - DeviceProfileType type; DeviceTransportType transportType; DashboardId? defaultDashboardId; String? image; - DeviceProfileInfo(EntityId id, String name, this.image, this.defaultDashboardId, this.type, this.transportType) : super(id, name); + DeviceProfileInfo(EntityId id, String name, this.image, + this.defaultDashboardId, this.type, this.transportType) + : super(id, name); - DeviceProfileInfo.fromJson(Map json): - type = deviceProfileTypeFromString(json['type']), + DeviceProfileInfo.fromJson(Map json) + : type = deviceProfileTypeFromString(json['type']), transportType = deviceTransportTypeFromString(json['transportType']), - defaultDashboardId = json['defaultDashboardId'] != null ? DashboardId.fromJson(json['defaultDashboardId']) : null, + defaultDashboardId = json['defaultDashboardId'] != null + ? DashboardId.fromJson(json['defaultDashboardId']) + : null, image = json['image'], super.fromJson(json); @override String toString() { return 'DeviceProfileInfo{${entityInfoString('type: $type, transportType: $transportType, defaultDashboardId: $defaultDashboardId, ' - 'image: ${image != null ? '['+image!.substring(0, min(30, image!.length)) + '...]' : 'null'}')}}'; + 'image: ${image != null ? '[' + image!.substring(0, min(30, image!.length)) + '...]' : 'null'}')}}'; } } abstract class DeviceConfiguration { - DeviceConfiguration(); DeviceProfileType getType(); @@ -526,7 +529,7 @@ abstract class DeviceConfiguration { factory DeviceConfiguration.fromJson(Map json) { if (json.containsKey('type')) { var deviceProfileType = deviceProfileTypeFromString(json['type']); - switch(deviceProfileType) { + switch (deviceProfileType) { case DeviceProfileType.DEFAULT: return DefaultDeviceConfiguration.fromJson(json); } @@ -540,11 +543,9 @@ abstract class DeviceConfiguration { json['type'] = getType().toShortString(); return json; } - } class DefaultDeviceConfiguration extends DeviceConfiguration { - DefaultDeviceConfiguration(); @override @@ -564,7 +565,6 @@ class DefaultDeviceConfiguration extends DeviceConfiguration { } abstract class DeviceTransportConfiguration { - DeviceTransportConfiguration(); DeviceTransportType getType(); @@ -594,11 +594,9 @@ abstract class DeviceTransportConfiguration { json['type'] = getType().toShortString(); return json; } - } class DefaultDeviceTransportConfiguration extends DeviceTransportConfiguration { - DefaultDeviceTransportConfiguration(); @override @@ -615,28 +613,26 @@ class DefaultDeviceTransportConfiguration extends DeviceTransportConfiguration { String toString() { return 'DefaultDeviceTransportConfiguration{}'; } - } class MqttDeviceTransportConfiguration extends DeviceTransportConfiguration { - Map properties; - MqttDeviceTransportConfiguration(): properties = {}; + MqttDeviceTransportConfiguration() : properties = {}; @override DeviceTransportType getType() { return DeviceTransportType.MQTT; } - MqttDeviceTransportConfiguration.fromJson(Map json): - properties = json; + MqttDeviceTransportConfiguration.fromJson(Map json) + : properties = json; @override Map toJson() => { - ...super.toJson(), - ...properties, - }; + ...super.toJson(), + ...properties, + }; @override String toString() { @@ -645,24 +641,23 @@ class MqttDeviceTransportConfiguration extends DeviceTransportConfiguration { } class CoapDeviceTransportConfiguration extends DeviceTransportConfiguration { - Map properties; - CoapDeviceTransportConfiguration(): properties = {}; + CoapDeviceTransportConfiguration() : properties = {}; @override DeviceTransportType getType() { return DeviceTransportType.COAP; } - CoapDeviceTransportConfiguration.fromJson(Map json): - properties = json; + CoapDeviceTransportConfiguration.fromJson(Map json) + : properties = json; @override Map toJson() => { - ...super.toJson(), - ...properties, - }; + ...super.toJson(), + ...properties, + }; @override String toString() { @@ -671,24 +666,23 @@ class CoapDeviceTransportConfiguration extends DeviceTransportConfiguration { } class Lwm2mDeviceTransportConfiguration extends DeviceTransportConfiguration { - Map properties; - Lwm2mDeviceTransportConfiguration(): properties = {}; + Lwm2mDeviceTransportConfiguration() : properties = {}; @override DeviceTransportType getType() { return DeviceTransportType.LWM2M; } - Lwm2mDeviceTransportConfiguration.fromJson(Map json): - properties = json; + Lwm2mDeviceTransportConfiguration.fromJson(Map json) + : properties = json; @override Map toJson() => { - ...super.toJson(), - ...properties, - }; + ...super.toJson(), + ...properties, + }; @override String toString() { @@ -697,24 +691,23 @@ class Lwm2mDeviceTransportConfiguration extends DeviceTransportConfiguration { } class SnmpDeviceTransportConfiguration extends DeviceTransportConfiguration { - Map properties; - SnmpDeviceTransportConfiguration(): properties = {}; + SnmpDeviceTransportConfiguration() : properties = {}; @override DeviceTransportType getType() { return DeviceTransportType.SNMP; } - SnmpDeviceTransportConfiguration.fromJson(Map json): - properties = json; + SnmpDeviceTransportConfiguration.fromJson(Map json) + : properties = json; @override Map toJson() => { - ...super.toJson(), - ...properties, - }; + ...super.toJson(), + ...properties, + }; @override String toString() { @@ -723,16 +716,17 @@ class SnmpDeviceTransportConfiguration extends DeviceTransportConfiguration { } class DeviceData { - DeviceConfiguration configuration; DeviceTransportConfiguration transportConfiguration; - DeviceData(): configuration = DefaultDeviceConfiguration(), - transportConfiguration = DefaultDeviceTransportConfiguration(); + DeviceData() + : configuration = DefaultDeviceConfiguration(), + transportConfiguration = DefaultDeviceTransportConfiguration(); - DeviceData.fromJson(Map json): - configuration = DeviceConfiguration.fromJson(json['configuration']), - transportConfiguration = DeviceTransportConfiguration.fromJson(json['transportConfiguration']); + DeviceData.fromJson(Map json) + : configuration = DeviceConfiguration.fromJson(json['configuration']), + transportConfiguration = DeviceTransportConfiguration.fromJson( + json['transportConfiguration']); Map toJson() { var json = {}; @@ -747,8 +741,8 @@ class DeviceData { } } -class Device extends AdditionalInfoBased implements GroupEntity, HasOtaPackage { - +class Device extends AdditionalInfoBased + implements GroupEntity, HasOtaPackage { TenantId? tenantId; CustomerId? customerId; String name; @@ -759,17 +753,23 @@ class Device extends AdditionalInfoBased implements GroupEntity json): - tenantId = TenantId.fromJson(json['tenantId']), - customerId = json['customerId'] != null ? CustomerId.fromJson(json['customerId']) : null, + Device.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), + customerId = json['customerId'] != null + ? CustomerId.fromJson(json['customerId']) + : null, name = json['name'], type = json['type'], label = json['label'], deviceProfileId = DeviceProfileId.fromJson(json['deviceProfileId']), - firmwareId = json['firmwareId'] != null ? OtaPackageId.fromJson(json['firmwareId']) : null, - softwareId = json['softwareId'] != null ? OtaPackageId.fromJson(json['softwareId']) : null, + firmwareId = json['firmwareId'] != null + ? OtaPackageId.fromJson(json['firmwareId']) + : null, + softwareId = json['softwareId'] != null + ? OtaPackageId.fromJson(json['softwareId']) + : null, deviceData = DeviceData.fromJson(json['deviceData']), super.fromJson(json); @@ -832,7 +832,9 @@ class Device extends AdditionalInfoBased implements GroupEntity implements GroupEntity deviceTypes; - DeviceSearchQuery({ - required RelationsSearchParameters parameters, - required this.deviceTypes, - String? relationType - }): super(parameters: parameters, relationType: relationType); + DeviceSearchQuery( + {required RelationsSearchParameters parameters, + required this.deviceTypes, + String? relationType}) + : super(parameters: parameters, relationType: relationType); @override Map toJson() { @@ -879,34 +880,25 @@ class DeviceSearchQuery extends EntitySearchQuery { } class ClaimRequest { - String secretKey; - ClaimRequest({ - required this.secretKey - }); + ClaimRequest({required this.secretKey}); Map toJson() { - return { - 'secretKey': secretKey - }; + return {'secretKey': secretKey}; } @override String toString() { return 'ClaimRequest{secretKey: $secretKey}'; } - } -enum ClaimResponse { - SUCCESS, - FAILURE, - CLAIMED -} +enum ClaimResponse { SUCCESS, FAILURE, CLAIMED } ClaimResponse claimResponseFromString(String value) { - return ClaimResponse.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return ClaimResponse.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension ClaimResponseToString on ClaimResponse { @@ -916,19 +908,17 @@ extension ClaimResponseToString on ClaimResponse { } class ClaimResult { - Device device; ClaimResponse response; - ClaimResult.fromJson(Map json): - device = Device.fromJson(json['device']), + ClaimResult.fromJson(Map json) + : device = Device.fromJson(json['device']), response = claimResponseFromString(json['response']); @override String toString() { return 'ClaimResult{device: $device, response: $response}'; } - } enum DeviceCredentialsType { @@ -939,7 +929,8 @@ enum DeviceCredentialsType { } DeviceCredentialsType deviceCredentialsTypeFromString(String value) { - return DeviceCredentialsType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return DeviceCredentialsType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension DeviceCredentialsTypeToString on DeviceCredentialsType { @@ -949,15 +940,15 @@ extension DeviceCredentialsTypeToString on DeviceCredentialsType { } class DeviceCredentials extends BaseData { - DeviceId deviceId; DeviceCredentialsType credentialsType; String credentialsId; String? credentialsValue; - DeviceCredentials.fromJson(Map json): - deviceId = DeviceId.fromJson(json['deviceId']), - credentialsType = deviceCredentialsTypeFromString(json['credentialsType']), + DeviceCredentials.fromJson(Map json) + : deviceId = DeviceId.fromJson(json['deviceId']), + credentialsType = + deviceCredentialsTypeFromString(json['credentialsType']), credentialsId = json['credentialsId'], credentialsValue = json['credentialsValue'], super.fromJson(json, (id) => DeviceCredentialsId(id)); diff --git a/lib/src/model/edge_models.dart b/lib/src/model/edge_models.dart index 35a1fce..60f11fb 100644 --- a/lib/src/model/edge_models.dart +++ b/lib/src/model/edge_models.dart @@ -12,7 +12,6 @@ import 'id/rule_chain_id.dart'; import 'id/tenant_id.dart'; class Edge extends AdditionalInfoBased implements GroupEntity { - TenantId? tenantId; CustomerId? customerId; RuleChainId? rootRuleChainId; @@ -24,11 +23,14 @@ class Edge extends AdditionalInfoBased implements GroupEntity { String edgeLicenseKey; String cloudEndpoint; - Edge(this.name, this.type, this.routingKey, this.secret, this.edgeLicenseKey, this.cloudEndpoint); + Edge(this.name, this.type, this.routingKey, this.secret, this.edgeLicenseKey, + this.cloudEndpoint); - Edge.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), - customerId = json['customerId'] != null ? CustomerId.fromJson(json['customerId']) : null, + Edge.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), + customerId = json['customerId'] != null + ? CustomerId.fromJson(json['customerId']) + : null, name = json['name'], type = json['type'], label = json['label'], @@ -81,7 +83,9 @@ class Edge extends AdditionalInfoBased implements GroupEntity { @override EntityId? getOwnerId() { - return customerId != null && !customerId!.isNullUid() ? customerId : tenantId; + return customerId != null && !customerId!.isNullUid() + ? customerId + : tenantId; } @override @@ -103,18 +107,16 @@ class Edge extends AdditionalInfoBased implements GroupEntity { 'label: $label, routingKey: $routingKey, secret: $secret, edgeLicenseKey: $edgeLicenseKey, ' 'cloudEndpoint: $cloudEndpoint${toStringBody != null ? ', ' + toStringBody : ''}')}'; } - } class EdgeSearchQuery extends EntitySearchQuery { - List edgeTypes; - EdgeSearchQuery({ - required RelationsSearchParameters parameters, - required this.edgeTypes, - String? relationType - }): super(parameters: parameters, relationType: relationType); + EdgeSearchQuery( + {required RelationsSearchParameters parameters, + required this.edgeTypes, + String? relationType}) + : super(parameters: parameters, relationType: relationType); @override Map toJson() { @@ -154,7 +156,8 @@ enum EdgeEventActionType { } EdgeEventActionType edgeEventActionTypeFromString(String value) { - return EdgeEventActionType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return EdgeEventActionType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension EdgeEventActionTypeToString on EdgeEventActionType { @@ -190,7 +193,8 @@ enum EdgeEventType { } EdgeEventType edgeEventTypeFromString(String value) { - return EdgeEventType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return EdgeEventType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension EdgeEventTypeToString on EdgeEventType { @@ -200,7 +204,6 @@ extension EdgeEventTypeToString on EdgeEventType { } class EdgeEvent extends BaseData { - TenantId tenantId; EdgeId edgeId; EdgeEventActionType action; @@ -209,8 +212,8 @@ class EdgeEvent extends BaseData { EdgeEventType type; Map? body; - EdgeEvent.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), + EdgeEvent.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), edgeId = EdgeId.fromJson(json['edgeId']), action = edgeEventActionTypeFromString(json['action']), entityId = json['entityId'], diff --git a/lib/src/model/entity_group_models.dart b/lib/src/model/entity_group_models.dart index 350519f..4bc99c3 100644 --- a/lib/src/model/entity_group_models.dart +++ b/lib/src/model/entity_group_models.dart @@ -8,8 +8,8 @@ import 'id/entity_group_id.dart'; import 'id/entity_id.dart'; import 'id/has_id.dart'; -class EntityGroup extends AdditionalInfoBased implements HasName, HasOwnerId { - +class EntityGroup extends AdditionalInfoBased + implements HasName, HasOwnerId { static final String GROUP_ALL_NAME = 'All'; static final String GROUP_EDGE_ALL_STARTS_WITH = '[Edge]'; @@ -22,8 +22,8 @@ class EntityGroup extends AdditionalInfoBased implements HasName, EntityGroup(this.name, this.type); - EntityGroup.fromJson(Map json): - name = json['name'], + EntityGroup.fromJson(Map json) + : name = json['name'], type = entityTypeFromString(json['type']), ownerId = EntityId.fromJson(json['ownerId']), configuration = json['configuration'], @@ -63,7 +63,8 @@ class EntityGroup extends AdditionalInfoBased implements HasName, } bool isEdgeGroupAll() { - return name.startsWith(GROUP_EDGE_ALL_STARTS_WITH) && name.endsWith(GROUP_EDGE_ALL_ENDS_WITH); + return name.startsWith(GROUP_EDGE_ALL_STARTS_WITH) && + name.endsWith(GROUP_EDGE_ALL_ENDS_WITH); } @override @@ -77,11 +78,12 @@ class EntityGroup extends AdditionalInfoBased implements HasName, } class EntityGroupInfo extends EntityGroup { - Set ownerIds; - EntityGroupInfo.fromJson(Map json): - ownerIds = (json['ownerIds'] as List).map((e) => EntityId.fromJson(e)).toSet(), + EntityGroupInfo.fromJson(Map json) + : ownerIds = (json['ownerIds'] as List) + .map((e) => EntityId.fromJson(e)) + .toSet(), super.fromJson(json); @override @@ -91,7 +93,6 @@ class EntityGroupInfo extends EntityGroup { } class ShortEntityView implements HasId, HasName { - late EntityId id; late Map properties; @@ -118,14 +119,18 @@ class ShortEntityView implements HasId, HasName { } class ShareGroupRequest { - final EntityId ownerId; final bool isAllUserGroup; final EntityGroupId? userGroupId; final bool readElseWrite; final List? roleIds; - ShareGroupRequest({required this.ownerId, required this.isAllUserGroup, this.userGroupId, required this.readElseWrite, this.roleIds}); + ShareGroupRequest( + {required this.ownerId, + required this.isAllUserGroup, + this.userGroupId, + required this.readElseWrite, + this.roleIds}); Map toJson() { var json = { @@ -141,5 +146,4 @@ class ShareGroupRequest { } return json; } - } diff --git a/lib/src/model/entity_models.dart b/lib/src/model/entity_models.dart index 642b8cf..4eb5fc3 100644 --- a/lib/src/model/entity_models.dart +++ b/lib/src/model/entity_models.dart @@ -6,9 +6,9 @@ class EntityInfo { EntityInfo(this.id, this.name); - EntityInfo.fromJson(Map json): - id = EntityId.fromJson(json['id']), - name = json['name']; + EntityInfo.fromJson(Map json) + : id = EntityId.fromJson(json['id']), + name = json['name']; @override String toString() { diff --git a/lib/src/model/entity_type_models.dart b/lib/src/model/entity_type_models.dart index 2bedfa4..69e2110 100644 --- a/lib/src/model/entity_type_models.dart +++ b/lib/src/model/entity_type_models.dart @@ -30,7 +30,8 @@ enum EntityType { } EntityType entityTypeFromString(String value) { - return EntityType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return EntityType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension EntityTypeToString on EntityType { @@ -40,13 +41,12 @@ extension EntityTypeToString on EntityType { } class EntitySubtype { - TenantId tenantId; EntityType entityType; String type; - EntitySubtype.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), + EntitySubtype.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), entityType = entityTypeFromString(json['entityType']), type = json['type']; diff --git a/lib/src/model/entity_view_models.dart b/lib/src/model/entity_view_models.dart index 407c86f..bfbf597 100644 --- a/lib/src/model/entity_view_models.dart +++ b/lib/src/model/entity_view_models.dart @@ -9,23 +9,21 @@ import 'additional_info_based.dart'; import 'id/tenant_id.dart'; class AttributesEntityView { - List cs; List ss; List sh; - AttributesEntityView(): cs = [], ss = [], sh = []; + AttributesEntityView() + : cs = [], + ss = [], + sh = []; - AttributesEntityView.fromJson(Map json): - cs = json['cs'], + AttributesEntityView.fromJson(Map json) + : cs = json['cs'], ss = json['ss'], sh = json['sh']; - Map toJson() => { - 'cs': cs, - 'ss': ss, - 'sh': sh - }; + Map toJson() => {'cs': cs, 'ss': ss, 'sh': sh}; @override String toString() { @@ -34,30 +32,28 @@ class AttributesEntityView { } class TelemetryEntityView { - List timeseries; AttributesEntityView attributes; - TelemetryEntityView(): timeseries = [], attributes = AttributesEntityView(); + TelemetryEntityView() + : timeseries = [], + attributes = AttributesEntityView(); - TelemetryEntityView.fromJson(Map json): - timeseries = json['timeseries'], + TelemetryEntityView.fromJson(Map json) + : timeseries = json['timeseries'], attributes = AttributesEntityView.fromJson(json['attributes']); - Map toJson() => { - 'timeseries': timeseries, - 'attributes': attributes.toJson() - }; + Map toJson() => + {'timeseries': timeseries, 'attributes': attributes.toJson()}; @override String toString() { return 'TelemetryEntityView{timeseries: $timeseries, attributes: $attributes}'; } - } -class EntityView extends AdditionalInfoBased implements GroupEntity { - +class EntityView extends AdditionalInfoBased + implements GroupEntity { TenantId? tenantId; CustomerId? customerId; EntityId entityId; @@ -67,11 +63,19 @@ class EntityView extends AdditionalInfoBased implements GroupEntit int? startTimeMs; int? endTimeMs; - EntityView({required this.entityId, required this.name, required this.type, required this.keys, this.startTimeMs, this.endTimeMs}); - - EntityView.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), - customerId = json['customerId'] != null ? CustomerId.fromJson(json['customerId']) : null, + EntityView( + {required this.entityId, + required this.name, + required this.type, + required this.keys, + this.startTimeMs, + this.endTimeMs}); + + EntityView.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), + customerId = json['customerId'] != null + ? CustomerId.fromJson(json['customerId']) + : null, entityId = EntityId.fromJson(json['entityId']), name = json['name'], type = json['type'], @@ -124,7 +128,9 @@ class EntityView extends AdditionalInfoBased implements GroupEntit @override EntityId? getOwnerId() { - return customerId != null && !customerId!.isNullUid() ? customerId : tenantId; + return customerId != null && !customerId!.isNullUid() + ? customerId + : tenantId; } @override @@ -145,18 +151,16 @@ class EntityView extends AdditionalInfoBased implements GroupEntit return '${additionalInfoBasedString('tenantId: $tenantId, customerId: $customerId, entityId: $entityId, name: $name, type: $type, ' 'keys: $keys, startTimeMs: $startTimeMs, endTimeMs: $endTimeMs${toStringBody != null ? ', ' + toStringBody : ''}')}'; } - } class EntityViewSearchQuery extends EntitySearchQuery { - List entityViewTypes; - EntityViewSearchQuery({ - required RelationsSearchParameters parameters, - required this.entityViewTypes, - String? relationType - }): super(parameters: parameters, relationType: relationType); + EntityViewSearchQuery( + {required RelationsSearchParameters parameters, + required this.entityViewTypes, + String? relationType}) + : super(parameters: parameters, relationType: relationType); @override Map toJson() { @@ -169,5 +173,4 @@ class EntityViewSearchQuery extends EntitySearchQuery { String toString() { return 'EntityViewSearchQuery{${entitySearchQueryString('entityViewTypes: $entityViewTypes')}}'; } - } diff --git a/lib/src/model/event_models.dart b/lib/src/model/event_models.dart index 1dc8cbb..6c892a5 100644 --- a/lib/src/model/event_models.dart +++ b/lib/src/model/event_models.dart @@ -5,15 +5,14 @@ import 'id/event_id.dart'; import 'id/tenant_id.dart'; class Event extends BaseData { - TenantId tenantId; EntityId entityId; String type; String uid; EventBody body; - Event.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), + Event.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), entityId = EntityId.fromJson(json['entityId']), type = json['type'], uid = json['uid'], @@ -36,7 +35,6 @@ enum EventType { } abstract class EventBody { - static const ERROR = 'ERROR'; static const LC_EVENT = 'LC_EVENT'; static const STATS = 'STATS'; @@ -48,7 +46,7 @@ abstract class EventBody { EventType getEventType(); factory EventBody.fromJson(String type, Map json) { - switch(type) { + switch (type) { case ERROR: return ErrorEventBody.fromJson(json); case LC_EVENT: @@ -63,18 +61,15 @@ abstract class EventBody { return RawEventBody.fromJson(json); } } - } class RawEventBody extends EventBody { - Map rawBody; @override EventType getEventType() => EventType.RAW; - RawEventBody.fromJson(Map json): - rawBody = json; + RawEventBody.fromJson(Map json) : rawBody = json; @override String toString() { @@ -83,11 +78,9 @@ class RawEventBody extends EventBody { } abstract class BaseEventBody extends EventBody { - String server; - BaseEventBody.fromJson(Map json): - server = json['server']; + BaseEventBody.fromJson(Map json) : server = json['server']; String baseEventBodyString([String? toStringBody]) { return 'server: $server${toStringBody != null ? ', ' + toStringBody : ''}'; @@ -95,15 +88,14 @@ abstract class BaseEventBody extends EventBody { } class ErrorEventBody extends BaseEventBody { - String method; String error; @override EventType getEventType() => EventType.ERROR; - ErrorEventBody.fromJson(Map json): - method = json['method'], + ErrorEventBody.fromJson(Map json) + : method = json['method'], error = json['error'], super.fromJson(json); @@ -114,7 +106,6 @@ class ErrorEventBody extends BaseEventBody { } class LcEventEventBody extends BaseEventBody { - String event; bool success; String? error; @@ -122,8 +113,8 @@ class LcEventEventBody extends BaseEventBody { @override EventType getEventType() => EventType.LC_EVENT; - LcEventEventBody.fromJson(Map json): - event = json['event'], + LcEventEventBody.fromJson(Map json) + : event = json['event'], success = json['success'], error = json['error'], super.fromJson(json); @@ -135,15 +126,14 @@ class LcEventEventBody extends BaseEventBody { } class StatsEventBody extends BaseEventBody { - int messagesProcessed; int errorsOccurred; @override EventType getEventType() => EventType.STATS; - StatsEventBody.fromJson(Map json): - messagesProcessed = json['messagesProcessed'], + StatsEventBody.fromJson(Map json) + : messagesProcessed = json['messagesProcessed'], errorsOccurred = json['errorsOccurred'], super.fromJson(json); @@ -154,7 +144,6 @@ class StatsEventBody extends BaseEventBody { } class DebugRuleNodeEventBody extends BaseEventBody { - String type; String entityId; String entityName; @@ -169,8 +158,8 @@ class DebugRuleNodeEventBody extends BaseEventBody { @override EventType getEventType() => EventType.DEBUG_RULE_NODE; - DebugRuleNodeEventBody.fromJson(Map json): - type = json['type'], + DebugRuleNodeEventBody.fromJson(Map json) + : type = json['type'], entityId = json['entityId'], entityName = json['entityName'], msgId = json['msgId'], @@ -190,15 +179,14 @@ class DebugRuleNodeEventBody extends BaseEventBody { } class DebugRuleChainEventBody extends BaseEventBody { - String message; String? error; @override EventType getEventType() => EventType.DEBUG_RULE_CHAIN; - DebugRuleChainEventBody.fromJson(Map json): - message = json['message'], + DebugRuleChainEventBody.fromJson(Map json) + : message = json['message'], error = json['error'], super.fromJson(json); @@ -208,14 +196,11 @@ class DebugRuleChainEventBody extends BaseEventBody { } } -enum ContentType { - JSON, - TEXT, - BINARY -} +enum ContentType { JSON, TEXT, BINARY } ContentType contentTypeFromString(String value) { - return ContentType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return ContentType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension ContentTypeToString on ContentType { diff --git a/lib/src/model/group_entity.dart b/lib/src/model/group_entity.dart index 1fff3ae..4c47884 100644 --- a/lib/src/model/group_entity.dart +++ b/lib/src/model/group_entity.dart @@ -5,6 +5,5 @@ import 'id/has_id.dart'; import 'id/entity_id.dart'; import 'tenant_entity.dart'; -abstract class GroupEntity implements HasId, HasName, TenantEntity, HasCustomerId, HasOwnerId { - -} +abstract class GroupEntity + implements HasId, HasName, TenantEntity, HasCustomerId, HasOwnerId {} diff --git a/lib/src/model/group_permission_models.dart b/lib/src/model/group_permission_models.dart index e0babb7..d1c70b1 100644 --- a/lib/src/model/group_permission_models.dart +++ b/lib/src/model/group_permission_models.dart @@ -9,8 +9,8 @@ import 'id/group_permission_id.dart'; import 'tenant_entity.dart'; import 'role_models.dart'; -class GroupPermission extends BaseData implements HasName, TenantEntity { - +class GroupPermission extends BaseData + implements HasName, TenantEntity { TenantId? tenantId; EntityGroupId userGroupId; RoleId roleId; @@ -18,14 +18,23 @@ class GroupPermission extends BaseData implements HasName, Te EntityType? entityGroupType; bool isPublic; - GroupPermission({required this.userGroupId, required this.roleId, this.isPublic = false, this.entityGroupId, this.entityGroupType}); + GroupPermission( + {required this.userGroupId, + required this.roleId, + this.isPublic = false, + this.entityGroupId, + this.entityGroupType}); - GroupPermission.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), + GroupPermission.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), userGroupId = EntityGroupId.fromJson(json['userGroupId']), roleId = RoleId.fromJson(json['roleId']), - entityGroupId = json['entityGroupId'] != null ? EntityGroupId.fromJson(json['entityGroupId']) : null, - entityGroupType = json['entityGroupType'] != null ? entityTypeFromString(json['entityGroupType']) : null, + entityGroupId = json['entityGroupId'] != null + ? EntityGroupId.fromJson(json['entityGroupId']) + : null, + entityGroupType = json['entityGroupType'] != null + ? entityTypeFromString(json['entityGroupType']) + : null, isPublic = json['isPublic'], super.fromJson(json); @@ -78,7 +87,6 @@ class GroupPermission extends BaseData implements HasName, Te } class GroupPermissionInfo extends GroupPermission { - Role role; String? entityGroupName; EntityId? entityGroupOwnerId; @@ -88,14 +96,16 @@ class GroupPermissionInfo extends GroupPermission { String userGroupOwnerName; bool readOnly; - GroupPermissionInfo.fromJson(Map json): - role = Role.fromJson(json['role']), + GroupPermissionInfo.fromJson(Map json) + : role = Role.fromJson(json['role']), entityGroupName = json['entityGroupName'], - entityGroupOwnerId = json['entityGroupOwnerId'] != null ? EntityId.fromJson(json['entityGroupOwnerId']) : null, + entityGroupOwnerId = json['entityGroupOwnerId'] != null + ? EntityId.fromJson(json['entityGroupOwnerId']) + : null, entityGroupOwnerName = json['entityGroupOwnerName'], userGroupName = json['userGroupName'], userGroupOwnerId = EntityId.fromJson(json['userGroupOwnerId']), - userGroupOwnerName = json['userGroupOwnerName'], + userGroupOwnerName = json['userGroupOwnerName'], readOnly = json['readOnly'], super.fromJson(json); diff --git a/lib/src/model/has_additional_info.dart b/lib/src/model/has_additional_info.dart index c4a5185..ff6cbd3 100644 --- a/lib/src/model/has_additional_info.dart +++ b/lib/src/model/has_additional_info.dart @@ -1,5 +1,3 @@ abstract class HasAdditionalInfo { - Map? getAdditionalInfo(); - } diff --git a/lib/src/model/has_customer_id.dart b/lib/src/model/has_customer_id.dart index c0343b8..f22b360 100644 --- a/lib/src/model/has_customer_id.dart +++ b/lib/src/model/has_customer_id.dart @@ -1,7 +1,5 @@ import 'id/customer_id.dart'; abstract class HasCustomerId { - CustomerId? getCustomerId(); - } diff --git a/lib/src/model/has_entity_type.dart b/lib/src/model/has_entity_type.dart index b21d6de..e5085e3 100644 --- a/lib/src/model/has_entity_type.dart +++ b/lib/src/model/has_entity_type.dart @@ -1,7 +1,5 @@ import 'entity_type_models.dart'; abstract class HasEntityType { - EntityType getEntityType(); - } diff --git a/lib/src/model/has_name.dart b/lib/src/model/has_name.dart index 5ab4864..5c6bfad 100644 --- a/lib/src/model/has_name.dart +++ b/lib/src/model/has_name.dart @@ -1,5 +1,3 @@ abstract class HasName { - String getName(); - } diff --git a/lib/src/model/has_ota_package.dart b/lib/src/model/has_ota_package.dart index 5a21f7d..45f84be 100644 --- a/lib/src/model/has_ota_package.dart +++ b/lib/src/model/has_ota_package.dart @@ -1,9 +1,7 @@ import 'id/ota_package_id.dart'; abstract class HasOtaPackage { - OtaPackageId? getFirmwareId(); OtaPackageId? getSoftwareId(); - } diff --git a/lib/src/model/has_owner_id.dart b/lib/src/model/has_owner_id.dart index ce45cd7..5523c15 100644 --- a/lib/src/model/has_owner_id.dart +++ b/lib/src/model/has_owner_id.dart @@ -1,9 +1,7 @@ import 'id/entity_id.dart'; abstract class HasOwnerId { - EntityId? getOwnerId(); void setOwnerId(EntityId entityId); - } diff --git a/lib/src/model/has_tenant_id.dart b/lib/src/model/has_tenant_id.dart index 8202c7a..a1fc9fc 100644 --- a/lib/src/model/has_tenant_id.dart +++ b/lib/src/model/has_tenant_id.dart @@ -1,7 +1,5 @@ import 'id/tenant_id.dart'; abstract class HasTenantId { - TenantId? getTenantId(); - } diff --git a/lib/src/model/id/admin_settings_id.dart b/lib/src/model/id/admin_settings_id.dart index 76e6ae9..d7ceb1f 100644 --- a/lib/src/model/id/admin_settings_id.dart +++ b/lib/src/model/id/admin_settings_id.dart @@ -1,17 +1,16 @@ import 'has_uuid.dart'; class AdminSettingsId extends HasUuid { - AdminSettingsId(String? id) : super(id); @override factory AdminSettingsId.fromJson(Map json) { - return HasUuid.fromJson(json, (id) => AdminSettingsId(id)) as AdminSettingsId; + return HasUuid.fromJson(json, (id) => AdminSettingsId(id)) + as AdminSettingsId; } @override String toString() { return 'AdminSettingsId {id: $id}'; } - } diff --git a/lib/src/model/id/alarm_id.dart b/lib/src/model/id/alarm_id.dart index 83a0631..d374859 100644 --- a/lib/src/model/id/alarm_id.dart +++ b/lib/src/model/id/alarm_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class AlarmId extends EntityId { - AlarmId(String id) : super(EntityType.ALARM, id); @override diff --git a/lib/src/model/id/api_usage_state_id.dart b/lib/src/model/id/api_usage_state_id.dart index bc28a9b..644f45a 100644 --- a/lib/src/model/id/api_usage_state_id.dart +++ b/lib/src/model/id/api_usage_state_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class ApiUsageStateId extends EntityId { - ApiUsageStateId(String id) : super(EntityType.API_USAGE_STATE, id); @override diff --git a/lib/src/model/id/asset_id.dart b/lib/src/model/id/asset_id.dart index 1ab0ca0..2be62cb 100644 --- a/lib/src/model/id/asset_id.dart +++ b/lib/src/model/id/asset_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class AssetId extends EntityId { - AssetId(String id) : super(EntityType.ASSET, id); @override diff --git a/lib/src/model/id/audit_log_id.dart b/lib/src/model/id/audit_log_id.dart index 44c3dec..c98a5e4 100644 --- a/lib/src/model/id/audit_log_id.dart +++ b/lib/src/model/id/audit_log_id.dart @@ -1,7 +1,6 @@ import 'has_uuid.dart'; class AuditLogId extends HasUuid { - AuditLogId(String? id) : super(id); @override @@ -13,5 +12,4 @@ class AuditLogId extends HasUuid { String toString() { return 'AuditLogId {id: $id}'; } - } diff --git a/lib/src/model/id/blob_entity_id.dart b/lib/src/model/id/blob_entity_id.dart index 98d6f70..b5b954b 100644 --- a/lib/src/model/id/blob_entity_id.dart +++ b/lib/src/model/id/blob_entity_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class BlobEntityId extends EntityId { - BlobEntityId(String id) : super(EntityType.BLOB_ENTITY, id); @override diff --git a/lib/src/model/id/component_descriptor_id.dart b/lib/src/model/id/component_descriptor_id.dart index a331433..854497f 100644 --- a/lib/src/model/id/component_descriptor_id.dart +++ b/lib/src/model/id/component_descriptor_id.dart @@ -1,17 +1,16 @@ import 'has_uuid.dart'; class ComponentDescriptorId extends HasUuid { - ComponentDescriptorId(String? id) : super(id); @override factory ComponentDescriptorId.fromJson(Map json) { - return HasUuid.fromJson(json, (id) => ComponentDescriptorId(id)) as ComponentDescriptorId; + return HasUuid.fromJson(json, (id) => ComponentDescriptorId(id)) + as ComponentDescriptorId; } @override String toString() { return 'ComponentDescriptorId {id: $id}'; } - } diff --git a/lib/src/model/id/converter_id.dart b/lib/src/model/id/converter_id.dart index 931c885..0fbe556 100644 --- a/lib/src/model/id/converter_id.dart +++ b/lib/src/model/id/converter_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class ConverterId extends EntityId { - ConverterId(String id) : super(EntityType.CONVERTER, id); @override diff --git a/lib/src/model/id/customer_id.dart b/lib/src/model/id/customer_id.dart index 783f939..c601595 100644 --- a/lib/src/model/id/customer_id.dart +++ b/lib/src/model/id/customer_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class CustomerId extends EntityId { - CustomerId(String id) : super(EntityType.CUSTOMER, id); @override diff --git a/lib/src/model/id/dashboard_id.dart b/lib/src/model/id/dashboard_id.dart index 4ee7850..f9e15a1 100644 --- a/lib/src/model/id/dashboard_id.dart +++ b/lib/src/model/id/dashboard_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class DashboardId extends EntityId { - DashboardId(String id) : super(EntityType.DASHBOARD, id); @override diff --git a/lib/src/model/id/device_credentials_id.dart b/lib/src/model/id/device_credentials_id.dart index 6de99e9..c83dff5 100644 --- a/lib/src/model/id/device_credentials_id.dart +++ b/lib/src/model/id/device_credentials_id.dart @@ -1,17 +1,16 @@ import 'has_uuid.dart'; class DeviceCredentialsId extends HasUuid { - DeviceCredentialsId(String? id) : super(id); @override factory DeviceCredentialsId.fromJson(Map json) { - return HasUuid.fromJson(json, (id) => DeviceCredentialsId(id)) as DeviceCredentialsId; + return HasUuid.fromJson(json, (id) => DeviceCredentialsId(id)) + as DeviceCredentialsId; } @override String toString() { return 'DeviceCredentialsId {id: $id}'; } - } diff --git a/lib/src/model/id/device_id.dart b/lib/src/model/id/device_id.dart index 56b39ca..0b2c0f5 100644 --- a/lib/src/model/id/device_id.dart +++ b/lib/src/model/id/device_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class DeviceId extends EntityId { - DeviceId(String id) : super(EntityType.DEVICE, id); @override diff --git a/lib/src/model/id/device_profile_id.dart b/lib/src/model/id/device_profile_id.dart index bb12092..274af11 100644 --- a/lib/src/model/id/device_profile_id.dart +++ b/lib/src/model/id/device_profile_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class DeviceProfileId extends EntityId { - DeviceProfileId(String id) : super(EntityType.DEVICE_PROFILE, id); @override diff --git a/lib/src/model/id/edge_event_id.dart b/lib/src/model/id/edge_event_id.dart index 73f94bb..b3b305a 100644 --- a/lib/src/model/id/edge_event_id.dart +++ b/lib/src/model/id/edge_event_id.dart @@ -1,7 +1,6 @@ import 'has_uuid.dart'; class EdgeEventId extends HasUuid { - EdgeEventId(String? id) : super(id); @override @@ -13,5 +12,4 @@ class EdgeEventId extends HasUuid { String toString() { return 'EdgeEventId {id: $id}'; } - } diff --git a/lib/src/model/id/edge_id.dart b/lib/src/model/id/edge_id.dart index 324c20e..61825a0 100644 --- a/lib/src/model/id/edge_id.dart +++ b/lib/src/model/id/edge_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class EdgeId extends EntityId { - EdgeId(String id) : super(EntityType.EDGE, id); @override diff --git a/lib/src/model/id/entity_group_id.dart b/lib/src/model/id/entity_group_id.dart index a38ba81..0fddd1c 100644 --- a/lib/src/model/id/entity_group_id.dart +++ b/lib/src/model/id/entity_group_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class EntityGroupId extends EntityId { - EntityGroupId(String id) : super(EntityType.ENTITY_GROUP, id); @override diff --git a/lib/src/model/id/entity_id.dart b/lib/src/model/id/entity_id.dart index 8ab3445..a3ad37c 100644 --- a/lib/src/model/id/entity_id.dart +++ b/lib/src/model/id/entity_id.dart @@ -29,7 +29,6 @@ import '../entity_type_models.dart'; import './has_uuid.dart'; abstract class EntityId extends HasUuid { - EntityType entityType; EntityId(this.entityType, String id) : super(id); @@ -45,7 +44,7 @@ abstract class EntityId extends HasUuid { } factory EntityId.fromTypeAndUuid(EntityType type, String uuid) { - switch(type) { + switch (type) { case EntityType.TENANT: return TenantId(uuid); case EntityType.TENANT_PROFILE: @@ -107,5 +106,4 @@ abstract class EntityId extends HasUuid { json['entityType'] = entityType.toShortString(); return json; } - } diff --git a/lib/src/model/id/entity_view_id.dart b/lib/src/model/id/entity_view_id.dart index 676bd29..b4db466 100644 --- a/lib/src/model/id/entity_view_id.dart +++ b/lib/src/model/id/entity_view_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class EntityViewId extends EntityId { - EntityViewId(String id) : super(EntityType.ENTITY_VIEW, id); @override diff --git a/lib/src/model/id/event_id.dart b/lib/src/model/id/event_id.dart index 361dc21..90bb5ae 100644 --- a/lib/src/model/id/event_id.dart +++ b/lib/src/model/id/event_id.dart @@ -1,7 +1,6 @@ import 'has_uuid.dart'; class EventId extends HasUuid { - EventId(String? id) : super(id); @override @@ -13,5 +12,4 @@ class EventId extends HasUuid { String toString() { return 'EventId {id: $id}'; } - } diff --git a/lib/src/model/id/group_permission_id.dart b/lib/src/model/id/group_permission_id.dart index 822141a..abce53b 100644 --- a/lib/src/model/id/group_permission_id.dart +++ b/lib/src/model/id/group_permission_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class GroupPermissionId extends EntityId { - GroupPermissionId(String id) : super(EntityType.GROUP_PERMISSION, id); @override diff --git a/lib/src/model/id/has_id.dart b/lib/src/model/id/has_id.dart index dd17b66..c91995f 100644 --- a/lib/src/model/id/has_id.dart +++ b/lib/src/model/id/has_id.dart @@ -1,7 +1,5 @@ import 'has_uuid.dart'; abstract class HasId { - I? getId(); - } diff --git a/lib/src/model/id/has_uuid.dart b/lib/src/model/id/has_uuid.dart index 0bfa7ac..ddef594 100644 --- a/lib/src/model/id/has_uuid.dart +++ b/lib/src/model/id/has_uuid.dart @@ -3,12 +3,12 @@ import 'entity_id.dart'; const nullUuid = '13814000-1dd2-11b2-8080-808080808080'; abstract class HasUuid { - String? id; HasUuid(this.id); - factory HasUuid.fromJson(Map json, [fromIdFunction? fromId]) { + factory HasUuid.fromJson(Map json, + [fromIdFunction? fromId]) { if (json.containsKey('id')) { if (json.containsKey('entityType')) { return EntityId.fromJson(json); @@ -24,9 +24,7 @@ abstract class HasUuid { bool isNullUid() => nullUuid == id; Map toJson() { - return { - 'id': id - }; + return {'id': id}; } } diff --git a/lib/src/model/id/id_based.dart b/lib/src/model/id/id_based.dart index c93a094..aa4c6ea 100644 --- a/lib/src/model/id/id_based.dart +++ b/lib/src/model/id/id_based.dart @@ -2,13 +2,12 @@ import 'has_id.dart'; import 'has_uuid.dart'; abstract class IdBased extends HasId { - I? id; IdBased(); - IdBased.fromJson(Map json, [fromIdFunction? fromId]): - id = HasUuid.fromJson(json['id'], fromId) as I; + IdBased.fromJson(Map json, [fromIdFunction? fromId]) + : id = HasUuid.fromJson(json['id'], fromId) as I; Map toJson() { var json = {}; @@ -31,5 +30,4 @@ abstract class IdBased extends HasId { String idBasedString() { return 'id: $id'; } - } diff --git a/lib/src/model/id/integration_id.dart b/lib/src/model/id/integration_id.dart index 9166de2..1181b31 100644 --- a/lib/src/model/id/integration_id.dart +++ b/lib/src/model/id/integration_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class IntegrationId extends EntityId { - IntegrationId(String id) : super(EntityType.INTEGRATION, id); @override diff --git a/lib/src/model/id/oauth2_client_registration_template_id.dart b/lib/src/model/id/oauth2_client_registration_template_id.dart index b988c47..f36bbf1 100644 --- a/lib/src/model/id/oauth2_client_registration_template_id.dart +++ b/lib/src/model/id/oauth2_client_registration_template_id.dart @@ -1,17 +1,18 @@ import 'has_uuid.dart'; class OAuth2ClientRegistrationTemplateId extends HasUuid { - OAuth2ClientRegistrationTemplateId(String? id) : super(id); @override - factory OAuth2ClientRegistrationTemplateId.fromJson(Map json) { - return HasUuid.fromJson(json, (id) => OAuth2ClientRegistrationTemplateId(id)) as OAuth2ClientRegistrationTemplateId; + factory OAuth2ClientRegistrationTemplateId.fromJson( + Map json) { + return HasUuid.fromJson( + json, (id) => OAuth2ClientRegistrationTemplateId(id)) + as OAuth2ClientRegistrationTemplateId; } @override String toString() { return 'OAuth2ClientRegistrationTemplateId {id: $id}'; } - } diff --git a/lib/src/model/id/ota_package_id.dart b/lib/src/model/id/ota_package_id.dart index 8ccf77a..42b4301 100644 --- a/lib/src/model/id/ota_package_id.dart +++ b/lib/src/model/id/ota_package_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class OtaPackageId extends EntityId { - OtaPackageId(String id) : super(EntityType.OTA_PACKAGE, id); @override diff --git a/lib/src/model/id/role_id.dart b/lib/src/model/id/role_id.dart index 8fff4b6..f22b30a 100644 --- a/lib/src/model/id/role_id.dart +++ b/lib/src/model/id/role_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class RoleId extends EntityId { - RoleId(String id) : super(EntityType.ROLE, id); @override diff --git a/lib/src/model/id/rpc_id.dart b/lib/src/model/id/rpc_id.dart index 5751097..4801a7b 100644 --- a/lib/src/model/id/rpc_id.dart +++ b/lib/src/model/id/rpc_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class RpcId extends EntityId { - RpcId(String id) : super(EntityType.RPC, id); @override diff --git a/lib/src/model/id/rule_chain_id.dart b/lib/src/model/id/rule_chain_id.dart index 1a05efa..a3e5853 100644 --- a/lib/src/model/id/rule_chain_id.dart +++ b/lib/src/model/id/rule_chain_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class RuleChainId extends EntityId { - RuleChainId(String id) : super(EntityType.RULE_CHAIN, id); @override diff --git a/lib/src/model/id/rule_node_id.dart b/lib/src/model/id/rule_node_id.dart index 40562e7..e3bce27 100644 --- a/lib/src/model/id/rule_node_id.dart +++ b/lib/src/model/id/rule_node_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class RuleNodeId extends EntityId { - RuleNodeId(String id) : super(EntityType.RULE_NODE, id); @override diff --git a/lib/src/model/id/scheduler_event_id.dart b/lib/src/model/id/scheduler_event_id.dart index 1835a49..c6d83a0 100644 --- a/lib/src/model/id/scheduler_event_id.dart +++ b/lib/src/model/id/scheduler_event_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class SchedulerEventId extends EntityId { - SchedulerEventId(String id) : super(EntityType.SCHEDULER_EVENT, id); @override diff --git a/lib/src/model/id/tb_resource_id.dart b/lib/src/model/id/tb_resource_id.dart index bf449a7..45b0e0f 100644 --- a/lib/src/model/id/tb_resource_id.dart +++ b/lib/src/model/id/tb_resource_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class TbResourceId extends EntityId { - TbResourceId(String id) : super(EntityType.TB_RESOURCE, id); @override diff --git a/lib/src/model/id/tenant_id.dart b/lib/src/model/id/tenant_id.dart index 477cddd..1e0c4e2 100644 --- a/lib/src/model/id/tenant_id.dart +++ b/lib/src/model/id/tenant_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class TenantId extends EntityId { - TenantId(String id) : super(EntityType.TENANT, id); @override diff --git a/lib/src/model/id/tenant_profile_id.dart b/lib/src/model/id/tenant_profile_id.dart index 68b91f0..8553db6 100644 --- a/lib/src/model/id/tenant_profile_id.dart +++ b/lib/src/model/id/tenant_profile_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class TenantProfileId extends EntityId { - TenantProfileId(String id) : super(EntityType.TENANT_PROFILE, id); @override diff --git a/lib/src/model/id/user_id.dart b/lib/src/model/id/user_id.dart index eb8fed3..226abdd 100644 --- a/lib/src/model/id/user_id.dart +++ b/lib/src/model/id/user_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class UserId extends EntityId { - UserId(String id) : super(EntityType.USER, id); @override diff --git a/lib/src/model/id/widget_type_id.dart b/lib/src/model/id/widget_type_id.dart index 4e014db..c589576 100644 --- a/lib/src/model/id/widget_type_id.dart +++ b/lib/src/model/id/widget_type_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class WidgetTypeId extends EntityId { - WidgetTypeId(String id) : super(EntityType.WIDGET_TYPE, id); @override diff --git a/lib/src/model/id/widgets_bundle_id.dart b/lib/src/model/id/widgets_bundle_id.dart index b036f3b..c8da9d1 100644 --- a/lib/src/model/id/widgets_bundle_id.dart +++ b/lib/src/model/id/widgets_bundle_id.dart @@ -2,7 +2,6 @@ import '../entity_type_models.dart'; import 'entity_id.dart'; class WidgetsBundleId extends EntityId { - WidgetsBundleId(String id) : super(EntityType.WIDGETS_BUNDLE, id); @override diff --git a/lib/src/model/integration_models.dart b/lib/src/model/integration_models.dart index 47f8ab7..5643992 100644 --- a/lib/src/model/integration_models.dart +++ b/lib/src/model/integration_models.dart @@ -7,36 +7,37 @@ import 'id/integration_id.dart'; import 'tenant_entity.dart'; enum IntegrationType { - OCEANCONNECT, - SIGFOX, - THINGPARK, - TPE, - CHIRPSTACK, - TMOBILE_IOT_CDP, - HTTP, - MQTT, - PUB_SUB, - AWS_IOT, - AWS_SQS, - AWS_KINESIS, - IBM_WATSON_IOT, - TTN, - TTI, - AZURE_EVENT_HUB, - OPC_UA, - CUSTOM, - UDP, - TCP, - KAFKA, - AZURE_IOT_HUB, - APACHE_PULSAR, - RABBITMQ, - LORIOT, - COAP + OCEANCONNECT, + SIGFOX, + THINGPARK, + TPE, + CHIRPSTACK, + TMOBILE_IOT_CDP, + HTTP, + MQTT, + PUB_SUB, + AWS_IOT, + AWS_SQS, + AWS_KINESIS, + IBM_WATSON_IOT, + TTN, + TTI, + AZURE_EVENT_HUB, + OPC_UA, + CUSTOM, + UDP, + TCP, + KAFKA, + AZURE_IOT_HUB, + APACHE_PULSAR, + RABBITMQ, + LORIOT, + COAP } IntegrationType integrationTypeFromString(String value) { - return IntegrationType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return IntegrationType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension IntegrationTypeToString on IntegrationType { @@ -45,8 +46,8 @@ extension IntegrationTypeToString on IntegrationType { } } -class Integration extends AdditionalInfoBased implements HasName, TenantEntity { - +class Integration extends AdditionalInfoBased + implements HasName, TenantEntity { TenantId? tenantId; ConverterId defaultConverterId; ConverterId? downlinkConverterId; @@ -60,22 +61,25 @@ class Integration extends AdditionalInfoBased implements HasName, String? secret; Map configuration; - Integration({required this.defaultConverterId, - required this.name, - required this.routingKey, - required this.type, - this.configuration = const {}, - this.downlinkConverterId, - this.debugMode, - this.enabled, - this.remote, - this.allowCreateDevicesOrAssets, - this.secret}); + Integration( + {required this.defaultConverterId, + required this.name, + required this.routingKey, + required this.type, + this.configuration = const {}, + this.downlinkConverterId, + this.debugMode, + this.enabled, + this.remote, + this.allowCreateDevicesOrAssets, + this.secret}); - Integration.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), + Integration.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), defaultConverterId = ConverterId.fromJson(json['defaultConverterId']), - downlinkConverterId = json['downlinkConverterId'] != null ? ConverterId.fromJson(json['downlinkConverterId']) : null, + downlinkConverterId = json['downlinkConverterId'] != null + ? ConverterId.fromJson(json['downlinkConverterId']) + : null, name = json['name'], routingKey = json['routingKey'], type = integrationTypeFromString(json['type']), diff --git a/lib/src/model/login_models.dart b/lib/src/model/login_models.dart index e094573..060c15a 100644 --- a/lib/src/model/login_models.dart +++ b/lib/src/model/login_models.dart @@ -19,9 +19,8 @@ class LoginResponse { LoginResponse(this.token, this.refreshToken); LoginResponse.fromJson(Map json) - : token = json['token'], - refreshToken = json['refreshToken']; - + : token = json['token'], + refreshToken = json['refreshToken']; } class RefreshTokenRequest { @@ -30,8 +29,6 @@ class RefreshTokenRequest { RefreshTokenRequest(this.refreshToken); Map toJson() { - return { - 'refreshToken': refreshToken - }; + return {'refreshToken': refreshToken}; } } diff --git a/lib/src/model/oauth2_models.dart b/lib/src/model/oauth2_models.dart index 7ea0796..531882a 100644 --- a/lib/src/model/oauth2_models.dart +++ b/lib/src/model/oauth2_models.dart @@ -3,15 +3,14 @@ import 'id/oauth2_client_registration_template_id.dart'; import 'additional_info_based.dart'; class OAuth2ClientInfo { - final String name; final String? icon; final String url; - OAuth2ClientInfo.fromJson(Map json): - name = json['name'], - icon = json['icon'], - url = json['url']; + OAuth2ClientInfo.fromJson(Map json) + : name = json['name'], + icon = json['icon'], + url = json['url']; @override String toString() { @@ -19,14 +18,11 @@ class OAuth2ClientInfo { } } -enum PlatformType { - WEB, - ANDROID, - IOS -} +enum PlatformType { WEB, ANDROID, IOS } PlatformType platformTypeFromString(String value) { - return PlatformType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return PlatformType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension PlatformTypeToString on PlatformType { @@ -35,15 +31,11 @@ extension PlatformTypeToString on PlatformType { } } -enum MapperType { - BASIC, - CUSTOM, - GITHUB, - APPLE -} +enum MapperType { BASIC, CUSTOM, GITHUB, APPLE } MapperType mapperTypeFromString(String value) { - return MapperType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return MapperType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension MapperTypeToString on MapperType { @@ -52,14 +44,11 @@ extension MapperTypeToString on MapperType { } } -enum TenantNameStrategyType { - DOMAIN, - EMAIL, - CUSTOM -} +enum TenantNameStrategyType { DOMAIN, EMAIL, CUSTOM } TenantNameStrategyType tenantNameStrategyTypeFromString(String value) { - return TenantNameStrategyType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return TenantNameStrategyType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension TenantNameStrategyTypeToString on TenantNameStrategyType { @@ -69,7 +58,6 @@ extension TenantNameStrategyTypeToString on TenantNameStrategyType { } class OAuth2BasicMapperConfig { - String emailAttributeKey; String? firstNameAttributeKey; String? lastNameAttributeKey; @@ -79,22 +67,22 @@ class OAuth2BasicMapperConfig { String? defaultDashboardName; bool? alwaysFullScreen; - OAuth2BasicMapperConfig({ - required this.emailAttributeKey, - required this.tenantNameStrategy, - this.firstNameAttributeKey, - this.lastNameAttributeKey, - this.tenantNamePattern, - this.customerNamePattern, - this.defaultDashboardName, - this.alwaysFullScreen - }); - - OAuth2BasicMapperConfig.fromJson(Map json): - emailAttributeKey = json['emailAttributeKey'], + OAuth2BasicMapperConfig( + {required this.emailAttributeKey, + required this.tenantNameStrategy, + this.firstNameAttributeKey, + this.lastNameAttributeKey, + this.tenantNamePattern, + this.customerNamePattern, + this.defaultDashboardName, + this.alwaysFullScreen}); + + OAuth2BasicMapperConfig.fromJson(Map json) + : emailAttributeKey = json['emailAttributeKey'], firstNameAttributeKey = json['firstNameAttributeKey'], lastNameAttributeKey = json['lastNameAttributeKey'], - tenantNameStrategy = tenantNameStrategyTypeFromString(json['tenantNameStrategy']), + tenantNameStrategy = + tenantNameStrategyTypeFromString(json['tenantNameStrategy']), tenantNamePattern = json['tenantNamePattern'], customerNamePattern = json['customerNamePattern'], defaultDashboardName = json['defaultDashboardName'], @@ -133,29 +121,22 @@ class OAuth2BasicMapperConfig { } class OAuth2CustomMapperConfig { - String url; String? username; String? password; bool? sendToken; - OAuth2CustomMapperConfig({ - required this.url, - this.username, - this.password, - this.sendToken - }); + OAuth2CustomMapperConfig( + {required this.url, this.username, this.password, this.sendToken}); - OAuth2CustomMapperConfig.fromJson(Map json): - url = json['url'], + OAuth2CustomMapperConfig.fromJson(Map json) + : url = json['url'], username = json['username'], password = json['password'], sendToken = json['sendToken']; Map toJson() { - var json = { - 'url': url - }; + var json = {'url': url}; if (username != null) { json['username'] = username; } @@ -175,25 +156,29 @@ class OAuth2CustomMapperConfig { } class OAuth2MapperConfig { - bool allowUserCreation; bool activateUser; MapperType type; OAuth2BasicMapperConfig? basic; OAuth2CustomMapperConfig? custom; - OAuth2MapperConfig({required this.allowUserCreation, - required this.activateUser, - required this.type, - this.basic, - this.custom}); + OAuth2MapperConfig( + {required this.allowUserCreation, + required this.activateUser, + required this.type, + this.basic, + this.custom}); - OAuth2MapperConfig.fromJson(Map json): - allowUserCreation = json['allowUserCreation'], + OAuth2MapperConfig.fromJson(Map json) + : allowUserCreation = json['allowUserCreation'], activateUser = json['activateUser'], type = mapperTypeFromString(json['type']), - basic = json['basic'] != null ? OAuth2BasicMapperConfig.fromJson(json['basic']) : null, - custom = json['custom'] != null ? OAuth2CustomMapperConfig.fromJson(json['custom']) : null; + basic = json['basic'] != null + ? OAuth2BasicMapperConfig.fromJson(json['basic']) + : null, + custom = json['custom'] != null + ? OAuth2CustomMapperConfig.fromJson(json['custom']) + : null; Map toJson() { var json = { @@ -209,11 +194,11 @@ class OAuth2MapperConfig { } return json; } - } -class OAuth2ClientRegistrationTemplate extends AdditionalInfoBased with HasName { - +class OAuth2ClientRegistrationTemplate + extends AdditionalInfoBased + with HasName { String providerId; OAuth2MapperConfig mapperConfig; String authorizationUri; @@ -228,24 +213,23 @@ class OAuth2ClientRegistrationTemplate extends AdditionalInfoBased json): - providerId = json['providerId'], + OAuth2ClientRegistrationTemplate( + {required this.providerId, + required this.mapperConfig, + required this.authorizationUri, + required this.accessTokenUri, + required this.scope, + required this.userNameAttributeName, + required this.clientAuthenticationMethod, + this.userInfoUri, + this.jwkSetUri, + this.comment, + this.loginButtonIcon, + this.loginButtonLabel, + this.helpLink}); + + OAuth2ClientRegistrationTemplate.fromJson(Map json) + : providerId = json['providerId'], mapperConfig = OAuth2MapperConfig.fromJson(json['mapperConfig']), authorizationUri = json['authorizationUri'], accessTokenUri = json['accessTokenUri'], @@ -305,14 +289,11 @@ class OAuth2ClientRegistrationTemplate extends AdditionalInfoBasede.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return SchemeType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension SchemeTypeToString on SchemeType { @@ -322,24 +303,17 @@ extension SchemeTypeToString on SchemeType { } class OAuth2DomainInfo { - SchemeType scheme; String name; - OAuth2DomainInfo({ - required this.scheme, - required this.name - }); + OAuth2DomainInfo({required this.scheme, required this.name}); - OAuth2DomainInfo.fromJson(Map json): - scheme = schemeTypeFromString(json['scheme']), + OAuth2DomainInfo.fromJson(Map json) + : scheme = schemeTypeFromString(json['scheme']), name = json['name']; Map toJson() { - return { - 'scheme': scheme.toShortString(), - 'name': name - }; + return {'scheme': scheme.toShortString(), 'name': name}; } @override @@ -349,24 +323,17 @@ class OAuth2DomainInfo { } class OAuth2MobileInfo { - String pkgName; String appSecret; - OAuth2MobileInfo({ - required this.pkgName, - required this.appSecret - }); + OAuth2MobileInfo({required this.pkgName, required this.appSecret}); - OAuth2MobileInfo.fromJson(Map json): - pkgName = json['pkgName'], + OAuth2MobileInfo.fromJson(Map json) + : pkgName = json['pkgName'], appSecret = json['appSecret']; Map toJson() { - return { - 'pkgName': pkgName, - 'appSecret': appSecret - }; + return {'pkgName': pkgName, 'appSecret': appSecret}; } @override @@ -376,7 +343,6 @@ class OAuth2MobileInfo { } class OAuth2RegistrationInfo { - OAuth2MapperConfig mapperConfig; String clientId; String clientSecret; @@ -392,25 +358,24 @@ class OAuth2RegistrationInfo { List platforms; Map? additionalInfo; - OAuth2RegistrationInfo({ - required this.mapperConfig, - required this.clientId, - required this.clientSecret, - required this.authorizationUri, - required this.accessTokenUri, - required this.scope, - required this.userNameAttributeName, - required this.clientAuthenticationMethod, - this.platforms = const [], - this.userInfoUri, - this.jwkSetUri, - this.loginButtonLabel, - this.loginButtonIcon, - this.additionalInfo - }); - - OAuth2RegistrationInfo.fromJson(Map json): - mapperConfig = OAuth2MapperConfig.fromJson(json['mapperConfig']), + OAuth2RegistrationInfo( + {required this.mapperConfig, + required this.clientId, + required this.clientSecret, + required this.authorizationUri, + required this.accessTokenUri, + required this.scope, + required this.userNameAttributeName, + required this.clientAuthenticationMethod, + this.platforms = const [], + this.userInfoUri, + this.jwkSetUri, + this.loginButtonLabel, + this.loginButtonIcon, + this.additionalInfo}); + + OAuth2RegistrationInfo.fromJson(Map json) + : mapperConfig = OAuth2MapperConfig.fromJson(json['mapperConfig']), clientId = json['clientId'], clientSecret = json['clientSecret'], authorizationUri = json['authorizationUri'], @@ -422,7 +387,11 @@ class OAuth2RegistrationInfo { clientAuthenticationMethod = json['clientAuthenticationMethod'], loginButtonLabel = json['loginButtonLabel'], loginButtonIcon = json['loginButtonIcon'], - platforms = json['platforms'] != null ? (json['platforms'] as List).map((e) => platformTypeFromString(e)).toList() : [], + platforms = json['platforms'] != null + ? (json['platforms'] as List) + .map((e) => platformTypeFromString(e)) + .toList() + : [], additionalInfo = json['additionalInfo']; Map toJson() { @@ -465,21 +434,25 @@ class OAuth2RegistrationInfo { } class OAuth2ParamsInfo { - List domainInfos; List mobileInfos; List clientRegistrations; - OAuth2ParamsInfo({ - required this.domainInfos, - required this.clientRegistrations, - this.mobileInfos = const [] - }); - - OAuth2ParamsInfo.fromJson(Map json): - domainInfos = (json['domainInfos'] as List).map((e) => OAuth2DomainInfo.fromJson(e)).toList(), - mobileInfos = (json['mobileInfos'] as List).map((e) => OAuth2MobileInfo.fromJson(e)).toList(), - clientRegistrations = (json['clientRegistrations'] as List).map((e) => OAuth2RegistrationInfo.fromJson(e)).toList(); + OAuth2ParamsInfo( + {required this.domainInfos, + required this.clientRegistrations, + this.mobileInfos = const []}); + + OAuth2ParamsInfo.fromJson(Map json) + : domainInfos = (json['domainInfos'] as List) + .map((e) => OAuth2DomainInfo.fromJson(e)) + .toList(), + mobileInfos = (json['mobileInfos'] as List) + .map((e) => OAuth2MobileInfo.fromJson(e)) + .toList(), + clientRegistrations = (json['clientRegistrations'] as List) + .map((e) => OAuth2RegistrationInfo.fromJson(e)) + .toList(); Map toJson() { return { @@ -496,18 +469,16 @@ class OAuth2ParamsInfo { } class OAuth2Info { - bool enabled; List oauth2ParamsInfos; - OAuth2Info({ - required this.enabled, - required this.oauth2ParamsInfos - }); + OAuth2Info({required this.enabled, required this.oauth2ParamsInfos}); - OAuth2Info.fromJson(Map json): - enabled = json['enabled'], - oauth2ParamsInfos = (json['oauth2ParamsInfos'] as List).map((e) => OAuth2ParamsInfo.fromJson(e)).toList(); + OAuth2Info.fromJson(Map json) + : enabled = json['enabled'], + oauth2ParamsInfos = (json['oauth2ParamsInfos'] as List) + .map((e) => OAuth2ParamsInfo.fromJson(e)) + .toList(); Map toJson() { return { diff --git a/lib/src/model/ota_models.dart b/lib/src/model/ota_models.dart index a640c87..11f7175 100644 --- a/lib/src/model/ota_models.dart +++ b/lib/src/model/ota_models.dart @@ -7,13 +7,11 @@ import 'id/device_profile_id.dart'; import 'id/ota_package_id.dart'; import 'id/tenant_id.dart'; -enum OtaPackageType { - FIRMWARE, - SOFTWARE -} +enum OtaPackageType { FIRMWARE, SOFTWARE } OtaPackageType otaPackageTypeFromString(String value) { - return OtaPackageType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return OtaPackageType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension OtaPackageTypeToString on OtaPackageType { @@ -33,7 +31,8 @@ enum ChecksumAlgorithm { } ChecksumAlgorithm checksumAlgorithmFromString(String value) { - return ChecksumAlgorithm.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return ChecksumAlgorithm.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension ChecksumAlgorithmToString on ChecksumAlgorithm { @@ -42,8 +41,8 @@ extension ChecksumAlgorithmToString on ChecksumAlgorithm { } } -class OtaPackageInfo extends AdditionalInfoBased with HasName, HasTenantId { - +class OtaPackageInfo extends AdditionalInfoBased + with HasName, HasTenantId { TenantId? tenantId; DeviceProfileId deviceProfileId; OtaPackageType type; @@ -59,8 +58,10 @@ class OtaPackageInfo extends AdditionalInfoBased with HasName, Has OtaPackageInfo(this.deviceProfileId, this.type, this.title, this.version); - OtaPackageInfo.fromJson(Map json): - tenantId = json['tenantId'] != null ? TenantId.fromJson(json['tenantId']) : null, + OtaPackageInfo.fromJson(Map json) + : tenantId = json['tenantId'] != null + ? TenantId.fromJson(json['tenantId']) + : null, deviceProfileId = DeviceProfileId.fromJson(json['deviceProfileId']), type = otaPackageTypeFromString(json['type']), title = json['title'], @@ -69,7 +70,9 @@ class OtaPackageInfo extends AdditionalInfoBased with HasName, Has hasData = json['hasData'], fileName = json['fileName'], contentType = json['contentType'], - checksumAlgorithm = json['checksumAlgorithm'] != null ? checksumAlgorithmFromString(json['checksumAlgorithm']) : null, + checksumAlgorithm = json['checksumAlgorithm'] != null + ? checksumAlgorithmFromString(json['checksumAlgorithm']) + : null, checksum = json['checksum'], dataSize = json['dataSize'], super.fromJson(json); @@ -128,18 +131,17 @@ class OtaPackageInfo extends AdditionalInfoBased with HasName, Has 'url: $url, hasData: $hasData, fileName: $fileName, contentType: $contentType, checksumAlgorithm: ${checksumAlgorithm?.toShortString()}, ' 'checksum: $checksum, dataSize: $dataSize${toStringBody != null ? ', ' + toStringBody : ''}')}'; } - } class OtaPackage extends OtaPackageInfo { - String data; - OtaPackage(DeviceProfileId deviceProfileId, OtaPackageType type, String title, String version, this.data): - super(deviceProfileId, type, title, version); + OtaPackage(DeviceProfileId deviceProfileId, OtaPackageType type, String title, + String version, this.data) + : super(deviceProfileId, type, title, version); - OtaPackage.fromJson(Map json): - data = json['data'], + OtaPackage.fromJson(Map json) + : data = json['data'], super.fromJson(json); @override @@ -153,5 +155,4 @@ class OtaPackage extends OtaPackageInfo { String toString() { return 'OtaPackage{${otaPackageInfoString('data: [${data.substring(0, min(30, data.length))}...]')}}'; } - } diff --git a/lib/src/model/page/page_data.dart b/lib/src/model/page/page_data.dart index 195223e..3f897ac 100644 --- a/lib/src/model/page/page_data.dart +++ b/lib/src/model/page/page_data.dart @@ -8,8 +8,8 @@ class PageData { PageData(this.data, this.totalPages, this.totalElements, this.hasNext); - PageData.fromJson(Map json, fromJsonFunction fromJson): - data = dataFromJson(json['data'], fromJson), + PageData.fromJson(Map json, fromJsonFunction fromJson) + : data = dataFromJson(json['data'], fromJson), totalPages = json['totalPages'], totalElements = json['totalElements'], hasNext = json['hasNext']; diff --git a/lib/src/model/page/page_link.dart b/lib/src/model/page/page_link.dart index ed40436..feb6708 100644 --- a/lib/src/model/page/page_link.dart +++ b/lib/src/model/page/page_link.dart @@ -9,14 +9,11 @@ class PageLink { PageLink(this.pageSize, [this.page = 0, this.textSearch, this.sortOrder]); PageLink nextPageLink() { - return PageLink(pageSize, page+1, textSearch, sortOrder); + return PageLink(pageSize, page + 1, textSearch, sortOrder); } Map toQueryParameters() { - var queryParameters = { - 'pageSize': pageSize, - 'page': page - }; + var queryParameters = {'pageSize': pageSize, 'page': page}; if (textSearch != null && textSearch!.isNotEmpty) { queryParameters['textSearch'] = textSearch!; } @@ -32,12 +29,18 @@ class TimePageLink extends PageLink { int? startTime; int? endTime; - TimePageLink(int pageSize, [int page = 0, String? textSearch, SortOrder? sortOrder, this.startTime, this.endTime]): - super(pageSize, page, textSearch, sortOrder); + TimePageLink(int pageSize, + [int page = 0, + String? textSearch, + SortOrder? sortOrder, + this.startTime, + this.endTime]) + : super(pageSize, page, textSearch, sortOrder); @override TimePageLink nextPageLink() { - return TimePageLink(pageSize, page + 1, textSearch, sortOrder, startTime, endTime); + return TimePageLink( + pageSize, page + 1, textSearch, sortOrder, startTime, endTime); } @override diff --git a/lib/src/model/page/sort_order.dart b/lib/src/model/page/sort_order.dart index 505ea8e..be4a86b 100644 --- a/lib/src/model/page/sort_order.dart +++ b/lib/src/model/page/sort_order.dart @@ -1,7 +1,4 @@ -enum Direction { - ASC, - DESC -} +enum Direction { ASC, DESC } extension DirectionToString on Direction { String toShortString() { diff --git a/lib/src/model/query/query_models.dart b/lib/src/model/query/query_models.dart index 4db4cb3..4303740 100644 --- a/lib/src/model/query/query_models.dart +++ b/lib/src/model/query/query_models.dart @@ -198,7 +198,8 @@ class EntityGroupListFilter extends EntityFilter { EntityType groupType; List entityGroupList; - EntityGroupListFilter({required this.groupType, required this.entityGroupList}); + EntityGroupListFilter( + {required this.groupType, required this.entityGroupList}); @override EntityFilterType getType() { @@ -223,7 +224,8 @@ class EntityGroupNameFilter extends EntityFilter { EntityType groupType; String entityGroupNameFilter; - EntityGroupNameFilter({required this.groupType, required this.entityGroupNameFilter}); + EntityGroupNameFilter( + {required this.groupType, required this.entityGroupNameFilter}); @override EntityFilterType getType() { @@ -249,7 +251,10 @@ class EntitiesByGroupNameFilter extends EntityFilter { EntityId ownerId; String entityGroupNameFilter; - EntitiesByGroupNameFilter({required this.groupType, required this.ownerId, required this.entityGroupNameFilter}); + EntitiesByGroupNameFilter( + {required this.groupType, + required this.ownerId, + required this.entityGroupNameFilter}); @override EntityFilterType getType() { @@ -1022,7 +1027,8 @@ class EntityCountQuery { enum EntityDataSortOrderDirection { ASC, DESC } -EntityDataSortOrderDirection entityDataSortOrderDirectionFromString(String value) { +EntityDataSortOrderDirection entityDataSortOrderDirectionFromString( + String value) { return EntityDataSortOrderDirection.values.firstWhere( (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } @@ -1288,12 +1294,12 @@ class AlarmDataQuery extends AbstractDataQuery { } class EntityData { - final EntityId entityId; final Map> latest; final Map> timeseries; - EntityData({required this.entityId, required this.latest, required this.timeseries}); + EntityData( + {required this.entityId, required this.latest, required this.timeseries}); EntityData.fromJson(Map json) : entityId = EntityId.fromJson(json['entityId']), @@ -1359,18 +1365,17 @@ class EntityData { } class AlarmData extends AlarmInfo { - final EntityId entityId; final Map> latest; - AlarmData.fromJson(Map json): - entityId = EntityId.fromJson(json['entityId']), + AlarmData.fromJson(Map json) + : entityId = EntityId.fromJson(json['entityId']), latest = json['latest'] != null ? (json['latest'] as Map).map((key, value) => - MapEntry( - entityKeyTypeFromString(key), - (value as Map).map((key, value) => - MapEntry(key, TsValue.fromJson(value))))) + MapEntry( + entityKeyTypeFromString(key), + (value as Map).map((key, value) => + MapEntry(key, TsValue.fromJson(value))))) : {}, super.fromJson(json); diff --git a/lib/src/model/relation_models.dart b/lib/src/model/relation_models.dart index 6950508..59432e7 100644 --- a/lib/src/model/relation_models.dart +++ b/lib/src/model/relation_models.dart @@ -4,16 +4,11 @@ import 'id/entity_id.dart'; const CONTAINS_TYPE = 'Contains'; const MANAGES_TYPE = 'Manages'; -enum RelationTypeGroup { - COMMON, - ALARM, - DASHBOARD, - RULE_CHAIN, - RULE_NODE -} +enum RelationTypeGroup { COMMON, ALARM, DASHBOARD, RULE_CHAIN, RULE_NODE } RelationTypeGroup relationTypeGroupFromString(String value) { - return RelationTypeGroup.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return RelationTypeGroup.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension RelationTypeGroupToString on RelationTypeGroup { @@ -22,13 +17,11 @@ extension RelationTypeGroupToString on RelationTypeGroup { } } -enum EntitySearchDirection { - FROM, - TO -} +enum EntitySearchDirection { FROM, TO } EntitySearchDirection entitySearchDirectionFromString(String value) { - return EntitySearchDirection.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return EntitySearchDirection.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension EntitySearchDirectionToString on EntitySearchDirection { @@ -38,7 +31,6 @@ extension EntitySearchDirectionToString on EntitySearchDirection { } class RelationEntityTypeFilter { - String relationType; List entityTypes; @@ -65,14 +57,13 @@ class RelationsSearchParameters { int maxLevel; bool fetchLastLevelOnly; - RelationsSearchParameters({ - required this.rootId, - required this.rootType, - this.direction = EntitySearchDirection.FROM, - this.relationTypeGroup, - this.maxLevel = 1, - this.fetchLastLevelOnly = false - }); + RelationsSearchParameters( + {required this.rootId, + required this.rootType, + this.direction = EntitySearchDirection.FROM, + this.relationTypeGroup, + this.maxLevel = 1, + this.fetchLastLevelOnly = false}); Map toJson() { var json = {}; @@ -94,14 +85,10 @@ class RelationsSearchParameters { } class EntityRelationsQuery { - RelationsSearchParameters parameters; List? filters; - EntityRelationsQuery({ - required this.parameters, - this.filters - }); + EntityRelationsQuery({required this.parameters, this.filters}); Map toJson() { var json = {}; @@ -119,14 +106,10 @@ class EntityRelationsQuery { } class EntitySearchQuery { - RelationsSearchParameters parameters; String? relationType; - EntitySearchQuery({ - required this.parameters, - this.relationType - }); + EntitySearchQuery({required this.parameters, this.relationType}); Map toJson() { var json = {}; @@ -148,23 +131,21 @@ class EntitySearchQuery { } class EntityRelation { - EntityId from; EntityId to; String type; RelationTypeGroup typeGroup; Map? additionalInfo; - EntityRelation({ - required this.from, - required this.to, - this.type = CONTAINS_TYPE, - this.typeGroup = RelationTypeGroup.COMMON, - this.additionalInfo - }); + EntityRelation( + {required this.from, + required this.to, + this.type = CONTAINS_TYPE, + this.typeGroup = RelationTypeGroup.COMMON, + this.additionalInfo}); - EntityRelation.fromJson(Map json): - from = EntityId.fromJson(json['from']), + EntityRelation.fromJson(Map json) + : from = EntityId.fromJson(json['from']), to = EntityId.fromJson(json['to']), type = json['type'], typeGroup = relationTypeGroupFromString(json['typeGroup']), @@ -193,14 +174,13 @@ class EntityRelation { } class EntityRelationInfo extends EntityRelation { - String fromName; String? fromEntityTypeName; String toName; String? toEntityTypeName; - EntityRelationInfo.fromJson(Map json): - fromName = json['fromName'], + EntityRelationInfo.fromJson(Map json) + : fromName = json['fromName'], fromEntityTypeName = json['fromEntityTypeName'], toName = json['fromName'], toEntityTypeName = json['fromEntityTypeName'], diff --git a/lib/src/model/resource_models.dart b/lib/src/model/resource_models.dart index c7d6532..1adfc4f 100644 --- a/lib/src/model/resource_models.dart +++ b/lib/src/model/resource_models.dart @@ -6,14 +6,11 @@ import 'id/tb_resource_id.dart'; import 'base_data.dart'; import 'id/tenant_id.dart'; -enum ResourceType { - LWM2M_MODEL, - JKS, - PKCS_12 -} +enum ResourceType { LWM2M_MODEL, JKS, PKCS_12 } ResourceType resourceTypeFromString(String value) { - return ResourceType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return ResourceType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension ResourceTypeToString on ResourceType { @@ -23,7 +20,6 @@ extension ResourceTypeToString on ResourceType { } class TbResourceInfo extends BaseData with HasName, HasTenantId { - TenantId? tenantId; String title; ResourceType resourceType; @@ -31,8 +27,10 @@ class TbResourceInfo extends BaseData with HasName, HasTenantId { TbResourceInfo(this.title, this.resourceType, this.resourceKey); - TbResourceInfo.fromJson(Map json): - tenantId = json['tenantId'] != null ? TenantId.fromJson(json['tenantId']) : null, + TbResourceInfo.fromJson(Map json) + : tenantId = json['tenantId'] != null + ? TenantId.fromJson(json['tenantId']) + : null, title = json['title'], resourceType = resourceTypeFromString(json['resourceType']), resourceKey = json['resourceKey'], @@ -68,19 +66,18 @@ class TbResourceInfo extends BaseData with HasName, HasTenantId { String resourceInfoString([String? toStringBody]) { return '${baseDataString('tenantId: $tenantId, title: $title, resourceType: ${resourceType.toShortString()}, resourceKey: $resourceKey${toStringBody != null ? ', ' + toStringBody : ''}')}'; } - } class TbResource extends TbResourceInfo { - String fileName; String data; - TbResource(String title, ResourceType resourceType, String resourceKey, this.fileName, this.data): - super(title, resourceType, resourceKey); + TbResource(String title, ResourceType resourceType, String resourceKey, + this.fileName, this.data) + : super(title, resourceType, resourceKey); - TbResource.fromJson(Map json): - fileName = json['fileName'], + TbResource.fromJson(Map json) + : fileName = json['fileName'], data = json['data'], super.fromJson(json); @@ -96,5 +93,4 @@ class TbResource extends TbResourceInfo { String toString() { return 'TbResource{${resourceInfoString('fileName: $fileName, data: [${data.substring(0, min(30, data.length))}...]')}}'; } - } diff --git a/lib/src/model/role_models.dart b/lib/src/model/role_models.dart index 2152a22..7007575 100644 --- a/lib/src/model/role_models.dart +++ b/lib/src/model/role_models.dart @@ -14,12 +14,11 @@ import 'security_models.dart'; import 'tenant_entity.dart'; abstract class RolePermissions { - RolePermissions(); factory RolePermissions.fromJson(Map json) { var roleType = roleTypeFromString(json['type']); - switch(roleType) { + switch (roleType) { case RoleType.GENERIC: return GenericRolePermissions.fromJson(json['permissions']); case RoleType.GROUP: @@ -28,18 +27,22 @@ abstract class RolePermissions { } dynamic toJson(); - } -class GenericRolePermissions extends RolePermissions with MapMixin> { - +class GenericRolePermissions extends RolePermissions + with MapMixin> { final Map> _permissionsMap; - GenericRolePermissions.fromJson(Map json): - _permissionsMap = json.map((key, value) => MapEntry(resourceFromString(key), (value as List).map((e) => operationFromString(e)).toList())); + GenericRolePermissions.fromJson(Map json) + : _permissionsMap = json.map((key, value) => MapEntry( + resourceFromString(key), + (value as List) + .map((e) => operationFromString(e)) + .toList())); @override - Map toJson() => _permissionsMap.map((key, value) => MapEntry(key.toShortString(), value.map((e) => e.toShortString()).toList())); + Map toJson() => _permissionsMap.map((key, value) => MapEntry( + key.toShortString(), value.map((e) => e.toShortString()).toList())); @override List? operator [](Object? key) => _permissionsMap[key]; @@ -59,21 +62,22 @@ class GenericRolePermissions extends RolePermissions with MapMixin? remove(Object? key) => _permissionsMap.remove(key); - } -class SpecificRolePermissions extends RolePermissions with ListMixin { - +class SpecificRolePermissions extends RolePermissions + with ListMixin { final List _operations; - SpecificRolePermissions.fromJson(List json): - _operations = json.map((e) => operationFromString(e)).toList(); + SpecificRolePermissions.fromJson(List json) + : _operations = json.map((e) => operationFromString(e)).toList(); @override List toJson() => _operations.map((e) => e.toShortString()).toList(); @override - set length(int newLength) { _operations.length = newLength; } + set length(int newLength) { + _operations.length = newLength; + } @override int get length => _operations.length; @@ -82,25 +86,28 @@ class SpecificRolePermissions extends RolePermissions with ListMixin Operation operator [](int index) => _operations[index]; @override - void operator []=(int index, Operation value) { _operations[index] = value; } - + void operator []=(int index, Operation value) { + _operations[index] = value; + } } -class Role extends AdditionalInfoBased implements HasName, TenantEntity, HasCustomerId, HasOwnerId { - +class Role extends AdditionalInfoBased + implements HasName, TenantEntity, HasCustomerId, HasOwnerId { TenantId? tenantId; CustomerId? customerId; String name; RoleType type; RolePermissions permissions; - Role.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), - customerId = json['customerId'] != null ? CustomerId.fromJson(json['customerId']) : null, - name = json['name'], - type = roleTypeFromString(json['type']), - permissions = RolePermissions.fromJson(json), - super.fromJson(json); + Role.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), + customerId = json['customerId'] != null + ? CustomerId.fromJson(json['customerId']) + : null, + name = json['name'], + type = roleTypeFromString(json['type']), + permissions = RolePermissions.fromJson(json), + super.fromJson(json); @override Map toJson() { @@ -117,7 +124,6 @@ class Role extends AdditionalInfoBased implements HasName, TenantEntity, return json; } - @override String getName() { return name; @@ -140,7 +146,9 @@ class Role extends AdditionalInfoBased implements HasName, TenantEntity, @override EntityId? getOwnerId() { - return customerId != null && !customerId!.isNullUid() ? customerId : tenantId; + return customerId != null && !customerId!.isNullUid() + ? customerId + : tenantId; } @override diff --git a/lib/src/model/rpc_models.dart b/lib/src/model/rpc_models.dart index 1d530a1..1a21338 100644 --- a/lib/src/model/rpc_models.dart +++ b/lib/src/model/rpc_models.dart @@ -4,16 +4,11 @@ import 'id/device_id.dart'; import 'id/rpc_id.dart'; import 'id/tenant_id.dart'; -enum RpcStatus { - QUEUED, - DELIVERED, - SUCCESSFUL, - TIMEOUT, - FAILED -} +enum RpcStatus { QUEUED, DELIVERED, SUCCESSFUL, TIMEOUT, FAILED } RpcStatus rpcStatusFromString(String value) { - return RpcStatus.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return RpcStatus.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension RpcStatusToString on RpcStatus { @@ -23,7 +18,6 @@ extension RpcStatusToString on RpcStatus { } class Rpc extends BaseData with HasTenantId { - TenantId tenantId; DeviceId deviceId; int expirationTime; @@ -31,8 +25,8 @@ class Rpc extends BaseData with HasTenantId { dynamic response; RpcStatus status; - Rpc.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), + Rpc.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), deviceId = DeviceId.fromJson(json['deviceId']), expirationTime = json['expirationTime'], request = json['request'], diff --git a/lib/src/model/rule_chain_models.dart b/lib/src/model/rule_chain_models.dart index 85fbae3..64ea971 100644 --- a/lib/src/model/rule_chain_models.dart +++ b/lib/src/model/rule_chain_models.dart @@ -6,13 +6,11 @@ import 'id/rule_node_id.dart'; import 'id/tenant_id.dart'; import 'rule_node_models.dart'; -enum RuleChainType { - CORE, - EDGE -} +enum RuleChainType { CORE, EDGE } RuleChainType ruleChainTypeFromString(String value) { - return RuleChainType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return RuleChainType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension RuleChainTypeToString on RuleChainType { @@ -21,8 +19,8 @@ extension RuleChainTypeToString on RuleChainType { } } -class RuleChain extends AdditionalInfoBased with HasName, HasTenantId { - +class RuleChain extends AdditionalInfoBased + with HasName, HasTenantId { TenantId? tenantId; String name; RuleChainType type; @@ -31,18 +29,17 @@ class RuleChain extends AdditionalInfoBased with HasName, HasTenant bool debugMode; Map? configuration; - RuleChain({ - required this.name, - required this.type, - required this.firstRuleNodeId, - this.root = false, - this.debugMode = false, - this.tenantId, - this.configuration - }); - - RuleChain.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), + RuleChain( + {required this.name, + required this.type, + required this.firstRuleNodeId, + this.root = false, + this.debugMode = false, + this.tenantId, + this.configuration}); + + RuleChain.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), name = json['name'], type = ruleChainTypeFromString(json['type']), firstRuleNodeId = RuleNodeId.fromJson(json['firstRuleNodeId']), @@ -85,28 +82,20 @@ class RuleChain extends AdditionalInfoBased with HasName, HasTenant } class NodeConnectionInfo { - int fromIndex; int toIndex; String type; - NodeConnectionInfo({ - required this.fromIndex, - required this.toIndex, - required this.type - }); + NodeConnectionInfo( + {required this.fromIndex, required this.toIndex, required this.type}); - NodeConnectionInfo.fromJson(Map json): - fromIndex = json['fromIndex'], + NodeConnectionInfo.fromJson(Map json) + : fromIndex = json['fromIndex'], toIndex = json['toIndex'], type = json['type']; Map toJson() { - return { - 'fromIndex': fromIndex, - 'toIndex': toIndex, - 'type': type - }; + return {'fromIndex': fromIndex, 'toIndex': toIndex, 'type': type}; } @override @@ -116,21 +105,19 @@ class NodeConnectionInfo { } class RuleChainConnectionInfo { - int fromIndex; RuleChainId targetRuleChainId; String type; Map? additionalInfo; - RuleChainConnectionInfo({ - required this.fromIndex, - required this.targetRuleChainId, - required this.type, - this.additionalInfo - }); + RuleChainConnectionInfo( + {required this.fromIndex, + required this.targetRuleChainId, + required this.type, + this.additionalInfo}); - RuleChainConnectionInfo.fromJson(Map json): - fromIndex = json['fromIndex'], + RuleChainConnectionInfo.fromJson(Map json) + : fromIndex = json['fromIndex'], targetRuleChainId = RuleChainId.fromJson(json['toIndex']), type = json['type'], additionalInfo = json['additionalInfo']; @@ -154,32 +141,40 @@ class RuleChainConnectionInfo { } class RuleChainMetaData { - RuleChainId ruleChainId; int? firstNodeIndex; List? nodes; List? connections; List? ruleChainConnections; - RuleChainMetaData({ - required this.ruleChainId, - this.firstNodeIndex, - this.nodes, - this.connections, - this.ruleChainConnections - }); + RuleChainMetaData( + {required this.ruleChainId, + this.firstNodeIndex, + this.nodes, + this.connections, + this.ruleChainConnections}); - RuleChainMetaData.fromJson(Map json): - ruleChainId = RuleChainId.fromJson(json['ruleChainId']), + RuleChainMetaData.fromJson(Map json) + : ruleChainId = RuleChainId.fromJson(json['ruleChainId']), firstNodeIndex = json['firstNodeIndex'], - nodes = json['nodes'] != null ? (json['nodes'] as List).map((e) => RuleNode.fromJson(e)).toList() : null, - connections = json['connections'] != null ? (json['connections'] as List).map((e) => NodeConnectionInfo.fromJson(e)).toList() : null, - ruleChainConnections = json['ruleChainConnections'] != null ? (json['ruleChainConnections'] as List).map((e) => RuleChainConnectionInfo.fromJson(e)).toList() : null; + nodes = json['nodes'] != null + ? (json['nodes'] as List) + .map((e) => RuleNode.fromJson(e)) + .toList() + : null, + connections = json['connections'] != null + ? (json['connections'] as List) + .map((e) => NodeConnectionInfo.fromJson(e)) + .toList() + : null, + ruleChainConnections = json['ruleChainConnections'] != null + ? (json['ruleChainConnections'] as List) + .map((e) => RuleChainConnectionInfo.fromJson(e)) + .toList() + : null; Map toJson() { - var json = { - 'ruleChainId': ruleChainId.toJson() - }; + var json = {'ruleChainId': ruleChainId.toJson()}; if (firstNodeIndex != null) { json['firstNodeIndex'] = firstNodeIndex; } @@ -190,7 +185,8 @@ class RuleChainMetaData { json['connections'] = connections!.map((e) => e.toJson()).toList(); } if (ruleChainConnections != null) { - json['ruleChainConnections'] = ruleChainConnections!.map((e) => e.toJson()).toList(); + json['ruleChainConnections'] = + ruleChainConnections!.map((e) => e.toJson()).toList(); } return json; } @@ -202,23 +198,23 @@ class RuleChainMetaData { } class RuleChainData { - List ruleChains; List metadata; - RuleChainData({ - required this.ruleChains, - required this.metadata - }); + RuleChainData({required this.ruleChains, required this.metadata}); - RuleChainData.fromJson(Map json): - ruleChains = (json['ruleChains'] as List).map((e) => RuleChain.fromJson(e)).toList(), - metadata = (json['metadata'] as List).map((e) => RuleChainMetaData.fromJson(e)).toList(); + RuleChainData.fromJson(Map json) + : ruleChains = (json['ruleChains'] as List) + .map((e) => RuleChain.fromJson(e)) + .toList(), + metadata = (json['metadata'] as List) + .map((e) => RuleChainMetaData.fromJson(e)) + .toList(); Map toJson() => { - 'ruleChains': ruleChains.map((e) => e.toJson()).toList(), - 'metadata': metadata.map((e) => e.toJson()).toList() - }; + 'ruleChains': ruleChains.map((e) => e.toJson()).toList(), + 'metadata': metadata.map((e) => e.toJson()).toList() + }; @override String toString() { diff --git a/lib/src/model/rule_node_models.dart b/lib/src/model/rule_node_models.dart index e3bc17b..0455511 100644 --- a/lib/src/model/rule_node_models.dart +++ b/lib/src/model/rule_node_models.dart @@ -4,23 +4,23 @@ import 'id/rule_node_id.dart'; import 'additional_info_based.dart'; class RuleNode extends AdditionalInfoBased with HasName { - RuleChainId? ruleChainId; String type; String name; bool debugMode; Map? configuration; - RuleNode({ - required this.type, - required this.name, - this.debugMode = false, - this.ruleChainId, - this.configuration - }); + RuleNode( + {required this.type, + required this.name, + this.debugMode = false, + this.ruleChainId, + this.configuration}); - RuleNode.fromJson(Map json): - ruleChainId = json['ruleChainId'] != null ? RuleChainId.fromJson(json['ruleChainId']) : null, + RuleNode.fromJson(Map json) + : ruleChainId = json['ruleChainId'] != null + ? RuleChainId.fromJson(json['ruleChainId']) + : null, type = json['type'], name = json['name'], debugMode = json['debugMode'], diff --git a/lib/src/model/scheduler_event_models.dart b/lib/src/model/scheduler_event_models.dart index 10630ad..08d0b79 100644 --- a/lib/src/model/scheduler_event_models.dart +++ b/lib/src/model/scheduler_event_models.dart @@ -10,16 +10,11 @@ import 'has_owner_id.dart'; import 'has_customer_id.dart'; import 'tenant_entity.dart'; -enum SchedulerRepeatType { - DAILY, - WEEKLY, - MONTHLY, - YEARLY, - TIMER -} +enum SchedulerRepeatType { DAILY, WEEKLY, MONTHLY, YEARLY, TIMER } SchedulerRepeatType schedulerRepeatTypeFromString(String value) { - return SchedulerRepeatType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return SchedulerRepeatType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension SchedulerRepeatTypeToString on SchedulerRepeatType { @@ -28,14 +23,11 @@ extension SchedulerRepeatTypeToString on SchedulerRepeatType { } } -enum SchedulerTimeUnit { - HOURS, - MINUTES, - SECONDS -} +enum SchedulerTimeUnit { HOURS, MINUTES, SECONDS } SchedulerTimeUnit schedulerTimeUnitFromString(String value) { - return SchedulerTimeUnit.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return SchedulerTimeUnit.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension SchedulerTimeUnitToString on SchedulerTimeUnit { @@ -45,21 +37,29 @@ extension SchedulerTimeUnitToString on SchedulerTimeUnit { } class SchedulerRepeat { - SchedulerRepeatType type; int endsOn; List? repeatOn; int? repeatInterval; SchedulerTimeUnit? timeUnit; - SchedulerRepeat({required this.type, required this.endsOn, this.repeatOn, this.repeatInterval, this.timeUnit}); + SchedulerRepeat( + {required this.type, + required this.endsOn, + this.repeatOn, + this.repeatInterval, + this.timeUnit}); - SchedulerRepeat.fromJson(Map json): - type = schedulerRepeatTypeFromString(json['type']), + SchedulerRepeat.fromJson(Map json) + : type = schedulerRepeatTypeFromString(json['type']), endsOn = json['endsOn'], - repeatOn = json['repeatOn'] != null ? (json['repeatOn'] as List).map((e) => e as int).toList() : null, + repeatOn = json['repeatOn'] != null + ? (json['repeatOn'] as List).map((e) => e as int).toList() + : null, repeatInterval = json['repeatInterval'], - timeUnit = json['timeUnit'] != null ? schedulerTimeUnitFromString(json['timeUnit']) : null; + timeUnit = json['timeUnit'] != null + ? schedulerTimeUnitFromString(json['timeUnit']) + : null; Map toJson() { var json = { @@ -85,17 +85,18 @@ class SchedulerRepeat { } class SchedulerEventSchedule { - String? timezone; int? startTime; SchedulerRepeat? repeat; SchedulerEventSchedule({this.timezone, this.startTime, this.repeat}); - SchedulerEventSchedule.fromJson(Map json): - timezone = json['timezone'], + SchedulerEventSchedule.fromJson(Map json) + : timezone = json['timezone'], startTime = json['startTime'], - repeat = json['repeat'] != null ? SchedulerRepeat.fromJson(json['repeat']) : null; + repeat = json['repeat'] != null + ? SchedulerRepeat.fromJson(json['repeat']) + : null; Map toJson() { var json = {}; @@ -117,19 +118,22 @@ class SchedulerEventSchedule { } } -class SchedulerEventInfo extends AdditionalInfoBased implements HasName, TenantEntity, HasCustomerId, HasOwnerId { - +class SchedulerEventInfo extends AdditionalInfoBased + implements HasName, TenantEntity, HasCustomerId, HasOwnerId { TenantId? tenantId; CustomerId? customerId; String name; String type; SchedulerEventSchedule schedule; - SchedulerEventInfo({required this.name, required this.type, required this.schedule}); + SchedulerEventInfo( + {required this.name, required this.type, required this.schedule}); - SchedulerEventInfo.fromJson(Map json): - tenantId = TenantId.fromJson(json['tenantId']), - customerId = json['customerId'] != null ? CustomerId.fromJson(json['customerId']) : null, + SchedulerEventInfo.fromJson(Map json) + : tenantId = TenantId.fromJson(json['tenantId']), + customerId = json['customerId'] != null + ? CustomerId.fromJson(json['customerId']) + : null, name = json['name'], type = json['type'], schedule = SchedulerEventSchedule.fromJson(json['schedule']), @@ -172,7 +176,9 @@ class SchedulerEventInfo extends AdditionalInfoBased implement @override EntityId? getOwnerId() { - return customerId != null && !customerId!.isNullUid() ? customerId : tenantId; + return customerId != null && !customerId!.isNullUid() + ? customerId + : tenantId; } @override @@ -193,15 +199,14 @@ class SchedulerEventInfo extends AdditionalInfoBased implement return '${additionalInfoBasedString('tenantId: $tenantId, customerId: $customerId, name: $name, type: $type, ' 'schedule: $schedule${toStringBody != null ? ', ' + toStringBody : ''}')}'; } - } class SchedulerEventWithCustomerInfo extends SchedulerEventInfo { String? customerTitle; bool? customerIsPublic; - SchedulerEventWithCustomerInfo.fromJson(Map json): - customerTitle = json['customerTitle'], + SchedulerEventWithCustomerInfo.fromJson(Map json) + : customerTitle = json['customerTitle'], customerIsPublic = json['customerIsPublic'], super.fromJson(json); @@ -217,10 +222,13 @@ class SchedulerEventConfiguration { Map? msgBody; Map? metadata; - SchedulerEventConfiguration({this.originatorId, this.msgType, this.msgBody, this.metadata}); + SchedulerEventConfiguration( + {this.originatorId, this.msgType, this.msgBody, this.metadata}); - SchedulerEventConfiguration.fromJson(Map json): - originatorId = json['originatorId'] != null ? EntityId.fromJson(json['originatorId']) : null, + SchedulerEventConfiguration.fromJson(Map json) + : originatorId = json['originatorId'] != null + ? EntityId.fromJson(json['originatorId']) + : null, msgType = json['msgType'], msgBody = json['msgBody'], metadata = json['metadata']; @@ -249,14 +257,18 @@ class SchedulerEventConfiguration { } class SchedulerEvent extends SchedulerEventInfo { - SchedulerEventConfiguration configuration; - SchedulerEvent({required String name, required String type, required SchedulerEventSchedule schedule, required this.configuration}): - super(name: name, type: type, schedule: schedule); + SchedulerEvent( + {required String name, + required String type, + required SchedulerEventSchedule schedule, + required this.configuration}) + : super(name: name, type: type, schedule: schedule); - SchedulerEvent.fromJson(Map json): - configuration = SchedulerEventConfiguration.fromJson(json['configuration']), + SchedulerEvent.fromJson(Map json) + : configuration = + SchedulerEventConfiguration.fromJson(json['configuration']), super.fromJson(json); @override @@ -270,5 +282,4 @@ class SchedulerEvent extends SchedulerEventInfo { String toString() { return 'SchedulerEvent{${schedulerEventInfoString('configuration: $configuration')}}'; } - } diff --git a/lib/src/model/security_models.dart b/lib/src/model/security_models.dart index 6626d3a..68a9169 100644 --- a/lib/src/model/security_models.dart +++ b/lib/src/model/security_models.dart @@ -3,13 +3,11 @@ import 'entity_type_models.dart'; import 'id/entity_group_id.dart'; import 'id/entity_id.dart'; -enum RoleType { - GENERIC, - GROUP -} +enum RoleType { GENERIC, GROUP } RoleType roleTypeFromString(String value) { - return RoleType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return RoleType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension RoleTypeToString on RoleType { @@ -43,7 +41,8 @@ enum Operation { } Operation operationFromString(String value) { - return Operation.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return Operation.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension OperationToString on Operation { @@ -53,47 +52,48 @@ extension OperationToString on Operation { } enum Resource { - ALL, - PROFILE, - ADMIN_SETTINGS, - ALARM, - DEVICE, - ASSET, - CUSTOMER, - DASHBOARD, - ENTITY_VIEW, - EDGE, - TENANT, - RULE_CHAIN, - USER, - WIDGETS_BUNDLE, - WIDGET_TYPE, - OAUTH2_CONFIGURATION_INFO, - OAUTH2_CONFIGURATION_TEMPLATE, - TENANT_PROFILE, - DEVICE_PROFILE, - CONVERTER, - INTEGRATION, - SCHEDULER_EVENT, - BLOB_ENTITY, - CUSTOMER_GROUP, - DEVICE_GROUP, - ASSET_GROUP, - USER_GROUP, - ENTITY_VIEW_GROUP, - EDGE_GROUP, - DASHBOARD_GROUP, - ROLE, - GROUP_PERMISSION, - WHITE_LABELING, - AUDIT_LOG, - API_USAGE_STATE, - TB_RESOURCE, - OTA_PACKAGE + ALL, + PROFILE, + ADMIN_SETTINGS, + ALARM, + DEVICE, + ASSET, + CUSTOMER, + DASHBOARD, + ENTITY_VIEW, + EDGE, + TENANT, + RULE_CHAIN, + USER, + WIDGETS_BUNDLE, + WIDGET_TYPE, + OAUTH2_CONFIGURATION_INFO, + OAUTH2_CONFIGURATION_TEMPLATE, + TENANT_PROFILE, + DEVICE_PROFILE, + CONVERTER, + INTEGRATION, + SCHEDULER_EVENT, + BLOB_ENTITY, + CUSTOMER_GROUP, + DEVICE_GROUP, + ASSET_GROUP, + USER_GROUP, + ENTITY_VIEW_GROUP, + EDGE_GROUP, + DASHBOARD_GROUP, + ROLE, + GROUP_PERMISSION, + WHITE_LABELING, + AUDIT_LOG, + API_USAGE_STATE, + TB_RESOURCE, + OTA_PACKAGE } Resource resourceFromString(String value) { - return Resource.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return Resource.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension ResourceToString on Resource { @@ -102,7 +102,7 @@ extension ResourceToString on Resource { } } -const resourceByEntityType = { +const resourceByEntityType = { EntityType.ALARM: Resource.ALARM, EntityType.DEVICE: Resource.DEVICE, EntityType.DEVICE_PROFILE: Resource.DEVICE_PROFILE, @@ -127,7 +127,7 @@ const resourceByEntityType = { EntityType.OTA_PACKAGE: Resource.OTA_PACKAGE }; -const groupResourceByGroupType = { +const groupResourceByGroupType = { EntityType.CUSTOMER: Resource.CUSTOMER_GROUP, EntityType.DEVICE: Resource.DEVICE_GROUP, EntityType.ASSET: Resource.ASSET_GROUP, @@ -138,13 +138,14 @@ const groupResourceByGroupType = { }; class MergedGroupPermissionInfo { - EntityType entityType; Set operations; - MergedGroupPermissionInfo.fromJson(Map json): - entityType = entityTypeFromString(json['entityType']), - operations = (json['operations'] as List).map((e) => operationFromString(e)).toSet(); + MergedGroupPermissionInfo.fromJson(Map json) + : entityType = entityTypeFromString(json['entityType']), + operations = (json['operations'] as List) + .map((e) => operationFromString(e)) + .toSet(); @override String toString() { @@ -153,12 +154,13 @@ class MergedGroupPermissionInfo { } class MergedGroupTypePermissionInfo { - List entityGroupIds; bool hasGenericRead; - MergedGroupTypePermissionInfo.fromJson(Map json): - entityGroupIds = (json['entityGroupIds'] as List).map((e) => EntityGroupId.fromJson(e)).toList(), + MergedGroupTypePermissionInfo.fromJson(Map json) + : entityGroupIds = (json['entityGroupIds'] as List) + .map((e) => EntityGroupId.fromJson(e)) + .toList(), hasGenericRead = json['hasGenericRead']; @override @@ -168,7 +170,6 @@ class MergedGroupTypePermissionInfo { } class MergedUserPermissions { - Map> genericPermissions; Map groupPermissions; Map readGroupPermissions; @@ -176,13 +177,24 @@ class MergedUserPermissions { Map readAttrPermissions; Map readTsPermissions; - MergedUserPermissions.fromJson(Map json): - genericPermissions = (json['genericPermissions'] as Map).map((key, value) => MapEntry(resourceFromString(key), (value as List).map((e) => operationFromString(e)).toSet())), - groupPermissions = (json['groupPermissions'] as Map).map((key, value) => MapEntry(key, MergedGroupPermissionInfo.fromJson(value))), - readGroupPermissions = (json['readGroupPermissions'] as Map).map((key, value) => MapEntry(entityTypeFromString(key), MergedGroupTypePermissionInfo.fromJson(value))), - readEntityPermissions = (json['readEntityPermissions'] as Map).map((key, value) => MapEntry(resourceFromString(key), MergedGroupTypePermissionInfo.fromJson(value))), - readAttrPermissions = (json['readAttrPermissions'] as Map).map((key, value) => MapEntry(resourceFromString(key), MergedGroupTypePermissionInfo.fromJson(value))), - readTsPermissions = (json['readTsPermissions'] as Map).map((key, value) => MapEntry(resourceFromString(key), MergedGroupTypePermissionInfo.fromJson(value))); + MergedUserPermissions.fromJson(Map json) + : genericPermissions = (json['genericPermissions'] as Map).map( + (key, value) => MapEntry(resourceFromString(key), + (value as List).map((e) => operationFromString(e)).toSet())), + groupPermissions = (json['groupPermissions'] as Map).map((key, value) => + MapEntry(key, MergedGroupPermissionInfo.fromJson(value))), + readGroupPermissions = (json['readGroupPermissions'] as Map).map( + (key, value) => MapEntry(entityTypeFromString(key), + MergedGroupTypePermissionInfo.fromJson(value))), + readEntityPermissions = (json['readEntityPermissions'] as Map).map( + (key, value) => MapEntry(resourceFromString(key), + MergedGroupTypePermissionInfo.fromJson(value))), + readAttrPermissions = (json['readAttrPermissions'] as Map).map( + (key, value) => MapEntry(resourceFromString(key), + MergedGroupTypePermissionInfo.fromJson(value))), + readTsPermissions = (json['readTsPermissions'] as Map).map( + (key, value) => MapEntry(resourceFromString(key), + MergedGroupTypePermissionInfo.fromJson(value))); @override String toString() { @@ -192,7 +204,6 @@ class MergedUserPermissions { } class AllowedPermissionsInfo { - Map> operationsByResource; Set allowedForGroupRoleOperations; Set allowedForGroupOwnerOnlyOperations; @@ -201,13 +212,27 @@ class AllowedPermissionsInfo { MergedUserPermissions userPermissions; EntityId userOwnerId; - AllowedPermissionsInfo.fromJson(Map json): - operationsByResource = (json['operationsByResource'] as Map).map((key, value) => MapEntry(resourceFromString(key), (value as List).map((e) => operationFromString(e)).toSet())), - allowedForGroupRoleOperations = (json['allowedForGroupRoleOperations'] as List).map((e) => operationFromString(e)).toSet(), - allowedForGroupOwnerOnlyOperations = (json['allowedForGroupOwnerOnlyOperations'] as List).map((e) => operationFromString(e)).toSet(), - allowedForGroupOwnerOnlyGroupOperations = (json['allowedForGroupOwnerOnlyGroupOperations'] as List).map((e) => operationFromString(e)).toSet(), - allowedResources = (json['allowedResources'] as List).map((e) => resourceFromString(e)).toSet(), - userPermissions = MergedUserPermissions.fromJson(json['userPermissions']), + AllowedPermissionsInfo.fromJson(Map json) + : operationsByResource = (json['operationsByResource'] as Map).map( + (key, value) => MapEntry(resourceFromString(key), + (value as List).map((e) => operationFromString(e)).toSet())), + allowedForGroupRoleOperations = + (json['allowedForGroupRoleOperations'] as List) + .map((e) => operationFromString(e)) + .toSet(), + allowedForGroupOwnerOnlyOperations = + (json['allowedForGroupOwnerOnlyOperations'] as List) + .map((e) => operationFromString(e)) + .toSet(), + allowedForGroupOwnerOnlyGroupOperations = + (json['allowedForGroupOwnerOnlyGroupOperations'] as List) + .map((e) => operationFromString(e)) + .toSet(), + allowedResources = (json['allowedResources'] as List) + .map((e) => resourceFromString(e)) + .toSet(), + userPermissions = + MergedUserPermissions.fromJson(json['userPermissions']), userOwnerId = EntityId.fromJson(json['userOwnerId']); @override @@ -218,8 +243,11 @@ class AllowedPermissionsInfo { } bool hasReadGroupsPermission(EntityType entityType) { - var groupTypePermissionInfo = userPermissions.readGroupPermissions[entityType]; - return groupTypePermissionInfo != null && (groupTypePermissionInfo.hasGenericRead || groupTypePermissionInfo.entityGroupIds.isNotEmpty); + var groupTypePermissionInfo = + userPermissions.readGroupPermissions[entityType]; + return groupTypePermissionInfo != null && + (groupTypePermissionInfo.hasGenericRead || + groupTypePermissionInfo.entityGroupIds.isNotEmpty); } bool hasReadGenericPermission(Resource resource) { @@ -227,23 +255,28 @@ class AllowedPermissionsInfo { } bool hasGenericPermission(Resource resource, Operation operation) { - return _hasGenericResourcePermission(resource, operation) || _hasGenericAllPermission(operation); + return _hasGenericResourcePermission(resource, operation) || + _hasGenericAllPermission(operation); } - bool hasGenericEntityGroupTypePermission(Operation operation, EntityType groupType) { + bool hasGenericEntityGroupTypePermission( + Operation operation, EntityType groupType) { var resource = groupResourceByGroupType[groupType]; return resource != null && hasGenericPermission(resource, operation); } - bool hasGenericEntityGroupPermission(Operation operation, EntityGroup entityGroup) { + bool hasGenericEntityGroupPermission( + Operation operation, EntityGroup entityGroup) { return hasGenericEntityGroupTypePermission(operation, entityGroup.type); } - bool hasEntityGroupPermission(Operation operation, EntityGroupInfo entityGroup) { + bool hasEntityGroupPermission( + Operation operation, EntityGroupInfo entityGroup) { return _checkEntityGroupPermission(operation, entityGroup, true); } - bool hasGroupEntityPermission(Operation operation, EntityGroupInfo entityGroup) { + bool hasGroupEntityPermission( + Operation operation, EntityGroupInfo entityGroup) { return _checkEntityGroupPermission(operation, entityGroup, false); } @@ -263,7 +296,6 @@ class AllowedPermissionsInfo { return _idsEqual(userOwnerId, ownerId); } - bool _hasGenericAllPermission(Operation operation) { var operations = userPermissions.genericPermissions[Resource.ALL]; return operations != null && _checkOperation(operations, operation); @@ -278,15 +310,20 @@ class AllowedPermissionsInfo { return operations.contains(Operation.ALL) || operations.contains(operation); } - bool _checkEntityGroupPermission(Operation operation, EntityGroupInfo entityGroup, bool isGroup) { - var resource = isGroup ? groupResourceByGroupType[entityGroup.type] : resourceByEntityType[entityGroup.type]; - if (_isCurrentUserOwner(entityGroup) && hasGenericPermission(resource!, operation)) { + bool _checkEntityGroupPermission( + Operation operation, EntityGroupInfo entityGroup, bool isGroup) { + var resource = isGroup + ? groupResourceByGroupType[entityGroup.type] + : resourceByEntityType[entityGroup.type]; + if (_isCurrentUserOwner(entityGroup) && + hasGenericPermission(resource!, operation)) { return true; } return _hasGroupPermissions(entityGroup, operation, isGroup); } - bool _hasGroupPermissions(EntityGroupInfo entityGroup, Operation operation, bool isGroup) { + bool _hasGroupPermissions( + EntityGroupInfo entityGroup, Operation operation, bool isGroup) { if (!allowedForGroupRoleOperations.contains(operation)) { return false; } @@ -302,7 +339,8 @@ class AllowedPermissionsInfo { } } var permissionInfo = userPermissions.groupPermissions[entityGroup.id!.id!]; - return permissionInfo != null && _checkOperation(permissionInfo.operations, operation); + return permissionInfo != null && + _checkOperation(permissionInfo.operations, operation); } bool _isCurrentUserOwner(EntityGroupInfo entityGroup) { @@ -322,5 +360,4 @@ class AllowedPermissionsInfo { bool _idsEqual(EntityId id1, EntityId id2) { return id1.id == id2.id && id1.entityType == id2.entityType; } - } diff --git a/lib/src/model/self_register_models.dart b/lib/src/model/self_register_models.dart index 17e32e1..6caf262 100644 --- a/lib/src/model/self_register_models.dart +++ b/lib/src/model/self_register_models.dart @@ -6,8 +6,8 @@ class SignUpSelfRegistrationParams { SignUpSelfRegistrationParams({this.signUpTextMessage, this.captchaSiteKey}); - SignUpSelfRegistrationParams.fromJson(Map json): - signUpTextMessage = json['signUpTextMessage'], + SignUpSelfRegistrationParams.fromJson(Map json) + : signUpTextMessage = json['signUpTextMessage'], captchaSiteKey = json['captchaSiteKey']; Map toJson() { @@ -60,25 +60,29 @@ class SelfRegistrationParams extends SignUpSelfRegistrationParams { this.appSecret, this.appScheme, this.appHost}) - : super(signUpTextMessage: signUpTextMessage, + : super( + signUpTextMessage: signUpTextMessage, captchaSiteKey: captchaSiteKey); - SelfRegistrationParams.fromJson(Map json): - adminSettingsId = json['adminSettingsId'], + SelfRegistrationParams.fromJson(Map json) + : adminSettingsId = json['adminSettingsId'], domainName = json['domainName'], captchaSecretKey = json['captchaSecretKey'], privacyPolicy = json['privacyPolicy'], notificationEmail = json['notificationEmail'], defaultDashboardId = json['defaultDashboardId'], defaultDashboardFullscreen = json['defaultDashboardFullscreen'], - permissions = json['permissions'] != null ? (json['permissions'] as List).map((e) => GroupPermission.fromJson(e)).toList() : null, + permissions = json['permissions'] != null + ? (json['permissions'] as List) + .map((e) => GroupPermission.fromJson(e)) + .toList() + : null, pkgName = json['pkgName'], appSecret = json['appSecret'], appScheme = json['appScheme'], appHost = json['appHost'], super.fromJson(json); - @override Map toJson() { var json = super.toJson(); diff --git a/lib/src/model/settings_models.dart b/lib/src/model/settings_models.dart index b6acb57..3cc372b 100644 --- a/lib/src/model/settings_models.dart +++ b/lib/src/model/settings_models.dart @@ -1,16 +1,14 @@ - import 'id/admin_settings_id.dart'; import 'base_data.dart'; class AdminSettings extends BaseData { - String key; Map jsonValue; - AdminSettings.fromJson(Map json): - key = json['key'], - jsonValue = json['jsonValue'], - super.fromJson(json, (id) => AdminSettingsId(id)); + AdminSettings.fromJson(Map json) + : key = json['key'], + jsonValue = json['jsonValue'], + super.fromJson(json, (id) => AdminSettingsId(id)); @override Map toJson() { @@ -20,17 +18,22 @@ class AdminSettings extends BaseData { return json; } - MailServerSettings get mailServerSettings => MailServerSettings.fromJson(jsonValue); + MailServerSettings get mailServerSettings => + MailServerSettings.fromJson(jsonValue); - set mailServerSettings(MailServerSettings settings) => jsonValue = settings.toJson(); + set mailServerSettings(MailServerSettings settings) => + jsonValue = settings.toJson(); GeneralSettings get generalSettings => GeneralSettings.fromJson(jsonValue); - set generalSettings(GeneralSettings settings) => jsonValue = settings.toJson(); + set generalSettings(GeneralSettings settings) => + jsonValue = settings.toJson(); - SmsProviderConfiguration get smsProviderConfiguration => SmsProviderConfiguration.fromJson(jsonValue); + SmsProviderConfiguration get smsProviderConfiguration => + SmsProviderConfiguration.fromJson(jsonValue); - set smsProviderConfiguration(SmsProviderConfiguration configuration) => jsonValue = configuration.toJson(); + set smsProviderConfiguration(SmsProviderConfiguration configuration) => + jsonValue = configuration.toJson(); @override String toString() { @@ -38,13 +41,11 @@ class AdminSettings extends BaseData { } } -enum SmtpProtocol { - SMTP, - SMTPS -} +enum SmtpProtocol { SMTP, SMTPS } SmtpProtocol smtpProtocolFromString(String value) { - return SmtpProtocol.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return SmtpProtocol.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension SmtpProtocolToString on SmtpProtocol { @@ -54,7 +55,6 @@ extension SmtpProtocolToString on SmtpProtocol { } class MailServerSettings { - String mailFrom; SmtpProtocol smtpProtocol; String smtpHost; @@ -70,25 +70,24 @@ class MailServerSettings { String? proxyUser; String? proxyPassword; - MailServerSettings({ - this.mailFrom = 'ThingsBoard ', - this.smtpProtocol = SmtpProtocol.SMTP, - this.smtpHost = 'localhost', - this.smtpPort = '25', - this.timeout = '10000', - this.enableTls, - this.tlsVersion, - this.username, - this.password, - this.enableProxy, - this.proxyHost, - this.proxyPort, - this.proxyUser, - this.proxyPassword - }); - - MailServerSettings.fromJson(Map json): - mailFrom = json['mailFrom'], + MailServerSettings( + {this.mailFrom = 'ThingsBoard ', + this.smtpProtocol = SmtpProtocol.SMTP, + this.smtpHost = 'localhost', + this.smtpPort = '25', + this.timeout = '10000', + this.enableTls, + this.tlsVersion, + this.username, + this.password, + this.enableProxy, + this.proxyHost, + this.proxyPort, + this.proxyUser, + this.proxyPassword}); + + MailServerSettings.fromJson(Map json) + : mailFrom = json['mailFrom'], smtpProtocol = smtpProtocolFromString(json['smtpProtocol']), smtpHost = json['smtpHost'], smtpPort = json['smtpPort'], @@ -147,15 +146,12 @@ class MailServerSettings { } class GeneralSettings { - String baseUrl; - GeneralSettings({ - this.baseUrl = 'http://localhost:8080' - }); + GeneralSettings({this.baseUrl = 'http://localhost:8080'}); - GeneralSettings.fromJson(Map json): - baseUrl = json['baseUrl']; + GeneralSettings.fromJson(Map json) + : baseUrl = json['baseUrl']; Map toJson() { var json = {}; @@ -169,13 +165,11 @@ class GeneralSettings { } } -enum SmsProviderType { - AWS_SNS, - TWILIO -} +enum SmsProviderType { AWS_SNS, TWILIO } SmsProviderType smsProviderTypeFromString(String value) { - return SmsProviderType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return SmsProviderType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension SSmsProviderTypeToString on SmsProviderType { @@ -185,7 +179,6 @@ extension SSmsProviderTypeToString on SmsProviderType { } abstract class SmsProviderConfiguration { - SmsProviderConfiguration(); SmsProviderType getType(); @@ -209,28 +202,25 @@ abstract class SmsProviderConfiguration { json['type'] = getType().toShortString(); return json; } - } class AwsSnsSmsProviderConfiguration extends SmsProviderConfiguration { - String? accessKeyId; String? secretAccessKey; String? region; - AwsSnsSmsProviderConfiguration({ - this.accessKeyId = '', - this.secretAccessKey = '', - this.region = 'us-east-1' - }); + AwsSnsSmsProviderConfiguration( + {this.accessKeyId = '', + this.secretAccessKey = '', + this.region = 'us-east-1'}); @override SmsProviderType getType() { return SmsProviderType.AWS_SNS; } - AwsSnsSmsProviderConfiguration.fromJson(Map json): - accessKeyId = json['accessKeyId'], + AwsSnsSmsProviderConfiguration.fromJson(Map json) + : accessKeyId = json['accessKeyId'], secretAccessKey = json['secretAccessKey'], region = json['region']; @@ -256,24 +246,20 @@ class AwsSnsSmsProviderConfiguration extends SmsProviderConfiguration { } class TwilioSmsProviderConfiguration extends SmsProviderConfiguration { - String? accountSid; String? accountToken; String? numberFrom; - TwilioSmsProviderConfiguration({ - this.accountSid = '', - this.accountToken = '', - this.numberFrom = '' - }); + TwilioSmsProviderConfiguration( + {this.accountSid = '', this.accountToken = '', this.numberFrom = ''}); @override SmsProviderType getType() { return SmsProviderType.TWILIO; } - TwilioSmsProviderConfiguration.fromJson(Map json): - accountSid = json['accountSid'], + TwilioSmsProviderConfiguration.fromJson(Map json) + : accountSid = json['accountSid'], accountToken = json['accountToken'], numberFrom = json['numberFrom']; @@ -299,16 +285,14 @@ class TwilioSmsProviderConfiguration extends SmsProviderConfiguration { } class TestSmsRequest { - SmsProviderConfiguration providerConfiguration; String numberTo; String message; - TestSmsRequest({ - required this.providerConfiguration, - required this.numberTo, - required this.message - }); + TestSmsRequest( + {required this.providerConfiguration, + required this.numberTo, + required this.message}); Map toJson() { var json = {}; @@ -333,18 +317,17 @@ class UserPasswordPolicy { int? passwordExpirationPeriodDays; int? passwordReuseFrequencyDays; - UserPasswordPolicy({ - this.minimumLength = 6, - this.minimumUppercaseLetters = 0, - this.minimumLowercaseLetters = 0, - this.minimumDigits = 0, - this.minimumSpecialCharacters = 0, - this.passwordExpirationPeriodDays = 0, - this.passwordReuseFrequencyDays = 0 - }); - - UserPasswordPolicy.fromJson(Map json): - minimumLength = json['minimumLength'], + UserPasswordPolicy( + {this.minimumLength = 6, + this.minimumUppercaseLetters = 0, + this.minimumLowercaseLetters = 0, + this.minimumDigits = 0, + this.minimumSpecialCharacters = 0, + this.passwordExpirationPeriodDays = 0, + this.passwordReuseFrequencyDays = 0}); + + UserPasswordPolicy.fromJson(Map json) + : minimumLength = json['minimumLength'], minimumUppercaseLetters = json['minimumUppercaseLetters'], minimumLowercaseLetters = json['minimumLowercaseLetters'], minimumDigits = json['minimumDigits'], @@ -371,19 +354,17 @@ class UserPasswordPolicy { } class SecuritySettings { - UserPasswordPolicy passwordPolicy; int? maxFailedLoginAttempts; String? userLockoutNotificationEmail; - SecuritySettings({ - required this.passwordPolicy, - this.maxFailedLoginAttempts = 0, - this.userLockoutNotificationEmail - }); + SecuritySettings( + {required this.passwordPolicy, + this.maxFailedLoginAttempts = 0, + this.userLockoutNotificationEmail}); - SecuritySettings.fromJson(Map json): - passwordPolicy = UserPasswordPolicy.fromJson(json['passwordPolicy']), + SecuritySettings.fromJson(Map json) + : passwordPolicy = UserPasswordPolicy.fromJson(json['passwordPolicy']), maxFailedLoginAttempts = json['maxFailedLoginAttempts'], userLockoutNotificationEmail = json['userLockoutNotificationEmail']; @@ -402,13 +383,12 @@ class SecuritySettings { } class UpdateMessage { - String message; bool updateAvailable; - UpdateMessage.fromJson(Map json): - message = json['message'], - updateAvailable = json['updateAvailable']; + UpdateMessage.fromJson(Map json) + : message = json['message'], + updateAvailable = json['updateAvailable']; @override String toString() { diff --git a/lib/src/model/signup_models.dart b/lib/src/model/signup_models.dart index e7ae9f1..b3d25fa 100644 --- a/lib/src/model/signup_models.dart +++ b/lib/src/model/signup_models.dart @@ -7,7 +7,14 @@ class SignUpRequest { String? pkgName; String? appSecret; - SignUpRequest({required this.firstName, required this.lastName, required this.email, required this.password, required this.recaptchaResponse, this.pkgName, this.appSecret}); + SignUpRequest( + {required this.firstName, + required this.lastName, + required this.email, + required this.password, + required this.recaptchaResponse, + this.pkgName, + this.appSecret}); Map toJson() { var json = { @@ -32,11 +39,9 @@ class SignUpRequest { } } -enum SignUpResult { - SUCCESS, - INACTIVE_USER_EXISTS -} +enum SignUpResult { SUCCESS, INACTIVE_USER_EXISTS } SignUpResult signUpResultFromString(String value) { - return SignUpResult.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return SignUpResult.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } diff --git a/lib/src/model/telemetry_models.dart b/lib/src/model/telemetry_models.dart index 68f0eb1..cb1b9d1 100644 --- a/lib/src/model/telemetry_models.dart +++ b/lib/src/model/telemetry_models.dart @@ -7,16 +7,11 @@ import 'query/query_models.dart'; import '../error/thingsboard_error.dart'; import 'entity_type_models.dart'; -enum DataType { - STRING, - LONG, - BOOLEAN, - DOUBLE, - JSON -} +enum DataType { STRING, LONG, BOOLEAN, DOUBLE, JSON } DataType dataTypeFromString(String value) { - return DataType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return DataType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension DataTypeToString on DataType { @@ -26,7 +21,6 @@ extension DataTypeToString on DataType { } abstract class KvEntry { - String getKey(); DataType getDataType(); @@ -44,25 +38,19 @@ abstract class KvEntry { String getValueAsString(); dynamic getValue(); - } abstract class AttributeKvEntry extends KvEntry { - int getLastUpdateTs(); - } abstract class TsKvEntry extends KvEntry { - int getTs(); int getDataPoints(); - } class BaseAttributeKvEntry implements AttributeKvEntry { - final int lastUpdateTs; final KvEntry kv; @@ -92,7 +80,6 @@ class BaseAttributeKvEntry implements AttributeKvEntry { @override String? getJsonValue() => kv.getJsonValue(); - @override String getValueAsString() => kv.getValueAsString(); @@ -106,7 +93,6 @@ class BaseAttributeKvEntry implements AttributeKvEntry { } class BasicTsKvEntry implements TsKvEntry { - static final int MAX_CHARS_PER_DATA_POINT = 512; final int ts; @@ -138,7 +124,6 @@ class BasicTsKvEntry implements TsKvEntry { @override String? getJsonValue() => kv.getJsonValue(); - @override String getValueAsString() => kv.getValueAsString(); @@ -158,7 +143,9 @@ class BasicTsKvEntry implements TsKvEntry { default: return 1; } - return max(1, (length + MAX_CHARS_PER_DATA_POINT - 1) / MAX_CHARS_PER_DATA_POINT).toInt(); + return max(1, + (length + MAX_CHARS_PER_DATA_POINT - 1) / MAX_CHARS_PER_DATA_POINT) + .toInt(); } @override @@ -168,7 +155,6 @@ class BasicTsKvEntry implements TsKvEntry { } abstract class BasicKvEntry implements KvEntry { - final String key; BasicKvEntry(this.key); @@ -198,10 +184,9 @@ abstract class BasicKvEntry implements KvEntry { } class BooleanDataEntry extends BasicKvEntry { - final bool value; - BooleanDataEntry(String key, this.value): super(key); + BooleanDataEntry(String key, this.value) : super(key); @override DataType getDataType() => DataType.BOOLEAN; @@ -222,10 +207,9 @@ class BooleanDataEntry extends BasicKvEntry { } class StringDataEntry extends BasicKvEntry { - final String value; - StringDataEntry(String key, this.value): super(key); + StringDataEntry(String key, this.value) : super(key); @override DataType getDataType() => DataType.STRING; @@ -246,10 +230,9 @@ class StringDataEntry extends BasicKvEntry { } class LongDataEntry extends BasicKvEntry { - final int value; - LongDataEntry(String key, this.value): super(key); + LongDataEntry(String key, this.value) : super(key); @override DataType getDataType() => DataType.LONG; @@ -270,10 +253,9 @@ class LongDataEntry extends BasicKvEntry { } class DoubleDataEntry extends BasicKvEntry { - final double value; - DoubleDataEntry(String key, this.value): super(key); + DoubleDataEntry(String key, this.value) : super(key); @override DataType getDataType() => DataType.DOUBLE; @@ -294,10 +276,9 @@ class DoubleDataEntry extends BasicKvEntry { } class JsonDataEntry extends BasicKvEntry { - final String value; - JsonDataEntry(String key, this.value): super(key); + JsonDataEntry(String key, this.value) : super(key); @override DataType getDataType() => DataType.JSON; @@ -317,17 +298,11 @@ class JsonDataEntry extends BasicKvEntry { } } -enum Aggregation { - MIN, - MAX, - AVG, - SUM, - COUNT, - NONE -} +enum Aggregation { MIN, MAX, AVG, SUM, COUNT, NONE } Aggregation aggregationFromString(String value) { - return Aggregation.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return Aggregation.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension AggregationToString on Aggregation { @@ -337,7 +312,6 @@ extension AggregationToString on Aggregation { } abstract class RestJsonConverter { - static final String KEY = 'key'; static final String VALUE = 'value'; static final String LAST_UPDATE_TS = 'lastUpdateTs'; @@ -381,7 +355,9 @@ abstract class RestJsonConverter { } else if (value is String) { return StringDataEntry(key, value); } else { - throw ThingsboardError(message: CAN_T_PARSE_VALUE + value, errorCode: ThingsBoardErrorCode.invalidArguments); + throw ThingsboardError( + message: CAN_T_PARSE_VALUE + value, + errorCode: ThingsBoardErrorCode.invalidArguments); } } else { return JsonDataEntry(key, value.toString()); @@ -395,12 +371,9 @@ abstract class RestJsonConverter { return DoubleDataEntry(key, value.toDouble()); } } - } -enum LatestTelemetry { - LATEST_TELEMETRY -} +enum LatestTelemetry { LATEST_TELEMETRY } extension LatestTelemetryToString on LatestTelemetry { String toShortString() { @@ -408,11 +381,7 @@ extension LatestTelemetryToString on LatestTelemetry { } } -enum AttributeScope { - CLIENT_SCOPE, - SERVER_SCOPE, - SHARED_SCOPE -} +enum AttributeScope { CLIENT_SCOPE, SERVER_SCOPE, SHARED_SCOPE } extension AttributeScopeToString on AttributeScope { String toShortString() { @@ -421,7 +390,8 @@ extension AttributeScopeToString on AttributeScope { } AttributeScope attributeScopeFromString(String value) { - return AttributeScope.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return AttributeScope.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } class AttributeData { @@ -437,26 +407,20 @@ class AttributeData { } } -enum TelemetryFeature { - ATTRIBUTES, - TIMESERIES -} +enum TelemetryFeature { ATTRIBUTES, TIMESERIES } abstract class WebsocketCmd { - int? cmdId; WebsocketCmd({this.cmdId}); - Map toJson() => { 'cmdId': cmdId }; - + Map toJson() => {'cmdId': cmdId}; } abstract class TelemetryPluginCmd extends WebsocketCmd { - final String? keys; - TelemetryPluginCmd({int? cmdId, this.keys}): super(cmdId: cmdId); + TelemetryPluginCmd({int? cmdId, this.keys}) : super(cmdId: cmdId); @override Map toJson() { @@ -466,27 +430,22 @@ abstract class TelemetryPluginCmd extends WebsocketCmd { } return json; } - } abstract class SubscriptionCmd extends TelemetryPluginCmd { - final EntityType entityType; final String entityId; final AttributeScope? scope; bool unsubscribe; - SubscriptionCmd({ - int? cmdId, - String? keys, - required this.entityType, - required this.entityId, - this.scope, - this.unsubscribe = false - }): super( - cmdId: cmdId, - keys: keys - ); + SubscriptionCmd( + {int? cmdId, + String? keys, + required this.entityType, + required this.entityId, + this.scope, + this.unsubscribe = false}) + : super(cmdId: cmdId, keys: keys); @override Map toJson() { @@ -504,56 +463,51 @@ abstract class SubscriptionCmd extends TelemetryPluginCmd { } class AttributesSubscriptionCmd extends SubscriptionCmd { - - AttributesSubscriptionCmd({ - int? cmdId, - String? keys, - required EntityType entityType, - required String entityId, - AttributeScope? scope, - bool unsubscribe = false - }): super( - cmdId: cmdId, - keys: keys, - entityType: entityType, - entityId: entityId, - scope: scope, - unsubscribe: unsubscribe - ); + AttributesSubscriptionCmd( + {int? cmdId, + String? keys, + required EntityType entityType, + required String entityId, + AttributeScope? scope, + bool unsubscribe = false}) + : super( + cmdId: cmdId, + keys: keys, + entityType: entityType, + entityId: entityId, + scope: scope, + unsubscribe: unsubscribe); @override TelemetryFeature getType() => TelemetryFeature.ATTRIBUTES; - } class TimeseriesSubscriptionCmd extends SubscriptionCmd { - final int? startTs; final int? timeWindow; final int? interval; final int? limit; final Aggregation agg; - TimeseriesSubscriptionCmd({ - int? cmdId, - String? keys, - required EntityType entityType, - required String entityId, - this.startTs, - this.timeWindow, - this.interval = 1000, - this.limit, - this.agg = Aggregation.NONE, - AttributeScope? scope, - bool unsubscribe = false - }): super( - cmdId: cmdId, - keys: keys, - entityType: entityType, - entityId: entityId, - scope: scope, - unsubscribe: unsubscribe - ); + TimeseriesSubscriptionCmd( + {int? cmdId, + String? keys, + required EntityType entityType, + required String entityId, + this.startTs, + this.timeWindow, + this.interval = 1000, + this.limit, + this.agg = Aggregation.NONE, + AttributeScope? scope, + bool unsubscribe = false}) + : super( + cmdId: cmdId, + keys: keys, + entityType: entityType, + entityId: entityId, + scope: scope, + unsubscribe: unsubscribe); @override Map toJson() { @@ -576,11 +530,9 @@ class TimeseriesSubscriptionCmd extends SubscriptionCmd { @override TelemetryFeature getType() => TelemetryFeature.TIMESERIES; - } class GetHistoryCmd extends TelemetryPluginCmd { - final EntityType entityType; final String entityId; final int startTs; @@ -589,20 +541,17 @@ class GetHistoryCmd extends TelemetryPluginCmd { final int? limit; final Aggregation agg; - GetHistoryCmd({ - int? cmdId, - String? keys, - required this.entityType, - required this.entityId, - required this.startTs, - required this.endTs, - this.interval = 1000, - this.limit, - this.agg = Aggregation.NONE - }): super( - cmdId: cmdId, - keys: keys - ); + GetHistoryCmd( + {int? cmdId, + String? keys, + required this.entityType, + required this.entityId, + required this.startTs, + required this.endTs, + this.interval = 1000, + this.limit, + this.agg = Aggregation.NONE}) + : super(cmdId: cmdId, keys: keys); @override Map toJson() { @@ -618,7 +567,6 @@ class GetHistoryCmd extends TelemetryPluginCmd { json['agg'] = agg.toShortString(); return json; } - } class EntityHistoryCmd { @@ -630,15 +578,14 @@ class EntityHistoryCmd { final Aggregation agg; final bool? fetchLatestPreviousPoint; - EntityHistoryCmd({ - required this.keys, - required this.startTs, - required this.endTs, - this.interval = 1000, - this.limit, - this.agg = Aggregation.NONE, - this.fetchLatestPreviousPoint - }); + EntityHistoryCmd( + {required this.keys, + required this.startTs, + required this.endTs, + this.interval = 1000, + this.limit, + this.agg = Aggregation.NONE, + this.fetchLatestPreviousPoint}); Map toJson() { var json = { @@ -659,15 +606,12 @@ class EntityHistoryCmd { } class LatestValueCmd { - final List keys; LatestValueCmd({required this.keys}); - Map toJson() => { - 'keys': keys.map((e) => e.toJson()).toList() - }; - + Map toJson() => + {'keys': keys.map((e) => e.toJson()).toList()}; } class TimeSeriesCmd { @@ -679,15 +623,14 @@ class TimeSeriesCmd { final Aggregation agg; final bool? fetchLatestPreviousPoint; - TimeSeriesCmd({ - required this.keys, - required this.startTs, - required this.timeWindow, - this.interval = 1000, - this.limit, - this.agg = Aggregation.NONE, - this.fetchLatestPreviousPoint - }); + TimeSeriesCmd( + {required this.keys, + required this.startTs, + required this.timeWindow, + this.interval = 1000, + this.limit, + this.agg = Aggregation.NONE, + this.fetchLatestPreviousPoint}); Map toJson() { var json = { @@ -708,13 +651,14 @@ class TimeSeriesCmd { } class EntityDataCmd extends WebsocketCmd { - final EntityDataQuery? query; final EntityHistoryCmd? historyCmd; final LatestValueCmd? latestCmd; final TimeSeriesCmd? tsCmd; - EntityDataCmd({int? cmdId, this.query, this.historyCmd, this.latestCmd, this.tsCmd}): super(cmdId: cmdId); + EntityDataCmd( + {int? cmdId, this.query, this.historyCmd, this.latestCmd, this.tsCmd}) + : super(cmdId: cmdId); @override Map toJson() { @@ -734,15 +678,14 @@ class EntityDataCmd extends WebsocketCmd { return json; } - bool isEmpty() => query == null && historyCmd == null && latestCmd == null && tsCmd == null; - + bool isEmpty() => + query == null && historyCmd == null && latestCmd == null && tsCmd == null; } class EntityCountCmd extends WebsocketCmd { - final EntityCountQuery? query; - EntityCountCmd({int? cmdId, this.query}): super(cmdId: cmdId); + EntityCountCmd({int? cmdId, this.query}) : super(cmdId: cmdId); @override Map toJson() { @@ -754,14 +697,12 @@ class EntityCountCmd extends WebsocketCmd { } bool isEmpty() => query == null; - } class AlarmDataCmd extends WebsocketCmd { - final AlarmDataQuery? query; - AlarmDataCmd({int? cmdId, this.query}): super(cmdId: cmdId); + AlarmDataCmd({int? cmdId, this.query}) : super(cmdId: cmdId); @override Map toJson() { @@ -773,29 +714,21 @@ class AlarmDataCmd extends WebsocketCmd { } bool isEmpty() => query == null; - } class EntityDataUnsubscribeCmd extends WebsocketCmd { - - EntityDataUnsubscribeCmd({int? cmdId}): super(cmdId: cmdId); - + EntityDataUnsubscribeCmd({int? cmdId}) : super(cmdId: cmdId); } class EntityCountUnsubscribeCmd extends WebsocketCmd { - - EntityCountUnsubscribeCmd({int? cmdId}): super(cmdId: cmdId); - + EntityCountUnsubscribeCmd({int? cmdId}) : super(cmdId: cmdId); } class AlarmDataUnsubscribeCmd extends WebsocketCmd { - - AlarmDataUnsubscribeCmd({int? cmdId}): super(cmdId: cmdId); - + AlarmDataUnsubscribeCmd({int? cmdId}) : super(cmdId: cmdId); } class TelemetryPluginCmdsWrapper { - List attrSubCmds; List tsSubCmds; List historyCmds; @@ -806,8 +739,8 @@ class TelemetryPluginCmdsWrapper { List entityCountCmds; List entityCountUnsubscribeCmds; - TelemetryPluginCmdsWrapper(): - attrSubCmds = [], + TelemetryPluginCmdsWrapper() + : attrSubCmds = [], tsSubCmds = [], historyCmds = [], entityDataCmds = [], @@ -817,9 +750,15 @@ class TelemetryPluginCmdsWrapper { entityCountCmds = [], entityCountUnsubscribeCmds = []; - bool hasCommands() => tsSubCmds.isNotEmpty || historyCmds.isNotEmpty || - attrSubCmds.isNotEmpty || entityDataCmds.isNotEmpty || entityDataUnsubscribeCmds.isNotEmpty || - alarmDataCmds.isNotEmpty || alarmDataUnsubscribeCmds.isNotEmpty || entityCountCmds.isNotEmpty || + bool hasCommands() => + tsSubCmds.isNotEmpty || + historyCmds.isNotEmpty || + attrSubCmds.isNotEmpty || + entityDataCmds.isNotEmpty || + entityDataUnsubscribeCmds.isNotEmpty || + alarmDataCmds.isNotEmpty || + alarmDataUnsubscribeCmds.isNotEmpty || + entityCountCmds.isNotEmpty || entityCountUnsubscribeCmds.isNotEmpty; void clear() { @@ -845,29 +784,35 @@ class TelemetryPluginCmdsWrapper { leftCount -= preparedWrapper.attrSubCmds.length; preparedWrapper.entityDataCmds = _popCmds(entityDataCmds, leftCount); leftCount -= preparedWrapper.entityDataCmds.length; - preparedWrapper.entityDataUnsubscribeCmds = _popCmds(entityDataUnsubscribeCmds, leftCount); + preparedWrapper.entityDataUnsubscribeCmds = + _popCmds(entityDataUnsubscribeCmds, leftCount); leftCount -= preparedWrapper.entityDataUnsubscribeCmds.length; preparedWrapper.alarmDataCmds = _popCmds(alarmDataCmds, leftCount); leftCount -= preparedWrapper.alarmDataCmds.length; - preparedWrapper.alarmDataUnsubscribeCmds = _popCmds(alarmDataUnsubscribeCmds, leftCount); + preparedWrapper.alarmDataUnsubscribeCmds = + _popCmds(alarmDataUnsubscribeCmds, leftCount); leftCount -= preparedWrapper.alarmDataUnsubscribeCmds.length; preparedWrapper.entityCountCmds = _popCmds(entityCountCmds, leftCount); leftCount -= preparedWrapper.entityCountCmds.length; - preparedWrapper.entityCountUnsubscribeCmds = _popCmds(entityCountUnsubscribeCmds, leftCount); + preparedWrapper.entityCountUnsubscribeCmds = + _popCmds(entityCountUnsubscribeCmds, leftCount); return preparedWrapper; } Map toJson() => { - 'attrSubCmds': attrSubCmds.map((e) => e.toJson()).toList(), - 'tsSubCmds': tsSubCmds.map((e) => e.toJson()).toList(), - 'historyCmds': historyCmds.map((e) => e.toJson()).toList(), - 'entityDataCmds': entityDataCmds.map((e) => e.toJson()).toList(), - 'entityDataUnsubscribeCmds': entityDataUnsubscribeCmds.map((e) => e.toJson()).toList(), - 'alarmDataCmds': alarmDataCmds.map((e) => e.toJson()).toList(), - 'alarmDataUnsubscribeCmds': alarmDataUnsubscribeCmds.map((e) => e.toJson()).toList(), - 'entityCountCmds': entityCountCmds.map((e) => e.toJson()).toList(), - 'entityCountUnsubscribeCmds': entityCountUnsubscribeCmds.map((e) => e.toJson()).toList() - }; + 'attrSubCmds': attrSubCmds.map((e) => e.toJson()).toList(), + 'tsSubCmds': tsSubCmds.map((e) => e.toJson()).toList(), + 'historyCmds': historyCmds.map((e) => e.toJson()).toList(), + 'entityDataCmds': entityDataCmds.map((e) => e.toJson()).toList(), + 'entityDataUnsubscribeCmds': + entityDataUnsubscribeCmds.map((e) => e.toJson()).toList(), + 'alarmDataCmds': alarmDataCmds.map((e) => e.toJson()).toList(), + 'alarmDataUnsubscribeCmds': + alarmDataUnsubscribeCmds.map((e) => e.toJson()).toList(), + 'entityCountCmds': entityCountCmds.map((e) => e.toJson()).toList(), + 'entityCountUnsubscribeCmds': + entityCountUnsubscribeCmds.map((e) => e.toJson()).toList() + }; List _popCmds(List cmds, int leftCount) { var toPublish = min(cmds.length, leftCount); @@ -879,7 +824,6 @@ class TelemetryPluginCmdsWrapper { return []; } } - } class TsValue { @@ -888,13 +832,13 @@ class TsValue { TsValue({required this.ts, this.value}); - TsValue.fromJson(Map json): - ts = json['ts'], - value = json['value']; + TsValue.fromJson(Map json) + : ts = json['ts'], + value = json['value']; - TsValue.fromJsonList(List json): - ts = json[0], - value = json[1]; + TsValue.fromJsonList(List json) + : ts = json[0], + value = json[1]; @override String toString() { @@ -903,7 +847,6 @@ class TsValue { } abstract class WebsocketDataMsg { - WebsocketDataMsg(); factory WebsocketDataMsg.fromJson(Map json) { @@ -926,19 +869,18 @@ abstract class WebsocketDataMsg { } throw ArgumentError('Unexpected type of websocket data'); } - } class SubscriptionDataHolder extends WebsocketDataMsg { - final Map> data; - SubscriptionDataHolder.fromJson(Map json): - data = (json['data'] as Map).map((key, value) { - var tsList = value as List; - var tsValuesList = tsList.map((e) => TsValue.fromJsonList(e)).toList(); - return MapEntry(key, tsValuesList); - }); + SubscriptionDataHolder.fromJson(Map json) + : data = (json['data'] as Map).map((key, value) { + var tsList = value as List; + var tsValuesList = + tsList.map((e) => TsValue.fromJsonList(e)).toList(); + return MapEntry(key, tsValuesList); + }); @override String toString() { @@ -947,13 +889,12 @@ class SubscriptionDataHolder extends WebsocketDataMsg { } class SubscriptionUpdate extends SubscriptionDataHolder { - final int subscriptionId; final int? errorCode; final String? errorMsg; - SubscriptionUpdate.fromJson(Map json): - subscriptionId = json['subscriptionId'], + SubscriptionUpdate.fromJson(Map json) + : subscriptionId = json['subscriptionId'], errorCode = json['errorCode'], errorMsg = json['errorMsg'], super.fromJson(json); @@ -977,9 +918,8 @@ class SubscriptionUpdate extends SubscriptionDataHolder { existingData.lastUpdateTs = keyData[0].ts; existingData.value = keyData[0].value; } else { - origData.add(AttributeData(key: key, - lastUpdateTs: keyData[0].ts, - value: keyData[0].value)); + origData.add(AttributeData( + key: key, lastUpdateTs: keyData[0].ts, value: keyData[0].value)); } } }); @@ -992,38 +932,39 @@ class SubscriptionUpdate extends SubscriptionDataHolder { } } -enum CmdUpdateType { - ENTITY_DATA, - ALARM_DATA, - COUNT_DATA -} +enum CmdUpdateType { ENTITY_DATA, ALARM_DATA, COUNT_DATA } CmdUpdateType cmdUpdateTypeFromString(String value) { - return CmdUpdateType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return CmdUpdateType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } abstract class CmdUpdate extends WebsocketDataMsg { - final int cmdId; final int? errorCode; final String? errorMsg; - CmdUpdate.fromJson(Map json): - cmdId = json['cmdId'], + CmdUpdate.fromJson(Map json) + : cmdId = json['cmdId'], errorCode = json['errorCode'], errorMsg = json['errorMsg']; - } abstract class DataUpdate extends CmdUpdate { - final PageData? data; final List? update; - DataUpdate.fromJson(Map json, T Function(Map json) dataFromJson): - data = json['data'] != null ? PageData.fromJson(json['data'], (json) => dataFromJson(json)) : null, - update = json['update'] != null ? (json['update'] as List).map((e) => dataFromJson(e)).toList() : null, - super.fromJson(json); + DataUpdate.fromJson(Map json, + T Function(Map json) dataFromJson) + : data = json['data'] != null + ? PageData.fromJson(json['data'], (json) => dataFromJson(json)) + : null, + update = json['update'] != null + ? (json['update'] as List) + .map((e) => dataFromJson(e)) + .toList() + : null, + super.fromJson(json); @override String toString() { @@ -1032,9 +973,8 @@ abstract class DataUpdate extends CmdUpdate { } class EntityDataUpdate extends DataUpdate { - - EntityDataUpdate.fromJson(Map json): - super.fromJson(json, (json) => EntityData.fromJson(json)); + EntityDataUpdate.fromJson(Map json) + : super.fromJson(json, (json) => EntityData.fromJson(json)); void prepareData(int tsOffset) { if (data != null) { @@ -1065,12 +1005,11 @@ class EntityDataUpdate extends DataUpdate { } class AlarmDataUpdate extends DataUpdate { - final int? allowedEntities; final int? totalEntities; - AlarmDataUpdate.fromJson(Map json): - allowedEntities = json['allowedEntities'], + AlarmDataUpdate.fromJson(Map json) + : allowedEntities = json['allowedEntities'], totalEntities = json['totalEntities'], super.fromJson(json, (json) => AlarmData.fromJson(json)); @@ -1085,30 +1024,30 @@ class AlarmDataUpdate extends DataUpdate { void _processAlarmData(List data, int tsOffset) { data.forEach((alarmData) { - alarmData.createdTime = alarmData.createdTime! + tsOffset; - alarmData.ackTs += tsOffset; - alarmData.clearTs += tsOffset; - alarmData.endTs += tsOffset; - alarmData.latest.forEach((key, keyTypeValues) { - keyTypeValues.forEach((key, tsValue) { - tsValue.ts += tsOffset; - if (['createdTime', 'startTime', 'endTime', 'ackTime', 'clearTime'].contains(key) && tsValue.value != null) { - tsValue.value = (int.parse(tsValue.value!) + tsOffset).toString(); - } - }); - }); + alarmData.createdTime = alarmData.createdTime! + tsOffset; + alarmData.ackTs += tsOffset; + alarmData.clearTs += tsOffset; + alarmData.endTs += tsOffset; + alarmData.latest.forEach((key, keyTypeValues) { + keyTypeValues.forEach((key, tsValue) { + tsValue.ts += tsOffset; + if (['createdTime', 'startTime', 'endTime', 'ackTime', 'clearTime'] + .contains(key) && + tsValue.value != null) { + tsValue.value = (int.parse(tsValue.value!) + tsOffset).toString(); + } + }); + }); }); } - } class EntityCountUpdate extends CmdUpdate { - final int count; - EntityCountUpdate.fromJson(Map json): - count = json['count'], - super.fromJson(json); + EntityCountUpdate.fromJson(Map json) + : count = json['count'], + super.fromJson(json); @override String toString() { @@ -1117,15 +1056,12 @@ class EntityCountUpdate extends CmdUpdate { } abstract class TelemetryService { - void subscribe(TelemetrySubscriber subscriber); void update(TelemetrySubscriber subscriber); void unsubscribe(TelemetrySubscriber subscriber); - } class TelemetrySubscriber { - final TelemetryService _telemetryService; final List _subscriptionCommands; @@ -1137,37 +1073,35 @@ class TelemetrySubscriber { int? _tsOffset; - TelemetrySubscriber(TelemetryService telemetryService, List subscriptionCommands): - _telemetryService = telemetryService, - _subscriptionCommands = subscriptionCommands, - _dataStreamController = StreamController.broadcast(), - _entityDataStreamController = StreamController.broadcast(), - _alarmDataStreamController = StreamController.broadcast(), - _entityCountStreamController = StreamController.broadcast(), - _reconnectStreamController = StreamController.broadcast(); - - static TelemetrySubscriber createEntityAttributesSubscription({ - required TelemetryService telemetryService, - required EntityId entityId, - required String attributeScope, - List? keys - }) { + TelemetrySubscriber(TelemetryService telemetryService, + List subscriptionCommands) + : _telemetryService = telemetryService, + _subscriptionCommands = subscriptionCommands, + _dataStreamController = StreamController.broadcast(), + _entityDataStreamController = StreamController.broadcast(), + _alarmDataStreamController = StreamController.broadcast(), + _entityCountStreamController = StreamController.broadcast(), + _reconnectStreamController = StreamController.broadcast(); + + static TelemetrySubscriber createEntityAttributesSubscription( + {required TelemetryService telemetryService, + required EntityId entityId, + required String attributeScope, + List? keys}) { SubscriptionCmd subscriptionCommand; var subscriptionKeys = keys != null ? keys.join(',') : null; if (attributeScope == LatestTelemetry.LATEST_TELEMETRY.toShortString()) { subscriptionCommand = TimeseriesSubscriptionCmd( - entityId: entityId.id!, - entityType: entityId.entityType, - keys: subscriptionKeys - ); + entityId: entityId.id!, + entityType: entityId.entityType, + keys: subscriptionKeys); } else { var scope = attributeScopeFromString(attributeScope); subscriptionCommand = AttributesSubscriptionCmd( entityId: entityId.id!, entityType: entityId.entityType, keys: subscriptionKeys, - scope: scope - ); + scope: scope); } return TelemetrySubscriber(telemetryService, [subscriptionCommand]); } @@ -1206,11 +1140,13 @@ class TelemetrySubscriber { void onData(SubscriptionUpdate message) { var cmdId = message.subscriptionId; List? keys; - var foundCmd = _subscriptionCommands.where((command) => command.cmdId == cmdId); + var foundCmd = + _subscriptionCommands.where((command) => command.cmdId == cmdId); if (foundCmd.isNotEmpty) { var cmd = foundCmd.first; var telemetryPluginCmd = cmd as TelemetryPluginCmd; - if (telemetryPluginCmd.keys != null && telemetryPluginCmd.keys!.isNotEmpty) { + if (telemetryPluginCmd.keys != null && + telemetryPluginCmd.keys!.isNotEmpty) { keys = telemetryPluginCmd.keys!.split(','); } } @@ -1254,17 +1190,20 @@ class TelemetrySubscriber { Stream get dataStream => _dataStreamController.stream; - Stream get entityDataStream => _entityDataStreamController.stream; + Stream get entityDataStream => + _entityDataStreamController.stream; - Stream get alarmDataStream => _alarmDataStreamController.stream; + Stream get alarmDataStream => + _alarmDataStreamController.stream; - Stream get entityCountStream => _entityCountStreamController.stream; + Stream get entityCountStream => + _entityCountStreamController.stream; Stream get reconnectStream => _reconnectStreamController.stream; Stream> get attributeDataStream { final attributeData = []; - return dataStream.map((message) => message.updateAttributeData(attributeData)); + return dataStream + .map((message) => message.updateAttributeData(attributeData)); } - } diff --git a/lib/src/model/tenant_entity.dart b/lib/src/model/tenant_entity.dart index 25f73ce..089f4cc 100644 --- a/lib/src/model/tenant_entity.dart +++ b/lib/src/model/tenant_entity.dart @@ -1,6 +1,4 @@ import 'has_entity_type.dart'; import 'has_tenant_id.dart'; -abstract class TenantEntity implements HasTenantId, HasEntityType { - -} +abstract class TenantEntity implements HasTenantId, HasEntityType {} diff --git a/lib/src/model/tenant_models.dart b/lib/src/model/tenant_models.dart index cf3ab2e..c5b7a0a 100644 --- a/lib/src/model/tenant_models.dart +++ b/lib/src/model/tenant_models.dart @@ -5,12 +5,11 @@ import 'id/tenant_id.dart'; import 'contact_based_model.dart'; import 'id/tenant_profile_id.dart'; -enum TenantProfileType { - DEFAULT -} +enum TenantProfileType { DEFAULT } TenantProfileType tenantProfileTypeFromString(String value) { - return TenantProfileType.values.firstWhere((e)=>e.toString().split('.')[1].toUpperCase()==value.toUpperCase()); + return TenantProfileType.values.firstWhere( + (e) => e.toString().split('.')[1].toUpperCase() == value.toUpperCase()); } extension TenantProfileTypeToString on TenantProfileType { @@ -20,7 +19,6 @@ extension TenantProfileTypeToString on TenantProfileType { } abstract class TenantProfileConfiguration { - TenantProfileConfiguration(); TenantProfileType getType(); @@ -28,7 +26,7 @@ abstract class TenantProfileConfiguration { factory TenantProfileConfiguration.fromJson(Map json) { if (json.containsKey('type')) { var deviceProfileType = tenantProfileTypeFromString(json['type']); - switch(deviceProfileType) { + switch (deviceProfileType) { case TenantProfileType.DEFAULT: return DefaultTenantProfileConfiguration.fromJson(json); } @@ -42,11 +40,9 @@ abstract class TenantProfileConfiguration { json['type'] = getType().toShortString(); return json; } - } class DefaultTenantProfileConfiguration extends TenantProfileConfiguration { - int maxDevices; int maxAssets; int maxCustomers; @@ -76,8 +72,8 @@ class DefaultTenantProfileConfiguration extends TenantProfileConfiguration { int defaultStorageTtlDays; int alarmsTtlDays; - DefaultTenantProfileConfiguration(): - maxDevices = 0, + DefaultTenantProfileConfiguration() + : maxDevices = 0, maxAssets = 0, maxCustomers = 0, maxUsers = 0, @@ -102,8 +98,8 @@ class DefaultTenantProfileConfiguration extends TenantProfileConfiguration { return TenantProfileType.DEFAULT; } - DefaultTenantProfileConfiguration.fromJson(Map json): - maxDevices = json['maxDevices'], + DefaultTenantProfileConfiguration.fromJson(Map json) + : maxDevices = json['maxDevices'], maxAssets = json['maxAssets'], maxCustomers = json['maxCustomers'], maxUsers = json['maxUsers'], @@ -111,20 +107,23 @@ class DefaultTenantProfileConfiguration extends TenantProfileConfiguration { maxRuleChains = json['maxRuleChains'], maxResourcesInBytes = json['maxResourcesInBytes'], maxOtaPackagesInBytes = json['maxOtaPackagesInBytes'], - transportTenantMsgRateLimit = json['transportTenantMsgRateLimit'], - transportTenantTelemetryMsgRateLimit = json['transportTenantTelemetryMsgRateLimit'], - transportTenantTelemetryDataPointsRateLimit = json['transportTenantTelemetryDataPointsRateLimit'], + transportTenantTelemetryMsgRateLimit = + json['transportTenantTelemetryMsgRateLimit'], + transportTenantTelemetryDataPointsRateLimit = + json['transportTenantTelemetryDataPointsRateLimit'], transportDeviceMsgRateLimit = json['transportDeviceMsgRateLimit'], - transportDeviceTelemetryMsgRateLimit = json['transportDeviceTelemetryMsgRateLimit'], - transportDeviceTelemetryDataPointsRateLimit = json['transportDeviceTelemetryDataPointsRateLimit'], - + transportDeviceTelemetryMsgRateLimit = + json['transportDeviceTelemetryMsgRateLimit'], + transportDeviceTelemetryDataPointsRateLimit = + json['transportDeviceTelemetryDataPointsRateLimit'], maxTransportMessages = json['maxTransportMessages'], maxTransportDataPoints = json['maxTransportDataPoints'], maxREExecutions = json['maxREExecutions'], maxJSExecutions = json['maxJSExecutions'], maxDPStorageDays = json['maxDPStorageDays'], - maxRuleNodeExecutionsPerMessage = json['maxRuleNodeExecutionsPerMessage'], + maxRuleNodeExecutionsPerMessage = + json['maxRuleNodeExecutionsPerMessage'], maxEmails = json['maxEmails'], maxSms = json['maxSms'], maxCreatedAlarms = json['maxCreatedAlarms'], @@ -146,19 +145,23 @@ class DefaultTenantProfileConfiguration extends TenantProfileConfiguration { json['transportTenantMsgRateLimit'] = transportTenantMsgRateLimit; } if (transportTenantTelemetryMsgRateLimit != null) { - json['transportTenantTelemetryMsgRateLimit'] = transportTenantTelemetryMsgRateLimit; + json['transportTenantTelemetryMsgRateLimit'] = + transportTenantTelemetryMsgRateLimit; } if (transportTenantTelemetryDataPointsRateLimit != null) { - json['transportTenantTelemetryDataPointsRateLimit'] = transportTenantTelemetryDataPointsRateLimit; + json['transportTenantTelemetryDataPointsRateLimit'] = + transportTenantTelemetryDataPointsRateLimit; } if (transportDeviceMsgRateLimit != null) { json['transportDeviceMsgRateLimit'] = transportDeviceMsgRateLimit; } if (transportDeviceTelemetryMsgRateLimit != null) { - json['transportDeviceTelemetryMsgRateLimit'] = transportDeviceTelemetryMsgRateLimit; + json['transportDeviceTelemetryMsgRateLimit'] = + transportDeviceTelemetryMsgRateLimit; } if (transportDeviceTelemetryDataPointsRateLimit != null) { - json['transportDeviceTelemetryDataPointsRateLimit'] = transportDeviceTelemetryDataPointsRateLimit; + json['transportDeviceTelemetryDataPointsRateLimit'] = + transportDeviceTelemetryDataPointsRateLimit; } json['maxTransportMessages'] = maxTransportMessages; @@ -189,13 +192,13 @@ class DefaultTenantProfileConfiguration extends TenantProfileConfiguration { } class TenantProfileData { - TenantProfileConfiguration configuration; - TenantProfileData(): configuration = DefaultTenantProfileConfiguration(); + TenantProfileData() : configuration = DefaultTenantProfileConfiguration(); - TenantProfileData.fromJson(Map json): - configuration = TenantProfileConfiguration.fromJson(json['configuration']); + TenantProfileData.fromJson(Map json) + : configuration = + TenantProfileConfiguration.fromJson(json['configuration']); Map toJson() { var json = {}; @@ -210,7 +213,6 @@ class TenantProfileData { } class TenantProfile extends BaseData with HasName { - String name; String? description; bool? isDefault; @@ -218,10 +220,10 @@ class TenantProfile extends BaseData with HasName { bool? isolatedTbRuleEngine; TenantProfileData profileData; - TenantProfile(this.name): profileData = TenantProfileData(); + TenantProfile(this.name) : profileData = TenantProfileData(); - TenantProfile.fromJson(Map json): - name = json['name'], + TenantProfile.fromJson(Map json) + : name = json['name'], description = json['description'], isDefault = json['default'], isolatedTbCore = json['isolatedTbCore'], @@ -258,17 +260,18 @@ class TenantProfile extends BaseData with HasName { } class Tenant extends ContactBased with HasTenantId { - String title; String? region; TenantProfileId? tenantProfileId; Tenant(this.title); - Tenant.fromJson(Map json): - title = json['title'], + Tenant.fromJson(Map json) + : title = json['title'], region = json['region'], - tenantProfileId = json['tenantProfileId'] != null ? TenantProfileId.fromJson(json['tenantProfileId']) : null, + tenantProfileId = json['tenantProfileId'] != null + ? TenantProfileId.fromJson(json['tenantProfileId']) + : null, super.fromJson(json); @override @@ -299,13 +302,12 @@ class Tenant extends ContactBased with HasTenantId { return 'Tenant{${contactBasedString('title: $title, region: $region, ' 'tenantProfileId: $tenantProfileId')}}'; } - } class TenantInfo extends Tenant { String? tenantProfileName; - TenantInfo.fromJson(Map json): - tenantProfileName = json['tenantProfileName'], + TenantInfo.fromJson(Map json) + : tenantProfileName = json['tenantProfileName'], super.fromJson(json); } diff --git a/lib/src/model/thingsboard_error.dart b/lib/src/model/thingsboard_error.dart index e69de29..8b13789 100644 --- a/lib/src/model/thingsboard_error.dart +++ b/lib/src/model/thingsboard_error.dart @@ -0,0 +1 @@ + diff --git a/lib/src/model/user_models.dart b/lib/src/model/user_models.dart index 20feb28..c6bfa87 100644 --- a/lib/src/model/user_models.dart +++ b/lib/src/model/user_models.dart @@ -7,9 +7,6 @@ import 'id/has_uuid.dart'; import 'id/tenant_id.dart'; import 'authority_enum.dart'; -import 'has_customer_id.dart'; -import 'has_name.dart'; -import 'has_tenant_id.dart'; import 'id/user_id.dart'; class AuthUser { @@ -36,7 +33,9 @@ class AuthUser { tenantId = claims.remove('tenantId'); customerId = claims.remove('customerId'); isPublic = claims.remove('isPublic'); - authority = scopes.isNotEmpty ? authorityFromString(scopes[0]) : Authority.ANONYMOUS; + authority = scopes.isNotEmpty + ? authorityFromString(scopes[0]) + : Authority.ANONYMOUS; additionalData = claims; } @@ -60,7 +59,6 @@ class AuthUser { } class User extends AdditionalInfoBased implements GroupEntity { - TenantId? tenantId; CustomerId? customerId; String email; @@ -70,9 +68,13 @@ class User extends AdditionalInfoBased implements GroupEntity { User(this.email, this.authority); - User.fromJson(Map json): - tenantId = json['tenantId'] != null ? TenantId.fromJson(json['tenantId']) : null, - customerId = json['customerId'] != null ? CustomerId.fromJson(json['customerId']) : null, + User.fromJson(Map json) + : tenantId = json['tenantId'] != null + ? TenantId.fromJson(json['tenantId']) + : null, + customerId = json['customerId'] != null + ? CustomerId.fromJson(json['customerId']) + : null, email = json['email'], authority = authorityFromString(json['authority']), firstName = json['firstName'], @@ -121,7 +123,9 @@ class User extends AdditionalInfoBased implements GroupEntity { @override EntityId? getOwnerId() { - return customerId != null && !customerId!.isNullUid() ? customerId : tenantId; + return customerId != null && !customerId!.isNullUid() + ? customerId + : tenantId; } @override diff --git a/lib/src/model/white_labeling_models.dart b/lib/src/model/white_labeling_models.dart index e0bd4b1..5bbbbbf 100644 --- a/lib/src/model/white_labeling_models.dart +++ b/lib/src/model/white_labeling_models.dart @@ -6,9 +6,9 @@ class Favicon { Favicon({this.url, this.type}); - Favicon.fromJson(Map json): - url = json['url'], - type = json['type']; + Favicon.fromJson(Map json) + : url = json['url'], + type = json['type']; Map toJson() { var json = {}; @@ -23,7 +23,7 @@ class Favicon { @override String toString() { - return 'Favicon{url: ${url != null ? '['+url!.substring(0, min(30, url!.length)) + '...]' : 'null'}, type: $type}'; + return 'Favicon{url: ${url != null ? '[' + url!.substring(0, min(30, url!.length)) + '...]' : 'null'}, type: $type}'; } } @@ -34,15 +34,16 @@ class Palette { Palette({required this.type, this.extendsPalette, this.colors}); - Palette.fromJson(Map json): - type = json['type'], + Palette.fromJson(Map json) + : type = json['type'], extendsPalette = json['extends'], - colors = json['colors'] != null ? (json['colors'] as Map).map((key, value) => MapEntry(key as String, value as String)) : null; + colors = json['colors'] != null + ? (json['colors'] as Map) + .map((key, value) => MapEntry(key as String, value as String)) + : null; Map toJson() { - var json = { - 'type': type - }; + var json = {'type': type}; if (extendsPalette != null) { json['extends'] = extendsPalette; } @@ -64,9 +65,13 @@ class PaletteSettings { PaletteSettings({this.primaryPalette, this.accentPalette}); - PaletteSettings.fromJson(Map json): - primaryPalette = json['primaryPalette'] != null ? Palette.fromJson(json['primaryPalette']) : null, - accentPalette = json['accentPalette'] != null ? Palette.fromJson(json['accentPalette']) : null; + PaletteSettings.fromJson(Map json) + : primaryPalette = json['primaryPalette'] != null + ? Palette.fromJson(json['primaryPalette']) + : null, + accentPalette = json['accentPalette'] != null + ? Palette.fromJson(json['accentPalette']) + : null; Map toJson() { var json = {}; @@ -100,18 +105,32 @@ class WhiteLabelingParams { String? platformVersion; String? customCss; - WhiteLabelingParams({this.logoImageUrl, this.logoImageChecksum, this.logoImageHeight, this.appTitle, - this.favicon, this.faviconChecksum, this.paletteSettings, this.helpLinkBaseUrl, this.enableHelpLinks, - this.showNameVersion, this.platformName, this.platformVersion, this.customCss}); + WhiteLabelingParams( + {this.logoImageUrl, + this.logoImageChecksum, + this.logoImageHeight, + this.appTitle, + this.favicon, + this.faviconChecksum, + this.paletteSettings, + this.helpLinkBaseUrl, + this.enableHelpLinks, + this.showNameVersion, + this.platformName, + this.platformVersion, + this.customCss}); - WhiteLabelingParams.fromJson(Map json): - logoImageUrl = json['logoImageUrl'], + WhiteLabelingParams.fromJson(Map json) + : logoImageUrl = json['logoImageUrl'], logoImageChecksum = json['logoImageChecksum'], logoImageHeight = json['logoImageHeight'], appTitle = json['appTitle'], - favicon = json['favicon'] != null ? Favicon.fromJson(json['favicon']) : null, + favicon = + json['favicon'] != null ? Favicon.fromJson(json['favicon']) : null, faviconChecksum = json['faviconChecksum'], - paletteSettings = json['paletteSettings'] != null ? PaletteSettings.fromJson(json['paletteSettings']) : null, + paletteSettings = json['paletteSettings'] != null + ? PaletteSettings.fromJson(json['paletteSettings']) + : null, helpLinkBaseUrl = json['helpLinkBaseUrl'], enableHelpLinks = json['enableHelpLinks'], showNameVersion = json['showNameVersion'], @@ -163,7 +182,7 @@ class WhiteLabelingParams { } String whiteLabelingParamsString([String? toStringBody]) { - return 'logoImageUrl: ${logoImageUrl != null ? '['+logoImageUrl!.substring(0, min(30, logoImageUrl!.length)) + '...]' : 'null'}, logoImageChecksum: $logoImageChecksum, logoImageHeight: $logoImageHeight, ' + return 'logoImageUrl: ${logoImageUrl != null ? '[' + logoImageUrl!.substring(0, min(30, logoImageUrl!.length)) + '...]' : 'null'}, logoImageChecksum: $logoImageChecksum, logoImageHeight: $logoImageHeight, ' 'appTitle: $appTitle, favicon: $favicon, faviconChecksum: $faviconChecksum, paletteSettings: $paletteSettings, ' 'helpLinkBaseUrl: $helpLinkBaseUrl, enableHelpLinks: $enableHelpLinks, showNameVersion: $showNameVersion, ' 'platformName: $platformName, platformVersion: $platformVersion, customCss: $customCss${toStringBody != null ? ', ' + toStringBody : ''}'; @@ -210,8 +229,8 @@ class LoginWhiteLabelingParams extends WhiteLabelingParams { platformVersion: platformVersion, customCss: customCss); - LoginWhiteLabelingParams.fromJson(Map json): - pageBackgroundColor = json['pageBackgroundColor'], + LoginWhiteLabelingParams.fromJson(Map json) + : pageBackgroundColor = json['pageBackgroundColor'], darkForeground = json['darkForeground'], domainName = json['domainName'], baseUrl = json['baseUrl'], diff --git a/lib/src/model/widget_models.dart b/lib/src/model/widget_models.dart index 46ed0d2..7ca7f92 100644 --- a/lib/src/model/widget_models.dart +++ b/lib/src/model/widget_models.dart @@ -6,7 +6,6 @@ import 'id/tenant_id.dart'; import 'id/widget_type_id.dart'; class BaseWidgetType extends BaseData with HasTenantId { - TenantId? tenantId; String name; String bundleAlias; @@ -14,8 +13,10 @@ class BaseWidgetType extends BaseData with HasTenantId { BaseWidgetType(this.name, this.bundleAlias); - BaseWidgetType.fromJson(Map json): - tenantId = json['tenantId'] != null ? TenantId.fromJson(json['tenantId']) : null, + BaseWidgetType.fromJson(Map json) + : tenantId = json['tenantId'] != null + ? TenantId.fromJson(json['tenantId']) + : null, name = json['name'], bundleAlias = json['bundleAlias'], alias = json['alias'], @@ -51,33 +52,33 @@ class BaseWidgetType extends BaseData with HasTenantId { } class WidgetTypeInfo extends BaseWidgetType { - String? image; String? description; String widgetType; - WidgetTypeInfo(String name, String bundleAlias, this.widgetType): super(name, bundleAlias); + WidgetTypeInfo(String name, String bundleAlias, this.widgetType) + : super(name, bundleAlias); - WidgetTypeInfo.fromJson(Map json): - image = json['image'], + WidgetTypeInfo.fromJson(Map json) + : image = json['image'], description = json['description'], widgetType = json['widgetType'], super.fromJson(json); @override String toString() { - return 'WidgetTypeInfo{${baseWidgetTypeString('widgetType: $widgetType, image: ${image != null ? '['+image!.substring(0, min(30, image!.length)) + '...]' : 'null'}, description: $description')}}'; + return 'WidgetTypeInfo{${baseWidgetTypeString('widgetType: $widgetType, image: ${image != null ? '[' + image!.substring(0, min(30, image!.length)) + '...]' : 'null'}, description: $description')}}'; } } class WidgetType extends BaseWidgetType { - Map descriptor; - WidgetType(String name, String bundleAlias, this.descriptor): super(name, bundleAlias); + WidgetType(String name, String bundleAlias, this.descriptor) + : super(name, bundleAlias); - WidgetType.fromJson(Map json): - descriptor = json['descriptor'], + WidgetType.fromJson(Map json) + : descriptor = json['descriptor'], super.fromJson(json); @override @@ -98,14 +99,15 @@ class WidgetType extends BaseWidgetType { } class WidgetTypeDetails extends WidgetType { - String? image; String? description; - WidgetTypeDetails(String name, String bundleAlias, Map descriptor): super(name, bundleAlias, descriptor); + WidgetTypeDetails( + String name, String bundleAlias, Map descriptor) + : super(name, bundleAlias, descriptor); - WidgetTypeDetails.fromJson(Map json): - image = json['image'], + WidgetTypeDetails.fromJson(Map json) + : image = json['image'], description = json['description'], super.fromJson(json); @@ -123,6 +125,6 @@ class WidgetTypeDetails extends WidgetType { @override String toString() { - return 'WidgetTypeDetails{${widgetTypeString('image: ${image != null ? '['+image!.substring(0, min(30, image!.length)) + '...]' : 'null'}, description: $description')}}'; + return 'WidgetTypeDetails{${widgetTypeString('image: ${image != null ? '[' + image!.substring(0, min(30, image!.length)) + '...]' : 'null'}, description: $description')}}'; } } diff --git a/lib/src/model/widgets_bundle_model.dart b/lib/src/model/widgets_bundle_model.dart index 14dedb6..babbc8d 100644 --- a/lib/src/model/widgets_bundle_model.dart +++ b/lib/src/model/widgets_bundle_model.dart @@ -1,4 +1,3 @@ - import 'dart:math'; import 'base_data.dart'; @@ -7,7 +6,6 @@ import 'id/tenant_id.dart'; import 'id/widgets_bundle_id.dart'; class WidgetsBundle extends BaseData with HasTenantId { - TenantId? tenantId; String? alias; String title; @@ -16,8 +14,10 @@ class WidgetsBundle extends BaseData with HasTenantId { WidgetsBundle(this.title); - WidgetsBundle.fromJson(Map json): - tenantId = json['tenantId'] != null ? TenantId.fromJson(json['tenantId']) : null, + WidgetsBundle.fromJson(Map json) + : tenantId = json['tenantId'] != null + ? TenantId.fromJson(json['tenantId']) + : null, alias = json['alias'], title = json['title'], image = json['image'], @@ -50,6 +50,6 @@ class WidgetsBundle extends BaseData with HasTenantId { @override String toString() { - return 'WidgetsBundle{${baseDataString('tenantId: $tenantId, alias: $alias, title: $title, image: ${image != null ? '['+image!.substring(0, min(30, image!.length)) + '...]' : 'null'}, description: $description')}}'; + return 'WidgetsBundle{${baseDataString('tenantId: $tenantId, alias: $alias, title: $title, image: ${image != null ? '[' + image!.substring(0, min(30, image!.length)) + '...]' : 'null'}, description: $description')}}'; } } diff --git a/lib/src/service/admin_service.dart b/lib/src/service/admin_service.dart index d73723f..1981ddd 100644 --- a/lib/src/service/admin_service.dart +++ b/lib/src/service/admin_service.dart @@ -11,58 +11,78 @@ class AdminService { AdminService._internal(this._tbClient); - Future getAdminSettings(String key, {RequestConfig? requestConfig}) async { + Future getAdminSettings(String key, + {RequestConfig? requestConfig}) async { return nullIfNotFound( (RequestConfig requestConfig) async { var response = await _tbClient.get>( - '/api/admin/settings/$key', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? AdminSettings.fromJson(response.data!) : null; + '/api/admin/settings/$key', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? AdminSettings.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveAdminSettings(AdminSettings adminSettings, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/admin/settings', data: jsonEncode(adminSettings), + Future saveAdminSettings(AdminSettings adminSettings, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/admin/settings', + data: jsonEncode(adminSettings), options: defaultHttpOptionsFromConfig(requestConfig)); return AdminSettings.fromJson(response.data!); } - Future sendTestMail(AdminSettings adminSettings, {RequestConfig? requestConfig}) async { - await _tbClient.post>('/api/admin/settings/testMail', data: jsonEncode(adminSettings), + Future sendTestMail(AdminSettings adminSettings, + {RequestConfig? requestConfig}) async { + await _tbClient.post>('/api/admin/settings/testMail', + data: jsonEncode(adminSettings), options: defaultHttpOptionsFromConfig(requestConfig)); } - Future sendTestSms(TestSmsRequest testSmsRequest, {RequestConfig? requestConfig}) async { - await _tbClient.post>('/api/admin/settings/testSms', data: jsonEncode(testSmsRequest), + Future sendTestSms(TestSmsRequest testSmsRequest, + {RequestConfig? requestConfig}) async { + await _tbClient.post>('/api/admin/settings/testSms', + data: jsonEncode(testSmsRequest), options: defaultHttpOptionsFromConfig(requestConfig)); } - Future getSecuritySettings({RequestConfig? requestConfig}) async { + Future getSecuritySettings( + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>( - '/api/admin/securitySettings', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? SecuritySettings.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/admin/securitySettings', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? SecuritySettings.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveSecuritySettings(SecuritySettings securitySettings, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/admin/securitySettings', data: jsonEncode(SecuritySettings), + Future saveSecuritySettings( + SecuritySettings securitySettings, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/admin/securitySettings', + data: jsonEncode(SecuritySettings), options: defaultHttpOptionsFromConfig(requestConfig)); return SecuritySettings.fromJson(response.data!); } Future checkUpdates({RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>( - '/api/admin/updates', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? UpdateMessage.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/admin/updates', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? UpdateMessage.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); diff --git a/lib/src/service/alarm_service.dart b/lib/src/service/alarm_service.dart index 48ad5f0..4e1225c 100644 --- a/lib/src/service/alarm_service.dart +++ b/lib/src/service/alarm_service.dart @@ -20,30 +20,37 @@ class AlarmService { AlarmService._internal(this._tbClient); - Future getAlarm(String alarmId, {RequestConfig? requestConfig}) async { + Future getAlarm(String alarmId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/alarm/$alarmId', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? Alarm.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/alarm/$alarmId', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null ? Alarm.fromJson(response.data!) : null; }, requestConfig: requestConfig, ); } - Future getAlarmInfo(String alarmId, {RequestConfig? requestConfig}) async { + Future getAlarmInfo(String alarmId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/alarm/info/$alarmId', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? AlarmInfo.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/alarm/info/$alarmId', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? AlarmInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } Future saveAlarm(Alarm alarm, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/alarm', data: jsonEncode(alarm), + var response = await _tbClient.post>('/api/alarm', + data: jsonEncode(alarm), options: defaultHttpOptionsFromConfig(requestConfig)); return Alarm.fromJson(response.data!); } @@ -53,41 +60,53 @@ class AlarmService { options: defaultHttpOptionsFromConfig(requestConfig)); } - Future clearAlarm(String alarmId, {RequestConfig? requestConfig}) async { + Future clearAlarm(String alarmId, + {RequestConfig? requestConfig}) async { await _tbClient.post('/api/alarm/$alarmId/clear', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future deleteAlarm(String alarmId, {RequestConfig? requestConfig}) async { + Future deleteAlarm(String alarmId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/alarm/$alarmId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getAlarms(AlarmQuery query, {RequestConfig? requestConfig}) async { + Future> getAlarms(AlarmQuery query, + {RequestConfig? requestConfig}) async { var queryParams = query.toQueryParameters(); - var response = await _tbClient.get>('/api/alarm/${query.affectedEntityId!.entityType.toShortString()}/${query.affectedEntityId!.id}', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/alarm/${query.affectedEntityId!.entityType.toShortString()}/${query.affectedEntityId!.id}', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseAlarmInfoPageData, response.data!); } - Future> getAllAlarms(AlarmQuery query, {RequestConfig? requestConfig}) async { + Future> getAllAlarms(AlarmQuery query, + {RequestConfig? requestConfig}) async { var queryParams = query.toQueryParameters(); - var response = await _tbClient.get>('/api/alarms', queryParameters: queryParams, + var response = await _tbClient.get>('/api/alarms', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseAlarmInfoPageData, response.data!); } - Future getHighestAlarmSeverity(EntityId entityId, {AlarmSearchStatus? alarmSearchStatus, - AlarmStatus? alarmStatus, RequestConfig? requestConfig}) async { + Future getHighestAlarmSeverity(EntityId entityId, + {AlarmSearchStatus? alarmSearchStatus, + AlarmStatus? alarmStatus, + RequestConfig? requestConfig}) async { var queryParams = {}; if (alarmSearchStatus != null) { queryParams['searchStatus'] = alarmSearchStatus.toShortString(); } else if (alarmStatus != null) { queryParams['status'] = alarmStatus.toShortString(); } - var response = await _tbClient.get('/api/alarm/highestSeverity/${entityId.entityType.toShortString()}/${entityId.id}', - queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? alarmSeverityFromString(response.data!) : null; + var response = await _tbClient.get( + '/api/alarm/highestSeverity/${entityId.entityType.toShortString()}/${entityId.id}', + queryParameters: queryParams, + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? alarmSeverityFromString(response.data!) + : null; } - } diff --git a/lib/src/service/asset_service.dart b/lib/src/service/asset_service.dart index 194c815..0ed37bb 100644 --- a/lib/src/service/asset_service.dart +++ b/lib/src/service/asset_service.dart @@ -17,41 +17,50 @@ class AssetService { AssetService._internal(this._tbClient); - Future getAsset(String assetId, {RequestConfig? requestConfig}) async { + Future getAsset(String assetId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/asset/$assetId', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? Asset.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/asset/$assetId', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null ? Asset.fromJson(response.data!) : null; }, requestConfig: requestConfig, ); } Future saveAsset(Asset asset, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/asset', data: jsonEncode(asset), + var response = await _tbClient.post>('/api/asset', + data: jsonEncode(asset), options: defaultHttpOptionsFromConfig(requestConfig)); return Asset.fromJson(response.data!); } - - Future deleteAsset(String assetId, {RequestConfig? requestConfig}) async { + Future deleteAsset(String assetId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/asset/$assetId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getTenantAssets(PageLink pageLink, {String type = '', RequestConfig? requestConfig}) async { + Future> getTenantAssets(PageLink pageLink, + {String type = '', RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); queryParams['type'] = type; - var response = await _tbClient.get>('/api/tenant/assets', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/tenant/assets', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseAssetPageData, response.data!); } - Future getTenantAsset(String assetName, {RequestConfig? requestConfig}) async { + Future getTenantAsset(String assetName, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/tenant/assets', queryParameters: {'assetName': assetName}, + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/tenant/assets', + queryParameters: {'assetName': assetName}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data != null ? Asset.fromJson(response.data!) : null; }, @@ -59,44 +68,58 @@ class AssetService { ); } - Future> getCustomerAssets(String customerId, PageLink pageLink, {String type = '', RequestConfig? requestConfig}) async { + Future> getCustomerAssets( + String customerId, PageLink pageLink, + {String type = '', RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); queryParams['type'] = type; - var response = await _tbClient.get>('/api/customer/$customerId/assets', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/customer/$customerId/assets', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseAssetPageData, response.data!); } - Future> getUserAssets(PageLink pageLink, {String type = '', RequestConfig? requestConfig}) async { + Future> getUserAssets(PageLink pageLink, + {String type = '', RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); queryParams['type'] = type; - var response = await _tbClient.get>('/api/user/assets', queryParameters: queryParams, + var response = await _tbClient.get>('/api/user/assets', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseAssetPageData, response.data!); } - Future> getAssetsByIds(List assetIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/assets', queryParameters: {'assetIds': assetIds.join(',')}, + Future> getAssetsByIds(List assetIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/assets', + queryParameters: {'assetIds': assetIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => Asset.fromJson(e)).toList(); } - Future> findByQuery(AssetSearchQuery query, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/assets', data: jsonEncode(query), + Future> findByQuery(AssetSearchQuery query, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/assets', + data: jsonEncode(query), options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => Asset.fromJson(e)).toList(); } - Future> getAssetsByEntityGroupId(String entityGroupId, PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroup/$entityGroupId/assets', queryParameters: pageLink.toQueryParameters(), + Future> getAssetsByEntityGroupId( + String entityGroupId, PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/entityGroup/$entityGroupId/assets', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseAssetPageData, response.data!); } - Future> getAssetTypes({RequestConfig? requestConfig}) async { + Future> getAssetTypes( + {RequestConfig? requestConfig}) async { var response = await _tbClient.get>('/api/asset/types', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntitySubtype.fromJson(e)).toList(); } - } diff --git a/lib/src/service/attribute_service.dart b/lib/src/service/attribute_service.dart index f0436f5..c098257 100644 --- a/lib/src/service/attribute_service.dart +++ b/lib/src/service/attribute_service.dart @@ -13,44 +13,55 @@ class AttributeService { AttributeService._internal(this._tbClient); - Future> getAttributeKeys(EntityId entityId, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/keys/attributes', + Future> getAttributeKeys(EntityId entityId, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/keys/attributes', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!; } - Future> getAttributeKeysByScope(EntityId entityId, String scope, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/keys/attributes/$scope', + Future> getAttributeKeysByScope(EntityId entityId, String scope, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/keys/attributes/$scope', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!; } - Future> getAttributeKvEntries(EntityId entityId, List keys, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/values/attributes', - queryParameters: { - 'keys': keys.join(',') - }, + Future> getAttributeKvEntries( + EntityId entityId, List keys, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/values/attributes', + queryParameters: {'keys': keys.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return RestJsonConverter.toAttributes(response.data); } - Future> getAttributesByScope(EntityId entityId, String scope, List keys, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/values/attributes/$scope', - queryParameters: { - 'keys': keys.join(',') - }, + Future> getAttributesByScope( + EntityId entityId, String scope, List keys, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/values/attributes/$scope', + queryParameters: {'keys': keys.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return RestJsonConverter.toAttributes(response.data); } - Future> getTimeseriesKeys(EntityId entityId, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/keys/timeseries', + Future> getTimeseriesKeys(EntityId entityId, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/keys/timeseries', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!; } - Future> getLatestTimeseries(EntityId entityId, List keys, {bool useStrictDataTypes = true, RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/values/timeseries', + Future> getLatestTimeseries( + EntityId entityId, List keys, + {bool useStrictDataTypes = true, RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/values/timeseries', queryParameters: { 'keys': keys.join(','), 'useStrictDataTypes': useStrictDataTypes @@ -61,21 +72,20 @@ class AttributeService { Future> getTimeseries(EntityId entityId, List keys, {int? interval, - Aggregation? agg, - Direction? sortOrder, - int? startTime, - int? endTime, - int? limit, - bool useStrictDataTypes = true, - RequestConfig? requestConfig}) async { - + Aggregation? agg, + Direction? sortOrder, + int? startTime, + int? endTime, + int? limit, + bool useStrictDataTypes = true, + RequestConfig? requestConfig}) async { var queryParameters = { - 'keys': keys.join(','), - 'interval': interval == null ? '0' : interval.toString(), - 'agg': agg == null ? 'NONE' : agg.toShortString(), - 'limit': limit != null ? limit.toString() : '100', - 'orderBy': sortOrder != null ? sortOrder.toShortString() : 'DESC', - 'useStrictDataTypes': useStrictDataTypes + 'keys': keys.join(','), + 'interval': interval == null ? '0' : interval.toString(), + 'agg': agg == null ? 'NONE' : agg.toShortString(), + 'limit': limit != null ? limit.toString() : '100', + 'orderBy': sortOrder != null ? sortOrder.toShortString() : 'DESC', + 'useStrictDataTypes': useStrictDataTypes }; if (startTime != null) { @@ -86,15 +96,18 @@ class AttributeService { queryParameters['endTs'] = endTime.toString(); } - var response = await _tbClient.get>('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/values/timeseries', + var response = await _tbClient.get>( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/values/timeseries', queryParameters: queryParameters, options: defaultHttpOptionsFromConfig(requestConfig)); return RestJsonConverter.toTimeseries(response.data); } - Future saveDeviceAttributes(String deviceId, String scope, dynamic request, {RequestConfig? requestConfig}) async { + Future saveDeviceAttributes( + String deviceId, String scope, dynamic request, + {RequestConfig? requestConfig}) async { return isSuccessful( - (RequestConfig requestConfig) async { + (RequestConfig requestConfig) async { return _tbClient.post('/api/plugins/telemetry/$deviceId/$scope', data: jsonEncode(request), options: defaultHttpOptionsFromConfig(requestConfig)); @@ -103,10 +116,13 @@ class AttributeService { ); } - Future saveEntityAttributesV1(EntityId entityId, String scope, dynamic request, {RequestConfig? requestConfig}) async { + Future saveEntityAttributesV1( + EntityId entityId, String scope, dynamic request, + {RequestConfig? requestConfig}) async { return isSuccessful( - (RequestConfig requestConfig) async { - return _tbClient.post('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/$scope', + (RequestConfig requestConfig) async { + return _tbClient.post( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/$scope', data: jsonEncode(request), options: defaultHttpOptionsFromConfig(requestConfig)); }, @@ -114,10 +130,13 @@ class AttributeService { ); } - Future saveEntityAttributesV2(EntityId entityId, String scope, dynamic request, {RequestConfig? requestConfig}) async { + Future saveEntityAttributesV2( + EntityId entityId, String scope, dynamic request, + {RequestConfig? requestConfig}) async { return isSuccessful( - (RequestConfig requestConfig) async { - return _tbClient.post('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/attributes/$scope', + (RequestConfig requestConfig) async { + return _tbClient.post( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/attributes/$scope', data: jsonEncode(request), options: defaultHttpOptionsFromConfig(requestConfig)); }, @@ -125,10 +144,13 @@ class AttributeService { ); } - Future saveEntityTelemetry(EntityId entityId, String scope, dynamic request, {RequestConfig? requestConfig}) async { + Future saveEntityTelemetry( + EntityId entityId, String scope, dynamic request, + {RequestConfig? requestConfig}) async { return isSuccessful( - (RequestConfig requestConfig) async { - return _tbClient.post('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/timeseries/$scope', + (RequestConfig requestConfig) async { + return _tbClient.post( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/timeseries/$scope', data: jsonEncode(request), options: defaultHttpOptionsFromConfig(requestConfig)); }, @@ -136,10 +158,13 @@ class AttributeService { ); } - Future saveEntityTelemetryWithTTL(EntityId entityId, String scope, int ttl, dynamic request, {RequestConfig? requestConfig}) async { + Future saveEntityTelemetryWithTTL( + EntityId entityId, String scope, int ttl, dynamic request, + {RequestConfig? requestConfig}) async { return isSuccessful( - (RequestConfig requestConfig) async { - return _tbClient.post('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/timeseries/$scope/$ttl', + (RequestConfig requestConfig) async { + return _tbClient.post( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/timeseries/$scope/$ttl', data: jsonEncode(request), options: defaultHttpOptionsFromConfig(requestConfig)); }, @@ -148,12 +173,11 @@ class AttributeService { } Future deleteEntityTimeseries(EntityId entityId, List keys, - { required bool deleteAllDataForKeys, - required int startTs, - required int endTs, - required bool rewriteLatestIfDeleted, - RequestConfig? requestConfig}) async { - + {required bool deleteAllDataForKeys, + required int startTs, + required int endTs, + required bool rewriteLatestIfDeleted, + RequestConfig? requestConfig}) async { var queryParameters = { 'keys': keys.join(','), 'deleteAllDataForKeys': deleteAllDataForKeys.toString(), @@ -163,8 +187,9 @@ class AttributeService { }; return isSuccessful( - (RequestConfig requestConfig) async { - return _tbClient.delete('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/timeseries/delete', + (RequestConfig requestConfig) async { + return _tbClient.delete( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/timeseries/delete', queryParameters: queryParameters, options: defaultHttpOptionsFromConfig(requestConfig)); }, @@ -172,26 +197,27 @@ class AttributeService { ); } - Future deleteDeviceAttributes(String deviceId, String scope, List keys, {RequestConfig? requestConfig}) async { + Future deleteDeviceAttributes( + String deviceId, String scope, List keys, + {RequestConfig? requestConfig}) async { return isSuccessful( - (RequestConfig requestConfig) async { + (RequestConfig requestConfig) async { return _tbClient.delete('/api/plugins/telemetry/$deviceId/$scope', - queryParameters: { - 'keys': keys.join(',') - }, + queryParameters: {'keys': keys.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); }, requestConfig: requestConfig, ); } - Future deleteEntityAttributes(EntityId entityId, String scope, List keys, {RequestConfig? requestConfig}) async { + Future deleteEntityAttributes( + EntityId entityId, String scope, List keys, + {RequestConfig? requestConfig}) async { return isSuccessful( - (RequestConfig requestConfig) async { - return _tbClient.delete('/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/$scope', - queryParameters: { - 'keys': keys.join(',') - }, + (RequestConfig requestConfig) async { + return _tbClient.delete( + '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/$scope', + queryParameters: {'keys': keys.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); }, requestConfig: requestConfig, diff --git a/lib/src/service/audit_log_service.dart b/lib/src/service/audit_log_service.dart index 6798275..f6e5747 100644 --- a/lib/src/service/audit_log_service.dart +++ b/lib/src/service/audit_log_service.dart @@ -19,32 +19,45 @@ class AuditLogService { AuditLogService._internal(this._tbClient); - Future> getAuditLogs(TimePageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getAuditLogs(TimePageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); - var response = await _tbClient.get>('/api/audit/logs', queryParameters: queryParams, + var response = await _tbClient.get>('/api/audit/logs', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseAuditLogPageData, response.data!); } - Future> getAuditLogsByCustomerId(String customerId, TimePageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getAuditLogsByCustomerId( + String customerId, TimePageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); - var response = await _tbClient.get>('/api/audit/logs/customer/$customerId', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/audit/logs/customer/$customerId', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseAuditLogPageData, response.data!); } - Future> getAuditLogsByUserId(String userId, TimePageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getAuditLogsByUserId( + String userId, TimePageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); - var response = await _tbClient.get>('/api/audit/logs/user/$userId', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/audit/logs/user/$userId', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseAuditLogPageData, response.data!); } - Future> getAuditLogsByEntityId(EntityId entityId, TimePageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getAuditLogsByEntityId( + EntityId entityId, TimePageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); - var response = await _tbClient.get>('/api/audit/logs/entity/${entityId.entityType.toShortString()}/${entityId.id}', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/audit/logs/entity/${entityId.entityType.toShortString()}/${entityId.id}', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseAuditLogPageData, response.data!); } - } diff --git a/lib/src/service/blob_entity_service.dart b/lib/src/service/blob_entity_service.dart index aa4dd05..2100db2 100644 --- a/lib/src/service/blob_entity_service.dart +++ b/lib/src/service/blob_entity_service.dart @@ -5,7 +5,8 @@ import '../model/page/page_data.dart'; import '../model/blob_entity_models.dart'; import '../thingsboard_client_base.dart'; -PageData parseBlobEntityInfoPageData(Map json) { +PageData parseBlobEntityInfoPageData( + Map json) { return PageData.fromJson(json, (json) => BlobEntityInfo.fromJson(json)); } @@ -18,23 +19,29 @@ class BlobEntityService { BlobEntityService._internal(this._tbClient); - Future getBlobEntityInfo(String blobEntityInfoId, {RequestConfig? requestConfig}) async { + Future getBlobEntityInfo(String blobEntityInfoId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/blobEntity/info/$blobEntityInfoId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/blobEntity/info/$blobEntityInfoId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? BlobEntityWithCustomerInfo.fromJson(response.data!) : null; + return response.data != null + ? BlobEntityWithCustomerInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future downloadBlobEntity(String blobEntityId, {RequestConfig? requestConfig}) async { + Future downloadBlobEntity(String blobEntityId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { + (RequestConfig requestConfig) async { var options = defaultHttpOptionsFromConfig(requestConfig); options.responseType = ResponseType.stream; - var response = await _tbClient.get('/api/blobEntity/$blobEntityId/download', + var response = await _tbClient.get( + '/api/blobEntity/$blobEntityId/download', options: options); return response.data; }, @@ -42,23 +49,28 @@ class BlobEntityService { ); } - Future deleteBlobEntity(String blobEntityId, {RequestConfig? requestConfig}) async { + Future deleteBlobEntity(String blobEntityId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/blobEntity/$blobEntityId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getBlobEntities(TimePageLink timePageLink, {String type = '', RequestConfig? requestConfig}) async { + Future> getBlobEntities(TimePageLink timePageLink, + {String type = '', RequestConfig? requestConfig}) async { var queryParams = timePageLink.toQueryParameters(); queryParams['type'] = type; - var response = await _tbClient.get>('/api/blobEntities', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/blobEntities', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseBlobEntityInfoPageData, response.data!); } - Future> getBlobEntitiesByIds(List blobEntityIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/blobEntities', queryParameters: {'blobEntityIds': blobEntityIds.join(',')}, + Future> getBlobEntitiesByIds(List blobEntityIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/blobEntities', + queryParameters: {'blobEntityIds': blobEntityIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => BlobEntityInfo.fromJson(e)).toList(); } - } diff --git a/lib/src/service/component_descriptor_service.dart b/lib/src/service/component_descriptor_service.dart index b9f4cde..d064969 100644 --- a/lib/src/service/component_descriptor_service.dart +++ b/lib/src/service/component_descriptor_service.dart @@ -9,31 +9,44 @@ class ComponentDescriptorService { ComponentDescriptorService._internal(this._tbClient); - Future getComponentDescriptorByClazz(String componentDescriptorClazz, {RequestConfig? requestConfig}) async { + Future getComponentDescriptorByClazz( + String componentDescriptorClazz, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { + (RequestConfig requestConfig) async { var response = await _tbClient.get>( - '/api/component/$componentDescriptorClazz', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? ComponentDescriptor.fromJson(response.data!) : null; + '/api/component/$componentDescriptorClazz', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? ComponentDescriptor.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future> getComponentDescriptorsByType(ComponentType componentType, {RuleChainType ruleChainType = RuleChainType.CORE, RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/components/${componentType.toShortString()}', queryParameters: {'ruleChainType': ruleChainType.toShortString()}, + Future> getComponentDescriptorsByType( + ComponentType componentType, + {RuleChainType ruleChainType = RuleChainType.CORE, + RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/components/${componentType.toShortString()}', + queryParameters: {'ruleChainType': ruleChainType.toShortString()}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => ComponentDescriptor.fromJson(e)).toList(); } - Future> getComponentDescriptorsByTypes(List componentTypes, {RuleChainType ruleChainType = RuleChainType.CORE, RequestConfig? requestConfig}) async { + Future> getComponentDescriptorsByTypes( + List componentTypes, + {RuleChainType ruleChainType = RuleChainType.CORE, + RequestConfig? requestConfig}) async { var response = await _tbClient.get>('/api/components', queryParameters: { - 'componentTypes': componentTypes.map((e) => e.toShortString()).join(','), - 'ruleChainType': ruleChainType.toShortString() + 'componentTypes': + componentTypes.map((e) => e.toShortString()).join(','), + 'ruleChainType': ruleChainType.toShortString() }, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => ComponentDescriptor.fromJson(e)).toList(); } - } diff --git a/lib/src/service/converter_service.dart b/lib/src/service/converter_service.dart index 7b288a4..2977391 100644 --- a/lib/src/service/converter_service.dart +++ b/lib/src/service/converter_service.dart @@ -19,61 +19,81 @@ class ConverterService { ConverterService._internal(this._tbClient); - Future getConverter(String converterId, {RequestConfig? requestConfig}) async { + Future getConverter(String converterId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/converter/$converterId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/converter/$converterId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? Converter.fromJson(response.data!) : null; + return response.data != null + ? Converter.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveConverter(Converter converter, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/converter', data: jsonEncode(converter), + Future saveConverter(Converter converter, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/converter', + data: jsonEncode(converter), options: defaultHttpOptionsFromConfig(requestConfig)); return Converter.fromJson(response.data!); } - Future> getConverters(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/converters', queryParameters: pageLink.toQueryParameters(), + Future> getConverters(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/converters', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseConverterPageData, response.data!); } - Future deleteConverter(String converterId, {RequestConfig? requestConfig}) async { + Future deleteConverter(String converterId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/converter/$converterId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getConvertersByIds(List converterIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/converters', queryParameters: {'converterIds': converterIds.join(',')}, + Future> getConvertersByIds(List converterIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/converters', + queryParameters: {'converterIds': converterIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => Converter.fromJson(e)).toList(); } - Future testUpLink(TestUpLinkInputParams inputParams, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/converter/testUpLink', data: jsonEncode(inputParams), + Future testUpLink(TestUpLinkInputParams inputParams, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/converter/testUpLink', + data: jsonEncode(inputParams), options: defaultHttpOptionsFromConfig(requestConfig)); return TestConverterResult.fromJson(response.data!); } - Future testDownLink(TestDownLinkInputParams inputParams, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/converter/testDownLink', data: jsonEncode(inputParams), + Future testDownLink(TestDownLinkInputParams inputParams, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/converter/testDownLink', + data: jsonEncode(inputParams), options: defaultHttpOptionsFromConfig(requestConfig)); return TestConverterResult.fromJson(response.data!); } - Future getLatestConverterDebugInput(String converterId, {RequestConfig? requestConfig}) async { + Future getLatestConverterDebugInput(String converterId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/converter/$converterId/debugIn', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/converter/$converterId/debugIn', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? ConverterDebugInput.fromJson(response.data!) : null; + return response.data != null + ? ConverterDebugInput.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - } diff --git a/lib/src/service/custom_menu_service.dart b/lib/src/service/custom_menu_service.dart index e643980..74065fa 100644 --- a/lib/src/service/custom_menu_service.dart +++ b/lib/src/service/custom_menu_service.dart @@ -15,30 +15,39 @@ class CustomMenuService { Future getCustomMenu({RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/customMenu/customMenu', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/customMenu/customMenu', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? CustomMenu.fromJson(response.data!) : null; + return response.data != null + ? CustomMenu.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getCurrentCustomMenu({RequestConfig? requestConfig}) async { + Future getCurrentCustomMenu( + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/customMenu/currentCustomMenu', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/customMenu/currentCustomMenu', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? CustomMenu.fromJson(response.data!) : null; + return response.data != null + ? CustomMenu.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveCustomMenu(CustomMenu customMenu, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/customMenu/customMenu', data: jsonEncode(customMenu), + Future saveCustomMenu(CustomMenu customMenu, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/customMenu/customMenu', + data: jsonEncode(customMenu), options: defaultHttpOptionsFromConfig(requestConfig)); return CustomMenu.fromJson(response.data!); } - } diff --git a/lib/src/service/custom_translation_service.dart b/lib/src/service/custom_translation_service.dart index 86d7771..a964df8 100644 --- a/lib/src/service/custom_translation_service.dart +++ b/lib/src/service/custom_translation_service.dart @@ -13,32 +13,43 @@ class CustomTranslationService { CustomTranslationService._internal(this._tbClient); - Future getCustomTranslation({RequestConfig? requestConfig}) async { + Future getCustomTranslation( + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/customTranslation/customTranslation', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/customTranslation/customTranslation', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? CustomTranslation.fromJson(response.data!) : null; + return response.data != null + ? CustomTranslation.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getCurrentCustomTranslation({RequestConfig? requestConfig}) async { + Future getCurrentCustomTranslation( + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/customTranslation/currentCustomTranslation', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/customTranslation/currentCustomTranslation', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? CustomTranslation.fromJson(response.data!) : null; + return response.data != null + ? CustomTranslation.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveCustomTranslation(CustomTranslation customTranslation, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/customTranslation/customTranslation', data: jsonEncode(customTranslation), + Future saveCustomTranslation( + CustomTranslation customTranslation, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/customTranslation/customTranslation', + data: jsonEncode(customTranslation), options: defaultHttpOptionsFromConfig(requestConfig)); return CustomTranslation.fromJson(response.data!); } - } diff --git a/lib/src/service/customer_service.dart b/lib/src/service/customer_service.dart index 02c20da..afa6678 100644 --- a/lib/src/service/customer_service.dart +++ b/lib/src/service/customer_service.dart @@ -19,53 +19,64 @@ class CustomerService { CustomerService._internal(this._tbClient); - Future> getCustomers(PageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getCustomers(PageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); - var response = await _tbClient.get>('/api/customers', queryParameters: queryParams, + var response = await _tbClient.get>('/api/customers', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseCustomerPageData, response.data!); } - Future getCustomer(String customerId, {RequestConfig? requestConfig}) async { + Future getCustomer(String customerId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/customer/$customerId', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? Customer.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/customer/$customerId', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null ? Customer.fromJson(response.data!) : null; }, requestConfig: requestConfig, ); } - Future getShortCustomerInfo(String customerId, {RequestConfig? requestConfig}) async { + Future getShortCustomerInfo(String customerId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/customer/$customerId/shortInfo', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/customer/$customerId/shortInfo', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? ShortCustomerInfo.fromJson(response.data!) : null; + return response.data != null + ? ShortCustomerInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getCustomerTitle(String customerId, {RequestConfig? requestConfig}) async { + Future getCustomerTitle(String customerId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { + (RequestConfig requestConfig) async { var options = defaultHttpOptionsFromConfig(requestConfig); options.responseType = ResponseType.plain; - var response = await _tbClient.get('/api/customer/$customerId/title', - options: options); + var response = await _tbClient + .get('/api/customer/$customerId/title', options: options); return response.data; }, requestConfig: requestConfig, ); } - Future getTenantCustomer(String customerTitle, {RequestConfig? requestConfig}) async { + Future getTenantCustomer(String customerTitle, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/tenant/customers', - queryParameters: { 'customerTitle': customerTitle }, + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/tenant/customers', + queryParameters: {'customerTitle': customerTitle}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data != null ? Customer.fromJson(response.data!) : null; }, @@ -73,27 +84,36 @@ class CustomerService { ); } - Future saveCustomer(Customer customer, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/customer', data: jsonEncode(customer), + Future saveCustomer(Customer customer, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/customer', + data: jsonEncode(customer), options: defaultHttpOptionsFromConfig(requestConfig)); return Customer.fromJson(response.data!); } - Future deleteCustomer(String customerId, {RequestConfig? requestConfig}) async { + Future deleteCustomer(String customerId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/customer/$customerId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getUserCustomers(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/user/customers', queryParameters: pageLink.toQueryParameters(), + Future> getUserCustomers(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/user/customers', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseCustomerPageData, response.data!); } - Future> getCustomersByEntityGroupId(String entityGroupId, PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroup/$entityGroupId/customers', queryParameters: pageLink.toQueryParameters(), + Future> getCustomersByEntityGroupId( + String entityGroupId, PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/entityGroup/$entityGroupId/customers', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseCustomerPageData, response.data!); } - } diff --git a/lib/src/service/dashboard_service.dart b/lib/src/service/dashboard_service.dart index a93014c..bf770e3 100644 --- a/lib/src/service/dashboard_service.dart +++ b/lib/src/service/dashboard_service.dart @@ -29,24 +29,35 @@ class DashboardService { return response.data!; } - Future> getTenantDashboards(PageLink pageLink, {bool? mobile, RequestConfig? requestConfig}) async { + Future> getTenantDashboards(PageLink pageLink, + {bool? mobile, RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); if (mobile != null) { queryParams['mobile'] = mobile; } - var response = await _tbClient.get>('/api/tenant/dashboards', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/tenant/dashboards', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseDashboardInfoPageData, response.data!); } - Future> getTenantDashboardsByTenantId(String tenantId, PageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getTenantDashboardsByTenantId( + String tenantId, PageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); - var response = await _tbClient.get>('/api/tenant/$tenantId/dashboards', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/tenant/$tenantId/dashboards', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseDashboardInfoPageData, response.data!); } - Future> getUserDashboards(PageLink pageLink, {bool? mobile, Operation? operation, String? userId, RequestConfig? requestConfig}) async { + Future> getUserDashboards(PageLink pageLink, + {bool? mobile, + Operation? operation, + String? userId, + RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); if (operation != null) { queryParams['operation'] = operation.toShortString(); @@ -57,95 +68,129 @@ class DashboardService { if (mobile != null) { queryParams['mobile'] = mobile; } - var response = await _tbClient.get>('/api/user/dashboards', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/user/dashboards', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseDashboardInfoPageData, response.data!); } - Future> getDashboardsByIds(List dashboardIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/dashboards', queryParameters: {'dashboardIds': dashboardIds.join(',')}, + Future> getDashboardsByIds(List dashboardIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/dashboards', + queryParameters: {'dashboardIds': dashboardIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => DashboardInfo.fromJson(e)).toList(); } - Future> getGroupDashboards(String entityGroupId, PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroup/$entityGroupId/dashboards', queryParameters: pageLink.toQueryParameters(), + Future> getGroupDashboards( + String entityGroupId, PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/entityGroup/$entityGroupId/dashboards', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseDashboardInfoPageData, response.data!); } - Future importGroupDashboards(String entityGroupId, List dashboardList, {bool? overwrite, RequestConfig? requestConfig}) async { + Future importGroupDashboards( + String entityGroupId, List dashboardList, + {bool? overwrite, RequestConfig? requestConfig}) async { var queryParams = {}; if (overwrite != null) { queryParams['overwrite'] = overwrite; } - await _tbClient.post>('/api/entityGroup/$entityGroupId/dashboards/import', queryParameters: queryParams, + await _tbClient.post>( + '/api/entityGroup/$entityGroupId/dashboards/import', + queryParameters: queryParams, data: jsonEncode(dashboardList), options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> exportGroupDashboards(String entityGroupId, int limit, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroup/$entityGroupId/dashboards/export', queryParameters: { - 'limit': limit - }, - options: defaultHttpOptionsFromConfig(requestConfig)); + Future> exportGroupDashboards(String entityGroupId, int limit, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/entityGroup/$entityGroupId/dashboards/export', + queryParameters: {'limit': limit}, + options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => Dashboard.fromJson(e)).toList(); } - Future getDashboard(String dashboardId, {RequestConfig? requestConfig}) async { + Future getDashboard(String dashboardId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/dashboard/$dashboardId', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? Dashboard.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/dashboard/$dashboardId', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? Dashboard.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getDashboardInfo(String dashboardId, {RequestConfig? requestConfig}) async { + Future getDashboardInfo(String dashboardId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/dashboard/info/$dashboardId', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? DashboardInfo.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/dashboard/info/$dashboardId', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? DashboardInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveDashboard(Dashboard dashboard, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/dashboard', data: jsonEncode(dashboard), + Future saveDashboard(Dashboard dashboard, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/dashboard', + data: jsonEncode(dashboard), options: defaultHttpOptionsFromConfig(requestConfig)); return Dashboard.fromJson(response.data!); } - Future deleteDashboard(String dashboardId, {RequestConfig? requestConfig}) async { + Future deleteDashboard(String dashboardId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/dashboard/$dashboardId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future getHomeDashboard({RequestConfig? requestConfig}) async { + Future getHomeDashboard( + {RequestConfig? requestConfig}) async { var response = await _tbClient.get('/api/dashboard/home', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null && response.data is Map ? HomeDashboard.fromJson(response.data!) : null; + return response.data != null && response.data is Map + ? HomeDashboard.fromJson(response.data!) + : null; } - Future getHomeDashboardInfo({RequestConfig? requestConfig}) async { + Future getHomeDashboardInfo( + {RequestConfig? requestConfig}) async { var response = await _tbClient.get('/api/dashboard/home/info', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null && response.data is Map ? HomeDashboardInfo.fromJson(response.data!) : null; + return response.data != null && response.data is Map + ? HomeDashboardInfo.fromJson(response.data!) + : null; } - Future getTenantHomeDashboardInfo({RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/tenant/dashboard/home/info', + Future getTenantHomeDashboardInfo( + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/tenant/dashboard/home/info', options: defaultHttpOptionsFromConfig(requestConfig)); return HomeDashboardInfo.fromJson(response.data!); } - Future setTenantHomeDashboardInfo(HomeDashboardInfo homeDashboardInfo, {RequestConfig? requestConfig}) async { - await _tbClient.post>('/api/tenant/dashboard/home/info', data: jsonEncode(homeDashboardInfo), + Future setTenantHomeDashboardInfo(HomeDashboardInfo homeDashboardInfo, + {RequestConfig? requestConfig}) async { + await _tbClient.post>( + '/api/tenant/dashboard/home/info', + data: jsonEncode(homeDashboardInfo), options: defaultHttpOptionsFromConfig(requestConfig)); } - } diff --git a/lib/src/service/device_profile_service.dart b/lib/src/service/device_profile_service.dart index 538a65f..9c53e48 100644 --- a/lib/src/service/device_profile_service.dart +++ b/lib/src/service/device_profile_service.dart @@ -6,12 +6,12 @@ import '../model/device_models.dart'; import '../model/page/page_data.dart'; import '../thingsboard_client_base.dart'; - PageData parseDeviceProfilePageData(Map json) { return PageData.fromJson(json, (json) => DeviceProfile.fromJson(json)); } -PageData parseDeviceProfileInfoPageData(Map json) { +PageData parseDeviceProfileInfoPageData( + Map json) { return PageData.fromJson(json, (json) => DeviceProfileInfo.fromJson(json)); } @@ -24,85 +24,113 @@ class DeviceProfileService { DeviceProfileService._internal(this._tbClient); - Future> getDeviceProfiles(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/deviceProfiles', queryParameters: pageLink.toQueryParameters(), + Future> getDeviceProfiles(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/deviceProfiles', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseDeviceProfilePageData, response.data!); } - Future getDeviceProfile(String deviceProfileId, {RequestConfig? requestConfig}) async { + Future getDeviceProfile(String deviceProfileId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/deviceProfile/$deviceProfileId', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? DeviceProfile.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/deviceProfile/$deviceProfileId', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? DeviceProfile.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveDeviceProfile(DeviceProfile deviceProfile, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/deviceProfile', data: jsonEncode(deviceProfile), + Future saveDeviceProfile(DeviceProfile deviceProfile, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/deviceProfile', + data: jsonEncode(deviceProfile), options: defaultHttpOptionsFromConfig(requestConfig)); return DeviceProfile.fromJson(response.data!); } - Future deleteDeviceProfile(String deviceProfileId, {RequestConfig? requestConfig}) async { + Future deleteDeviceProfile(String deviceProfileId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/deviceProfile/$deviceProfileId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future setDefaultDeviceProfile(String deviceProfileId, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/deviceProfile/$deviceProfileId/default', + Future setDefaultDeviceProfile(String deviceProfileId, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/deviceProfile/$deviceProfileId/default', options: defaultHttpOptionsFromConfig(requestConfig)); return DeviceProfile.fromJson(response.data!); } - Future getDefaultDeviceProfileInfo({RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/deviceProfileInfo/default', + Future getDefaultDeviceProfileInfo( + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/deviceProfileInfo/default', options: defaultHttpOptionsFromConfig(requestConfig)); return DeviceProfileInfo.fromJson(response.data!); } - Future getDeviceProfileInfo(String deviceProfileId, {RequestConfig? requestConfig}) async { + Future getDeviceProfileInfo(String deviceProfileId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/deviceProfileInfo/$deviceProfileId', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? DeviceProfileInfo.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/deviceProfileInfo/$deviceProfileId', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? DeviceProfileInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future> getDeviceProfileInfos(PageLink pageLink, {DeviceTransportType? transportType, RequestConfig? requestConfig}) async { + Future> getDeviceProfileInfos(PageLink pageLink, + {DeviceTransportType? transportType, + RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); if (transportType != null) { queryParams['transportType'] = transportType.toShortString(); } - var response = await _tbClient.get>('/api/deviceProfileInfos', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/deviceProfileInfos', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseDeviceProfileInfoPageData, response.data!); } - Future> getDeviceProfileDevicesAttributesKeys({String? deviceProfileId, RequestConfig? requestConfig}) async { + Future> getDeviceProfileDevicesAttributesKeys( + {String? deviceProfileId, RequestConfig? requestConfig}) async { var queryParams = {}; if (deviceProfileId != null) { queryParams['deviceProfileId'] = deviceProfileId; } - var response = await _tbClient.get>('/api/deviceProfile/devices/keys/attributes', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/deviceProfile/devices/keys/attributes', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!; } - Future> getDeviceProfileDevicesTimeseriesKeys({String? deviceProfileId, RequestConfig? requestConfig}) async { + Future> getDeviceProfileDevicesTimeseriesKeys( + {String? deviceProfileId, RequestConfig? requestConfig}) async { var queryParams = {}; if (deviceProfileId != null) { queryParams['deviceProfileId'] = deviceProfileId; } - var response = await _tbClient.get>('/api/deviceProfile/devices/keys/timeseries', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/deviceProfile/devices/keys/timeseries', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!; } - } diff --git a/lib/src/service/device_service.dart b/lib/src/service/device_service.dart index bdefc69..533169d 100644 --- a/lib/src/service/device_service.dart +++ b/lib/src/service/device_service.dart @@ -21,11 +21,12 @@ class DeviceService { DeviceService._internal(this._tbClient); - - Future getDevice(String deviceId, {RequestConfig? requestConfig}) async { + Future getDevice(String deviceId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/device/$deviceId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/device/$deviceId', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data != null ? Device.fromJson(response.data!) : null; }, @@ -33,30 +34,39 @@ class DeviceService { ); } - Future saveDevice(Device device, {String? accessToken, RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/device', data: jsonEncode(device), + Future saveDevice(Device device, + {String? accessToken, RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/device', + data: jsonEncode(device), queryParameters: {'accessToken': accessToken}, options: defaultHttpOptionsFromConfig(requestConfig)); return Device.fromJson(response.data!); } - Future deleteDevice(String deviceId, {RequestConfig? requestConfig}) async { + Future deleteDevice(String deviceId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/device/$deviceId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getTenantDevices(PageLink pageLink, {String type = '', RequestConfig? requestConfig}) async { + Future> getTenantDevices(PageLink pageLink, + {String type = '', RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); queryParams['type'] = type; - var response = await _tbClient.get>('/api/tenant/devices', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/tenant/devices', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseDevicePageData, response.data!); } - Future getTenantDevice(String deviceName, {RequestConfig? requestConfig}) async { + Future getTenantDevice(String deviceName, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/tenant/devices', queryParameters: {'deviceName': deviceName}, + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/tenant/devices', + queryParameters: {'deviceName': deviceName}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data != null ? Device.fromJson(response.data!) : null; }, @@ -64,61 +74,83 @@ class DeviceService { ); } - Future> getCustomerDevices(String customerId, PageLink pageLink, {String type = '', RequestConfig? requestConfig}) async { + Future> getCustomerDevices( + String customerId, PageLink pageLink, + {String type = '', RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); queryParams['type'] = type; - var response = await _tbClient.get>('/api/customer/$customerId/devices', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/customer/$customerId/devices', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseDevicePageData, response.data!); } - Future> getUserDevices(PageLink pageLink, {String type = '', RequestConfig? requestConfig}) async { + Future> getUserDevices(PageLink pageLink, + {String type = '', RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); queryParams['type'] = type; - var response = await _tbClient.get>('/api/user/devices', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/user/devices', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseDevicePageData, response.data!); } - Future> getDevicesByIds(List deviceIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/devices', queryParameters: { 'deviceIds': deviceIds.join(',') }, + Future> getDevicesByIds(List deviceIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/devices', + queryParameters: {'deviceIds': deviceIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => Device.fromJson(e)).toList(); } - Future> findByQuery(DeviceSearchQuery query, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/devices', data: jsonEncode(query), + Future> findByQuery(DeviceSearchQuery query, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/devices', + data: jsonEncode(query), options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => Device.fromJson(e)).toList(); } - Future> getDevicesByEntityGroupId(String entityGroupId, PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroup/$entityGroupId/devices', queryParameters: pageLink.toQueryParameters(), + Future> getDevicesByEntityGroupId( + String entityGroupId, PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/entityGroup/$entityGroupId/devices', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseDevicePageData, response.data!); } - Future> getDeviceTypes({RequestConfig? requestConfig}) async { + Future> getDeviceTypes( + {RequestConfig? requestConfig}) async { var response = await _tbClient.get>('/api/device/types', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntitySubtype.fromJson(e)).toList(); } - Future claimDevice(String deviceName, ClaimRequest claimRequest, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/customer/device/$deviceName/claim', data: jsonEncode(claimRequest), + Future claimDevice(String deviceName, ClaimRequest claimRequest, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/customer/device/$deviceName/claim', + data: jsonEncode(claimRequest), options: defaultHttpOptionsFromConfig(requestConfig)); return ClaimResult.fromJson(response.data!); } - Future reClaimDevice(String deviceName, {RequestConfig? requestConfig}) async { + Future reClaimDevice(String deviceName, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/customer/device/$deviceName/claim', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future assignDeviceToTenant(String tenantId, String deviceId, {RequestConfig? requestConfig}) async { + Future assignDeviceToTenant(String tenantId, String deviceId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.post>('/api/tenant/$tenantId/device/$deviceId', + (RequestConfig requestConfig) async { + var response = await _tbClient.post>( + '/api/tenant/$tenantId/device/$deviceId', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data != null ? Device.fromJson(response.data!) : null; }, @@ -126,44 +158,64 @@ class DeviceService { ); } - Future countDevicesByDeviceProfileIdAndEmptyOtaPackage(OtaPackageType otaPackageType, String deviceProfileId, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get('/api/devices/count/${otaPackageType.toShortString()}', queryParameters: {'deviceProfileId': deviceProfileId}, + Future countDevicesByDeviceProfileIdAndEmptyOtaPackage( + OtaPackageType otaPackageType, String deviceProfileId, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get( + '/api/devices/count/${otaPackageType.toShortString()}', + queryParameters: {'deviceProfileId': deviceProfileId}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!; } - Future getDeviceCredentialsByDeviceId(String deviceId, {RequestConfig? requestConfig}) async { + Future getDeviceCredentialsByDeviceId(String deviceId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/device/$deviceId/credentials', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/device/$deviceId/credentials', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? DeviceCredentials.fromJson(response.data!) : null; + return response.data != null + ? DeviceCredentials.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveDeviceCredentials(DeviceCredentials deviceCredentials, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/device/credentials', data: jsonEncode(deviceCredentials), + Future saveDeviceCredentials( + DeviceCredentials deviceCredentials, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/device/credentials', + data: jsonEncode(deviceCredentials), options: defaultHttpOptionsFromConfig(requestConfig)); return DeviceCredentials.fromJson(response.data!); } - Future handleOneWayDeviceRPCRequest(String deviceId, dynamic requestBody, {RequestConfig? requestConfig}) async { - await _tbClient.post('/api/plugins/rpc/oneway/$deviceId', data: jsonEncode(requestBody), + Future handleOneWayDeviceRPCRequest( + String deviceId, dynamic requestBody, + {RequestConfig? requestConfig}) async { + await _tbClient.post('/api/plugins/rpc/oneway/$deviceId', + data: jsonEncode(requestBody), options: defaultHttpOptionsFromConfig(requestConfig)); } - Future handleTwoWayDeviceRPCRequest(String deviceId, dynamic requestBody, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post('/api/plugins/rpc/twoway/$deviceId', data: jsonEncode(requestBody), + Future handleTwoWayDeviceRPCRequest( + String deviceId, dynamic requestBody, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post('/api/plugins/rpc/twoway/$deviceId', + data: jsonEncode(requestBody), options: defaultHttpOptionsFromConfig(requestConfig)); return response.data; } - Future getPersistedRpc(String rpcId, {RequestConfig? requestConfig}) async { + Future getPersistedRpc(String rpcId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/plugins/rpc/persisted/$rpcId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/plugins/rpc/persisted/$rpcId', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data != null ? Rpc.fromJson(response.data!) : null; }, @@ -171,17 +223,21 @@ class DeviceService { ); } - Future> getPersistedRpcByDevice(String deviceId, RpcStatus rpcStatus, PageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getPersistedRpcByDevice( + String deviceId, RpcStatus rpcStatus, PageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); queryParams['rpcStatus'] = rpcStatus.toShortString(); - var response = await _tbClient.get>('/api/plugins/rpc/persisted/$deviceId', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/plugins/rpc/persisted/$deviceId', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseRpcPageData, response.data!); } - Future deletePersistedRpc(String rpcId, {RequestConfig? requestConfig}) async { + Future deletePersistedRpc(String rpcId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/plugins/rpc/persisted/$rpcId', options: defaultHttpOptionsFromConfig(requestConfig)); } - } diff --git a/lib/src/service/edge_service.dart b/lib/src/service/edge_service.dart index e9e4da3..1736f63 100644 --- a/lib/src/service/edge_service.dart +++ b/lib/src/service/edge_service.dart @@ -31,8 +31,9 @@ class EdgeService { Future getEdge(String edgeId, {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/edge/$edgeId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/edge/$edgeId', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data != null ? Edge.fromJson(response.data!) : null; }, @@ -41,35 +42,42 @@ class EdgeService { } Future saveEdge(Edge edge, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/edge', data: jsonEncode(edge), + var response = await _tbClient.post>('/api/edge', + data: jsonEncode(edge), options: defaultHttpOptionsFromConfig(requestConfig)); return Edge.fromJson(response.data!); } - Future deleteEdge(String edgeId, {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/edge/$edgeId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getEdges(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/edges', queryParameters: pageLink.toQueryParameters(), + Future> getEdges(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/edges', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseEdgePageData, response.data!); } - Future> getTenantEdges(PageLink pageLink, {String type = '', RequestConfig? requestConfig}) async { + Future> getTenantEdges(PageLink pageLink, + {String type = '', RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); queryParams['type'] = type; - var response = await _tbClient.get>('/api/tenant/edges', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/tenant/edges', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseEdgePageData, response.data!); } - Future setRootRuleChain(String edgeId, String ruleChainId, {RequestConfig? requestConfig}) async { + Future setRootRuleChain(String edgeId, String ruleChainId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.post>('/api/edge/$edgeId/$ruleChainId/root', + (RequestConfig requestConfig) async { + var response = await _tbClient.post>( + '/api/edge/$edgeId/$ruleChainId/root', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data != null ? Edge.fromJson(response.data!) : null; }, @@ -77,41 +85,51 @@ class EdgeService { ); } - Future> getEdgesByIds(List edgeIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/edges', queryParameters: {'edgeIds': edgeIds.join(',')}, + Future> getEdgesByIds(List edgeIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/edges', + queryParameters: {'edgeIds': edgeIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => Edge.fromJson(e)).toList(); } - Future> findByQuery(EdgeSearchQuery query, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/edges', data: jsonEncode(query), + Future> findByQuery(EdgeSearchQuery query, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/edges', + data: jsonEncode(query), options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => Edge.fromJson(e)).toList(); } - Future> getEdgeTypes({RequestConfig? requestConfig}) async { + Future> getEdgeTypes( + {RequestConfig? requestConfig}) async { var response = await _tbClient.get>('/api/edge/types', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntitySubtype.fromJson(e)).toList(); } Future syncEdge(String edgeId, {RequestConfig? requestConfig}) async { - await _tbClient.post('/api/edge/sync/$edgeId', - options: defaultHttpOptionsFromConfig(requestConfig)); + await _tbClient.post('/api/edge/sync/$edgeId', + options: defaultHttpOptionsFromConfig(requestConfig)); } - Future findMissingToRelatedRuleChains(String edgeId, {RequestConfig? requestConfig}) async { + Future findMissingToRelatedRuleChains(String edgeId, + {RequestConfig? requestConfig}) async { var options = defaultHttpOptionsFromConfig(requestConfig); options.responseType = ResponseType.plain; - var response = await _tbClient.get('/api/edge/missingToRelatedRuleChains/$edgeId', - options: options); - return response.data!; + var response = await _tbClient.get( + '/api/edge/missingToRelatedRuleChains/$edgeId', + options: options); + return response.data!; } - Future> getEdgeEvents(String edgeId, TimePageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/edge/$edgeId/events', queryParameters: pageLink.toQueryParameters(), + Future> getEdgeEvents( + String edgeId, TimePageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/edge/$edgeId/events', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseEdgeEventPageData, response.data!); } - } diff --git a/lib/src/service/entity_group_service.dart b/lib/src/service/entity_group_service.dart index aa6b84d..4431f19 100644 --- a/lib/src/service/entity_group_service.dart +++ b/lib/src/service/entity_group_service.dart @@ -4,12 +4,14 @@ import '../thingsboard_client_base.dart'; import '../http/http_utils.dart'; import '../model/model.dart'; -PageData parseShortEntityViewPageData(Map json) { +PageData parseShortEntityViewPageData( + Map json) { return PageData.fromJson(json, (json) => ShortEntityView.fromJson(json)); } PageData parseContactBasedPageData(Map json) { - return PageData.fromJson(json, (json) => ContactBased.contactBasedFromJson(json)); + return PageData.fromJson( + json, (json) => ContactBased.contactBasedFromJson(json)); } class EntityGroupService { @@ -21,154 +23,221 @@ class EntityGroupService { EntityGroupService._internal(this._tbClient); - Future getEntityGroup(String entityGroupId, {RequestConfig? requestConfig}) async { + Future getEntityGroup(String entityGroupId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/entityGroup/$entityGroupId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/entityGroup/$entityGroupId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? EntityGroupInfo.fromJson(response.data!) : null; + return response.data != null + ? EntityGroupInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveEntityGroup(EntityGroup entityGroup, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/entityGroup', data: jsonEncode(entityGroup), + Future saveEntityGroup(EntityGroup entityGroup, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/entityGroup', + data: jsonEncode(entityGroup), options: defaultHttpOptionsFromConfig(requestConfig)); return EntityGroupInfo.fromJson(response.data!); } - - Future deleteEntityGroup(String entityGroupId, {RequestConfig? requestConfig}) async { + Future deleteEntityGroup(String entityGroupId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/entityGroup/$entityGroupId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getEntityGroupsByType(EntityType groupType, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroups/${groupType.toShortString()}', + Future> getEntityGroupsByType(EntityType groupType, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/entityGroups/${groupType.toShortString()}', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityGroupInfo.fromJson(e)).toList(); } - Future> getEntityGroupsByOwnerAndType(EntityId ownerId, EntityType groupType, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroups/${ownerId.entityType.toShortString()}/${ownerId.id}/${groupType.toShortString()}', + Future> getEntityGroupsByOwnerAndType( + EntityId ownerId, EntityType groupType, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/entityGroups/${ownerId.entityType.toShortString()}/${ownerId.id}/${groupType.toShortString()}', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityGroupInfo.fromJson(e)).toList(); } - Future getEntityGroupAllByOwnerAndType(EntityId ownerId, EntityType groupType, {RequestConfig? requestConfig}) async { + Future getEntityGroupAllByOwnerAndType( + EntityId ownerId, EntityType groupType, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/entityGroup/all/${ownerId.entityType.toShortString()}/${ownerId.id}/${groupType.toShortString()}', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/entityGroup/all/${ownerId.entityType.toShortString()}/${ownerId.id}/${groupType.toShortString()}', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? EntityGroupInfo.fromJson(response.data!) : null; + return response.data != null + ? EntityGroupInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getEntityGroupInfoByOwnerAndNameAndType(EntityId ownerId, EntityType groupType, String groupName, {RequestConfig? requestConfig}) async { + Future getEntityGroupInfoByOwnerAndNameAndType( + EntityId ownerId, EntityType groupType, String groupName, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/entityGroup/all/${ownerId.entityType.toShortString()}/${ownerId.id}/${groupType.toShortString()}/$groupName', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/entityGroup/all/${ownerId.entityType.toShortString()}/${ownerId.id}/${groupType.toShortString()}/$groupName', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? EntityGroupInfo.fromJson(response.data!) : null; + return response.data != null + ? EntityGroupInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future addEntitiesToEntityGroup(String entityGroupId, List entityIds, {RequestConfig? requestConfig}) async { - await _tbClient.post>('/api/entityGroup/$entityGroupId/addEntities', data: jsonEncode(entityIds), + Future addEntitiesToEntityGroup( + String entityGroupId, List entityIds, + {RequestConfig? requestConfig}) async { + await _tbClient.post>( + '/api/entityGroup/$entityGroupId/addEntities', + data: jsonEncode(entityIds), options: defaultHttpOptionsFromConfig(requestConfig)); } - Future removeEntitiesFromEntityGroup(String entityGroupId, List entityIds, {RequestConfig? requestConfig}) async { - await _tbClient.post>('/api/entityGroup/$entityGroupId/deleteEntities', data: jsonEncode(entityIds), + Future removeEntitiesFromEntityGroup( + String entityGroupId, List entityIds, + {RequestConfig? requestConfig}) async { + await _tbClient.post>( + '/api/entityGroup/$entityGroupId/deleteEntities', + data: jsonEncode(entityIds), options: defaultHttpOptionsFromConfig(requestConfig)); } - Future getGroupEntity(String entityGroupId, String entityId, {RequestConfig? requestConfig}) async { + Future getGroupEntity(String entityGroupId, String entityId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/entityGroup/$entityGroupId/$entityId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/entityGroup/$entityGroupId/$entityId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? ShortEntityView.fromJson(response.data!) : null; + return response.data != null + ? ShortEntityView.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future> getEntities(String entityGroupId, PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroup/$entityGroupId/entities', queryParameters: pageLink.toQueryParameters(), + Future> getEntities( + String entityGroupId, PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/entityGroup/$entityGroupId/entities', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseShortEntityViewPageData, response.data!); } - Future> getEntityGroupsForEntity(EntityId entityId, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroups/${entityId.entityType.toShortString()}/${entityId.id}', + Future> getEntityGroupsForEntity(EntityId entityId, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/entityGroups/${entityId.entityType.toShortString()}/${entityId.id}', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityGroupId.fromJson(e)).toList(); } - Future> getEntityGroupsByIds(List entityGroupIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroups', queryParameters: {'entityGroupIds': entityGroupIds.join(',')}, + Future> getEntityGroupsByIds(List entityGroupIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/entityGroups', + queryParameters: {'entityGroupIds': entityGroupIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityGroup.fromJson(e)).toList(); } - Future> getOwners(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/owners', queryParameters: pageLink.toQueryParameters(), + Future> getOwners(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/owners', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseContactBasedPageData, response.data!); } - Future makeEntityGroupPublic(String entityGroupId, {RequestConfig? requestConfig}) async { - await _tbClient.post>('/api/entityGroup/$entityGroupId/makePublic', + Future makeEntityGroupPublic(String entityGroupId, + {RequestConfig? requestConfig}) async { + await _tbClient.post>( + '/api/entityGroup/$entityGroupId/makePublic', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future makeEntityGroupPrivate(String entityGroupId, {RequestConfig? requestConfig}) async { - await _tbClient.post>('/api/entityGroup/$entityGroupId/makePrivate', + Future makeEntityGroupPrivate(String entityGroupId, + {RequestConfig? requestConfig}) async { + await _tbClient.post>( + '/api/entityGroup/$entityGroupId/makePrivate', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future shareEntityGroup(String entityGroupId, ShareGroupRequest shareGroupRequest, {RequestConfig? requestConfig}) async { - await _tbClient.post>('/api/entityGroup/$entityGroupId/share', data: jsonEncode(shareGroupRequest), + Future shareEntityGroup( + String entityGroupId, ShareGroupRequest shareGroupRequest, + {RequestConfig? requestConfig}) async { + await _tbClient.post>( + '/api/entityGroup/$entityGroupId/share', + data: jsonEncode(shareGroupRequest), options: defaultHttpOptionsFromConfig(requestConfig)); } - Future shareEntityGroupToChildOwnerUserGroup(String entityGroupId, String userGroupId, String roleId, {RequestConfig? requestConfig}) async { - await _tbClient.post>('/api/entityGroup/$entityGroupId/$userGroupId/$roleId/share', + Future shareEntityGroupToChildOwnerUserGroup( + String entityGroupId, String userGroupId, String roleId, + {RequestConfig? requestConfig}) async { + await _tbClient.post>( + '/api/entityGroup/$entityGroupId/$userGroupId/$roleId/share', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future assignEntityGroupToEdge(String edgeId, String entityGroupId, EntityType groupType, {RequestConfig? requestConfig}) async { + Future assignEntityGroupToEdge( + String edgeId, String entityGroupId, EntityType groupType, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.post>('/api/edge/$edgeId/entityGroup/$entityGroupId/${groupType.toShortString()}', + (RequestConfig requestConfig) async { + var response = await _tbClient.post>( + '/api/edge/$edgeId/entityGroup/$entityGroupId/${groupType.toShortString()}', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? EntityGroup.fromJson(response.data!) : null; + return response.data != null + ? EntityGroup.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future unassignEntityGroupFromEdge(String edgeId, String entityGroupId, EntityType groupType, {RequestConfig? requestConfig}) async { + Future unassignEntityGroupFromEdge( + String edgeId, String entityGroupId, EntityType groupType, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.delete>('/api/edge/$edgeId/entityGroup/$entityGroupId/${groupType.toShortString()}', + (RequestConfig requestConfig) async { + var response = await _tbClient.delete>( + '/api/edge/$edgeId/entityGroup/$entityGroupId/${groupType.toShortString()}', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? EntityGroup.fromJson(response.data!) : null; + return response.data != null + ? EntityGroup.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future> getEdgeEntityGroups(String edgeId, EntityType groupType, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroups/edge/$edgeId/${groupType.toShortString()}', + Future> getEdgeEntityGroups( + String edgeId, EntityType groupType, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/entityGroups/edge/$edgeId/${groupType.toShortString()}', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityGroupInfo.fromJson(e)).toList(); } - } diff --git a/lib/src/service/entity_query_service.dart b/lib/src/service/entity_query_service.dart index 66cd1eb..115848c 100644 --- a/lib/src/service/entity_query_service.dart +++ b/lib/src/service/entity_query_service.dart @@ -23,22 +23,29 @@ class EntityQueryService { EntityQueryService._internal(this._tbClient); - Future countEntitiesByQuery(EntityCountQuery query, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post('/api/entitiesQuery/count', data: jsonEncode(query), + Future countEntitiesByQuery(EntityCountQuery query, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post('/api/entitiesQuery/count', + data: jsonEncode(query), options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!; } - Future> findEntityDataByQuery(EntityDataQuery query, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/entitiesQuery/find', data: jsonEncode(query), + Future> findEntityDataByQuery(EntityDataQuery query, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/entitiesQuery/find', + data: jsonEncode(query), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseEntityDataPageData, response.data!); } - Future> findAlarmDataByQuery(AlarmDataQuery query, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/alarmsQuery/find', data: jsonEncode(query), + Future> findAlarmDataByQuery(AlarmDataQuery query, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/alarmsQuery/find', + data: jsonEncode(query), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseAlarmDataPageData, response.data!); } - } diff --git a/lib/src/service/entity_relation_service.dart b/lib/src/service/entity_relation_service.dart index 814a785..9b8b539 100644 --- a/lib/src/service/entity_relation_service.dart +++ b/lib/src/service/entity_relation_service.dart @@ -13,48 +13,67 @@ class EntityRelationService { EntityRelationService._internal(this._tbClient); - Future saveRelation(EntityRelation relation, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/relation', data: jsonEncode(relation), + Future saveRelation(EntityRelation relation, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/relation', + data: jsonEncode(relation), options: defaultHttpOptionsFromConfig(requestConfig)); return EntityRelation.fromJson(response.data!); } - Future deleteRelation(EntityId fromId, String relationType, RelationTypeGroup relationTypeGroup, EntityId toId, {RequestConfig? requestConfig}) async { - await _tbClient.delete('/api/relation', queryParameters: { - 'fromId': fromId.id, - 'fromType': fromId.entityType.toShortString(), - 'relationType': relationType, - 'relationTypeGroup': relationTypeGroup.toShortString(), - 'toId': toId.id, - 'toType': toId.entityType.toShortString() - }, options: defaultHttpOptionsFromConfig(requestConfig)); + Future deleteRelation(EntityId fromId, String relationType, + RelationTypeGroup relationTypeGroup, EntityId toId, + {RequestConfig? requestConfig}) async { + await _tbClient.delete('/api/relation', + queryParameters: { + 'fromId': fromId.id, + 'fromType': fromId.entityType.toShortString(), + 'relationType': relationType, + 'relationTypeGroup': relationTypeGroup.toShortString(), + 'toId': toId.id, + 'toType': toId.entityType.toShortString() + }, + options: defaultHttpOptionsFromConfig(requestConfig)); } - Future deleteRelations(EntityId entityId, {RequestConfig? requestConfig}) async { - await _tbClient.delete('/api/relations', queryParameters: { - 'entityId': entityId.id, - 'entityType': entityId.entityType.toShortString() - }, options: defaultHttpOptionsFromConfig(requestConfig)); + Future deleteRelations(EntityId entityId, + {RequestConfig? requestConfig}) async { + await _tbClient.delete('/api/relations', + queryParameters: { + 'entityId': entityId.id, + 'entityType': entityId.entityType.toShortString() + }, + options: defaultHttpOptionsFromConfig(requestConfig)); } - Future getRelation(EntityId fromId, String relationType, RelationTypeGroup relationTypeGroup, EntityId toId, {RequestConfig? requestConfig}) async { + Future getRelation(EntityId fromId, String relationType, + RelationTypeGroup relationTypeGroup, EntityId toId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/relation', queryParameters: { - 'fromId': fromId.id, - 'fromType': fromId.entityType.toShortString(), - 'relationType': relationType, - 'relationTypeGroup': relationTypeGroup.toShortString(), - 'toId': toId.id, - 'toType': toId.entityType.toShortString() - }, options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? EntityRelation.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = + await _tbClient.get>('/api/relation', + queryParameters: { + 'fromId': fromId.id, + 'fromType': fromId.entityType.toShortString(), + 'relationType': relationType, + 'relationTypeGroup': relationTypeGroup.toShortString(), + 'toId': toId.id, + 'toType': toId.entityType.toShortString() + }, + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? EntityRelation.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future> findByFrom(EntityId fromId, {String? relationType, RelationTypeGroup? relationTypeGroup, RequestConfig? requestConfig}) async { + Future> findByFrom(EntityId fromId, + {String? relationType, + RelationTypeGroup? relationTypeGroup, + RequestConfig? requestConfig}) async { var queryParameters = { 'fromId': fromId.id, 'fromType': fromId.entityType.toShortString() @@ -65,12 +84,15 @@ class EntityRelationService { if (relationTypeGroup != null) { queryParameters['relationTypeGroup'] = relationTypeGroup.toShortString(); } - var response = await _tbClient.get>('/api/relations', queryParameters: queryParameters, - options: defaultHttpOptionsFromConfig(requestConfig)); + var response = await _tbClient.get>('/api/relations', + queryParameters: queryParameters, + options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityRelation.fromJson(e)).toList(); } - Future> findInfoByFrom(EntityId fromId, {RelationTypeGroup? relationTypeGroup, RequestConfig? requestConfig}) async { + Future> findInfoByFrom(EntityId fromId, + {RelationTypeGroup? relationTypeGroup, + RequestConfig? requestConfig}) async { var queryParameters = { 'fromId': fromId.id, 'fromType': fromId.entityType.toShortString() @@ -78,12 +100,16 @@ class EntityRelationService { if (relationTypeGroup != null) { queryParameters['relationTypeGroup'] = relationTypeGroup.toShortString(); } - var response = await _tbClient.get>('/api/relations/info', queryParameters: queryParameters, + var response = await _tbClient.get>('/api/relations/info', + queryParameters: queryParameters, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityRelationInfo.fromJson(e)).toList(); } - Future> findByTo(EntityId toId, {String? relationType, RelationTypeGroup? relationTypeGroup, RequestConfig? requestConfig}) async { + Future> findByTo(EntityId toId, + {String? relationType, + RelationTypeGroup? relationTypeGroup, + RequestConfig? requestConfig}) async { var queryParameters = { 'toId': toId.id, 'toType': toId.entityType.toShortString() @@ -94,12 +120,15 @@ class EntityRelationService { if (relationTypeGroup != null) { queryParameters['relationTypeGroup'] = relationTypeGroup.toShortString(); } - var response = await _tbClient.get>('/api/relations', queryParameters: queryParameters, + var response = await _tbClient.get>('/api/relations', + queryParameters: queryParameters, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityRelation.fromJson(e)).toList(); } - Future> findInfoByTo(EntityId toId, {RelationTypeGroup? relationTypeGroup, RequestConfig? requestConfig}) async { + Future> findInfoByTo(EntityId toId, + {RelationTypeGroup? relationTypeGroup, + RequestConfig? requestConfig}) async { var queryParameters = { 'toId': toId.id, 'toType': toId.entityType.toShortString() @@ -107,21 +136,25 @@ class EntityRelationService { if (relationTypeGroup != null) { queryParameters['relationTypeGroup'] = relationTypeGroup.toShortString(); } - var response = await _tbClient.get>('/api/relations/info', queryParameters: queryParameters, + var response = await _tbClient.get>('/api/relations/info', + queryParameters: queryParameters, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityRelationInfo.fromJson(e)).toList(); } - Future> findByQuery(EntityRelationsQuery query, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/relations', data: jsonEncode(query), + Future> findByQuery(EntityRelationsQuery query, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/relations', + data: jsonEncode(query), options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityRelation.fromJson(e)).toList(); } - Future> findInfoByQuery(EntityRelationsQuery query, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/relations/info', data: jsonEncode(query), + Future> findInfoByQuery(EntityRelationsQuery query, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/relations/info', + data: jsonEncode(query), options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityRelationInfo.fromJson(e)).toList(); } - } diff --git a/lib/src/service/entity_view_service.dart b/lib/src/service/entity_view_service.dart index 34bc253..21c6b19 100644 --- a/lib/src/service/entity_view_service.dart +++ b/lib/src/service/entity_view_service.dart @@ -17,84 +17,113 @@ class EntityViewService { EntityViewService._internal(this._tbClient); - Future getEntityView(String entityViewId, {RequestConfig? requestConfig}) async { + Future getEntityView(String entityViewId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/entityView/$entityViewId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/entityView/$entityViewId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? EntityView.fromJson(response.data!) : null; + return response.data != null + ? EntityView.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveEntityView(EntityView entityView, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/entityView', data: jsonEncode(entityView), + Future saveEntityView(EntityView entityView, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/entityView', + data: jsonEncode(entityView), options: defaultHttpOptionsFromConfig(requestConfig)); return EntityView.fromJson(response.data!); } - - Future deleteEntityView(String entityViewId, {RequestConfig? requestConfig}) async { + Future deleteEntityView(String entityViewId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/entityView/$entityViewId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getTenantEntityViews(PageLink pageLink, {String type = '', RequestConfig? requestConfig}) async { + Future> getTenantEntityViews(PageLink pageLink, + {String type = '', RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); queryParams['type'] = type; - var response = await _tbClient.get>('/api/tenant/entityViews', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/tenant/entityViews', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseEntityViewPageData, response.data!); } - Future getTenantEntityView(String entityViewName, {RequestConfig? requestConfig}) async { + Future getTenantEntityView(String entityViewName, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/tenant/entityViews', queryParameters: {'entityViewName': entityViewName}, + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/tenant/entityViews', + queryParameters: {'entityViewName': entityViewName}, options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? EntityView.fromJson(response.data!) : null; + return response.data != null + ? EntityView.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future> getCustomerEntityViews(String customerId, PageLink pageLink, {String type = '', RequestConfig? requestConfig}) async { + Future> getCustomerEntityViews( + String customerId, PageLink pageLink, + {String type = '', RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); queryParams['type'] = type; - var response = await _tbClient.get>('/api/customer/$customerId/entityViews', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/customer/$customerId/entityViews', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseEntityViewPageData, response.data!); } - Future> getUserEntityViews(PageLink pageLink, {String type = '', RequestConfig? requestConfig}) async { + Future> getUserEntityViews(PageLink pageLink, + {String type = '', RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); queryParams['type'] = type; - var response = await _tbClient.get>('/api/user/entityViews', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/user/entityViews', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseEntityViewPageData, response.data!); } - Future> getEntityViewsByIds(List entityViewIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityViews', queryParameters: {'entityViewIds': entityViewIds.join(',')}, + Future> getEntityViewsByIds(List entityViewIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/entityViews', + queryParameters: {'entityViewIds': entityViewIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityView.fromJson(e)).toList(); } - - Future> findByQuery(EntityViewSearchQuery query, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/entityViews', data: jsonEncode(query), + Future> findByQuery(EntityViewSearchQuery query, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/entityViews', + data: jsonEncode(query), options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntityView.fromJson(e)).toList(); } - Future> getEntityViewsByEntityGroupId(String entityGroupId, PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroup/$entityGroupId/entityViews', queryParameters: pageLink.toQueryParameters(), + Future> getEntityViewsByEntityGroupId( + String entityGroupId, PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/entityGroup/$entityGroupId/entityViews', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseEntityViewPageData, response.data!); } - Future> getEntityViewTypes({RequestConfig? requestConfig}) async { + Future> getEntityViewTypes( + {RequestConfig? requestConfig}) async { var response = await _tbClient.get>('/api/entityView/types', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => EntitySubtype.fromJson(e)).toList(); diff --git a/lib/src/service/event_service.dart b/lib/src/service/event_service.dart index 917b95d..f14945d 100644 --- a/lib/src/service/event_service.dart +++ b/lib/src/service/event_service.dart @@ -15,16 +15,19 @@ class EventService { EventService._internal(this._tbClient); - Future> getEvents(EntityId entityId, String tenantId, TimePageLink pageLink, {String? eventType, RequestConfig? requestConfig}) async { - var url = '/api/events/${entityId.entityType.toShortString()}/${entityId.id}'; + Future> getEvents( + EntityId entityId, String tenantId, TimePageLink pageLink, + {String? eventType, RequestConfig? requestConfig}) async { + var url = + '/api/events/${entityId.entityType.toShortString()}/${entityId.id}'; if (eventType != null) { url += '/$eventType'; } var queryParams = pageLink.toQueryParameters(); queryParams['tenantId'] = tenantId; - var response = await _tbClient.get>(url, queryParameters: queryParams, + var response = await _tbClient.get>(url, + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseEventPageData, response.data!); } - } diff --git a/lib/src/service/group_permission_service.dart b/lib/src/service/group_permission_service.dart index a6aa777..b134c76 100644 --- a/lib/src/service/group_permission_service.dart +++ b/lib/src/service/group_permission_service.dart @@ -13,59 +13,77 @@ class GroupPermissionService { GroupPermissionService._internal(this._tbClient); - Future getGroupPermission(String groupPermissionId, {RequestConfig? requestConfig}) async { + Future getGroupPermission(String groupPermissionId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/groupPermission/$groupPermissionId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/groupPermission/$groupPermissionId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? GroupPermission.fromJson(response.data!) : null; + return response.data != null + ? GroupPermission.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getGroupPermissionInfo(String groupPermissionId, bool isUserGroup, {RequestConfig? requestConfig}) async { + Future getGroupPermissionInfo( + String groupPermissionId, bool isUserGroup, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/groupPermission/info/$groupPermissionId', - queryParameters: { - 'isUserGroup': isUserGroup - }, + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/groupPermission/info/$groupPermissionId', + queryParameters: {'isUserGroup': isUserGroup}, options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? GroupPermissionInfo.fromJson(response.data!) : null; + return response.data != null + ? GroupPermissionInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveGroupPermission(GroupPermission groupPermission, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/groupPermission', data: jsonEncode(groupPermission), + Future saveGroupPermission(GroupPermission groupPermission, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/groupPermission', + data: jsonEncode(groupPermission), options: defaultHttpOptionsFromConfig(requestConfig)); return GroupPermission.fromJson(response.data!); } - Future deleteGroupPermission(String groupPermissionId, {RequestConfig? requestConfig}) async { + Future deleteGroupPermission(String groupPermissionId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/groupPermission/$groupPermissionId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getUserGroupPermissions(String userGroupId, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/userGroup/$userGroupId/groupPermissions', + Future> getUserGroupPermissions(String userGroupId, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/userGroup/$userGroupId/groupPermissions', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => GroupPermissionInfo.fromJson(e)).toList(); } - Future> loadUserGroupPermissionInfos(List permissions, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/userGroup/groupPermissions/info', + Future> loadUserGroupPermissionInfos( + List permissions, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/userGroup/groupPermissions/info', data: jsonEncode(permissions), options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => GroupPermissionInfo.fromJson(e)).toList(); } - Future> getEntityGroupPermissions(String entityGroupId, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/entityGroup/$entityGroupId/groupPermissions', + Future> getEntityGroupPermissions( + String entityGroupId, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/entityGroup/$entityGroupId/groupPermissions', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => GroupPermissionInfo.fromJson(e)).toList(); } - } diff --git a/lib/src/service/integration_service.dart b/lib/src/service/integration_service.dart index a8abf28..fc1014e 100644 --- a/lib/src/service/integration_service.dart +++ b/lib/src/service/integration_service.dart @@ -17,52 +17,71 @@ class IntegrationService { IntegrationService._internal(this._tbClient); - Future getIntegration(String integrationId, {RequestConfig? requestConfig}) async { + Future getIntegration(String integrationId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/integration/$integrationId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/integration/$integrationId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? Integration.fromJson(response.data!) : null; + return response.data != null + ? Integration.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getIntegrationByRoutingKey(String routingKey, {RequestConfig? requestConfig}) async { + Future getIntegrationByRoutingKey(String routingKey, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/integration/routingKey/$routingKey', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/integration/routingKey/$routingKey', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? Integration.fromJson(response.data!) : null; + return response.data != null + ? Integration.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveIntegration(Integration integration, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/integration', data: jsonEncode(integration), + Future saveIntegration(Integration integration, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/integration', + data: jsonEncode(integration), options: defaultHttpOptionsFromConfig(requestConfig)); return Integration.fromJson(response.data!); } - Future deleteIntegration(String integrationId, {RequestConfig? requestConfig}) async { + Future deleteIntegration(String integrationId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/integration/$integrationId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future checkIntegrationConnection(Integration integration, {RequestConfig? requestConfig}) async { - await _tbClient.delete('/api/integration/check', data: jsonEncode(integration), + Future checkIntegrationConnection(Integration integration, + {RequestConfig? requestConfig}) async { + await _tbClient.delete('/api/integration/check', + data: jsonEncode(integration), options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getIntegrations(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/integrations', queryParameters: pageLink.toQueryParameters(), + Future> getIntegrations(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/integrations', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseIntegrationPageData, response.data!); } - Future> getIntegrationsByIds(List integrationIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/integrations', queryParameters: {'integrationIds': integrationIds.join(',')}, + Future> getIntegrationsByIds(List integrationIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/integrations', + queryParameters: {'integrationIds': integrationIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => Integration.fromJson(e)).toList(); } diff --git a/lib/src/service/oauth2_service.dart b/lib/src/service/oauth2_service.dart index a496542..6d7898b 100644 --- a/lib/src/service/oauth2_service.dart +++ b/lib/src/service/oauth2_service.dart @@ -5,7 +5,8 @@ import 'package:dio/dio.dart'; import '../model/oauth2_models.dart'; import '../../thingsboard_client.dart'; -List parseOauth2ClientRegistrationTemplates(List json) { +List parseOauth2ClientRegistrationTemplates( + List json) { return json.map((e) => OAuth2ClientRegistrationTemplate.fromJson(e)).toList(); } @@ -18,7 +19,10 @@ class OAuth2Service { OAuth2Service._internal(this._tbClient); - Future> getOAuth2Clients({String? pkgName, PlatformType? platform, RequestConfig? requestConfig}) async { + Future> getOAuth2Clients( + {String? pkgName, + PlatformType? platform, + RequestConfig? requestConfig}) async { var queryParams = {}; if (pkgName != null) { queryParams['pkgName'] = pkgName; @@ -26,37 +30,53 @@ class OAuth2Service { if (platform != null) { queryParams['platform'] = platform.toShortString(); } - var response = await _tbClient.post>('/api/noauth/oauth2Clients', + var response = await _tbClient.post>( + '/api/noauth/oauth2Clients', queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => OAuth2ClientInfo.fromJson(e)).toList(); } - Future saveClientRegistrationTemplate(OAuth2ClientRegistrationTemplate clientRegistrationTemplate, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/oauth2/config/template', data: jsonEncode(clientRegistrationTemplate), + Future saveClientRegistrationTemplate( + OAuth2ClientRegistrationTemplate clientRegistrationTemplate, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/oauth2/config/template', + data: jsonEncode(clientRegistrationTemplate), options: defaultHttpOptionsFromConfig(requestConfig)); return OAuth2ClientRegistrationTemplate.fromJson(response.data!); } - Future deleteClientRegistrationTemplate(String oAuth2ClientRegistrationTemplateId, {RequestConfig? requestConfig}) async { - await _tbClient.delete('/api/oauth2/config/template/$oAuth2ClientRegistrationTemplateId', + Future deleteClientRegistrationTemplate( + String oAuth2ClientRegistrationTemplateId, + {RequestConfig? requestConfig}) async { + await _tbClient.delete( + '/api/oauth2/config/template/$oAuth2ClientRegistrationTemplateId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getClientRegistrationTemplates({RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/oauth2/config/template', + Future> getClientRegistrationTemplates( + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/oauth2/config/template', options: defaultHttpOptionsFromConfig(requestConfig)); - return _tbClient.compute(parseOauth2ClientRegistrationTemplates, response.data!); + return _tbClient.compute( + parseOauth2ClientRegistrationTemplates, response.data!); } - Future getCurrentOAuth2Info({RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/oauth2/config', + Future getCurrentOAuth2Info( + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/oauth2/config', options: defaultHttpOptionsFromConfig(requestConfig)); return OAuth2Info.fromJson(response.data!); } - Future saveOAuth2Info(OAuth2Info oAuth2Info, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/oauth2/config', data: jsonEncode(oAuth2Info), + Future saveOAuth2Info(OAuth2Info oAuth2Info, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/oauth2/config', + data: jsonEncode(oAuth2Info), options: defaultHttpOptionsFromConfig(requestConfig)); return OAuth2Info.fromJson(response.data!); } @@ -68,6 +88,4 @@ class OAuth2Service { options: options); return response.data!; } - - } diff --git a/lib/src/service/ota_package_service.dart b/lib/src/service/ota_package_service.dart index 92ca2f5..d1a4b64 100644 --- a/lib/src/service/ota_package_service.dart +++ b/lib/src/service/ota_package_service.dart @@ -6,7 +6,8 @@ import '../thingsboard_client_base.dart'; import '../http/http_utils.dart'; import '../model/model.dart'; -PageData parseOtaPackageInfoPageData(Map json) { +PageData parseOtaPackageInfoPageData( + Map json) { return PageData.fromJson(json, (json) => OtaPackageInfo.fromJson(json)); } @@ -19,12 +20,14 @@ class OtaPackageService { OtaPackageService._internal(this._tbClient); - Future downloadOtaPackage(String otaPackageId, {RequestConfig? requestConfig}) async { + Future downloadOtaPackage(String otaPackageId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { + (RequestConfig requestConfig) async { var options = defaultHttpOptionsFromConfig(requestConfig); options.responseType = ResponseType.stream; - var response = await _tbClient.get('/api/otaPackage/$otaPackageId/download', + var response = await _tbClient.get( + '/api/otaPackage/$otaPackageId/download', options: options); return response.data; }, @@ -32,40 +35,52 @@ class OtaPackageService { ); } - Future getOtaPackage(String otaPackageId, {RequestConfig? requestConfig}) async { + Future getOtaPackage(String otaPackageId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/otaPackage/$otaPackageId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/otaPackage/$otaPackageId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? OtaPackage.fromJson(response.data!) : null; + return response.data != null + ? OtaPackage.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getOtaPackageInfo(String otaPackageId, {RequestConfig? requestConfig}) async { + Future getOtaPackageInfo(String otaPackageId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/otaPackage/info/$otaPackageId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/otaPackage/info/$otaPackageId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? OtaPackageInfo.fromJson(response.data!) : null; + return response.data != null + ? OtaPackageInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveOtaPackageInfo(OtaPackageInfo otaPackageInfo, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/otaPackage', data: jsonEncode(otaPackageInfo), + Future saveOtaPackageInfo(OtaPackageInfo otaPackageInfo, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/otaPackage', + data: jsonEncode(otaPackageInfo), options: defaultHttpOptionsFromConfig(requestConfig)); return OtaPackageInfo.fromJson(response.data!); } - Future saveOtaPackageData(String otaPackageId, MultipartFile file, {required ChecksumAlgorithm checksumAlgorithm, - String? checksum, RequestConfig? requestConfig}) async { - var formData = FormData.fromMap({ - 'file': file - }); - var response = await _tbClient.post>('/api/otaPackage/$otaPackageId', + Future saveOtaPackageData( + String otaPackageId, MultipartFile file, + {required ChecksumAlgorithm checksumAlgorithm, + String? checksum, + RequestConfig? requestConfig}) async { + var formData = FormData.fromMap({'file': file}); + var response = await _tbClient.post>( + '/api/otaPackage/$otaPackageId', queryParameters: { 'checksumAlgorithm': checksumAlgorithm.toShortString(), 'checksum': checksum @@ -75,21 +90,27 @@ class OtaPackageService { return OtaPackageInfo.fromJson(response.data!); } - Future deleteOtaPackage(String otaPackageId, {RequestConfig? requestConfig}) async { + Future deleteOtaPackage(String otaPackageId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/otaPackage/$otaPackageId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getOtaPackages(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/otaPackages', queryParameters: pageLink.toQueryParameters(), + Future> getOtaPackages(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/otaPackages', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseOtaPackageInfoPageData, response.data!); } - Future> getOtaPackagesByDeviceProfileId(String deviceProfileId, OtaPackageType type, PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/otaPackages/$deviceProfileId/${type.toShortString()}', queryParameters: pageLink.toQueryParameters(), + Future> getOtaPackagesByDeviceProfileId( + String deviceProfileId, OtaPackageType type, PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/otaPackages/$deviceProfileId/${type.toShortString()}', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseOtaPackageInfoPageData, response.data!); } - } diff --git a/lib/src/service/owner_service.dart b/lib/src/service/owner_service.dart index f1692f9..b56b711 100644 --- a/lib/src/service/owner_service.dart +++ b/lib/src/service/owner_service.dart @@ -11,13 +11,17 @@ class OwnerService { OwnerService._internal(this._tbClient); - Future changeOwnerToTenant(String ownerId, EntityId entityId, {RequestConfig? requestConfig}) async { - await _tbClient.post('/api/owner/TENANT/$ownerId/${entityId.entityType.toShortString()}/${entityId.id}', + Future changeOwnerToTenant(String ownerId, EntityId entityId, + {RequestConfig? requestConfig}) async { + await _tbClient.post( + '/api/owner/TENANT/$ownerId/${entityId.entityType.toShortString()}/${entityId.id}', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future changeOwnerToCustomer(String ownerId, EntityId entityId, {RequestConfig? requestConfig}) async { - await _tbClient.post('/api/owner/CUSTOMER/$ownerId/${entityId.entityType.toShortString()}/${entityId.id}', + Future changeOwnerToCustomer(String ownerId, EntityId entityId, + {RequestConfig? requestConfig}) async { + await _tbClient.post( + '/api/owner/CUSTOMER/$ownerId/${entityId.entityType.toShortString()}/${entityId.id}', options: defaultHttpOptionsFromConfig(requestConfig)); } } diff --git a/lib/src/service/report_service.dart b/lib/src/service/report_service.dart index b90c5f3..03df666 100644 --- a/lib/src/service/report_service.dart +++ b/lib/src/service/report_service.dart @@ -15,24 +15,30 @@ class ReportService { ReportService._internal(this._tbClient); - Future downloadDashboardReport(String dashboardId, ReportParams reportParams, {RequestConfig? requestConfig}) async { - var options = defaultHttpOptionsFromConfig(requestConfig); - options.responseType = ResponseType.stream; - var response = await _tbClient.post('/api/report/$dashboardId/download', data: jsonEncode(reportParams), - options: options); - return response.data; + Future downloadDashboardReport( + String dashboardId, ReportParams reportParams, + {RequestConfig? requestConfig}) async { + var options = defaultHttpOptionsFromConfig(requestConfig); + options.responseType = ResponseType.stream; + var response = await _tbClient.post( + '/api/report/$dashboardId/download', + data: jsonEncode(reportParams), + options: options); + return response.data; } - Future downloadTestReport(ReportConfig reportConfig, {String? reportsServerEndpointUrl, RequestConfig? requestConfig}) async { + Future downloadTestReport(ReportConfig reportConfig, + {String? reportsServerEndpointUrl, RequestConfig? requestConfig}) async { var queryParams = {}; if (reportsServerEndpointUrl != null) { queryParams['reportsServerEndpointUrl'] = reportsServerEndpointUrl; } var options = defaultHttpOptionsFromConfig(requestConfig); options.responseType = ResponseType.stream; - var response = await _tbClient.post('/api/report/test', queryParameters: queryParams, data: jsonEncode(reportConfig), + var response = await _tbClient.post('/api/report/test', + queryParameters: queryParams, + data: jsonEncode(reportConfig), options: options); return response.data; } - } diff --git a/lib/src/service/resource_service.dart b/lib/src/service/resource_service.dart index d3bd667..0e7b0b5 100644 --- a/lib/src/service/resource_service.dart +++ b/lib/src/service/resource_service.dart @@ -19,56 +19,70 @@ class ResourceService { ResourceService._internal(this._tbClient); - Future downloadResource(String resourceId, {RequestConfig? requestConfig}) async { + Future downloadResource(String resourceId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var options = defaultHttpOptionsFromConfig(requestConfig); - options.responseType = ResponseType.stream; - var response = await _tbClient.get('/api/resource/$resourceId/download', - options: options); - return response.data; + (RequestConfig requestConfig) async { + var options = defaultHttpOptionsFromConfig(requestConfig); + options.responseType = ResponseType.stream; + var response = await _tbClient.get( + '/api/resource/$resourceId/download', + options: options); + return response.data; }, requestConfig: requestConfig, ); } - Future getResource(String resourceId, {RequestConfig? requestConfig}) async { + Future getResource(String resourceId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/resource/$resourceId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/resource/$resourceId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? TbResource.fromJson(response.data!) : null; + return response.data != null + ? TbResource.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getResourceInfo(String resourceId, {RequestConfig? requestConfig}) async { + Future getResourceInfo(String resourceId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/resource/info/$resourceId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/resource/info/$resourceId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? TbResourceInfo.fromJson(response.data!) : null; + return response.data != null + ? TbResourceInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveResource(TbResource resource, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/resource', data: jsonEncode(resource), + Future saveResource(TbResource resource, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/resource', + data: jsonEncode(resource), options: defaultHttpOptionsFromConfig(requestConfig)); return TbResource.fromJson(response.data!); } - Future deleteResource(String resourceId, {RequestConfig? requestConfig}) async { + Future deleteResource(String resourceId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/resource/$resourceId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getResources(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/resource', queryParameters: pageLink.toQueryParameters(), + Future> getResources(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/resource', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseResourceInfoPageData, response.data!); } - } diff --git a/lib/src/service/role_service.dart b/lib/src/service/role_service.dart index 2902b21..7810209 100644 --- a/lib/src/service/role_service.dart +++ b/lib/src/service/role_service.dart @@ -19,8 +19,9 @@ class RoleService { Future getRole(String roleId, {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/role/$roleId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/role/$roleId', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data != null ? Role.fromJson(response.data!) : null; }, @@ -29,7 +30,8 @@ class RoleService { } Future saveRole(Role role, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/role', data: jsonEncode(role), + var response = await _tbClient.post>('/api/role', + data: jsonEncode(role), options: defaultHttpOptionsFromConfig(requestConfig)); return Role.fromJson(response.data!); } @@ -39,20 +41,23 @@ class RoleService { options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getRoles(PageLink pageLink, {RoleType? type, RequestConfig? requestConfig}) async { + Future> getRoles(PageLink pageLink, + {RoleType? type, RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); if (type != null) { queryParams['type'] = type.toShortString(); } - var response = await _tbClient.get>('/api/roles', queryParameters: queryParams, + var response = await _tbClient.get>('/api/roles', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseRolePageData, response.data!); } - Future> getRolesByIds(List roleIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/roles', queryParameters: {'roleIds': roleIds.join(',')}, + Future> getRolesByIds(List roleIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/roles', + queryParameters: {'roleIds': roleIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => Role.fromJson(e)).toList(); } - } diff --git a/lib/src/service/rule_chain_service.dart b/lib/src/service/rule_chain_service.dart index f76fd5f..f5a89de 100644 --- a/lib/src/service/rule_chain_service.dart +++ b/lib/src/service/rule_chain_service.dart @@ -22,73 +22,96 @@ class RuleChainService { RuleChainService._internal(this._tbClient); - Future getRuleChain(String ruleChainId, {RequestConfig? requestConfig}) async { + Future getRuleChain(String ruleChainId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/ruleChain/$ruleChainId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/ruleChain/$ruleChainId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? RuleChain.fromJson(response.data!) : null; + return response.data != null + ? RuleChain.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getRuleChainMetaData(String ruleChainId, {RequestConfig? requestConfig}) async { + Future getRuleChainMetaData(String ruleChainId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/ruleChain/$ruleChainId/metadata', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/ruleChain/$ruleChainId/metadata', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? RuleChainMetaData.fromJson(response.data!) : null; + return response.data != null + ? RuleChainMetaData.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveRuleChain(RuleChain ruleChain, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/ruleChain', data: jsonEncode(ruleChain), + Future saveRuleChain(RuleChain ruleChain, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/ruleChain', + data: jsonEncode(ruleChain), options: defaultHttpOptionsFromConfig(requestConfig)); return RuleChain.fromJson(response.data!); } - Future deleteRuleChain(String ruleChainId, {RequestConfig? requestConfig}) async { + Future deleteRuleChain(String ruleChainId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/ruleChain/$ruleChainId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future createDefaultRuleChain(String ruleChainName, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/ruleChain/device/default', - data: jsonEncode({ - 'name': ruleChainName - }), options: defaultHttpOptionsFromConfig(requestConfig)); + Future createDefaultRuleChain(String ruleChainName, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/ruleChain/device/default', + data: jsonEncode({'name': ruleChainName}), + options: defaultHttpOptionsFromConfig(requestConfig)); return RuleChain.fromJson(response.data!); } - Future setRootRuleChain(String ruleChainId, {RequestConfig? requestConfig}) async { + Future setRootRuleChain(String ruleChainId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.post>('/api/ruleChain/$ruleChainId/root', + (RequestConfig requestConfig) async { + var response = await _tbClient.post>( + '/api/ruleChain/$ruleChainId/root', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? RuleChain.fromJson(response.data!) : null; + return response.data != null + ? RuleChain.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveRuleChainMetaData(RuleChainMetaData ruleChainMetaData, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/ruleChain/metadata', data: jsonEncode(ruleChainMetaData), + Future saveRuleChainMetaData( + RuleChainMetaData ruleChainMetaData, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/ruleChain/metadata', + data: jsonEncode(ruleChainMetaData), options: defaultHttpOptionsFromConfig(requestConfig)); return RuleChainMetaData.fromJson(response.data!); } - Future> getRuleChains(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/ruleChains', queryParameters: pageLink.toQueryParameters(), + Future> getRuleChains(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/ruleChains', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseRuleChainPageData, response.data!); } - Future getLatestRuleNodeDebugInput(String ruleNodeId, {RequestConfig? requestConfig}) async { + Future getLatestRuleNodeDebugInput(String ruleNodeId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { + (RequestConfig requestConfig) async { var response = await _tbClient.get('/api/ruleNode/$ruleNodeId/debugIn', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data; @@ -97,9 +120,10 @@ class RuleChainService { ); } - Future testScript(dynamic inputParams, {RequestConfig? requestConfig}) async { + Future testScript(dynamic inputParams, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { + (RequestConfig requestConfig) async { var response = await _tbClient.post('/api/ruleChain/testScript', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data; @@ -108,82 +132,114 @@ class RuleChainService { ); } - Future exportRuleChains(int limit, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/ruleChains/export', queryParameters: { 'limit': limit }, + Future exportRuleChains(int limit, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/ruleChains/export', + queryParameters: {'limit': limit}, options: defaultHttpOptionsFromConfig(requestConfig)); return RuleChainData.fromJson(response.data!); } - Future importRuleChains(RuleChainData ruleChainData, bool overwrite, {RequestConfig? requestConfig}) async { - await _tbClient.post('/api/ruleChains/import', queryParameters: { 'overwrite': overwrite }, data: jsonEncode(ruleChainData), + Future importRuleChains(RuleChainData ruleChainData, bool overwrite, + {RequestConfig? requestConfig}) async { + await _tbClient.post('/api/ruleChains/import', + queryParameters: {'overwrite': overwrite}, + data: jsonEncode(ruleChainData), options: defaultHttpOptionsFromConfig(requestConfig)); } - Future assignRuleChainToEdge(String edgeId, String ruleChainId, {RequestConfig? requestConfig}) async { + Future assignRuleChainToEdge(String edgeId, String ruleChainId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.post>('/api/edge/$edgeId/ruleChain/$ruleChainId', + (RequestConfig requestConfig) async { + var response = await _tbClient.post>( + '/api/edge/$edgeId/ruleChain/$ruleChainId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? RuleChain.fromJson(response.data!) : null; + return response.data != null + ? RuleChain.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future unassignRuleChainFromEdge(String edgeId, String ruleChainId, {RequestConfig? requestConfig}) async { + Future unassignRuleChainFromEdge( + String edgeId, String ruleChainId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.delete>('/api/edge/$edgeId/ruleChain/$ruleChainId', + (RequestConfig requestConfig) async { + var response = await _tbClient.delete>( + '/api/edge/$edgeId/ruleChain/$ruleChainId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? RuleChain.fromJson(response.data!) : null; + return response.data != null + ? RuleChain.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future> getEdgeRuleChains(String edgeId, PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/edge/$edgeId/ruleChains', queryParameters: pageLink.toQueryParameters(), + Future> getEdgeRuleChains( + String edgeId, PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/edge/$edgeId/ruleChains', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseRuleChainPageData, response.data!); } - Future setEdgeTemplateRootRuleChain(String ruleChainId, {RequestConfig? requestConfig}) async { + Future setEdgeTemplateRootRuleChain(String ruleChainId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.post>('/api/ruleChain/$ruleChainId/edgeTemplateRoot', + (RequestConfig requestConfig) async { + var response = await _tbClient.post>( + '/api/ruleChain/$ruleChainId/edgeTemplateRoot', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? RuleChain.fromJson(response.data!) : null; + return response.data != null + ? RuleChain.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future setAutoAssignToEdgeRuleChain(String ruleChainId, {RequestConfig? requestConfig}) async { + Future setAutoAssignToEdgeRuleChain(String ruleChainId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.post>('/api/ruleChain/$ruleChainId/autoAssignToEdge', + (RequestConfig requestConfig) async { + var response = await _tbClient.post>( + '/api/ruleChain/$ruleChainId/autoAssignToEdge', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? RuleChain.fromJson(response.data!) : null; + return response.data != null + ? RuleChain.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future unsetAutoAssignToEdgeRuleChain(String ruleChainId, {RequestConfig? requestConfig}) async { + Future unsetAutoAssignToEdgeRuleChain(String ruleChainId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.delete>('/api/ruleChain/$ruleChainId/autoAssignToEdge', + (RequestConfig requestConfig) async { + var response = await _tbClient.delete>( + '/api/ruleChain/$ruleChainId/autoAssignToEdge', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? RuleChain.fromJson(response.data!) : null; + return response.data != null + ? RuleChain.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future> getAutoAssignToEdgeRuleChains({RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/ruleChain/autoAssignToEdgeRuleChains', + Future> getAutoAssignToEdgeRuleChains( + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/ruleChain/autoAssignToEdgeRuleChains', options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseRuleChainsList, response.data!); } - } diff --git a/lib/src/service/rule_engine_service.dart b/lib/src/service/rule_engine_service.dart index 1647dd8..0d5d4e4 100644 --- a/lib/src/service/rule_engine_service.dart +++ b/lib/src/service/rule_engine_service.dart @@ -13,7 +13,8 @@ class RuleEngineService { RuleEngineService._internal(this._tbClient); - Future handleRuleEngineRequest(String requestBody, {EntityId? entityId, int? timeout, RequestConfig? requestConfig}) async { + Future handleRuleEngineRequest(String requestBody, + {EntityId? entityId, int? timeout, RequestConfig? requestConfig}) async { var url = '/api/rule-engine'; if (entityId != null) { url += '/${entityId.entityType.toShortString()}/${entityId.id}'; @@ -21,9 +22,9 @@ class RuleEngineService { url += '/$timeout'; } } - var response = await _tbClient.post(url, data: requestBody, + var response = await _tbClient.post(url, + data: requestBody, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data; } - } diff --git a/lib/src/service/scheduler_event_service.dart b/lib/src/service/scheduler_event_service.dart index 1115103..a6d7961 100644 --- a/lib/src/service/scheduler_event_service.dart +++ b/lib/src/service/scheduler_event_service.dart @@ -13,81 +13,112 @@ class SchedulerEventService { SchedulerEventService._internal(this._tbClient); - Future getSchedulerEventInfo(String schedulerEventId, {RequestConfig? requestConfig}) async { + Future getSchedulerEventInfo( + String schedulerEventId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/schedulerEvent/info/$schedulerEventId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/schedulerEvent/info/$schedulerEventId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? SchedulerEventWithCustomerInfo.fromJson(response.data!) : null; + return response.data != null + ? SchedulerEventWithCustomerInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getSchedulerEvent(String schedulerEventId, {RequestConfig? requestConfig}) async { + Future getSchedulerEvent(String schedulerEventId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/schedulerEvent/$schedulerEventId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/schedulerEvent/$schedulerEventId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? SchedulerEvent.fromJson(response.data!) : null; + return response.data != null + ? SchedulerEvent.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveSchedulerEvent(SchedulerEvent schedulerEvent, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/schedulerEvent', data: jsonEncode(schedulerEvent), + Future saveSchedulerEvent(SchedulerEvent schedulerEvent, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/schedulerEvent', + data: jsonEncode(schedulerEvent), options: defaultHttpOptionsFromConfig(requestConfig)); return SchedulerEvent.fromJson(response.data!); } - Future deleteSchedulerEvent(String schedulerEventId, {RequestConfig? requestConfig}) async { + Future deleteSchedulerEvent(String schedulerEventId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/schedulerEvent/$schedulerEventId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getSchedulerEvents({String? type, RequestConfig? requestConfig}) async { + Future> getSchedulerEvents( + {String? type, RequestConfig? requestConfig}) async { var queryParams = {}; if (type != null) { queryParams['type'] = type; } - var response = await _tbClient.get>('/api/schedulerEvents', queryParameters: queryParams, + var response = await _tbClient.get>('/api/schedulerEvents', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data!.map((e) => SchedulerEventWithCustomerInfo.fromJson(e)).toList(); + return response.data! + .map((e) => SchedulerEventWithCustomerInfo.fromJson(e)) + .toList(); } - Future> getSchedulerEventsByIds(List schedulerEventIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/schedulerEvents', queryParameters: {'schedulerEventIds': schedulerEventIds.join(',')}, + Future> getSchedulerEventsByIds( + List schedulerEventIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/schedulerEvents', + queryParameters: {'schedulerEventIds': schedulerEventIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => SchedulerEventInfo.fromJson(e)).toList(); } - Future assignSchedulerEventToEdge(String edgeId, String schedulerEventId, {RequestConfig? requestConfig}) async { + Future assignSchedulerEventToEdge( + String edgeId, String schedulerEventId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.post>('/api/edge/$edgeId/schedulerEvent/$schedulerEventId', + (RequestConfig requestConfig) async { + var response = await _tbClient.post>( + '/api/edge/$edgeId/schedulerEvent/$schedulerEventId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? SchedulerEventInfo.fromJson(response.data!) : null; + return response.data != null + ? SchedulerEventInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future unassignSchedulerEventFromEdge(String edgeId, String schedulerEventId, {RequestConfig? requestConfig}) async { + Future unassignSchedulerEventFromEdge( + String edgeId, String schedulerEventId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.delete>('/api/edge/$edgeId/schedulerEvent/$schedulerEventId', + (RequestConfig requestConfig) async { + var response = await _tbClient.delete>( + '/api/edge/$edgeId/schedulerEvent/$schedulerEventId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? SchedulerEventInfo.fromJson(response.data!) : null; + return response.data != null + ? SchedulerEventInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future> getEdgeSchedulerEvents(String edgeId, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/edge/$edgeId/schedulerEvents', + Future> getEdgeSchedulerEvents(String edgeId, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/edge/$edgeId/schedulerEvents', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => SchedulerEventInfo.fromJson(e)).toList(); } - } diff --git a/lib/src/service/self_register_service.dart b/lib/src/service/self_register_service.dart index 7e82cd6..1587b20 100644 --- a/lib/src/service/self_register_service.dart +++ b/lib/src/service/self_register_service.dart @@ -16,34 +16,46 @@ class SelfRegistrationService { SelfRegistrationService._internal(this._tbClient); - Future getSelfRegistrationParams({RequestConfig? requestConfig}) async { + Future getSelfRegistrationParams( + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/selfRegistration/selfRegistrationParams', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/selfRegistration/selfRegistrationParams', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? SelfRegistrationParams.fromJson(response.data!) : null; + return response.data != null + ? SelfRegistrationParams.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveSelfRegistrationParams(SelfRegistrationParams selfRegistrationParams, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/selfRegistration/selfRegistrationParams', data: jsonEncode(selfRegistrationParams), + Future saveSelfRegistrationParams( + SelfRegistrationParams selfRegistrationParams, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/selfRegistration/selfRegistrationParams', + data: jsonEncode(selfRegistrationParams), options: defaultHttpOptionsFromConfig(requestConfig)); return SelfRegistrationParams.fromJson(response.data!); } - Future getSignUpSelfRegistrationParams({String? pkgName, RequestConfig? requestConfig}) async { + Future getSignUpSelfRegistrationParams( + {String? pkgName, RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var queryParams = {}; + (RequestConfig requestConfig) async { + var queryParams = {}; if (pkgName != null) { queryParams['pkgName'] = pkgName; } - var response = await _tbClient.get>('/api/noauth/selfRegistration/signUpSelfRegistrationParams', + var response = await _tbClient.get>( + '/api/noauth/selfRegistration/signUpSelfRegistrationParams', queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? SignUpSelfRegistrationParams.fromJson(response.data!) : null; + return response.data != null + ? SignUpSelfRegistrationParams.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); @@ -52,9 +64,9 @@ class SelfRegistrationService { Future getPrivacyPolicy({RequestConfig? requestConfig}) async { var options = defaultHttpOptionsFromConfig(requestConfig); options.responseType = ResponseType.plain; - var response = await _tbClient.get('/api/noauth/selfRegistration/privacyPolicy', + var response = await _tbClient.get( + '/api/noauth/selfRegistration/privacyPolicy', options: options); return response.data!; } - } diff --git a/lib/src/service/signup_service.dart b/lib/src/service/signup_service.dart index 615bc34..388c531 100644 --- a/lib/src/service/signup_service.dart +++ b/lib/src/service/signup_service.dart @@ -15,70 +15,76 @@ class SignupService { SignupService._internal(this._tbClient); - Future signup(SignUpRequest signUpRequest, {RequestConfig? requestConfig}) async { + Future signup(SignUpRequest signUpRequest, + {RequestConfig? requestConfig}) async { var options = defaultHttpOptionsFromConfig(requestConfig); options.responseType = ResponseType.plain; - var response = await _tbClient.post('/api/noauth/signup', data: jsonEncode(signUpRequest), - options: options); + var response = await _tbClient.post('/api/noauth/signup', + data: jsonEncode(signUpRequest), options: options); return signUpResultFromString(jsonDecode(response.data!)); } - Future acceptPrivacyPolicy({RequestConfig? requestConfig}) async { + Future acceptPrivacyPolicy( + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.post>('/api/signup/acceptPrivacyPolicy', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? LoginResponse.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = await _tbClient.post>( + '/api/signup/acceptPrivacyPolicy', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? LoginResponse.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } Future privacyPolicyAccepted({RequestConfig? requestConfig}) async { - var response = await _tbClient.get('/api/signup/privacyPolicyAccepted', + var response = await _tbClient.get( + '/api/signup/privacyPolicyAccepted', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!; } - Future resendEmailActivation(String email, {String? pkgName, RequestConfig? requestConfig}) async { - var queryParams = { - 'email': email - }; + Future resendEmailActivation(String email, + {String? pkgName, RequestConfig? requestConfig}) async { + var queryParams = {'email': email}; if (pkgName != null) { queryParams['pkgName'] = pkgName; } - await _tbClient.post('/api/noauth/resendEmailActivation', queryParameters: queryParams, + await _tbClient.post('/api/noauth/resendEmailActivation', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> activateEmail(String emailCode, {String? pkgName, RequestConfig? requestConfig}) async { - var queryParams = { - 'emailCode': emailCode - }; + Future> activateEmail(String emailCode, + {String? pkgName, RequestConfig? requestConfig}) async { + var queryParams = {'emailCode': emailCode}; if (pkgName != null) { queryParams['pkgName'] = pkgName; } var options = defaultHttpOptionsFromConfig(requestConfig); options.responseType = ResponseType.plain; var response = await _tbClient.get('/api/noauth/activateEmail', - queryParameters: queryParams, - options: options); + queryParameters: queryParams, options: options); return response; } - Future activateUserByEmailCode(String emailCode, {String? pkgName, RequestConfig? requestConfig}) async { + Future activateUserByEmailCode(String emailCode, + {String? pkgName, RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var queryParams = { - 'emailCode': emailCode - }; - if (pkgName != null) { - queryParams['pkgName'] = pkgName; - } - var response = await _tbClient.post>('/api/noauth/activateByEmailCode', - queryParameters: queryParams, - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? LoginResponse.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var queryParams = {'emailCode': emailCode}; + if (pkgName != null) { + queryParams['pkgName'] = pkgName; + } + var response = await _tbClient.post>( + '/api/noauth/activateByEmailCode', + queryParameters: queryParams, + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? LoginResponse.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); diff --git a/lib/src/service/telemetry_websocket_service.dart b/lib/src/service/telemetry_websocket_service.dart index 1740fac..dbda8c3 100644 --- a/lib/src/service/telemetry_websocket_service.dart +++ b/lib/src/service/telemetry_websocket_service.dart @@ -17,7 +17,6 @@ WebsocketDataMsg parseWebsocketDataMessage(dynamic raw) { } class TelemetryWebsocketService implements TelemetryService { - bool _isActive = false; bool _isOpening = false; bool _isOpened = false; @@ -38,14 +37,16 @@ class TelemetryWebsocketService implements TelemetryService { late WebSocketSink _sink; - factory TelemetryWebsocketService(ThingsboardClient tbClient, String apiEndpoint) { + factory TelemetryWebsocketService( + ThingsboardClient tbClient, String apiEndpoint) { return TelemetryWebsocketService._internal(tbClient, apiEndpoint); } TelemetryWebsocketService._internal(this._tbClient, String apiEndpoint) { var apiEndpointUri = Uri.parse(apiEndpoint); var scheme = apiEndpointUri.scheme == 'https' ? 'wss' : 'ws'; - _telemetryUri = apiEndpointUri.replace(scheme: scheme, path: '/api/ws/plugins/telemetry'); + _telemetryUri = apiEndpointUri.replace( + scheme: scheme, path: '/api/ws/plugins/telemetry'); } @override @@ -59,7 +60,8 @@ class TelemetryWebsocketService implements TelemetryService { if (subscriptionCommand is TimeseriesSubscriptionCmd) { _cmdsWrapper.tsSubCmds.add(subscriptionCommand); } else { - _cmdsWrapper.attrSubCmds.add(subscriptionCommand as AttributesSubscriptionCmd); + _cmdsWrapper.attrSubCmds + .add(subscriptionCommand as AttributesSubscriptionCmd); } } else if (subscriptionCommand is GetHistoryCmd) { _cmdsWrapper.historyCmds.add(subscriptionCommand); @@ -79,7 +81,8 @@ class TelemetryWebsocketService implements TelemetryService { void update(TelemetrySubscriber subscriber) { if (!_isReconnect) { subscriber.subscriptionCommands.forEach((subscriptionCommand) { - if (subscriptionCommand.cmdId != null && subscriptionCommand is EntityDataCmd) { + if (subscriptionCommand.cmdId != null && + subscriptionCommand is EntityDataCmd) { _cmdsWrapper.entityDataCmds.add(subscriptionCommand); } }); @@ -96,17 +99,22 @@ class TelemetryWebsocketService implements TelemetryService { if (subscriptionCommand is TimeseriesSubscriptionCmd) { _cmdsWrapper.tsSubCmds.add(subscriptionCommand); } else { - _cmdsWrapper.attrSubCmds.add(subscriptionCommand as AttributesSubscriptionCmd); + _cmdsWrapper.attrSubCmds + .add(subscriptionCommand as AttributesSubscriptionCmd); } } else if (subscriptionCommand is EntityDataCmd) { - var entityDataUnsubscribeCmd = EntityDataUnsubscribeCmd(cmdId: subscriptionCommand.cmdId); + var entityDataUnsubscribeCmd = + EntityDataUnsubscribeCmd(cmdId: subscriptionCommand.cmdId); _cmdsWrapper.entityDataUnsubscribeCmds.add(entityDataUnsubscribeCmd); } else if (subscriptionCommand is AlarmDataCmd) { - var alarmDataUnsubscribeCmd = AlarmDataUnsubscribeCmd(cmdId: subscriptionCommand.cmdId); + var alarmDataUnsubscribeCmd = + AlarmDataUnsubscribeCmd(cmdId: subscriptionCommand.cmdId); _cmdsWrapper.alarmDataUnsubscribeCmds.add(alarmDataUnsubscribeCmd); } else if (subscriptionCommand is EntityCountCmd) { - var entityCountUnsubscribeCmd = EntityCountUnsubscribeCmd(cmdId: subscriptionCommand.cmdId); - _cmdsWrapper.entityCountUnsubscribeCmds.add(entityCountUnsubscribeCmd); + var entityCountUnsubscribeCmd = + EntityCountUnsubscribeCmd(cmdId: subscriptionCommand.cmdId); + _cmdsWrapper.entityCountUnsubscribeCmds + .add(entityCountUnsubscribeCmd); } var cmdId = subscriptionCommand.cmdId; if (cmdId != null) { @@ -125,11 +133,11 @@ class TelemetryWebsocketService implements TelemetryService { } void _publishCommands() { - - while(_isOpened && _cmdsWrapper.hasCommands()) { + while (_isOpened && _cmdsWrapper.hasCommands()) { String? message; try { - message = jsonEncode(_cmdsWrapper.preparePublishCommands(MAX_PUBLISH_COMMANDS)); + message = jsonEncode( + _cmdsWrapper.preparePublishCommands(MAX_PUBLISH_COMMANDS)); } catch (e) { print('Failed to prepare publish commands: $e'); } @@ -143,10 +151,8 @@ class TelemetryWebsocketService implements TelemetryService { void _checkToClose() { if (_subscribersCount == 0 && _isOpened) { - _socketCloseTimer ??= Timer( - Duration(milliseconds: WS_IDLE_TIMEOUT), - () => _closeSocket() - ); + _socketCloseTimer ??= + Timer(Duration(milliseconds: WS_IDLE_TIMEOUT), () => _closeSocket()); } } @@ -179,13 +185,11 @@ class TelemetryWebsocketService implements TelemetryService { _openSocket(_tbClient.getJwtToken()!); } else { _tbClient.refreshJwtToken().then((value) { - _openSocket(_tbClient.getJwtToken()!); - }, - onError: (e) { - _isOpening = false; - _tbClient.logout(); - } - ); + _openSocket(_tbClient.getJwtToken()!); + }, onError: (e) { + _isOpening = false; + _tbClient.logout(); + }); } } if (_socketCloseTimer != null) { @@ -202,11 +206,9 @@ class TelemetryWebsocketService implements TelemetryService { _sink = channel.sink; channel.stream.listen((event) { _onMessage(event); - }, - onDone: () { + }, onDone: () { _onClose(channel); - }, - onError: (e) { + }, onError: (e) { _onError(e); }); _onOpen(); @@ -236,7 +238,8 @@ class TelemetryWebsocketService implements TelemetryService { void _onMessage(dynamic rawMessage) async { try { - var message = await _tbClient.compute(parseWebsocketDataMessage, rawMessage); + var message = + await _tbClient.compute(parseWebsocketDataMessage, rawMessage); if (message is SubscriptionUpdate) { if (message.errorCode != null && message.errorCode! != 0) { _onWsError(message.errorCode!, message.errorMsg); @@ -266,33 +269,33 @@ class TelemetryWebsocketService implements TelemetryService { } void _onClose([IOWebSocketChannel? channel]) { - if (channel != null && channel.closeCode != null && channel.closeCode! > 1001 && channel.closeCode! != 1006) { - _onWsError(channel.closeCode!, channel.closeReason); + if (channel != null && + channel.closeCode != null && + channel.closeCode! > 1001 && + channel.closeCode! != 1006) { + _onWsError(channel.closeCode!, channel.closeReason); + } + _isOpening = false; + _isOpened = false; + if (_isActive) { + if (!_isReconnect) { + _reconnectSubscribers.clear(); + _subscribersMap.forEach((key, subscriber) { + _reconnectSubscribers.add(subscriber); + }); + reset(false); + _isReconnect = true; } - _isOpening = false; - _isOpened = false; - if (_isActive) { - if (!_isReconnect) { - _reconnectSubscribers.clear(); - _subscribersMap.forEach((key, subscriber) { - _reconnectSubscribers.add(subscriber); - }); - reset(false); - _isReconnect = true; - } - if (_reconnectTimer != null) { - _reconnectTimer!.cancel(); - } - _reconnectTimer = Timer( - Duration(milliseconds: RECONNECT_INTERVAL), - () => _tryOpenSocket() - ); + if (_reconnectTimer != null) { + _reconnectTimer!.cancel(); } + _reconnectTimer = Timer( + Duration(milliseconds: RECONNECT_INTERVAL), () => _tryOpenSocket()); + } } void _onWsError(int errorCode, String? errorMsg) { var message = errorMsg ?? 'WebSocket Error: error code - $errorCode.'; print(message); } - } diff --git a/lib/src/service/tenant_profile_service.dart b/lib/src/service/tenant_profile_service.dart index 8c07845..a092d8b 100644 --- a/lib/src/service/tenant_profile_service.dart +++ b/lib/src/service/tenant_profile_service.dart @@ -24,62 +24,82 @@ class TenantProfileService { TenantProfileService._internal(this._tbClient); - - Future getTenantProfile(String tenantProfileId, {RequestConfig? requestConfig}) async { + Future getTenantProfile(String tenantProfileId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/tenantProfile/$tenantProfileId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/tenantProfile/$tenantProfileId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? TenantProfile.fromJson(response.data!) : null; + return response.data != null + ? TenantProfile.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getTenantProfileInfo(String tenantProfileId, {RequestConfig? requestConfig}) async { + Future getTenantProfileInfo(String tenantProfileId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/tenantProfileInfo/$tenantProfileId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/tenantProfileInfo/$tenantProfileId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? EntityInfo.fromJson(response.data!) : null; + return response.data != null + ? EntityInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future getDefaultTenantProfileInfo({RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/tenantProfileInfo/default', + Future getDefaultTenantProfileInfo( + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/tenantProfileInfo/default', options: defaultHttpOptionsFromConfig(requestConfig)); return EntityInfo.fromJson(response.data!); } - Future saveTenantProfile(TenantProfile tenantProfile, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/tenantProfile', data: jsonEncode(tenantProfile), + Future saveTenantProfile(TenantProfile tenantProfile, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/tenantProfile', + data: jsonEncode(tenantProfile), options: defaultHttpOptionsFromConfig(requestConfig)); return TenantProfile.fromJson(response.data!); } - Future deleteTenantProfile(String tenantProfileId, {RequestConfig? requestConfig}) async { + Future deleteTenantProfile(String tenantProfileId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/tenantProfile/$tenantProfileId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future setDefaultTenantProfile(String tenantProfileId, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/tenantProfile/$tenantProfileId/default', + Future setDefaultTenantProfile(String tenantProfileId, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/tenantProfile/$tenantProfileId/default', options: defaultHttpOptionsFromConfig(requestConfig)); return TenantProfile.fromJson(response.data!); } - Future> getTenantProfiles(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/tenantProfiles', queryParameters: pageLink.toQueryParameters(), + Future> getTenantProfiles(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/tenantProfiles', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseTenantProfilePageData, response.data!); } - Future> getTenantProfileInfos(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/tenantProfileInfos', queryParameters: pageLink.toQueryParameters(), + Future> getTenantProfileInfos(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/tenantProfileInfos', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseTenantProfileInfoPageData, response.data!); } - } diff --git a/lib/src/service/tenant_service.dart b/lib/src/service/tenant_service.dart index eaf88cb..59be1b6 100644 --- a/lib/src/service/tenant_service.dart +++ b/lib/src/service/tenant_service.dart @@ -21,58 +21,71 @@ class TenantService { TenantService._internal(this._tbClient); - Future getTenant(String tenantId, {RequestConfig? requestConfig}) async { + Future getTenant(String tenantId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/tenant/$tenantId', - options: defaultHttpOptionsFromConfig(requestConfig)); + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/tenant/$tenantId', + options: defaultHttpOptionsFromConfig(requestConfig)); return response.data != null ? Tenant.fromJson(response.data!) : null; }, requestConfig: requestConfig, ); } - Future getTenantInfo(String tenantId, {RequestConfig? requestConfig}) async { + Future getTenantInfo(String tenantId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/tenant/info/$tenantId', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? TenantInfo.fromJson(response.data!) : null; + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/tenant/info/$tenantId', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? TenantInfo.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveTenant(Tenant tenant, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/tenant', data: jsonEncode(tenant), + Future saveTenant(Tenant tenant, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/tenant', + data: jsonEncode(tenant), options: defaultHttpOptionsFromConfig(requestConfig)); return Tenant.fromJson(response.data!); } - Future deleteTenant(String tenantId, {RequestConfig? requestConfig}) async { + Future deleteTenant(String tenantId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/tenant/$tenantId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getTenants(PageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getTenants(PageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); - var response = await _tbClient.get>('/api/tenants', queryParameters: queryParams, + var response = await _tbClient.get>('/api/tenants', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseTenantPageData, response.data!); } - Future> getTenantInfos(PageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getTenantInfos(PageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); - var response = await _tbClient.get>('/api/tenantInfos', queryParameters: queryParams, + var response = await _tbClient.get>('/api/tenantInfos', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseTenantInfoPageData, response.data!); } - Future> getTenantsByIds(List tenantIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/tenants', queryParameters: {'tenantIds': tenantIds.join(',')}, + Future> getTenantsByIds(List tenantIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/tenants', + queryParameters: {'tenantIds': tenantIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => Tenant.fromJson(e)).toList(); } - - } diff --git a/lib/src/service/user_permissions_service.dart b/lib/src/service/user_permissions_service.dart index c947b70..6dc8066 100644 --- a/lib/src/service/user_permissions_service.dart +++ b/lib/src/service/user_permissions_service.dart @@ -12,10 +12,11 @@ class UserPermissionsService { UserPermissionsService._internal(this._tbClient); - Future getAllowedPermissions({RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/permissions/allowedPermissions', + Future getAllowedPermissions( + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/permissions/allowedPermissions', options: defaultHttpOptionsFromConfig(requestConfig)); return AllowedPermissionsInfo.fromJson(response.data!); } - } diff --git a/lib/src/service/user_service.dart b/lib/src/service/user_service.dart index b5649a0..cc24170 100644 --- a/lib/src/service/user_service.dart +++ b/lib/src/service/user_service.dart @@ -21,11 +21,13 @@ class UserService { UserService._internal(this._tbClient); - Future getUserById(String userId, {RequestConfig? requestConfig}) async { + Future getUserById(String userId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/user/$userId', - options: defaultHttpOptionsFromConfig(requestConfig)); + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/user/$userId', + options: defaultHttpOptionsFromConfig(requestConfig)); return response.data != null ? User.fromJson(response.data!) : null; }, requestConfig: requestConfig, @@ -38,36 +40,46 @@ class UserService { return response.data!; } - Future getUserToken(String userId, {RequestConfig? requestConfig}) async { + Future getUserToken(String userId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/user/$userId/token', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/user/$userId/token', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? LoginResponse.fromJson(response.data!) : null; + return response.data != null + ? LoginResponse.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveUser(User user, {bool sendActivationMail = false, RequestConfig? requestConfig}) async { + Future saveUser(User user, + {bool sendActivationMail = false, RequestConfig? requestConfig}) async { var queryParams = { 'sendActivationMail': sendActivationMail }; - var response = await _tbClient.post>('/api/user', queryParameters: queryParams, data: jsonEncode(user), + var response = await _tbClient.post>('/api/user', + queryParameters: queryParams, + data: jsonEncode(user), options: defaultHttpOptionsFromConfig(requestConfig)); return User.fromJson(response.data!); } - Future sendActivationEmail(String email, {RequestConfig? requestConfig}) async { - await _tbClient.post('/api/user/sendActivationMail', queryParameters: {'email': email}, + Future sendActivationEmail(String email, + {RequestConfig? requestConfig}) async { + await _tbClient.post('/api/user/sendActivationMail', + queryParameters: {'email': email}, options: defaultHttpOptionsFromConfig(requestConfig)); } - Future getActivationLink(String userId, {RequestConfig? requestConfig}) async { + Future getActivationLink(String userId, + {RequestConfig? requestConfig}) async { var options = defaultHttpOptionsFromConfig(requestConfig); options.responseType = ResponseType.plain; - var response = await _tbClient.get('/api/user/$userId/activationLink', - options: options); + var response = await _tbClient + .get('/api/user/$userId/activationLink', options: options); return response.data!; } @@ -76,58 +88,79 @@ class UserService { options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getUsers(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/users', queryParameters: pageLink.toQueryParameters(), + Future> getUsers(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/users', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseUserPageData, response.data!); } - Future> getTenantAdmins(String tenantId, PageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getTenantAdmins(String tenantId, PageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); - var response = await _tbClient.get>('/api/tenant/$tenantId/users', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/tenant/$tenantId/users', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseUserPageData, response.data!); } - Future> getCustomerUsers(String customerId, PageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getCustomerUsers(String customerId, PageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); - var response = await _tbClient.get>('/api/customer/$customerId/users', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/customer/$customerId/users', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseUserPageData, response.data!); } - Future> getAllCustomerUsers(PageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getAllCustomerUsers(PageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); - var response = await _tbClient.get>('/api/customer/users', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/customer/users', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseUserPageData, response.data!); } - Future> getUserUsers(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/user/users', queryParameters: pageLink.toQueryParameters(), + Future> getUserUsers(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/user/users', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseUserPageData, response.data!); } - Future> getUsersByIds(List userIds, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/users', queryParameters: {'userIds': userIds.join(',')}, + Future> getUsersByIds(List userIds, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>('/api/users', + queryParameters: {'userIds': userIds.join(',')}, options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!.map((e) => User.fromJson(e)).toList(); } - Future> getUsersByEntityGroupId(String entityGroupId, PageLink pageLink, {RequestConfig? requestConfig}) async { + Future> getUsersByEntityGroupId( + String entityGroupId, PageLink pageLink, + {RequestConfig? requestConfig}) async { var queryParams = pageLink.toQueryParameters(); - var response = await _tbClient.get>('/api/entityGroup/$entityGroupId/users', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/entityGroup/$entityGroupId/users', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseUserPageData, response.data!); } - Future setUserCredentialsEnabled(String userId, {bool? userCredentialsEnabled, RequestConfig? requestConfig}) async { + Future setUserCredentialsEnabled(String userId, + {bool? userCredentialsEnabled, RequestConfig? requestConfig}) async { var queryParams = {}; if (userCredentialsEnabled != null) { queryParams['userCredentialsEnabled'] = userCredentialsEnabled; } - await _tbClient.post('/api/user/$userId/userCredentialsEnabled', queryParameters: queryParams, + await _tbClient.post('/api/user/$userId/userCredentialsEnabled', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); } @@ -137,45 +170,58 @@ class UserService { return User.fromJson(response.data!); } - Future getUserPasswordPolicy({RequestConfig? requestConfig}) async { + Future getUserPasswordPolicy( + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/noauth/userPasswordPolicy', - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? UserPasswordPolicy.fromJson(response.data!) : null; - }, + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/noauth/userPasswordPolicy', + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? UserPasswordPolicy.fromJson(response.data!) + : null; + }, requestConfig: requestConfig, ); } - Future getActivateToken(String userId, {RequestConfig? requestConfig}) async { - var activationLink = await getActivationLink(userId, requestConfig: requestConfig); - return activationLink.substring(activationLink.lastIndexOf(ACTIVATE_TOKEN_REGEX) + ACTIVATE_TOKEN_REGEX.length); + Future getActivateToken(String userId, + {RequestConfig? requestConfig}) async { + var activationLink = + await getActivationLink(userId, requestConfig: requestConfig); + return activationLink.substring( + activationLink.lastIndexOf(ACTIVATE_TOKEN_REGEX) + + ACTIVATE_TOKEN_REGEX.length); } - Future checkActivateToken(String userId, {RequestConfig? requestConfig}) async { - var activateToken = await getActivateToken(userId, requestConfig: requestConfig); + Future checkActivateToken(String userId, + {RequestConfig? requestConfig}) async { + var activateToken = + await getActivateToken(userId, requestConfig: requestConfig); var options = defaultHttpOptionsFromConfig(requestConfig); options.responseType = ResponseType.plain; - var response = await _tbClient.get('/api/noauth/activate', queryParameters: {'activateToken': activateToken}, - options: options); + var response = await _tbClient.get('/api/noauth/activate', + queryParameters: {'activateToken': activateToken}, options: options); return response.data!; } - Future activateUser(String userId, String password, {bool sendActivationMail = true, RequestConfig? requestConfig}) async { - var activateToken = await getActivateToken(userId, requestConfig: requestConfig); + Future activateUser(String userId, String password, + {bool sendActivationMail = true, RequestConfig? requestConfig}) async { + var activateToken = + await getActivateToken(userId, requestConfig: requestConfig); return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.post>('/api/noauth/activate', queryParameters: {'sendActivationMail': sendActivationMail}, - data: jsonEncode({ - 'activateToken': activateToken, - 'password': password - }), - options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? LoginResponse.fromJson(response.data!) : null; - }, + (RequestConfig requestConfig) async { + var response = await _tbClient.post>( + '/api/noauth/activate', + queryParameters: {'sendActivationMail': sendActivationMail}, + data: jsonEncode( + {'activateToken': activateToken, 'password': password}), + options: defaultHttpOptionsFromConfig(requestConfig)); + return response.data != null + ? LoginResponse.fromJson(response.data!) + : null; + }, requestConfig: requestConfig, ); } - } diff --git a/lib/src/service/white_labeling_service.dart b/lib/src/service/white_labeling_service.dart index 3615fa2..b05ce24 100644 --- a/lib/src/service/white_labeling_service.dart +++ b/lib/src/service/white_labeling_service.dart @@ -14,7 +14,10 @@ class WhiteLabelingService { WhiteLabelingService._internal(this._tbClient); - Future getWhiteLabelParams({String? logoImageChecksum, String? faviconChecksum, RequestConfig? requestConfig}) async { + Future getWhiteLabelParams( + {String? logoImageChecksum, + String? faviconChecksum, + RequestConfig? requestConfig}) async { var queryParams = {}; if (logoImageChecksum != null) { queryParams['logoImageChecksum'] = logoImageChecksum; @@ -22,12 +25,17 @@ class WhiteLabelingService { if (faviconChecksum != null) { queryParams['faviconChecksum'] = faviconChecksum; } - var response = await _tbClient.get>('/api/whiteLabel/whiteLabelParams', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/whiteLabel/whiteLabelParams', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return WhiteLabelingParams.fromJson(response.data!); } - Future getLoginWhiteLabelParams({String? logoImageChecksum, String? faviconChecksum, RequestConfig? requestConfig}) async { + Future getLoginWhiteLabelParams( + {String? logoImageChecksum, + String? faviconChecksum, + RequestConfig? requestConfig}) async { var queryParams = {}; if (logoImageChecksum != null) { queryParams['logoImageChecksum'] = logoImageChecksum; @@ -35,73 +43,96 @@ class WhiteLabelingService { if (faviconChecksum != null) { queryParams['faviconChecksum'] = faviconChecksum; } - var response = await _tbClient.get>('/api/noauth/whiteLabel/loginWhiteLabelParams', queryParameters: queryParams, + var response = await _tbClient.get>( + '/api/noauth/whiteLabel/loginWhiteLabelParams', + queryParameters: queryParams, options: defaultHttpOptionsFromConfig(requestConfig)); return LoginWhiteLabelingParams.fromJson(response.data!); } - Future getCurrentWhiteLabelParams({RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/whiteLabel/currentWhiteLabelParams', + Future getCurrentWhiteLabelParams( + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/whiteLabel/currentWhiteLabelParams', options: defaultHttpOptionsFromConfig(requestConfig)); return WhiteLabelingParams.fromJson(response.data!); } - Future getCurrentLoginWhiteLabelParams({RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/whiteLabel/currentLoginWhiteLabelParams', + Future getCurrentLoginWhiteLabelParams( + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/whiteLabel/currentLoginWhiteLabelParams', options: defaultHttpOptionsFromConfig(requestConfig)); return LoginWhiteLabelingParams.fromJson(response.data!); } - Future saveWhiteLabelParams(WhiteLabelingParams whiteLabelingParams, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/whiteLabel/whiteLabelParams', data: jsonEncode(whiteLabelingParams), + Future saveWhiteLabelParams( + WhiteLabelingParams whiteLabelingParams, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/whiteLabel/whiteLabelParams', + data: jsonEncode(whiteLabelingParams), options: defaultHttpOptionsFromConfig(requestConfig)); return WhiteLabelingParams.fromJson(response.data!); } - Future saveLoginWhiteLabelParams(LoginWhiteLabelingParams loginWhiteLabelingParams, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/whiteLabel/loginWhiteLabelParams', data: jsonEncode(loginWhiteLabelingParams), + Future saveLoginWhiteLabelParams( + LoginWhiteLabelingParams loginWhiteLabelingParams, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/whiteLabel/loginWhiteLabelParams', + data: jsonEncode(loginWhiteLabelingParams), options: defaultHttpOptionsFromConfig(requestConfig)); return LoginWhiteLabelingParams.fromJson(response.data!); } - Future previewWhiteLabelParams(WhiteLabelingParams whiteLabelingParams, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/whiteLabel/previewWhiteLabelParams', data: jsonEncode(whiteLabelingParams), + Future previewWhiteLabelParams( + WhiteLabelingParams whiteLabelingParams, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/whiteLabel/previewWhiteLabelParams', + data: jsonEncode(whiteLabelingParams), options: defaultHttpOptionsFromConfig(requestConfig)); return WhiteLabelingParams.fromJson(response.data!); } Future isWhiteLabelingAllowed({RequestConfig? requestConfig}) async { - var response = await _tbClient.get('/api/whiteLabel/isWhiteLabelingAllowed', + var response = await _tbClient.get( + '/api/whiteLabel/isWhiteLabelingAllowed', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!; } - Future isCustomerWhiteLabelingAllowed({RequestConfig? requestConfig}) async { - var response = await _tbClient.get('/api/whiteLabel/isCustomerWhiteLabelingAllowed', + Future isCustomerWhiteLabelingAllowed( + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get( + '/api/whiteLabel/isCustomerWhiteLabelingAllowed', options: defaultHttpOptionsFromConfig(requestConfig)); return response.data!; } - Future getLoginThemeCss(PaletteSettings paletteSettings, {bool? darkForeground, RequestConfig? requestConfig}) async { + Future getLoginThemeCss(PaletteSettings paletteSettings, + {bool? darkForeground, RequestConfig? requestConfig}) async { var queryParams = {}; if (darkForeground != null) { queryParams['darkForeground'] = darkForeground; } var options = defaultHttpOptionsFromConfig(requestConfig); options.responseType = ResponseType.plain; - var response = await _tbClient.post('/api/noauth/whiteLabel/loginThemeCss', queryParameters: queryParams, + var response = await _tbClient.post( + '/api/noauth/whiteLabel/loginThemeCss', + queryParameters: queryParams, data: jsonEncode(paletteSettings), options: options); return response.data!; } - Future getAppThemeCss(PaletteSettings paletteSettings, {RequestConfig? requestConfig}) async { + Future getAppThemeCss(PaletteSettings paletteSettings, + {RequestConfig? requestConfig}) async { var options = defaultHttpOptionsFromConfig(requestConfig); options.responseType = ResponseType.plain; var response = await _tbClient.post('/api/whiteLabel/appThemeCss', - data: jsonEncode(paletteSettings), - options: options); + data: jsonEncode(paletteSettings), options: options); return response.data!; } - } diff --git a/lib/src/service/widget_service.dart b/lib/src/service/widget_service.dart index 579cd54..9504fb7 100644 --- a/lib/src/service/widget_service.dart +++ b/lib/src/service/widget_service.dart @@ -36,63 +36,84 @@ class WidgetService { WidgetService._internal(this._tbClient); - Future getWidgetsBundle(String widgetsBundleId, {RequestConfig? requestConfig}) async { + Future getWidgetsBundle(String widgetsBundleId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/widgetsBundle/$widgetsBundleId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/widgetsBundle/$widgetsBundleId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? WidgetsBundle.fromJson(response.data!) : null; + return response.data != null + ? WidgetsBundle.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveWidgetsBundle(WidgetsBundle widgetsBundle, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/widgetsBundle', data: jsonEncode(widgetsBundle), + Future saveWidgetsBundle(WidgetsBundle widgetsBundle, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>( + '/api/widgetsBundle', + data: jsonEncode(widgetsBundle), options: defaultHttpOptionsFromConfig(requestConfig)); return WidgetsBundle.fromJson(response.data!); } - Future deleteWidgetsBundle(String widgetsBundleId, {RequestConfig? requestConfig}) async { + Future deleteWidgetsBundle(String widgetsBundleId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/widgetsBundle/$widgetsBundleId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getWidgetsBundles(PageLink pageLink, {RequestConfig? requestConfig}) async { - var response = await _tbClient.get>('/api/widgetsBundles', queryParameters: pageLink.toQueryParameters(), + Future> getWidgetsBundles(PageLink pageLink, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.get>( + '/api/widgetsBundles', + queryParameters: pageLink.toQueryParameters(), options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseWidgetsBundlePageData, response.data!); } - Future> getWidgetsBundlesList({RequestConfig? requestConfig}) async { + Future> getWidgetsBundlesList( + {RequestConfig? requestConfig}) async { var response = await _tbClient.get>('/api/widgetsBundles', options: defaultHttpOptionsFromConfig(requestConfig)); return _tbClient.compute(parseWidgetsBundleList, response.data!); } - Future getWidgetTypeById(String widgetTypeId, {RequestConfig? requestConfig}) async { + Future getWidgetTypeById(String widgetTypeId, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/widgetType/$widgetTypeId', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/widgetType/$widgetTypeId', options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? WidgetTypeDetails.fromJson(response.data!) : null; + return response.data != null + ? WidgetTypeDetails.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); } - Future saveWidgetType(WidgetTypeDetails widgetTypeDetails, {RequestConfig? requestConfig}) async { - var response = await _tbClient.post>('/api/widgetType', data: jsonEncode(widgetTypeDetails), + Future saveWidgetType(WidgetTypeDetails widgetTypeDetails, + {RequestConfig? requestConfig}) async { + var response = await _tbClient.post>('/api/widgetType', + data: jsonEncode(widgetTypeDetails), options: defaultHttpOptionsFromConfig(requestConfig)); return WidgetTypeDetails.fromJson(response.data!); } - Future deleteWidgetType(String widgetTypeId, {RequestConfig? requestConfig}) async { + Future deleteWidgetType(String widgetTypeId, + {RequestConfig? requestConfig}) async { await _tbClient.delete('/api/widgetType/$widgetTypeId', options: defaultHttpOptionsFromConfig(requestConfig)); } - Future> getBundleWidgetTypes(bool isSystem, String bundleAlias, {RequestConfig? requestConfig}) async { + Future> getBundleWidgetTypes( + bool isSystem, String bundleAlias, + {RequestConfig? requestConfig}) async { var response = await _tbClient.get>('/api/widgetTypes', queryParameters: { 'isSystem': isSystem.toString(), @@ -102,7 +123,9 @@ class WidgetService { return _tbClient.compute(parseWidgetTypeList, response.data!); } - Future> getBundleWidgetTypesDetails(bool isSystem, String bundleAlias, {RequestConfig? requestConfig}) async { + Future> getBundleWidgetTypesDetails( + bool isSystem, String bundleAlias, + {RequestConfig? requestConfig}) async { var response = await _tbClient.get>('/api/widgetTypesDetails', queryParameters: { 'isSystem': isSystem.toString(), @@ -112,7 +135,9 @@ class WidgetService { return _tbClient.compute(parseWidgetTypeDetailsList, response.data!); } - Future> getBundleWidgetTypesInfos(bool isSystem, String bundleAlias, {RequestConfig? requestConfig}) async { + Future> getBundleWidgetTypesInfos( + bool isSystem, String bundleAlias, + {RequestConfig? requestConfig}) async { var response = await _tbClient.get>('/api/widgetTypesInfos', queryParameters: { 'isSystem': isSystem.toString(), @@ -122,17 +147,22 @@ class WidgetService { return _tbClient.compute(parseWidgetTypeInfosList, response.data!); } - Future getWidgetType(bool isSystem, String bundleAlias, String alias, {RequestConfig? requestConfig}) async { + Future getWidgetType( + bool isSystem, String bundleAlias, String alias, + {RequestConfig? requestConfig}) async { return nullIfNotFound( - (RequestConfig requestConfig) async { - var response = await _tbClient.get>('/api/widgetType', + (RequestConfig requestConfig) async { + var response = await _tbClient.get>( + '/api/widgetType', queryParameters: { 'isSystem': isSystem.toString(), 'bundleAlias': bundleAlias, 'alias': alias }, options: defaultHttpOptionsFromConfig(requestConfig)); - return response.data != null ? WidgetType.fromJson(response.data!) : null; + return response.data != null + ? WidgetType.fromJson(response.data!) + : null; }, requestConfig: requestConfig, ); diff --git a/lib/src/storage/in_memory_storage.dart b/lib/src/storage/in_memory_storage.dart index 5827dc4..7980fad 100644 --- a/lib/src/storage/in_memory_storage.dart +++ b/lib/src/storage/in_memory_storage.dart @@ -1,7 +1,6 @@ import '../../thingsboard_client.dart'; class InMemoryStorage implements TbStorage { - final storageMap = {}; @override @@ -18,5 +17,4 @@ class InMemoryStorage implements TbStorage { Future setItem(String key, String value) async { storageMap[key] = value; } - } diff --git a/lib/src/storage/local_file_storage.dart b/lib/src/storage/local_file_storage.dart index e600184..d0f4d10 100644 --- a/lib/src/storage/local_file_storage.dart +++ b/lib/src/storage/local_file_storage.dart @@ -5,7 +5,6 @@ import 'dart:typed_data'; import 'storage.dart'; class LocalFileStorage implements TbStorage { - late Future ready; LocalFileStorage(this.fileName, [this.path]) { @@ -77,7 +76,6 @@ class LocalFileStorage implements TbStorage { _data = json.decode(contentText) as Map; } - Future _getFile() async { if (_file != null) { return _file!; @@ -103,5 +101,4 @@ class LocalFileStorage implements TbStorage { rethrow; } } - } diff --git a/lib/src/storage/storage.dart b/lib/src/storage/storage.dart index 6bc2268..5e9af5d 100644 --- a/lib/src/storage/storage.dart +++ b/lib/src/storage/storage.dart @@ -2,11 +2,9 @@ export 'local_file_storage.dart'; export 'in_memory_storage.dart'; abstract class TbStorage { - Future setItem(String key, String value); Future deleteItem(String key); Future getItem(String key); - } diff --git a/lib/src/thingsboard_client_base.dart b/lib/src/thingsboard_client_base.dart index d6aa973..87d94c4 100644 --- a/lib/src/thingsboard_client_base.dart +++ b/lib/src/thingsboard_client_base.dart @@ -11,14 +11,16 @@ import 'service/service.dart'; import 'storage/storage.dart'; typedef TbComputeCallback = FutureOr Function(Q message); -typedef TbCompute = Future Function(TbComputeCallback callback, Q message); +typedef TbCompute = Future Function( + TbComputeCallback callback, Q message); typedef UserLoadedCallback = void Function(); typedef LoadStartedCallback = void Function(); typedef LoadFinishedCallback = void Function(); typedef ErrorCallback = void Function(ThingsboardError error); -TbCompute syncCompute = (TbComputeCallback callback, Q message) => Future.value(callback(message)); +TbCompute syncCompute = (TbComputeCallback callback, Q message) => + Future.value(callback(message)); class ThingsboardClient { final String _apiEndpoint; @@ -74,25 +76,47 @@ class ThingsboardClient { UserPermissionsService? _userPermissionsService; WhiteLabelingService? _whiteLabelingService; - factory ThingsboardClient(String apiEndpoint, {TbStorage? storage, UserLoadedCallback? onUserLoaded, - ErrorCallback? onError, LoadStartedCallback? onLoadStarted, - LoadFinishedCallback? onLoadFinished, TbCompute? computeFunc}) { + factory ThingsboardClient(String apiEndpoint, + {TbStorage? storage, + UserLoadedCallback? onUserLoaded, + ErrorCallback? onError, + LoadStartedCallback? onLoadStarted, + LoadFinishedCallback? onLoadFinished, + TbCompute? computeFunc}) { var dio = Dio(); dio.options.baseUrl = apiEndpoint; - final tbClient = ThingsboardClient._internal(apiEndpoint, dio, storage, onUserLoaded, onError, onLoadStarted, onLoadFinished, computeFunc ?? syncCompute); + final tbClient = ThingsboardClient._internal( + apiEndpoint, + dio, + storage, + onUserLoaded, + onError, + onLoadStarted, + onLoadFinished, + computeFunc ?? syncCompute); dio.interceptors.clear(); - dio.interceptors.add(HttpInterceptor(dio, tbClient, tbClient._loadStarted, tbClient._loadFinished, tbClient._onError)); + dio.interceptors.add(HttpInterceptor(dio, tbClient, tbClient._loadStarted, + tbClient._loadFinished, tbClient._onError)); return tbClient; } - ThingsboardClient._internal(this._apiEndpoint, this._dio, TbStorage? storage, this._userLoadedCallback, this._errorCallback, this._loadStartedCallback, this._loadFinishedCallback, this._computeFunc): - _storage = storage ?? InMemoryStorage(); + ThingsboardClient._internal( + this._apiEndpoint, + this._dio, + TbStorage? storage, + this._userLoadedCallback, + this._errorCallback, + this._loadStartedCallback, + this._loadFinishedCallback, + this._computeFunc) + : _storage = storage ?? InMemoryStorage(); Future _clearJwtToken() async { await _setUserFromJwtToken(null, null, true); } - Future _setUserFromJwtToken(String? jwtToken, String? refreshToken, bool? notify) async { + Future _setUserFromJwtToken( + String? jwtToken, String? refreshToken, bool? notify) async { if (jwtToken == null) { _token = null; _refreshToken = null; @@ -116,7 +140,7 @@ class ThingsboardClient { if (jwtToken != null) { try { return !JwtDecoder.isExpired(jwtToken); - } catch(e) { + } catch (e) { return false; } } else { @@ -169,20 +193,39 @@ class ThingsboardClient { if (error.error is ThingsboardError) { tbError = error.error; } else if (error.error is SocketException) { - tbError = ThingsboardError(error: error, message: 'Unable to connect', errorCode: ThingsBoardErrorCode.general); + tbError = ThingsboardError( + error: error, + message: 'Unable to connect', + errorCode: ThingsBoardErrorCode.general); } else { - tbError = ThingsboardError(error: error, message: error.error.toString(), errorCode: ThingsBoardErrorCode.general); + tbError = ThingsboardError( + error: error, + message: error.error.toString(), + errorCode: ThingsBoardErrorCode.general); } } - if (tbError == null && error.response != null && error.response!.statusCode != null) { + if (tbError == null && + error.response != null && + error.response!.statusCode != null) { var httpStatus = error.response!.statusCode!; - var message = (httpStatus.toString() + ': ' + (error.response!.statusMessage != null ? error.response!.statusMessage! : 'Unknown')); - tbError = ThingsboardError(error: error, message: message, errorCode: httpStatusToThingsboardErrorCode(httpStatus), status: httpStatus); + var message = (httpStatus.toString() + + ': ' + + (error.response!.statusMessage != null + ? error.response!.statusMessage! + : 'Unknown')); + tbError = ThingsboardError( + error: error, + message: message, + errorCode: httpStatusToThingsboardErrorCode(httpStatus), + status: httpStatus); } } else if (error is ThingsboardError) { tbError = error; } - tbError ??= ThingsboardError(error: error, message: error.toString(), errorCode: ThingsBoardErrorCode.general); + tbError ??= ThingsboardError( + error: error, + message: error.toString(), + errorCode: ThingsBoardErrorCode.general); var errorStackTrace; if (tbError.error is Error) { @@ -206,19 +249,18 @@ class ThingsboardClient { } else { await _setUserFromJwtToken(jwtToken, refreshToken, true); } - } - catch (e) { + } catch (e) { throw toThingsboardError(e); } } Future> get( - String path, { - Map? queryParameters, - Options? options, - CancelToken? cancelToken, - ProgressCallback? onReceiveProgress, - }) async { + String path, { + Map? queryParameters, + Options? options, + CancelToken? cancelToken, + ProgressCallback? onReceiveProgress, + }) async { try { return await _dio.get(path, queryParameters: queryParameters, @@ -231,14 +273,14 @@ class ThingsboardClient { } Future> post( - String path, { - data, - Map? queryParameters, - Options? options, - CancelToken? cancelToken, - ProgressCallback? onSendProgress, - ProgressCallback? onReceiveProgress, - }) async { + String path, { + data, + Map? queryParameters, + Options? options, + CancelToken? cancelToken, + ProgressCallback? onSendProgress, + ProgressCallback? onReceiveProgress, + }) async { try { return await _dio.post(path, data: data, @@ -253,12 +295,12 @@ class ThingsboardClient { } Future> delete( - String path, { - data, - Map? queryParameters, - Options? options, - CancelToken? cancelToken, - }) async { + String path, { + data, + Map? queryParameters, + Options? options, + CancelToken? cancelToken, + }) async { try { return await _dio.delete(path, data: data, @@ -274,41 +316,58 @@ class ThingsboardClient { return _computeFunc!(callback, message); } - Future login(LoginRequest loginRequest, {RequestConfig? requestConfig}) async { - var response = await post('/api/auth/login', data: jsonEncode(loginRequest), options: defaultHttpOptionsFromConfig(requestConfig)); + Future login(LoginRequest loginRequest, + {RequestConfig? requestConfig}) async { + var response = await post('/api/auth/login', + data: jsonEncode(loginRequest), + options: defaultHttpOptionsFromConfig(requestConfig)); var loginResponse = LoginResponse.fromJson(response.data); - await _setUserFromJwtToken(loginResponse.token, loginResponse.refreshToken, true); + await _setUserFromJwtToken( + loginResponse.token, loginResponse.refreshToken, true); return loginResponse; } - Future setUserFromJwtToken(String? jwtToken, String? refreshToken, bool? notify) async { + Future setUserFromJwtToken( + String? jwtToken, String? refreshToken, bool? notify) async { await _setUserFromJwtToken(jwtToken, refreshToken, notify); } Future logout({RequestConfig? requestConfig}) async { try { - await post('/api/auth/logout', options: defaultHttpOptionsFromConfig(requestConfig)); + await post('/api/auth/logout', + options: defaultHttpOptionsFromConfig(requestConfig)); await _clearJwtToken(); } catch (e) { await _clearJwtToken(); } } - Future sendResetPasswordLink(String email, {RequestConfig? requestConfig}) async { - await post('/api/noauth/resetPasswordByEmail', data: {'email': email}, options: defaultHttpOptionsFromConfig(requestConfig)); + Future sendResetPasswordLink(String email, + {RequestConfig? requestConfig}) async { + await post('/api/noauth/resetPasswordByEmail', + data: {'email': email}, + options: defaultHttpOptionsFromConfig(requestConfig)); } - Future changePassword(String currentPassword, String newPassword, {RequestConfig? requestConfig}) async { + Future changePassword(String currentPassword, String newPassword, + {RequestConfig? requestConfig}) async { var changePasswordRequest = { 'currentPassword': currentPassword, 'newPassword': newPassword }; - var response = await post('/api/auth/changePassword', data: jsonEncode(changePasswordRequest), options: defaultHttpOptionsFromConfig(requestConfig)); + var response = await post('/api/auth/changePassword', + data: jsonEncode(changePasswordRequest), + options: defaultHttpOptionsFromConfig(requestConfig)); var loginResponse = LoginResponse.fromJson(response.data); - await _setUserFromJwtToken(loginResponse.token, loginResponse.refreshToken, false); + await _setUserFromJwtToken( + loginResponse.token, loginResponse.refreshToken, false); } - Future refreshJwtToken({String? refreshToken, bool? notify, Dio? internalDio, bool interceptRefreshToken = false}) async { + Future refreshJwtToken( + {String? refreshToken, + bool? notify, + Dio? internalDio, + bool interceptRefreshToken = false}) async { _refreshTokenPending = true; try { refreshToken ??= _refreshToken; @@ -316,8 +375,8 @@ class ThingsboardClient { var refreshTokenRequest = RefreshTokenRequest(refreshToken!); try { var targetDio = internalDio ?? _dio; - var response = await targetDio.post( - '/api/auth/token', data: jsonEncode(refreshTokenRequest)); + var response = await targetDio.post('/api/auth/token', + data: jsonEncode(refreshTokenRequest)); var loginResponse = LoginResponse.fromJson(response.data); await _setUserFromJwtToken( loginResponse.token, loginResponse.refreshToken, notify); @@ -483,7 +542,8 @@ class ThingsboardClient { } TelemetryService getTelemetryService() { - _telemetryWebsocketService ??= TelemetryWebsocketService(this, _apiEndpoint); + _telemetryWebsocketService ??= + TelemetryWebsocketService(this, _apiEndpoint); return _telemetryWebsocketService!; } @@ -566,5 +626,4 @@ class ThingsboardClient { _whiteLabelingService ??= WhiteLabelingService(this); return _whiteLabelingService!; } - } diff --git a/pubspec.yaml b/pubspec.yaml index 4b59c12..97b00ee 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: thingsboard_pe_client -description: Dart implementation of ThingsBoard PE API client. +description: Dart implementation of ThingsBoard PE API client. Provides model objects and services to communicate with ThingsBoard PE platform using RESTful APIs and WebSocket protocol. version: 1.0.0 homepage: https://thingsboard.io repository: https://github.com/thingsboard/dart_thingsboard_pe_client.git diff --git a/test/thingsboard_client_test.dart b/test/thingsboard_client_test.dart index 18b674a..c386cc8 100644 --- a/test/thingsboard_client_test.dart +++ b/test/thingsboard_client_test.dart @@ -2,7 +2,7 @@ import 'package:thingsboard_pe_client/thingsboard_client.dart'; import 'package:test/test.dart'; void main() { - group('A group of tests', () { + group('A group of tests', () { ThingsboardClient? tbClient; setUp(() async {