Project

General

Profile

« Previous | Next » 

Revision 57650

new registration form

View differences:

UserController.java
1 1
package eu.dnetlib.organizations.controller;
2 2

  
3 3
import java.util.HashMap;
4
import java.util.List;
4 5
import java.util.Map;
5 6

  
6
import org.apache.commons.codec.digest.DigestUtils;
7 7
import org.springframework.beans.factory.annotation.Autowired;
8 8
import org.springframework.security.core.Authentication;
9 9
import org.springframework.web.bind.annotation.DeleteMapping;
......
13 13
import org.springframework.web.bind.annotation.RequestParam;
14 14
import org.springframework.web.bind.annotation.RestController;
15 15

  
16
import eu.dnetlib.organizations.model.User;
17 16
import eu.dnetlib.organizations.model.view.UserView;
18 17
import eu.dnetlib.organizations.repository.UserRepository;
19 18
import eu.dnetlib.organizations.repository.readonly.UserViewRepository;
20 19
import eu.dnetlib.organizations.utils.DatabaseUtils;
21
import eu.dnetlib.organizations.utils.OpenOrgsConstants;
22 20

  
23 21
@RestController
24 22
public class UserController {
25 23

  
26
	private static final String DEFAULT_PASSWORD = "dnet";
27

  
28 24
	@Autowired
29 25
	private UserRepository userRepository;
26

  
30 27
	@Autowired
31 28
	private UserViewRepository userViewRepository;
32 29
	@Autowired
33 30
	private DatabaseUtils dbUtils;
34 31

  
35 32
	@PostMapping(value = "/public_api/newUser")
36
	public Map<String, Integer> newUser(final @RequestParam String email) {
33
	public Map<String, Integer> newUser(final @RequestBody List<String> countries, final Authentication authentication) {
34

  
35
		final String email = authentication.getName();
36

  
37 37
		final Map<String, Integer> res = new HashMap<>();
38
		if (userRepository.existsById(email)) {
38

  
39
		if (!UserInfo.isNotAuthorized(authentication) || userRepository.existsById(email)) {
39 40
			res.put("status", 2);
40 41
		} else {
41
			final User user = new User();
42
			user.setEmail(email);
43
			user.setPassword("{MD5}" + DigestUtils.md5Hex(DEFAULT_PASSWORD));
44
			user.setRole(OpenOrgsConstants.pendingRole);
45
			user.setValid(false);
46
			userRepository.save(user);
42
			dbUtils.newUser(email, countries);
47 43
			res.put("status", 1);
48 44
		}
49 45
		return res;

Also available in: Unified diff