diff --git a/.gitignore b/.gitignore
index c836fce..1f24632 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,9 @@
# Mobile Tools for Java (J2ME)
.mtj.tmp/
+# .env
+.env
+
# Package Files #
*.jar
*.war
diff --git a/.idea/WPD-Auth.iml b/.idea/WPD-Auth.iml
new file mode 100644
index 0000000..18ec59d
--- /dev/null
+++ b/.idea/WPD-Auth.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..9e4d601
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..4140949
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..a468a99
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..c99d05a
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..9661ac7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 0a77e75..25ff725 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,19 +5,36 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ "associatedIndex": 8
+}
@@ -29,14 +46,42 @@
"RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"WebServerToolWindowFactoryState": "false",
- "last_opened_file_path": "/Users/diegopajaritograjales/PycharmProjects/WPD-Auth",
+ "git-widget-placeholder": "main",
+ "last_opened_file_path": "C:/xampp/htdocs/java-wpd-auth/WPD-Auth",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
- "nodejs_package_manager_path": "npm"
+ "nodejs_package_manager_path": "npm",
+ "settings.editor.selected.configurable": "reference.settings.project.maven.repository.indices"
}
}]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
index 14a1474..e17f236 100644
--- a/pom.xml
+++ b/pom.xml
@@ -94,8 +94,14 @@
gson
2.8.5
provided
-
-
+
+
+ org.jetbrains
+ annotations
+ 24.1.0
+ compile
+
+
diff --git a/src/main/java/org/waterproofingdata/wpdauth/controller/UsersController.java b/src/main/java/org/waterproofingdata/wpdauth/controller/UsersController.java
index 0ab8aac..9da0c7c 100644
--- a/src/main/java/org/waterproofingdata/wpdauth/controller/UsersController.java
+++ b/src/main/java/org/waterproofingdata/wpdauth/controller/UsersController.java
@@ -8,10 +8,12 @@ import org.waterproofingdata.wpdauth.dto.UsersResponseDTO;
import org.waterproofingdata.wpdauth.model.Users;
import org.waterproofingdata.wpdauth.service.UsersService;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@@ -30,6 +32,16 @@ import io.swagger.annotations.Authorization;
public class UsersController {
@Autowired
private UsersService userService;
+
+ @PutMapping("/update")
+ public ResponseEntity editUser(@RequestBody Users updatedUser) {
+ Users editedUser = userService.editUser(updatedUser);
+ if (editedUser != null) {
+ return ResponseEntity.ok(editedUser);
+ } else {
+ return ResponseEntity.notFound().build();
+ }
+ }
@GetMapping(value = "/{id}")
@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_INSTITUTION') or hasRole('ROLE_CLIENT')")
@@ -156,7 +168,7 @@ public class UsersController {
) {
return userService.signup(CustomMapper.map(user, Users.class));
}
-
+
@PostMapping("/activate")
@PreAuthorize("hasRole('ROLE_INSTITUTION') or hasRole('ROLE_CLIENT')")
@ApiOperation(
diff --git a/src/main/java/org/waterproofingdata/wpdauth/service/UsersService.java b/src/main/java/org/waterproofingdata/wpdauth/service/UsersService.java
index 307b346..ec917d0 100644
--- a/src/main/java/org/waterproofingdata/wpdauth/service/UsersService.java
+++ b/src/main/java/org/waterproofingdata/wpdauth/service/UsersService.java
@@ -1,14 +1,12 @@
package org.waterproofingdata.wpdauth.service;
-import java.util.List;
-import java.util.Optional;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
+import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
-import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.AuthenticationException;
@@ -48,6 +46,27 @@ public class UsersService {
@Autowired
private AuthenticationManager authenticationManager;
+
+ public Users editUser(@NotNull Users updatedUser) {
+ Users existingUser = usersRepository.findById(updatedUser.getId()).orElse(null);
+ if (existingUser != null) {
+ existingUser.setNickname(updatedUser.getNickname());
+ existingUser.setDateofborn(updatedUser.getDateofborn());
+ existingUser.setGender(updatedUser.getGender());
+ existingUser.setState(updatedUser.getState());
+ existingUser.setCity(updatedUser.getCity());
+ existingUser.setInstitutiontype(updatedUser.getInstitutiontype());
+ existingUser.setInstitution(updatedUser.getInstitution());
+ existingUser.setSecurityquestion(updatedUser.getSecurityquestion());
+ existingUser.setSecurityanswer(updatedUser.getSecurityanswer());
+ existingUser.setTermsofusage(updatedUser.getTermsofusage());
+ existingUser.setAvatar(updatedUser.getAvatar());
+ existingUser.setActive(updatedUser.getActive());
+
+ return usersRepository.save(existingUser);
+ }
+ return null;
+ }
private void addNewUsersEducemadenOrganization(Integer userid, Integer educemadenorganizationsid, UUID uuid_activationkey, Roles role) {
UsersEducemadenOrganizations userEducemadenOrg = new UsersEducemadenOrganizations();
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 02e19ea..ed55c87 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -5,10 +5,9 @@ spring.datasource.hikari.maximumPoolSize=5
## PostgreSQL
spring.datasource.url=jdbc:postgresql://localhost:5432/wpdauth
spring.datasource.username=uwpdauth
-spring.datasource.password=
+spring.datasource.password=root
-spring.jpa.hibernate.ddl-auto=none
-spring.jpa.properties.hibernate.default_schema=auth
+spring.jpa.properties.hibernate.default_schema=auth
server.port=8080
@@ -17,7 +16,7 @@ security.jwt.token.secret-key=
security.jwt.token.expire-length=300000
spring.mail.host=
-spring.mail.port=
+spring.mail.port=587
spring.mail.username=
spring.mail.password=
spring.mail.properties.mail.smtp.auth=true