refactoring
This commit is contained in:
parent
c4441eba72
commit
f97598ee08
@ -11,9 +11,9 @@ export abstract class GatewayConnectorVersionProcessor<BasicConfig> {
|
||||
|
||||
getProcessedByVersion(): BasicConfig {
|
||||
if (this.isVersionUpdateNeeded()) {
|
||||
return this.configVersion > this.gatewayVersion
|
||||
? this.getDowngradedVersion()
|
||||
: this.getUpgradedVersion();
|
||||
return this.configVersion < this.gatewayVersion
|
||||
? this.getUpgradedVersion()
|
||||
: this.getDowngradedVersion();
|
||||
}
|
||||
|
||||
return this.connector.configurationJson as unknown as BasicConfig;
|
||||
|
||||
@ -1,15 +1,14 @@
|
||||
import {
|
||||
GatewayConnectorVersionProcessor
|
||||
} from '@home/components/widget/lib/gateway/abstract/gateway-connector-version-processor.abstract';
|
||||
import { isEqual } from '@core/utils';
|
||||
import {
|
||||
GatewayConnector,
|
||||
MQTTBasicConfig, MQTTBasicConfig_v3_5_2,
|
||||
MQTTBasicConfig,
|
||||
MQTTBasicConfig_v3_5_2,
|
||||
MQTTLegacyBasicConfig,
|
||||
RequestMappingData,
|
||||
RequestType,
|
||||
} from '@home/components/widget/lib/gateway/gateway-widget.models';
|
||||
import { isEqual } from '@core/utils';
|
||||
import { MqttVersionMappingUtil } from '@home/components/widget/lib/gateway/utils/mqtt-version-mapping.util';
|
||||
} from '../gateway-widget.models';
|
||||
import { MqttVersionMappingUtil } from '../utils/mqtt-version-mapping.util';
|
||||
import { GatewayConnectorVersionProcessor } from './gateway-connector-version-processor.abstract';
|
||||
|
||||
export class MqttVersionProcessor extends GatewayConnectorVersionProcessor<MQTTBasicConfig> {
|
||||
private readonly mqttRequestTypeKeys = Object.values(RequestType);
|
||||
@ -20,7 +19,7 @@ export class MqttVersionProcessor extends GatewayConnectorVersionProcessor<MQTTB
|
||||
) {
|
||||
super(gatewayVersionStr, connector);
|
||||
}
|
||||
getUpgradedVersion(): MQTTBasicConfig {
|
||||
getUpgradedVersion(): MQTTBasicConfig_v3_5_2 {
|
||||
const {
|
||||
connectRequests,
|
||||
disconnectRequests,
|
||||
@ -41,13 +40,13 @@ export class MqttVersionProcessor extends GatewayConnectorVersionProcessor<MQTTB
|
||||
};
|
||||
|
||||
this.mqttRequestTypeKeys.forEach((key: RequestType) => {
|
||||
const { [key]: removedKey, ...rest } = configurationJson as MQTTLegacyBasicConfig;
|
||||
const { [key]: removedValue, ...rest } = configurationJson as MQTTLegacyBasicConfig;
|
||||
configurationJson = { ...rest } as any;
|
||||
});
|
||||
|
||||
this.cleanUpConfigJson(configurationJson as MQTTBasicConfig_v3_5_2);
|
||||
|
||||
return configurationJson as MQTTBasicConfig;
|
||||
return configurationJson as MQTTBasicConfig_v3_5_2;
|
||||
}
|
||||
|
||||
getDowngradedVersion(): MQTTLegacyBasicConfig {
|
||||
|
||||
@ -32,7 +32,9 @@ export abstract class AbstractMqttBasicConfigComponent<BasicConfig> implements C
|
||||
|
||||
basicFormGroup: FormGroup;
|
||||
mappingTypes = MappingType;
|
||||
|
||||
private destroy$ = new Subject<void>();
|
||||
|
||||
private onChange: (value: BasicConfig) => void;
|
||||
private onTouched: () => void;
|
||||
|
||||
|
||||
@ -80,8 +80,8 @@ export class MqttBasicConfigComponent extends AbstractMqttBasicConfigComponent<M
|
||||
maxNumberOfWorkers: broker.maxNumberOfWorkers,
|
||||
maxMessageNumberPerWorker: broker.maxMessageNumberPerWorker,
|
||||
} : {},
|
||||
mapping: mapping || [],
|
||||
broker: broker || {},
|
||||
mapping: mapping ?? [],
|
||||
broker: broker ?? {},
|
||||
requestsMapping: this.getRequestDataArray(requestsMapping as Record<RequestType, RequestMappingData[]>),
|
||||
};
|
||||
|
||||
|
||||
@ -243,10 +243,6 @@ export class GatewayConnectorComponent extends PageComponent implements AfterVie
|
||||
delete value.class;
|
||||
}
|
||||
|
||||
if (this.gatewayVersion && !value.configVersion) {
|
||||
value.configVersion = this.gatewayVersion;
|
||||
}
|
||||
|
||||
value.ts = Date.now();
|
||||
|
||||
return value;
|
||||
@ -482,7 +478,7 @@ export class GatewayConnectorComponent extends PageComponent implements AfterVie
|
||||
value.configurationJson = {} as ConnectorBaseConfig;
|
||||
}
|
||||
value.basicConfig = value.configurationJson;
|
||||
this.updateConnector({...value, configVersion: this.gatewayVersion ?? ''});
|
||||
this.updateConnector(value);
|
||||
this.generate('basicConfig.broker.clientId');
|
||||
setTimeout(() => this.saveConnector());
|
||||
});
|
||||
|
||||
@ -40,7 +40,7 @@ export class MqttVersionMappingUtil {
|
||||
['attributeNameExpressionSource', 'responseTopicQoS', 'extensionConfig'];
|
||||
|
||||
static mapMappingToUpgradedVersion(
|
||||
mapping: LegacyConverterConnectorMapping[] | ConverterConnectorMapping[]
|
||||
mapping: LegacyConverterConnectorMapping[]
|
||||
): ConverterConnectorMapping[] {
|
||||
return mapping?.map(({ converter, topicFilter, subscriptionQos = 1 }) => {
|
||||
const deviceInfo = converter.deviceInfo ?? this.extractConverterDeviceInfo(converter);
|
||||
@ -54,12 +54,12 @@ export class MqttVersionMappingUtil {
|
||||
this.cleanUpOldFields(newConverter);
|
||||
|
||||
return { converter: newConverter, topicFilter, subscriptionQos };
|
||||
});
|
||||
}) as ConverterConnectorMapping[];
|
||||
}
|
||||
|
||||
static mapRequestsToUpgradedVersion(
|
||||
requestMapping: Record<RequestType,
|
||||
RequestMappingData[] | LegacyRequestMappingData[]>
|
||||
LegacyRequestMappingData[]>
|
||||
): Record<RequestType, RequestMappingData[]> {
|
||||
return this.mqttRequestTypeKeys.reduce((acc, key: RequestType) => {
|
||||
if (!requestMapping[key]) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user