@@ -1,15 +1,14 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.soune.nocopy.dto.BaseRequest;
|
||||
import ru.soune.nocopy.dto.BaseResponse;
|
||||
import ru.soune.nocopy.dto.MessageCode;
|
||||
import ru.soune.nocopy.dto.TokenProcessRequest;
|
||||
import ru.soune.nocopy.exception.NotFoundAuthToken;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.util.JwtUtil;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -18,20 +17,19 @@ import java.util.Map;
|
||||
@RequiredArgsConstructor
|
||||
public class AuthRequestHandler implements RequestHandler {
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
private final AuthService authService;
|
||||
private final JwtUtil jwtUtil;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws NotFoundAuthToken {
|
||||
TokenProcessRequest tokenProcessRequest = objectMapper.convertValue(request.getMessageBody(),
|
||||
TokenProcessRequest.class);
|
||||
|
||||
authService.useUserAuthToken(tokenProcessRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
String email = (String) httpServletRequest.getAttribute("email");
|
||||
String token = jwtUtil.generateToken(userId, email);
|
||||
|
||||
return new BaseResponse(request.getMsgId(),
|
||||
MessageCode.SUCCESS.getCode(),
|
||||
"Token processed successfully",
|
||||
Map.of("token", tokenProcessRequest.getToken()));
|
||||
Map.of("token", token));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
@@ -21,7 +22,6 @@ import ru.soune.nocopy.repository.FileEntityRepository;
|
||||
import ru.soune.nocopy.repository.UserRepository;
|
||||
import ru.soune.nocopy.repository.ViolationRepository;
|
||||
import ru.soune.nocopy.service.complaint.ComplaintEntityService;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.service.user.UserService;
|
||||
import ru.soune.nocopy.service.violation.ViolationStatus;
|
||||
|
||||
@@ -39,21 +39,20 @@ public class ComplaintEntityHandler implements RequestHandler {
|
||||
|
||||
private final UserService userService;
|
||||
|
||||
private final AuthService authService;
|
||||
|
||||
private final FileEntityRepository fileEntityRepository;
|
||||
|
||||
private final ComplaintEntityRepository complaintEntityRepository;
|
||||
|
||||
private final ViolationRepository violationRepository;
|
||||
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws Exception {
|
||||
Integer msgId = request.getMsgId();
|
||||
ComplaintRequest complaintRequest = objectMapper.convertValue(request.getMessageBody(), ComplaintRequest.class);
|
||||
String action = complaintRequest.getAction() == null ? "" : complaintRequest.getAction();
|
||||
String token = complaintRequest.getToken();
|
||||
Long userId = authService.useUserAuthToken(token);
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
User user = userRepository.findById(userId).orElse(null);
|
||||
|
||||
if (user == null) {
|
||||
@@ -61,7 +60,7 @@ public class ComplaintEntityHandler implements RequestHandler {
|
||||
request.getMsgId(),
|
||||
MessageCode.USER_NOT_FOUND.getCode(),
|
||||
MessageCode.USER_NOT_FOUND.getDescription(),
|
||||
Map.of("token: ", token));
|
||||
Map.of("userId: ", userId));
|
||||
}
|
||||
|
||||
List<String> emails = user.getCompany() == null ? List.of(user.getEmail()):
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -9,12 +10,11 @@ import ru.soune.nocopy.dto.BaseResponse;
|
||||
import ru.soune.nocopy.dto.MessageCode;
|
||||
import ru.soune.nocopy.dto.cost.CostRequest;
|
||||
import ru.soune.nocopy.dto.cost.CostResponse;
|
||||
import ru.soune.nocopy.entity.user.AuthToken;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
||||
import ru.soune.nocopy.service.cost.CostService;
|
||||
import ru.soune.nocopy.service.user.UserService;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@@ -23,10 +23,12 @@ public class CostHandler implements RequestHandler {
|
||||
|
||||
private final CostService costService;
|
||||
|
||||
private final AuthTokenRepository authTokenRepository;
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
private final UserService userService;
|
||||
|
||||
private final Integer MAX_FILES_FOR_CHECK = 1000;
|
||||
|
||||
@Override
|
||||
@@ -64,18 +66,17 @@ public class CostHandler implements RequestHandler {
|
||||
}
|
||||
|
||||
private BaseResponse handleCheckTokensForFilesProtect(CostRequest costRequest, BaseRequest request) {
|
||||
String authToken = costRequest.getAuthToken();
|
||||
Optional<AuthToken> token = authTokenRepository.findByToken(authToken);
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
User user = userService.getUserById(userId).orElse(null);
|
||||
|
||||
if (token.isEmpty()) {
|
||||
return new BaseResponse(
|
||||
if (user == null) {
|
||||
return new BaseResponse(
|
||||
request.getMsgId(),
|
||||
MessageCode.AUTH_TOKEN_NOT_FOUND.getCode(),
|
||||
MessageCode.AUTH_TOKEN_NOT_FOUND.getDescription(),
|
||||
null);
|
||||
MessageCode.USER_NOT_FOUND.getCode(),
|
||||
MessageCode.USER_NOT_FOUND.getDescription(),
|
||||
Map.of("User: ", userId));
|
||||
}
|
||||
|
||||
User user = token.get().getUser();
|
||||
Integer tokens = user.getActiveTariffInfo().getTokens();
|
||||
|
||||
int cost = costService.protectFileCost(costRequest.getFileType());
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -14,7 +15,6 @@ import ru.soune.nocopy.entity.file.FileEntity;
|
||||
import ru.soune.nocopy.exception.NotFoundAuthToken;
|
||||
import ru.soune.nocopy.service.dockview.DockViewService;
|
||||
import ru.soune.nocopy.service.file.FileEntityService;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -28,10 +28,10 @@ public class DockViewFileHandler implements RequestHandler {
|
||||
|
||||
private final FileEntityService fileEntityService;
|
||||
|
||||
private final AuthService authService;
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws Exception {
|
||||
DocViewerRequest docViewerRequest = objectMapper.convertValue(request.getMessageBody(), DocViewerRequest.class);
|
||||
@@ -55,7 +55,7 @@ public class DockViewFileHandler implements RequestHandler {
|
||||
|
||||
private BaseResponse handleGetHistory(BaseRequest request, DocViewerRequest docViewerRequest) {
|
||||
try {
|
||||
Long userId = authService.useUserAuthToken(docViewerRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
List<String> fileIds = fileEntityService.getAllUserFiles(userId)
|
||||
.stream()
|
||||
.filter(fileEntity -> fileEntity.getMimeType().equals("document"))
|
||||
@@ -94,7 +94,7 @@ public class DockViewFileHandler implements RequestHandler {
|
||||
|
||||
private BaseResponse handleGetViewStats(BaseRequest request, DocViewerRequest docViewerRequest) {
|
||||
try {
|
||||
Long userId = authService.useUserAuthToken(docViewerRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
List<String> fileIds = fileEntityService.getAllUserFiles(userId)
|
||||
.stream()
|
||||
.filter(fileEntity -> fileEntity.getMimeType().equals("document"))
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import ru.soune.nocopy.dto.*;
|
||||
@@ -14,13 +12,11 @@ import ru.soune.nocopy.dto.file.*;
|
||||
import ru.soune.nocopy.entity.file.*;
|
||||
import ru.soune.nocopy.entity.file.moderation.ModerationLog;
|
||||
import ru.soune.nocopy.entity.file.permission.PermissionType;
|
||||
import ru.soune.nocopy.entity.monitoring.FileMonitoringEntity;
|
||||
import ru.soune.nocopy.exception.*;
|
||||
import ru.soune.nocopy.repository.*;
|
||||
import ru.soune.nocopy.service.file.cloud.CloudStorageService;
|
||||
import ru.soune.nocopy.service.file.moderation.ModerationService;
|
||||
import ru.soune.nocopy.service.file.permission.FileAccessService;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.service.file.FileEntityService;
|
||||
import ru.soune.nocopy.service.file.FileStatsService;
|
||||
|
||||
@@ -39,8 +35,6 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private final FileEntityService fileEntityService;
|
||||
|
||||
private final AuthService authService;
|
||||
|
||||
private final FileStatsService fileStatsService;
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
@@ -61,6 +55,8 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private final FileAccessService fileAccessService;
|
||||
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) {
|
||||
try {
|
||||
@@ -118,7 +114,7 @@ public class FileEntityHandler implements RequestHandler {
|
||||
}
|
||||
|
||||
private BaseResponse handleGetFilesUserInfo(BaseRequest request, FileEntityRequest fileRequest) {
|
||||
Long userId = authService.useUserAuthToken(fileRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
FileInfoUserResponse userFileStats = fileStatsService.getUserFileStats(userId);
|
||||
|
||||
return new BaseResponse(request.getMsgId(),
|
||||
@@ -129,7 +125,7 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private BaseResponse handleGetFileInfo(BaseRequest request, FileEntityRequest fileRequest) {
|
||||
try {
|
||||
Long userId = authService.useUserAuthToken(fileRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
FileEntityResponse fileInfo = fileEntityService.getById(fileRequest.getFileId(), request.getVersion());
|
||||
|
||||
if (!fileInfo.getUserId().equals(userId)) {
|
||||
@@ -160,7 +156,7 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private BaseResponse handleChangePermission(BaseRequest request, FileEntityRequest fileRequest) {
|
||||
try {
|
||||
Long userId = authService.useUserAuthToken(fileRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
FileEntityResponse fileInfo = fileEntityService.getById(fileRequest.getFileId(), request.getVersion());
|
||||
|
||||
if (!fileInfo.getUserId().equals(userId)) {
|
||||
@@ -211,7 +207,7 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private BaseResponse handleGetFileBySession(BaseRequest request, FileEntityRequest fileRequest) {
|
||||
try {
|
||||
Long userId = authService.useUserAuthToken(fileRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
FileEntityResponse fileInfo = fileEntityService.getByUploadSessionId(fileRequest.getUploadSessionId(),
|
||||
request.getVersion());
|
||||
|
||||
@@ -243,7 +239,7 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private BaseResponse handleGetUserFiles(BaseRequest request, FileEntityRequest fileRequest) {
|
||||
try {
|
||||
Long userId = authService.useUserAuthToken(fileRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
int page = fileRequest.getPage() != null ? fileRequest.getPage() : 1;
|
||||
int pageSize = fileRequest.getPageSize() != null ? fileRequest.getPageSize() : 20;
|
||||
|
||||
@@ -270,7 +266,7 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private BaseResponse handleSearchFiles(BaseRequest request, FileEntityRequest fileRequest) {
|
||||
try {
|
||||
Long userId = authService.useUserAuthToken(fileRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
int page = fileRequest.getPage() != null ? fileRequest.getPage() : 1;
|
||||
int pageSize = fileRequest.getPageSize() != null ? fileRequest.getPageSize() : 20;
|
||||
|
||||
@@ -509,7 +505,7 @@ public class FileEntityHandler implements RequestHandler {
|
||||
private BaseResponse handleGetUserFilesWithSort(BaseRequest request, FileEntityRequest fileRequest,
|
||||
String sortBy, SortOrder sortOrder) {
|
||||
try {
|
||||
Long userId = authService.useUserAuthToken(fileRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
int page = fileRequest.getPage() != null ? fileRequest.getPage() : 1;
|
||||
int pageSize = fileRequest.getPageSize() != null ? fileRequest.getPageSize() : 20;
|
||||
|
||||
@@ -563,7 +559,7 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private BaseResponse handleGetStorageUsage(BaseRequest request, FileEntityRequest fileRequest) {
|
||||
try {
|
||||
Long userId = authService.useUserAuthToken(fileRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
long usage = fileEntityService.getUserStorageUsed(userId);
|
||||
|
||||
StorageUsageResponse response = StorageUsageResponse.builder()
|
||||
@@ -674,7 +670,7 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private BaseResponse handleDeleteFile(BaseRequest request, FileEntityRequest fileRequest) {
|
||||
try {
|
||||
Long userId = authService.useUserAuthToken(fileRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
String fileId = fileRequest.getFileId();
|
||||
FileEntityResponse fileInfo = fileEntityService.getById(fileId, request.getVersion());
|
||||
DeleteFileResponse response;
|
||||
@@ -764,7 +760,7 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private BaseResponse handleSubmitAppeal(BaseRequest request, FileEntityRequest fileRequest) {
|
||||
try {
|
||||
Long userId = authService.useUserAuthToken(fileRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
|
||||
AppealRequest appealRequest = AppealRequest.builder()
|
||||
.fileId(fileRequest.getFileId())
|
||||
@@ -793,7 +789,7 @@ public class FileEntityHandler implements RequestHandler {
|
||||
|
||||
private BaseResponse handleGetUserAppeals(BaseRequest request, FileEntityRequest fileRequest) {
|
||||
try {
|
||||
Long userId = authService.useUserAuthToken(fileRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
|
||||
int page = fileRequest.getPage() != null ? fileRequest.getPage() : 1;
|
||||
int pageSize = fileRequest.getPageSize() != null ? fileRequest.getPageSize() : 20;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -10,14 +11,11 @@ import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.FieldError;
|
||||
import ru.soune.nocopy.dto.*;
|
||||
import ru.soune.nocopy.dto.file.*;
|
||||
import ru.soune.nocopy.entity.user.AuthToken;
|
||||
import ru.soune.nocopy.entity.file.FileType;
|
||||
import ru.soune.nocopy.entity.file.FileUploadSession;
|
||||
import ru.soune.nocopy.exception.*;
|
||||
import ru.soune.nocopy.handler.validator.FileUploadRequestValidator;
|
||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
||||
import ru.soune.nocopy.repository.FileUploadSessionRepository;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.service.file.FileUploadService;
|
||||
|
||||
import java.util.*;
|
||||
@@ -29,16 +27,14 @@ import java.util.stream.Collectors;
|
||||
public class FileUploadHandler implements RequestHandler {
|
||||
private final FileUploadService fileUploadService;
|
||||
|
||||
private final AuthService authService;
|
||||
|
||||
private final AuthTokenRepository authTokenRepository;
|
||||
|
||||
private final FileUploadSessionRepository fileUploadSessionRepository;
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
private final FileUploadRequestValidator fileUploadRequestValidator;
|
||||
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
@Value("${file.storage.max-file-size}")
|
||||
private long maxFileSize;
|
||||
|
||||
@@ -80,16 +76,7 @@ public class FileUploadHandler implements RequestHandler {
|
||||
}
|
||||
|
||||
private BaseResponse handleInitUpload(BaseRequest request, FileUploadRequest fileRequest) {
|
||||
String token = fileRequest.getToken();
|
||||
|
||||
Optional<AuthToken> tokenOptional = authTokenRepository.findByToken(token);
|
||||
|
||||
if (tokenOptional.isEmpty()) {
|
||||
return new BaseResponse(request.getMsgId(), MessageCode.INVALID_TOKEN.getCode(),
|
||||
MessageCode.INVALID_TOKEN.getDescription(), Map.of("token", token));
|
||||
}
|
||||
|
||||
Long userId = authService.useUserAuthToken(token);
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
BindingResult bindingResult = new BeanPropertyBindingResult(fileRequest, "fileRequest");
|
||||
fileUploadRequestValidator.validate(fileRequest, bindingResult);
|
||||
|
||||
@@ -219,7 +206,6 @@ public class FileUploadHandler implements RequestHandler {
|
||||
|
||||
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
|
||||
MessageCode.SUCCESS.getDescription(), response);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("Error getting file types", e);
|
||||
return new BaseResponse(request.getMsgId(), MessageCode.FILE_UPLOAD_ERROR.getCode(),
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -8,12 +9,8 @@ import ru.soune.nocopy.dto.BaseRequest;
|
||||
import ru.soune.nocopy.dto.BaseResponse;
|
||||
import ru.soune.nocopy.dto.search.GlobalSearchStatisticsRequest;
|
||||
import ru.soune.nocopy.dto.search.GlobalSearchStatisticsResponse;
|
||||
import ru.soune.nocopy.entity.user.AuthToken;
|
||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
||||
import ru.soune.nocopy.service.search.GlobalSearchStatisticsService;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
@@ -23,28 +20,17 @@ public class GlobalSearchHandler implements RequestHandler {
|
||||
|
||||
private final GlobalSearchStatisticsService statisticsService;
|
||||
|
||||
private final AuthTokenRepository authTokenRepository;
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws Exception {
|
||||
GlobalSearchStatisticsRequest statRequest = objectMapper.convertValue(
|
||||
request.getMessageBody(), GlobalSearchStatisticsRequest.class);
|
||||
|
||||
if (statRequest.getToken() == null) {
|
||||
throw new IllegalArgumentException("User token is required");
|
||||
}
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
|
||||
Optional<AuthToken> tokenOptional =
|
||||
authTokenRepository.findByToken(statRequest.getToken());
|
||||
|
||||
if (tokenOptional.isEmpty()) {
|
||||
throw new IllegalArgumentException("User token is required");
|
||||
}
|
||||
|
||||
Long userId = tokenOptional.orElseThrow().getUser().getId();
|
||||
|
||||
GlobalSearchStatisticsResponse statistics = statisticsService.getStatistics(
|
||||
userId, statRequest.getLimit(), statRequest.getDays());
|
||||
GlobalSearchStatisticsResponse statistics = statisticsService.getStatistics(userId, statRequest.getLimit(),
|
||||
statRequest.getDays());
|
||||
|
||||
return BaseResponse.builder()
|
||||
.msgId(request.getMsgId())
|
||||
|
||||
@@ -61,12 +61,6 @@ public class ImageFoundRequestHandler implements RequestHandler {
|
||||
|
||||
private final FileUploadService fileUploadService;
|
||||
|
||||
private final ImageHashService imageHashService;
|
||||
|
||||
private final ImageHashRepository imageHashRepository;
|
||||
|
||||
private final FileSimilarityService fileSimilarityService;
|
||||
|
||||
private final NoCopyFileService noCopyFileService;
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,6 +2,7 @@ package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.mail.MessagingException;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.Page;
|
||||
@@ -24,7 +25,6 @@ import ru.soune.nocopy.exception.TariffNotFoundException;
|
||||
import ru.soune.nocopy.exception.UserNotFoundException;
|
||||
import ru.soune.nocopy.repository.UserRepository;
|
||||
import ru.soune.nocopy.service.complaint.LawCaseService;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.service.tariff.TariffConstants;
|
||||
import ru.soune.nocopy.service.tariff.TariffInfoService;
|
||||
import ru.soune.nocopy.service.violation.ViolationService;
|
||||
@@ -41,8 +41,6 @@ public class LawCaseHandler implements RequestHandler {
|
||||
|
||||
private final LawCaseService lawCaseService;
|
||||
|
||||
private final AuthService authService;
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
private final UserRepository userRepository;
|
||||
@@ -51,11 +49,13 @@ public class LawCaseHandler implements RequestHandler {
|
||||
|
||||
private final ViolationService violationService;
|
||||
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws Exception {
|
||||
LawCaseRequest lawCaseRequest = objectMapper.convertValue(request.getMessageBody(),
|
||||
LawCaseRequest.class);
|
||||
Long userId = authService.useUserAuthToken(lawCaseRequest.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
String action = lawCaseRequest.getAction();
|
||||
|
||||
return switch (action) {
|
||||
|
||||
@@ -6,11 +6,10 @@ import org.springframework.stereotype.Component;
|
||||
import ru.soune.nocopy.dto.*;
|
||||
import ru.soune.nocopy.dto.register.LoginAnswer;
|
||||
import ru.soune.nocopy.dto.register.LoginRequest;
|
||||
import ru.soune.nocopy.entity.user.AuthToken;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.exception.NotValidFieldException;
|
||||
import ru.soune.nocopy.repository.UserRepository;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.util.JwtUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
@@ -21,10 +20,10 @@ public class LoginRequestHandler implements RequestHandler {
|
||||
|
||||
private final UserRepository userRepository;
|
||||
|
||||
private final AuthService authService;
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
private final JwtUtil jwtUtil;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) {
|
||||
LoginRequest loginRequest = objectMapper.convertValue(request.getMessageBody(), LoginRequest.class);
|
||||
@@ -60,14 +59,11 @@ public class LoginRequestHandler implements RequestHandler {
|
||||
MessageCode.PERMISSION_NOT_FOUND.getDescription(), loginAnswer);
|
||||
}
|
||||
|
||||
AuthToken authToken = authService.login(loginRequest);
|
||||
String token = authToken.getToken();
|
||||
String token = jwtUtil.generateToken(user.getId(), user.getEmail());
|
||||
|
||||
LoginAnswer loginAnswer = new LoginAnswer();
|
||||
loginAnswer.setToken(token);
|
||||
|
||||
authService.useUserAuthToken(token);
|
||||
|
||||
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
|
||||
MessageCode.SUCCESS.getDescription(), loginAnswer);
|
||||
}
|
||||
|
||||
@@ -11,8 +11,6 @@ import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.exception.NotValidFieldException;
|
||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
||||
import ru.soune.nocopy.repository.UserRepository;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -20,8 +18,6 @@ import java.util.Optional;
|
||||
@RequiredArgsConstructor
|
||||
public class LogoutRequestHandler implements RequestHandler {
|
||||
|
||||
private final AuthService authService;
|
||||
|
||||
private final AuthTokenRepository authTokenRepository;
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
@@ -49,9 +45,6 @@ public class LogoutRequestHandler implements RequestHandler {
|
||||
new LogoutRequest(logoutRequest.getEmail(), logoutRequest.getToken())));
|
||||
}
|
||||
|
||||
|
||||
authService.logout(logoutRequest.getToken());
|
||||
|
||||
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(), MessageCode.SUCCESS.getDescription(),
|
||||
new LogOutAnswer(logoutRequest.getEmail()));
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -10,11 +11,8 @@ import ru.soune.nocopy.dto.MessageCode;
|
||||
import ru.soune.nocopy.dto.monitoring.MonitoringStatusResponse;
|
||||
import ru.soune.nocopy.dto.monitoring.SetMonitoringRequest;
|
||||
import ru.soune.nocopy.entity.monitoring.MonitoringType;
|
||||
import ru.soune.nocopy.entity.user.AuthToken;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.exception.UserNotHavePermission;
|
||||
import ru.soune.nocopy.service.monitoring.FileMonitoringService;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.Arrays;
|
||||
@@ -29,24 +27,14 @@ public class MonitoringHandler implements RequestHandler {
|
||||
|
||||
private final FileMonitoringService monitoringService;
|
||||
|
||||
private final AuthService authService;
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws Exception {
|
||||
SetMonitoringRequest setRequest = objectMapper.convertValue(
|
||||
request.getMessageBody(), SetMonitoringRequest.class);
|
||||
|
||||
String authToken = setRequest.getAuthToken();
|
||||
AuthToken userAuthToken = authService.getAuthToken(authToken);
|
||||
|
||||
if (authToken == null || userAuthToken == null) {
|
||||
return new BaseResponse(30007, MessageCode.AUTH_TOKEN_NOT_FOUND.getCode(),
|
||||
MessageCode.AUTH_TOKEN_NOT_FOUND.getDescription(),
|
||||
Map.of("token", authToken));
|
||||
}
|
||||
|
||||
User user = userAuthToken.getUser();
|
||||
Long userId = user.getId();
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
String typeStr = setRequest.getMonitoringType();
|
||||
MonitoringType monitoringType;
|
||||
|
||||
@@ -64,7 +52,7 @@ public class MonitoringHandler implements RequestHandler {
|
||||
} catch (UserNotHavePermission e) {
|
||||
return new BaseResponse(request.getMsgId(),
|
||||
MessageCode.USER_NOT_HAD_PERMISSION.getCode(),
|
||||
MessageCode.USER_NOT_HAD_PERMISSION.getDescription(), Map.of("token", authToken));
|
||||
MessageCode.USER_NOT_HAD_PERMISSION.getDescription(), Map.of("User id: ", userId));
|
||||
} catch (FileNotFoundException e) {
|
||||
return new BaseResponse(request.getMsgId(),
|
||||
MessageCode.FILE_NOT_FOUND.getCode(),
|
||||
|
||||
@@ -1,20 +1,18 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.soune.nocopy.dto.BaseRequest;
|
||||
import ru.soune.nocopy.dto.BaseResponse;
|
||||
import ru.soune.nocopy.dto.MessageCode;
|
||||
import ru.soune.nocopy.dto.statistic.MonitoringStatisticRequest;
|
||||
import ru.soune.nocopy.dto.statistic.MonitoringStatisticResponse;
|
||||
import ru.soune.nocopy.entity.company.Company;
|
||||
import ru.soune.nocopy.entity.monitoring.MonitoringType;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.repository.FileMonitoringRepository;
|
||||
import ru.soune.nocopy.repository.UserRepository;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -23,24 +21,19 @@ import java.util.List;
|
||||
@RequiredArgsConstructor
|
||||
public class MonitoringStatisticHandler implements RequestHandler {
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
private final AuthService authService;
|
||||
|
||||
private final FileMonitoringRepository fileMonitoringRepository;
|
||||
|
||||
private final UserRepository userRepository;
|
||||
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws Exception {
|
||||
MonitoringStatisticRequest monitoringStatisticRequest = objectMapper.convertValue(request.getMessageBody(),
|
||||
MonitoringStatisticRequest.class);
|
||||
try {
|
||||
String authToken = monitoringStatisticRequest.getAuthToken();
|
||||
Long userId = authService.useUserAuthToken(authToken);
|
||||
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
User user = userRepository.findById(userId).orElseThrow();
|
||||
Company company = user.getCompany();
|
||||
|
||||
List<Long> userIds = company == null ? List.of(userId) :
|
||||
user.getCompany()
|
||||
.getUsers()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.Page;
|
||||
@@ -14,7 +15,7 @@ import com.fasterxml.jackson.databind.type.TypeFactory;
|
||||
import ru.soune.nocopy.dto.notification.*;
|
||||
import ru.soune.nocopy.entity.notification.Notification;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.service.user.UserService;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -31,7 +32,9 @@ public class NotificationHandler implements RequestHandler {
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
private final AuthService authService;
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
private final UserService userService;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws Exception {
|
||||
@@ -56,7 +59,16 @@ public class NotificationHandler implements RequestHandler {
|
||||
case "list": {
|
||||
NotificationListRequest listRequest = objectMapper.convertValue(request.getMessageBody(),
|
||||
NotificationListRequest.class);
|
||||
User user = authService.getUser(listRequest.getAuthToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
User user = userService.getUserById(userId).orElse(null);
|
||||
|
||||
if (user == null) {
|
||||
return new BaseResponse(
|
||||
request.getMsgId(),
|
||||
MessageCode.USER_NOT_FOUND.getCode(),
|
||||
MessageCode.USER_NOT_FOUND.getDescription(),
|
||||
Map.of("User:", userId));
|
||||
}
|
||||
|
||||
Page<Notification> page = notificationService.getAllNotifications(
|
||||
user,
|
||||
@@ -87,7 +99,8 @@ public class NotificationHandler implements RequestHandler {
|
||||
case "active": {
|
||||
ActivateNotificationRequest activateRequest = objectMapper.convertValue(request.getMessageBody(),
|
||||
ActivateNotificationRequest.class);
|
||||
User user = authService.getUser(activateRequest.getAuthToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
User user = userService.getUserById(userId).orElse(null);
|
||||
|
||||
List<Notification> recent = notificationService.getActiveNotifications(user);
|
||||
|
||||
@@ -107,7 +120,8 @@ public class NotificationHandler implements RequestHandler {
|
||||
case "markRead": {
|
||||
MarkAsReadRequest markRequest = objectMapper.convertValue(request.getMessageBody(),
|
||||
MarkAsReadRequest.class);
|
||||
User user = authService.getUser(markRequest.getAuthToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
User user = userService.getUserById(userId).orElse(null);
|
||||
|
||||
int updated = notificationService.markAsRead(user, markRequest.getNotificationIds());
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.soune.ReferralInvitee;
|
||||
@@ -11,8 +12,8 @@ import ru.soune.nocopy.dto.BaseRequest;
|
||||
import ru.soune.nocopy.dto.BaseResponse;
|
||||
import ru.soune.nocopy.dto.MessageCode;
|
||||
import ru.soune.nocopy.dto.referral.ReferralRequest;
|
||||
import ru.soune.nocopy.entity.user.AuthToken;
|
||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.service.user.UserService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -24,7 +25,9 @@ public class ReferralHandler implements RequestHandler {
|
||||
|
||||
private final ReferralService referralService;
|
||||
|
||||
private final AuthTokenRepository authTokenRepository;
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
private final UserService userService;
|
||||
|
||||
private final ObjectMapper mapper = new ObjectMapper();
|
||||
|
||||
@@ -32,20 +35,28 @@ public class ReferralHandler implements RequestHandler {
|
||||
public BaseResponse handle(BaseRequest request) throws Exception {
|
||||
ReferralRequest referralRequest = mapper.convertValue(request.getMessageBody(), ReferralRequest.class);
|
||||
String action = referralRequest.getAction();
|
||||
String token = referralRequest.getToken();
|
||||
AuthToken authToken = authTokenRepository.findByToken(token).orElseThrow();
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
User user = userService.getUserById(userId).orElse(null);
|
||||
|
||||
if (user == null) {
|
||||
return new BaseResponse(
|
||||
request.getMsgId(),
|
||||
MessageCode.USER_NOT_FOUND.getCode(),
|
||||
MessageCode.USER_NOT_FOUND.getDescription(),
|
||||
Map.of("User: ", userId));
|
||||
}
|
||||
|
||||
switch (action) {
|
||||
case "refill":
|
||||
return handleRefill(request, authToken.getUser().getId(), referralRequest.getAmount());
|
||||
return handleRefill(request, userId, referralRequest.getAmount());
|
||||
case "levels":
|
||||
return handleReferralLevels(request);
|
||||
case "level":
|
||||
return handleUserLevel(request, authToken.getUser().getId());
|
||||
return handleUserLevel(request, userId);
|
||||
case "userStats" :
|
||||
return handleUserStats(request, authToken.getUser().getId());
|
||||
return handleUserStats(request, userId);
|
||||
case "invitees":
|
||||
return handleInvitees(referralRequest, request, authToken.getUser().getId());
|
||||
return handleInvitees(referralRequest, request, userId);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -11,17 +11,17 @@ import ru.soune.nocopy.dto.*;
|
||||
import ru.soune.nocopy.dto.register.RegAnswer;
|
||||
import ru.soune.nocopy.dto.register.RegRequest;
|
||||
import ru.soune.nocopy.entity.referral.Referral;
|
||||
import ru.soune.nocopy.entity.user.AuthToken;
|
||||
import ru.soune.nocopy.entity.user.EmailVerificationToken;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.exception.CompanyAlreadyExist;
|
||||
import ru.soune.nocopy.exception.NotValidFieldException;
|
||||
import ru.soune.nocopy.exception.ValidationException;
|
||||
import ru.soune.nocopy.handler.validator.RegRequestValidator;
|
||||
import ru.soune.nocopy.repository.ReferralJpaRepository;
|
||||
import ru.soune.nocopy.repository.UserRepository;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.service.mail.EmailService;
|
||||
import ru.soune.nocopy.service.user.AdditionalInfoService;
|
||||
import ru.soune.nocopy.service.user.UserService;
|
||||
import ru.soune.nocopy.util.JwtUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
@@ -30,12 +30,10 @@ import java.util.Map;
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class RegRequestHandler implements RequestHandler {
|
||||
private final UserRepository userRepository;
|
||||
private final UserService userService;
|
||||
|
||||
private final RegRequestValidator regRequestValidator;
|
||||
|
||||
private final AuthService authService;
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
private final EmailService emailService;
|
||||
@@ -46,11 +44,13 @@ public class RegRequestHandler implements RequestHandler {
|
||||
|
||||
private final AdditionalInfoService additionalInfoService;
|
||||
|
||||
private final JwtUtil jwtUtil;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws ValidationException {
|
||||
RegRequest regRequest = objectMapper.convertValue(request.getMessageBody(), RegRequest.class);
|
||||
try {
|
||||
if (userRepository.existsByEmail(regRequest.getEmail()) || userRepository.existsByPhone(regRequest.getPhone())) {
|
||||
if (userService.existsByEmailOrPhone(regRequest.getEmail(), regRequest.getPhone())) {
|
||||
RegAnswer regAnswer = new RegAnswer();
|
||||
regAnswer.setFieldErrors(Arrays.asList(Map.of("email", regRequest.getEmail())));
|
||||
regAnswer.setFieldErrors(Arrays.asList(Map.of("phone", regRequest.getPhone())));
|
||||
@@ -93,13 +93,14 @@ public class RegRequestHandler implements RequestHandler {
|
||||
|
||||
boolean verified = mailVerified.equals("true");
|
||||
|
||||
AuthToken authToken = authService.register(regRequest, verified);
|
||||
EmailVerificationToken emailToken = emailService.createEmailVerificationToken(authToken);
|
||||
User user = userService.createUser(regRequest, verified);
|
||||
|
||||
EmailVerificationToken emailToken = emailService.createEmailVerificationToken(user);
|
||||
RegAnswer regAnswer = new RegAnswer();
|
||||
|
||||
if (verified) {
|
||||
try {
|
||||
emailService.sendVerificationEmail(authToken.getUser(), emailToken.getToken());
|
||||
emailService.sendVerificationEmail(user, emailToken.getToken());
|
||||
} catch (Exception e) {
|
||||
return new BaseResponse(request.getMsgId(), MessageCode.SEND_EMAIL_EXCEPTION.getCode(),
|
||||
MessageCode.SEND_EMAIL_EXCEPTION.getDescription(), Map.of(
|
||||
@@ -111,23 +112,22 @@ public class RegRequestHandler implements RequestHandler {
|
||||
regAnswer.setVerified(false);
|
||||
regAnswer.setActive(false);
|
||||
} else {
|
||||
regAnswer.setUserId(authToken.getUser().getId());
|
||||
regAnswer.setUserId(user.getId());
|
||||
|
||||
regAnswer.setVerified(true);
|
||||
regAnswer.setActive(true);
|
||||
}
|
||||
|
||||
String token = authToken.getToken();
|
||||
authService.useUserAuthToken(token);
|
||||
String token = jwtUtil.generateToken(user.getId(), user.getEmail());
|
||||
|
||||
regAnswer.setToken(token);
|
||||
regAnswer.setUserId(authToken.getUser().getId());
|
||||
regAnswer.setUserId(user.getId());
|
||||
|
||||
if (regRequest.getAccountType().equals("b2c")) {
|
||||
referralService.onRegister(authToken.getUser().getId(), regRequest.getReferralLink());
|
||||
referralService.onRegister(user.getId(), regRequest.getReferralLink());
|
||||
}
|
||||
|
||||
additionalInfoService.additionalInfo(regRequest.getIp(), regRequest.getUserAgent(), authToken.getUser());
|
||||
additionalInfoService.additionalInfo(regRequest.getIp(), regRequest.getUserAgent(), user);
|
||||
|
||||
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
|
||||
MessageCode.SUCCESS.getDescription(), regAnswer);
|
||||
|
||||
@@ -11,21 +11,16 @@ import ru.soune.nocopy.dto.MessageCode;
|
||||
import ru.soune.nocopy.dto.file.ActionResponse;
|
||||
import ru.soune.nocopy.dto.register.ResetPasswordRequest;
|
||||
import ru.soune.nocopy.dto.register.ResetPasswordResponse;
|
||||
import ru.soune.nocopy.entity.user.AuthToken;
|
||||
import ru.soune.nocopy.entity.user.EmailVerificationToken;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.exception.NotValidFieldException;
|
||||
import ru.soune.nocopy.exception.UserNotFoundException;
|
||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
||||
import ru.soune.nocopy.repository.EmailVerificationTokenRepository;
|
||||
import ru.soune.nocopy.repository.UserRepository;
|
||||
import ru.soune.nocopy.service.mail.EmailService;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.util.JwtUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
@@ -36,35 +31,33 @@ public class ResetPasswordHandler implements RequestHandler{
|
||||
|
||||
private final EmailService emailService;
|
||||
|
||||
private final AuthService authService;
|
||||
|
||||
private final UserRepository userRepository;
|
||||
|
||||
private final EmailVerificationTokenRepository emailVerificationTokenRepository;
|
||||
|
||||
private final AuthTokenRepository authTokenRepository;
|
||||
|
||||
private final PasswordEncoder passwordEncoder;
|
||||
|
||||
private final JwtUtil jwtUtil;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws Exception {
|
||||
ResetPasswordRequest resetPasswordRequest = objectMapper.convertValue(request.getMessageBody(),
|
||||
ResetPasswordRequest.class);
|
||||
String action = resetPasswordRequest.getAction();
|
||||
User user = userRepository.findByEmail(resetPasswordRequest.getEmail());
|
||||
AuthToken authToken;
|
||||
|
||||
if (user == null) {
|
||||
throw new UserNotFoundException("User not found with email: " + resetPasswordRequest.getEmail());
|
||||
}
|
||||
|
||||
String authToken;
|
||||
switch (action) {
|
||||
case "resetPassword":
|
||||
authToken = authService.generateAuthToken(user);
|
||||
authToken = jwtUtil.generateToken(user.getId(), user.getEmail());
|
||||
|
||||
EmailVerificationToken emailToken = emailService.createEmailVerificationToken(authToken);
|
||||
EmailVerificationToken emailToken = emailService.createEmailVerificationToken(user);
|
||||
|
||||
emailService.sendResetPasswordEmail(authToken.getUser(), emailToken.getToken());
|
||||
emailService.sendResetPasswordEmail(user, emailToken.getToken());
|
||||
|
||||
return successResponse(request, authToken, user, MessageCode.SUCCESS.getDescription());
|
||||
case "confirmVerification":
|
||||
@@ -78,9 +71,7 @@ public class ResetPasswordHandler implements RequestHandler{
|
||||
MessageCode.INVALID_TOKEN.getDescription(), Map.of("verifyToken", verifyToken));
|
||||
}
|
||||
|
||||
List<AuthToken> authTokens = authTokenRepository.findByUserId(user.getId());
|
||||
|
||||
authToken = authTokens.isEmpty() ? authService.generateAuthToken(user): authTokens.getFirst();
|
||||
authToken = jwtUtil.generateToken(user.getId(), user.getEmail());
|
||||
|
||||
user.setPassword(passwordEncoder.encode(resetPasswordRequest.getPassword()));
|
||||
user.setActive(true);
|
||||
@@ -102,9 +93,9 @@ public class ResetPasswordHandler implements RequestHandler{
|
||||
}
|
||||
}
|
||||
|
||||
private BaseResponse successResponse(BaseRequest request, AuthToken authToken, User user, String message) {
|
||||
private BaseResponse successResponse(BaseRequest request, String authToken, User user, String message) {
|
||||
ResetPasswordResponse resetPasswordResponse = new ResetPasswordResponse();
|
||||
resetPasswordResponse.setAuthToken(authToken.getToken());
|
||||
resetPasswordResponse.setAuthToken(authToken);
|
||||
resetPasswordResponse.setUserId(user.getId());
|
||||
|
||||
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(), message, resetPasswordResponse);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -15,6 +16,7 @@ import ru.soune.nocopy.entity.user.AuthToken;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
||||
import ru.soune.nocopy.service.tariff.TariffService;
|
||||
import ru.soune.nocopy.service.user.UserService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -28,7 +30,9 @@ public class TariffHandler implements RequestHandler {
|
||||
|
||||
private final TariffService tariffService;
|
||||
|
||||
private final AuthTokenRepository authTokenRepository;
|
||||
private final UserService userService;
|
||||
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws Exception {
|
||||
@@ -128,8 +132,16 @@ public class TariffHandler implements RequestHandler {
|
||||
}
|
||||
|
||||
private BaseResponse handleGetTariffs(BaseRequest request, TariffRequest tariffRequest) {
|
||||
AuthToken authToken = authTokenRepository.findByToken(tariffRequest.getUserToken()).orElseThrow();
|
||||
User user = authToken.getUser();
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
User user = userService.getUserById(userId).orElse(null);
|
||||
|
||||
if (user == null) {
|
||||
return new BaseResponse(
|
||||
request.getMsgId(),
|
||||
MessageCode.USER_NOT_FOUND.getCode(),
|
||||
MessageCode.USER_NOT_FOUND.getDescription(),
|
||||
Map.of("User:", userId));
|
||||
}
|
||||
|
||||
if (tariffRequest.getTariffTerm() == null || !TariffTimeTerm.validTerms().contains(
|
||||
tariffRequest.getTariffTerm())) {
|
||||
|
||||
@@ -74,7 +74,7 @@ public class TariffInfoHandler implements RequestHandler {
|
||||
private BaseResponse handleCreateTariffInfo(BaseRequest request, TariffInfoRequest tariffInfoRequest) {
|
||||
try {
|
||||
Long tariffId = tariffInfoRequest.getTariffId();
|
||||
Tariff tariff= tariffRepository.findById(tariffId).orElseThrow();
|
||||
Tariff tariff = tariffRepository.findById(tariffId).orElseThrow();
|
||||
TariffTimeTerm tariffTerm = tariff.getTariffTerm();
|
||||
LocalDateTime endDateTime = LocalDateTime.now().plusDays(tariffTerm.getDays());
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.Page;
|
||||
@@ -12,7 +13,6 @@ import ru.soune.nocopy.dto.tokenoperation.TokenOperationPageDto;
|
||||
import ru.soune.nocopy.dto.tokenoperation.TokenOperationRequest;
|
||||
import ru.soune.nocopy.entity.tokenoperation.OperationType;
|
||||
import ru.soune.nocopy.entity.tokenoperation.TokenOperation;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.service.tokenoperation.TokenOperationService;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -26,7 +26,7 @@ public class TokenOperationHandler implements RequestHandler {
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
private final AuthService authService;
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws Exception {
|
||||
@@ -91,16 +91,7 @@ public class TokenOperationHandler implements RequestHandler {
|
||||
}
|
||||
|
||||
private BaseResponse handleGetList(Integer msgId, TokenOperationRequest request) {
|
||||
if (request.getToken() == null) {
|
||||
return new BaseResponse(
|
||||
msgId,
|
||||
MessageCode.USER_NOT_FOUND.getCode(),
|
||||
MessageCode.USER_NOT_FOUND.getDescription(),
|
||||
Map.of("error", "User ID is required")
|
||||
);
|
||||
}
|
||||
|
||||
Long userId = authService.useUserAuthToken(request.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
|
||||
try {
|
||||
Page<TokenOperation> page = tokenOperationService.findByUserId(
|
||||
@@ -189,16 +180,7 @@ public class TokenOperationHandler implements RequestHandler {
|
||||
}
|
||||
|
||||
private BaseResponse handleCreate(Integer msgId, TokenOperationRequest request) {
|
||||
if (request.getToken() == null) {
|
||||
return new BaseResponse(
|
||||
msgId,
|
||||
MessageCode.AUTH_TOKEN_NOT_FOUND.getCode(),
|
||||
MessageCode.AUTH_TOKEN_NOT_FOUND.getDescription(),
|
||||
Map.of("error", "User ID is required")
|
||||
);
|
||||
}
|
||||
|
||||
Long userId = authService.useUserAuthToken(request.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
|
||||
try {
|
||||
TokenOperation operation = tokenOperationService.create(
|
||||
@@ -316,16 +298,7 @@ public class TokenOperationHandler implements RequestHandler {
|
||||
}
|
||||
|
||||
private BaseResponse handleDeleteAllByUser(Integer msgId, TokenOperationRequest request) {
|
||||
if (request.getToken() == null) {
|
||||
return new BaseResponse(
|
||||
msgId,
|
||||
MessageCode.AUTH_TOKEN_NOT_FOUND.getCode(),
|
||||
MessageCode.AUTH_TOKEN_NOT_FOUND.getDescription(),
|
||||
Map.of("error", "User ID is required")
|
||||
);
|
||||
}
|
||||
|
||||
Long userId = authService.useUserAuthToken(request.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
|
||||
try {
|
||||
tokenOperationService.deleteByUserId(userId);
|
||||
@@ -350,16 +323,7 @@ public class TokenOperationHandler implements RequestHandler {
|
||||
}
|
||||
|
||||
private BaseResponse handleGetStats(Integer msgId, TokenOperationRequest request) {
|
||||
if (request.getToken() == null) {
|
||||
return new BaseResponse(
|
||||
msgId,
|
||||
MessageCode.AUTH_TOKEN_NOT_FOUND.getCode(),
|
||||
MessageCode.AUTH_TOKEN_NOT_FOUND.getDescription(),
|
||||
Map.of("error", "User ID is required")
|
||||
);
|
||||
}
|
||||
|
||||
Long userId = authService.useUserAuthToken(request.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
|
||||
if (userId == null) {
|
||||
return new BaseResponse(
|
||||
@@ -405,16 +369,7 @@ public class TokenOperationHandler implements RequestHandler {
|
||||
}
|
||||
|
||||
private BaseResponse handleFilter(Integer msgId, TokenOperationRequest request) {
|
||||
if (request.getToken() == null) {
|
||||
return new BaseResponse(
|
||||
msgId,
|
||||
MessageCode.AUTH_TOKEN_NOT_FOUND.getCode(),
|
||||
MessageCode.AUTH_TOKEN_NOT_FOUND.getDescription(),
|
||||
Map.of("error", "User ID is required")
|
||||
);
|
||||
}
|
||||
|
||||
Long userId = authService.useUserAuthToken(request.getToken());
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
|
||||
try {
|
||||
Page<TokenOperation> page = tokenOperationService.findByFilters(
|
||||
|
||||
@@ -10,22 +10,18 @@ import ru.soune.nocopy.dto.BaseResponse;
|
||||
import ru.soune.nocopy.dto.MessageCode;
|
||||
import ru.soune.nocopy.dto.register.RegAnswer;
|
||||
import ru.soune.nocopy.dto.register.VerifyUserRequest;
|
||||
import ru.soune.nocopy.entity.user.AuthToken;
|
||||
import ru.soune.nocopy.entity.user.EmailVerificationToken;
|
||||
import ru.soune.nocopy.entity.user.User;
|
||||
import ru.soune.nocopy.exception.NotValidFieldException;
|
||||
import ru.soune.nocopy.exception.UserNotFoundException;
|
||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
||||
import ru.soune.nocopy.repository.EmailVerificationTokenRepository;
|
||||
import ru.soune.nocopy.repository.UserRepository;
|
||||
import ru.soune.nocopy.service.mail.EmailService;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.service.user.UserService;
|
||||
import ru.soune.nocopy.util.JwtUtil;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
@@ -41,9 +37,7 @@ public class VerifyRegisterUserHandler implements RequestHandler {
|
||||
|
||||
private final UserService userService;
|
||||
|
||||
private final AuthTokenRepository authTokenRepository;
|
||||
|
||||
private final AuthService authService;
|
||||
private final JwtUtil jwtUtil;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) throws MessagingException, IOException {
|
||||
@@ -54,45 +48,37 @@ public class VerifyRegisterUserHandler implements RequestHandler {
|
||||
User user = userRepository.findById(userId)
|
||||
.orElseThrow(() -> new UserNotFoundException("User not found with id: " + userId));
|
||||
|
||||
List<AuthToken> userAuthTokens = authTokenRepository.findByUserId(userId);
|
||||
|
||||
AuthToken authToken = userAuthTokens.isEmpty() ? authService.generateAuthToken(user): userAuthTokens.getFirst();
|
||||
|
||||
if (verifyUserRequest.getResend() != null && verifyUserRequest.getResend() == 1) {
|
||||
return handleResend(request, user, authToken);
|
||||
return handleResend(request, user);
|
||||
}
|
||||
|
||||
String authToken = jwtUtil.generateToken(user.getId(), user.getEmail());
|
||||
|
||||
return handleVerify(request, user, authToken, verifyUserRequest.getVerifyToken());
|
||||
}
|
||||
|
||||
private BaseResponse handleResend(BaseRequest request, User user, AuthToken authToken) throws MessagingException, IOException {
|
||||
private BaseResponse handleResend(BaseRequest request, User user) throws MessagingException, IOException {
|
||||
|
||||
EmailVerificationToken token = emailVerificationTokenRepository.findByUserId(user.getId());
|
||||
|
||||
// if (token != null && !token.isExpired()) {
|
||||
// emailService.sendVerificationEmail(user, token.getToken());
|
||||
//
|
||||
// log.info("Verification token resent for user {}", user.getEmail());
|
||||
// return successResponse(request, authToken, "Verification code has been resent", false,
|
||||
// false, user.getEmail());
|
||||
// }
|
||||
|
||||
if (token != null) {
|
||||
emailVerificationTokenRepository.delete(token);
|
||||
}
|
||||
|
||||
EmailVerificationToken newToken = emailService.createEmailVerificationToken(authToken);
|
||||
EmailVerificationToken newToken = emailService.createEmailVerificationToken(user);
|
||||
|
||||
emailService.sendVerificationEmail(user, newToken.getToken());
|
||||
|
||||
log.info("New verification token generated for user {}", user.getEmail());
|
||||
|
||||
String authToken = jwtUtil.generateToken(user.getId(), user.getEmail());
|
||||
|
||||
return successResponse(request, authToken, "New verification code has been sent",
|
||||
false, false, user.getEmail());
|
||||
}
|
||||
|
||||
|
||||
private BaseResponse handleVerify(BaseRequest request, User user, AuthToken authToken, String providedToken) {
|
||||
private BaseResponse handleVerify(BaseRequest request, User user, String authToken, String providedToken) {
|
||||
|
||||
EmailVerificationToken token = emailVerificationTokenRepository.findByUserIdAndToken(user.getId(), providedToken);
|
||||
|
||||
@@ -110,10 +96,10 @@ public class VerifyRegisterUserHandler implements RequestHandler {
|
||||
updateUser.isEmailVerified(), updateUser.getEmail());
|
||||
}
|
||||
|
||||
private BaseResponse successResponse(BaseRequest request, AuthToken authToken, String message, boolean isActive,
|
||||
private BaseResponse successResponse(BaseRequest request, String authToken, String message, boolean isActive,
|
||||
boolean isVerified, String email) {
|
||||
RegAnswer regAnswer = new RegAnswer();
|
||||
regAnswer.setToken(authToken.getToken());
|
||||
regAnswer.setToken(authToken);
|
||||
regAnswer.setVerified(isVerified);
|
||||
regAnswer.setActive(isActive);
|
||||
regAnswer.setEmail(email);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.Page;
|
||||
@@ -17,7 +18,6 @@ import ru.soune.nocopy.service.complaint.ComplaintEntityService;
|
||||
import ru.soune.nocopy.service.complaint.LawCaseService;
|
||||
import ru.soune.nocopy.service.file.FileEntityService;
|
||||
import ru.soune.nocopy.service.geo.GeoCountryService;
|
||||
import ru.soune.nocopy.service.register.AuthService;
|
||||
import ru.soune.nocopy.service.violation.ViolationService;
|
||||
import ru.soune.nocopy.service.violation.ViolationStatus;
|
||||
|
||||
@@ -40,8 +40,6 @@ public class ViolationHandler implements RequestHandler {
|
||||
|
||||
private final FileEntityRepository fileRepository;
|
||||
|
||||
private final AuthService authService;
|
||||
|
||||
private final FileEntityService fileEntityService;
|
||||
|
||||
private final GeoCountryService geoCountryService;
|
||||
@@ -50,6 +48,8 @@ public class ViolationHandler implements RequestHandler {
|
||||
|
||||
private final ComplaintEntityService complaintEntityService;
|
||||
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
@Override
|
||||
@@ -57,9 +57,7 @@ public class ViolationHandler implements RequestHandler {
|
||||
ViolationRequest violationRequest = objectMapper.convertValue(request.getMessageBody(), ViolationRequest.class);
|
||||
|
||||
validateRequest(violationRequest);
|
||||
|
||||
String token = violationRequest.getToken();
|
||||
Long userId = authService.useUserAuthToken(token);
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
|
||||
List<FileEntity> targetFiles;
|
||||
|
||||
@@ -135,23 +133,6 @@ public class ViolationHandler implements RequestHandler {
|
||||
.messageBody(groupedData)
|
||||
.build();
|
||||
} else {
|
||||
// Page<Violation> violationPage;
|
||||
//
|
||||
// if (startDate != null && endDate != null) {
|
||||
// violationPage = violationService.getViolationsByFilesAndDateRange(
|
||||
// targetFiles, startDate, endDate,
|
||||
// violationRequest.getPage(), violationRequest.getSize(), violationRequest.getSortDirection()
|
||||
// );
|
||||
// } else if (violationRequest.getStatus() != null && !violationRequest.getStatus().isEmpty()) {
|
||||
// violationPage = violationService.getViolationsByFilesAndStatus(
|
||||
// targetFiles, violationRequest.getStatus(),
|
||||
// violationRequest.getPage(), violationRequest.getSize(), violationRequest.getSortDirection()
|
||||
// );
|
||||
// } else {
|
||||
// violationPage = violationService.getViolationsByFiles(
|
||||
// targetFiles, violationRequest.getPage(), violationRequest.getSize(),
|
||||
// violationRequest.getSortDirection());
|
||||
// }
|
||||
Page<Violation> violationPage = violationService.getViolationsByFilesAndFilters(
|
||||
targetFiles,
|
||||
startDate,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -23,7 +24,7 @@ public class ViolationNotionHandler implements RequestHandler {
|
||||
|
||||
private final ViolationNotionService notionService;
|
||||
|
||||
private final AuthTokenRepository authTokenRepository;
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
@Override
|
||||
public BaseResponse handle(BaseRequest request) {
|
||||
@@ -31,24 +32,7 @@ public class ViolationNotionHandler implements RequestHandler {
|
||||
ViolationNotionRequest notionRequest = objectMapper.convertValue(
|
||||
request.getMessageBody(), ViolationNotionRequest.class);
|
||||
|
||||
if (notionRequest.getToken() == null) {
|
||||
return new BaseResponse(
|
||||
request.getMsgId(),
|
||||
MessageCode.INVALID_TOKEN.getCode(),
|
||||
"Token is required",
|
||||
"field: token");
|
||||
}
|
||||
|
||||
Optional<AuthToken> tokenOptional = authTokenRepository.findByToken(notionRequest.getToken());
|
||||
if (tokenOptional.isEmpty()) {
|
||||
return new BaseResponse(
|
||||
request.getMsgId(),
|
||||
MessageCode.INVALID_TOKEN.getCode(),
|
||||
"Invalid token",
|
||||
notionRequest.getToken());
|
||||
}
|
||||
|
||||
Long userId = tokenOptional.get().getUser().getId();
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
String action = notionRequest.getAction();
|
||||
|
||||
if (action == null || action.trim().isEmpty()) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -9,16 +10,13 @@ import ru.soune.nocopy.dto.BaseResponse;
|
||||
import ru.soune.nocopy.dto.MessageCode;
|
||||
import ru.soune.nocopy.dto.violation.ViolationStatisticsRequest;
|
||||
import ru.soune.nocopy.dto.violation.ViolationStatisticsResponse;
|
||||
import ru.soune.nocopy.entity.user.AuthToken;
|
||||
import ru.soune.nocopy.exception.FileEntityNotFoundException;
|
||||
import ru.soune.nocopy.exception.UserNotHavePermission;
|
||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
||||
import ru.soune.nocopy.service.violation.ViolationService;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.format.DateTimeParseException;
|
||||
import java.util.Optional;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@@ -28,7 +26,7 @@ public class ViolationStatisticsHandler implements RequestHandler {
|
||||
|
||||
private final ViolationService violationService;
|
||||
|
||||
private final AuthTokenRepository authTokenRepository;
|
||||
private final HttpServletRequest httpServletRequest;
|
||||
|
||||
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
@@ -37,8 +35,6 @@ public class ViolationStatisticsHandler implements RequestHandler {
|
||||
ViolationStatisticsRequest statRequest = objectMapper.convertValue(request.getMessageBody(),
|
||||
ViolationStatisticsRequest.class);
|
||||
|
||||
validateRequest(statRequest);
|
||||
|
||||
LocalDateTime startDate = null;
|
||||
LocalDateTime endDate = null;
|
||||
|
||||
@@ -51,13 +47,7 @@ public class ViolationStatisticsHandler implements RequestHandler {
|
||||
}
|
||||
}
|
||||
|
||||
Optional<AuthToken> tokenOptional = authTokenRepository.findByToken(statRequest.getToken());
|
||||
|
||||
if (tokenOptional.isEmpty()) {
|
||||
throw new IllegalArgumentException("User token is required");
|
||||
}
|
||||
|
||||
Long userId = tokenOptional.orElseThrow().getUser().getId();
|
||||
Long userId = (Long) httpServletRequest.getAttribute("userId");
|
||||
ViolationStatisticsResponse statistics;
|
||||
|
||||
try {
|
||||
@@ -91,12 +81,6 @@ public class ViolationStatisticsHandler implements RequestHandler {
|
||||
.build();
|
||||
}
|
||||
|
||||
private void validateRequest(ViolationStatisticsRequest request) {
|
||||
if (request.getToken() == null) {
|
||||
throw new IllegalArgumentException("Token is required");
|
||||
}
|
||||
}
|
||||
|
||||
private LocalDateTime parseDate(String dateStr) {
|
||||
try {
|
||||
return LocalDateTime.parse(dateStr, DATE_FORMATTER);
|
||||
|
||||
@@ -84,8 +84,4 @@ public class FileUploadRequestValidator implements Validator {
|
||||
"Invalid file type. Valid types: " + Arrays.toString(FileType.values()));
|
||||
}
|
||||
}
|
||||
|
||||
private String getFileExtension(String fileName) {
|
||||
return fileName.substring(fileName.lastIndexOf('.') + 1).toLowerCase();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user