diff --git a/dao/src/main/java/cc/iotkit/dao/SpaceRepository.java b/dao/src/main/java/cc/iotkit/dao/SpaceRepository.java index dbada4b2..39789754 100755 --- a/dao/src/main/java/cc/iotkit/dao/SpaceRepository.java +++ b/dao/src/main/java/cc/iotkit/dao/SpaceRepository.java @@ -11,4 +11,6 @@ public interface SpaceRepository extends MongoRepository { List findByUidOrderByCreateAtDesc(String uid); + List findByUidAndHomeIdOrderByCreateAtDesc(String uid, String homeId); + } diff --git a/manager/src/main/java/cc/iotkit/manager/config/KeycloakSecurityConfig.java b/manager/src/main/java/cc/iotkit/manager/config/KeycloakSecurityConfig.java index 2455c60c..1635a606 100755 --- a/manager/src/main/java/cc/iotkit/manager/config/KeycloakSecurityConfig.java +++ b/manager/src/main/java/cc/iotkit/manager/config/KeycloakSecurityConfig.java @@ -57,6 +57,12 @@ public class KeycloakSecurityConfig extends KeycloakWebSecurityConfigurerAdapter .antMatchers("/*.html", "/favicon.ico", "/v2/api-docs", "/webjars/**", "/swagger-resources/**", "/*.js").permitAll() .antMatchers("/api/**").hasRole("iot_client_user") .antMatchers("/aligenieDevice/invoke/**").hasRole("iot_client_user") + //客户端用户写权限 + .antMatchers("/space/addSpace/**").hasRole("iot_client_user") + .antMatchers("/space/saveSpace/**").hasRole("iot_client_user") + .antMatchers("/space/delSpace/**").hasRole("iot_client_user") + .antMatchers("/space/saveHome/**").hasRole("iot_client_user") + .antMatchers(HttpMethod.DELETE).hasRole("iot_write") .antMatchers(HttpMethod.PUT).hasRole("iot_write") .antMatchers("/**/save*/**").hasRole("iot_write") diff --git a/manager/src/main/java/cc/iotkit/manager/controller/SpaceController.java b/manager/src/main/java/cc/iotkit/manager/controller/SpaceController.java index 1a2658c7..ccbee2a2 100755 --- a/manager/src/main/java/cc/iotkit/manager/controller/SpaceController.java +++ b/manager/src/main/java/cc/iotkit/manager/controller/SpaceController.java @@ -26,6 +26,17 @@ public class SpaceController { @Autowired private DataOwnerService dataOwnerService; + /** + * 取用户当前家庭 + */ + @GetMapping("/currentHome") + public Home getCurrentHome() { + return homeRepository.findByUidAndCurrent(AuthUtil.getUserId(), true); + } + + /** + * 保存家庭信息 + */ @PostMapping("/saveHome/{id}") public void saveHome(@PathVariable("id") String id, Home home) { Optional optHome = homeRepository.findById(id); @@ -44,17 +55,17 @@ public class SpaceController { } /** - * 我的空间设备列表 + * 我的空间列表 */ - @GetMapping("/spaces") - public List getSpaces() { - return spaceRepository.findByUidOrderByCreateAtDesc(AuthUtil.getUserId()); + @GetMapping("/spaces/{homeId}") + public List getSpaces(@PathVariable("homeId") String homeId) { + return spaceRepository.findByUidAndHomeIdOrderByCreateAtDesc(AuthUtil.getUserId(), homeId); } /** * 在当前家庭中添加空间 */ - @PostMapping("/add") + @PostMapping("/addSpace") public void addSpace(String name) { String uid = AuthUtil.getUserId(); Home currHome = homeRepository.findByUidAndCurrent(uid, true);