added the skill_id to the AccountSkillSetting object to know which skill the settings are for.
parent
1937486249
commit
ab0a7f5932
|
@ -108,9 +108,6 @@ class SkillInstallEndpoint(SeleneEndpoint):
|
|||
settings.settings_values[section] = setting_value
|
||||
self._update_skill_settings(settings)
|
||||
|
||||
def _update_skill_settings(self, settings):
|
||||
def _update_skill_settings(self, new_skill_settings):
|
||||
"""Update the DB with the new installer skill settings."""
|
||||
self.settings_repo.update_skill_settings(
|
||||
settings.devices,
|
||||
settings.settings_values
|
||||
)
|
||||
self.settings_repo.update_skill_settings(new_skill_settings)
|
||||
|
|
|
@ -100,16 +100,16 @@ def create_skill_settings(context):
|
|||
|
||||
@when('the skill settings are updated')
|
||||
def update_skill(context):
|
||||
response = json.loads(context.upload_device_response.data)
|
||||
update_settings = [AccountSkillSetting(
|
||||
skill_id=response['uuid'],
|
||||
settings_display={},
|
||||
settings_values=new_settings,
|
||||
devices=[context.device_name]
|
||||
)]
|
||||
response = json.loads(context.upload_device_response.data)
|
||||
skill_id = response['uuid']
|
||||
db = connect_to_db(context.client_config['DB_CONNECTION_CONFIG'])
|
||||
skill_setting_repo = SkillSettingRepository(db, context.account.id)
|
||||
skill_setting_repo.update_skill_settings(skill_id, update_settings)
|
||||
skill_setting_repo.update_skill_settings(update_settings)
|
||||
|
||||
|
||||
@when('the skill settings is fetched')
|
||||
|
|
|
@ -4,6 +4,7 @@ from typing import List
|
|||
|
||||
@dataclass
|
||||
class AccountSkillSetting(object):
|
||||
skill_id: str
|
||||
settings_display: dict
|
||||
settings_values: dict
|
||||
devices: List[str]
|
||||
|
|
|
@ -25,6 +25,7 @@ class SkillSettingRepository(RepositoryBase):
|
|||
settings_display = row['settings_display']['skillMetadata']
|
||||
skill_settings.append(
|
||||
AccountSkillSetting(
|
||||
skill_id=skill_id,
|
||||
settings_display=settings_display,
|
||||
settings_values=row['settings_values'],
|
||||
devices=row['devices']
|
||||
|
@ -48,18 +49,14 @@ class SkillSettingRepository(RepositoryBase):
|
|||
return skill_settings
|
||||
|
||||
@use_transaction
|
||||
def update_skill_settings(
|
||||
self,
|
||||
skill_id: str,
|
||||
skill_settings: List[AccountSkillSetting]
|
||||
):
|
||||
def update_skill_settings(self, skill_settings: List[AccountSkillSetting]):
|
||||
for settings_group in skill_settings:
|
||||
db_request = self._build_db_request(
|
||||
'update_device_skill_settings.sql',
|
||||
args=dict(
|
||||
account_id=self.account_id,
|
||||
settings_values=json.dumps(settings_group.settings_values),
|
||||
skill_id=skill_id,
|
||||
skill_id=settings_group.skill_id,
|
||||
device_names=tuple(settings_group.devices)
|
||||
)
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue