content: package com.nonononoki.alovoa.html;
  
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.http.MediaType;
  import org.springframework.stereotype.Controller;
  import org.springframework.web.bind.annotation.GetMapping;
  import org.springframework.web.bind.annotation.RestController;
  import org.springframework.web.servlet.ModelAndView;
  
  import com.fasterxml.jackson.core.JsonProcessingException;
  import com.fasterxml.jackson.databind.ObjectMapper;
  import com.nonononoki.alovoa.Tools;
  import com.nonononoki.alovoa.model.InfoDto;
  import com.nonononoki.alovoa.repo.ConversationRepository;
  import com.nonononoki.alovoa.repo.UserLikeRepository;
  import com.nonononoki.alovoa.repo.UserRepository;
  
  @RestController
  public class InfoResource {
  
  	@Autowired
  	private ObjectMapper objectMapper;
  
  	@Autowired
  	private UserRepository userRepo;
  
  	@Autowired
  	private ConversationRepository conversationRepo;
  
  	@Autowired
  	private UserLikeRepository userLikeRepo;
  
      @GetMapping(path = "/info", produces= MediaType.APPLICATION_JSON_VALUE)
  	public InfoDto imprint() throws JsonProcessingException {
  		return InfoDto.builder().numConfirmedUsers(userRepo.countByConfirmed(true))
  						.numFemaleUser(userRepo.countByConfirmedAndGenderId(true, Tools.GENDER_FEMALE_ID))
  						.numMaleUsers(userRepo.countByConfirmedAndGenderId(true, Tools.GENDER_MALE_ID))
  						.numLikes(userLikeRepo.count()).numMatches(conversationRepo.count()).build();
  	}
  }
  