Removing business logic from models. First pass at overrides feature
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Brandon Watson
2021-12-28 20:11:13 -05:00
parent c22a8a0325
commit e6e3d45b5b
9 changed files with 148 additions and 88 deletions

View File

@ -34,7 +34,7 @@ export class ActivityService {
controlUnitName
);
await this._harmonyDataProvider.turnOnDevices(devicesToTurnOn);
await this._harmonyDataProvider.powerOnDevices(devicesToTurnOn);
await this.assignDeviceInput(activity);
@ -47,7 +47,7 @@ export class ActivityService {
lastActivity,
activity
);
await this._harmonyDataProvider.turnOffDevices(devicesToTurnOff);
await this._harmonyDataProvider.powerOffDevices(devicesToTurnOff);
this._stateDataProvider.updateState(activity, controlUnitName);
};
@ -66,7 +66,7 @@ export class ActivityService {
controlUnitName,
lastActivity
);
await this._harmonyDataProvider.turnOffDevices(devicesToTurnOff);
await this._harmonyDataProvider.powerOffDevices(devicesToTurnOff);
this._stateDataProvider.removeState(controlUnitName);
};
@ -157,7 +157,7 @@ export class ActivityService {
private buildPotentialDeviceList(activity: IActivity): HarmonyDevice[] {
return activity.DeviceSetupList.map(
(value: IDeviceSetupItem): HarmonyDevice => {
return this._harmonyDataProvider.getDeviceFromName(value.DeviceName);
return this._harmonyDataProvider.getDeviceByName(value.DeviceName);
}
);
}
@ -165,12 +165,15 @@ export class ActivityService {
private async assignDeviceInput(activity: IActivity): Promise<void> {
await Promise.all(
activity.DeviceSetupList.map(async (value: IDeviceSetupItem) => {
let device: HarmonyDevice = this._harmonyDataProvider.getDeviceFromName(
let device: HarmonyDevice = this._harmonyDataProvider.getDeviceByName(
value.DeviceName
);
if (device && device.supportsCommand(`Input${value.Input}`)) {
await device.sendCommand(`Input${value.Input}`);
await this._harmonyDataProvider.sendCommand(
`Input${value.Input}`,
device
);
}
})
);
@ -190,7 +193,7 @@ export class ActivityService {
let outputCommandName: string = `Out ${output.OutputLetter}`;
let matrixDevice: HarmonyDevice =
this._harmonyDataProvider.getDeviceFromName(
this._harmonyDataProvider.getDeviceByName(
this._config.Matrix.DeviceName
);
@ -199,10 +202,22 @@ export class ActivityService {
matrixDevice.supportsCommand(inputCommandName) &&
matrixDevice.supportsCommand(outputCommandName)
) {
await matrixDevice.sendCommand(outputCommandName);
await matrixDevice.sendCommand(inputCommandName);
await matrixDevice.sendCommand(outputCommandName);
await matrixDevice.sendCommand(inputCommandName);
await this._harmonyDataProvider.sendCommand(
outputCommandName,
matrixDevice
);
await this._harmonyDataProvider.sendCommand(
inputCommandName,
matrixDevice
);
await this._harmonyDataProvider.sendCommand(
outputCommandName,
matrixDevice
);
await this._harmonyDataProvider.sendCommand(
inputCommandName,
matrixDevice
);
}
}
}

View File

@ -23,7 +23,7 @@ export class CommandService {
if (currentActivity) {
let commandName: string = "";
let device: HarmonyDevice = this._harmonyDataProvider.getDeviceFromName(
let device: HarmonyDevice = this._harmonyDataProvider.getDeviceByName(
currentActivity.ControlDevice
);
switch (key) {
@ -65,7 +65,7 @@ export class CommandService {
}
}
await device.sendCommand(commandName);
await this._harmonyDataProvider.sendCommand(commandName, device);
}
};
}

View File

@ -19,10 +19,11 @@ export class VolumeService {
let currentActivity = this._stateDataProvider.getState(controlUnitName);
if (currentActivity) {
let volumeDevice: HarmonyDevice =
this._harmonyDataProvider.getDeviceFromName(
currentActivity.VolumeDevice
);
await volumeDevice.sendCommand(volumeUpCommand);
this._harmonyDataProvider.getDeviceByName(currentActivity.VolumeDevice);
await this._harmonyDataProvider.sendCommand(
volumeUpCommand,
volumeDevice
);
}
};
@ -34,10 +35,11 @@ export class VolumeService {
let currentActivity = this._stateDataProvider.getState(controlUnitName);
if (currentActivity) {
let volumeDevice: HarmonyDevice =
this._harmonyDataProvider.getDeviceFromName(
currentActivity.VolumeDevice
);
await volumeDevice.sendCommand(volumeDownCommand);
this._harmonyDataProvider.getDeviceByName(currentActivity.VolumeDevice);
await this._harmonyDataProvider.sendCommand(
volumeDownCommand,
volumeDevice
);
}
};
}