From abd9f4f4809009129d4805d627829b157b4d7403 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Sun, 26 Jan 2020 01:23:55 -0500 Subject: [PATCH] delete AppData for device when deleting device --- bubble-server/src/main/java/bubble/dao/app/AppDataDAO.java | 4 ++++ bubble-server/src/main/java/bubble/dao/device/DeviceDAO.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/bubble-server/src/main/java/bubble/dao/app/AppDataDAO.java b/bubble-server/src/main/java/bubble/dao/app/AppDataDAO.java index 17542f2e..46d2da66 100644 --- a/bubble-server/src/main/java/bubble/dao/app/AppDataDAO.java +++ b/bubble-server/src/main/java/bubble/dao/app/AppDataDAO.java @@ -86,4 +86,8 @@ public class AppDataDAO extends AppTemplateEntityDAO { return list(criteria().add(and(crits.toArray(new Criterion[0])))); } + protected List findByDevice(String uuid) { return findByField("device", uuid); } + + public void deleteDevice(String uuid) { delete(findByDevice(uuid)); } + } diff --git a/bubble-server/src/main/java/bubble/dao/device/DeviceDAO.java b/bubble-server/src/main/java/bubble/dao/device/DeviceDAO.java index 1c1b1e04..e837bbe4 100644 --- a/bubble-server/src/main/java/bubble/dao/device/DeviceDAO.java +++ b/bubble-server/src/main/java/bubble/dao/device/DeviceDAO.java @@ -1,6 +1,7 @@ package bubble.dao.device; import bubble.dao.account.AccountOwnedEntityDAO; +import bubble.dao.app.AppDataDAO; import bubble.model.cloud.AnsibleInstallType; import bubble.model.cloud.BubbleNetwork; import bubble.model.device.Device; @@ -25,6 +26,7 @@ public class DeviceDAO extends AccountOwnedEntityDAO { public static final File VPN_REFRESH_USERS_FILE = new File(HOME_DIR, ".algo_refresh_users"); @Autowired private BubbleConfiguration configuration; + @Autowired private AppDataDAO dataDAO; @Override public Order getDefaultSortOrder() { return Order.asc(CTIME); } @@ -80,6 +82,7 @@ public class DeviceDAO extends AccountOwnedEntityDAO { @Override public void delete(String uuid) { final Device device = findByUuid(uuid); if (device != null) { + dataDAO.deleteDevice(uuid); super.delete(uuid); ensureSpareDevice(device.getAccount(), device.getNetwork(), true); }