diff --git a/src/main/java/com/backend/glowhouse/repository/UserRepositoryCustom.java b/src/main/java/com/backend/glowhouse/repository/UserRepositoryCustom.java new file mode 100644 index 0000000000000000000000000000000000000000..e4d2ce4e7170642574ac600f7cfdaca6e1935c79 --- /dev/null +++ b/src/main/java/com/backend/glowhouse/repository/UserRepositoryCustom.java @@ -0,0 +1,7 @@ +package com.backend.glowhouse.repository; + +import com.backend.glowhouse.model.Device; + +public interface UserRepositoryCustom { + public boolean updateUserAssignDevice(String username, Device device); +} diff --git a/src/main/java/com/backend/glowhouse/repository/UserRepositoryImpl.java b/src/main/java/com/backend/glowhouse/repository/UserRepositoryImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..06e63b23645d2ab1f5c7c671491dc882ffed9bfa --- /dev/null +++ b/src/main/java/com/backend/glowhouse/repository/UserRepositoryImpl.java @@ -0,0 +1,32 @@ +package com.backend.glowhouse.repository; + +import com.backend.glowhouse.model.Device; +import com.backend.glowhouse.model.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; + + +public class UserRepositoryImpl implements UserRepositoryCustom{ + private final MongoTemplate mongoTemplate; + + @Autowired + public UserRepositoryImpl(MongoTemplate mongoTemplate) { + this.mongoTemplate = mongoTemplate; + } + + @Override + public boolean updateUserAssignDevice(String username, Device device) { + Query query = new Query(); + query.addCriteria(Criteria.where("username").is(username)); + + Update update = new Update() + .set("device", device); + + mongoTemplate.updateFirst(query, update, User.class); + + return true; + } +}