From 38fcdd35fef65c98c9fc27caa925353179d7a431 Mon Sep 17 00:00:00 2001 From: Luke <lomah001@gold.ac.uk> Date: Sun, 14 Apr 2019 16:03:37 +0100 Subject: [PATCH] add: added custom user repository and implementation for this interface --- .../repository/UserRepositoryCustom.java | 7 ++++ .../repository/UserRepositoryImpl.java | 32 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 src/main/java/com/backend/glowhouse/repository/UserRepositoryCustom.java create mode 100644 src/main/java/com/backend/glowhouse/repository/UserRepositoryImpl.java 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 0000000..e4d2ce4 --- /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 0000000..06e63b2 --- /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; + } +} -- GitLab