Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
33 changes: 14 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,27 @@
name: Code Review & Build
name: Code Review (AI PR Reviewer)

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
types: [opened, synchronize, reopened]

permissions:
contents: read
pull-requests: write

jobs:
build:
review:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
- name: AI PR Review and Summary
uses: fluxninja/openai-pr-reviewer@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
with:
java-version: '17'
distribution: 'temurin'
cache: gradle

- name: Make Gradle wrapper executable
run: chmod +x gradlew

- name: Build without tests
run: ./gradlew build -x test
debug: false
review_simple_changes: true
review_comment_lgtm: true
review_comment_in_diff: true
summarize_changes: true
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ua.everybuy.buisnesslogic.config;
package ua.everybuy.config;

import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ua.everybuy.buisnesslogic.config;
package ua.everybuy.config;

import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ua.everybuy.buisnesslogic.config;
package ua.everybuy.config;

import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ua.everybuy.buisnesslogic.config;
package ua.everybuy.config;

import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import org.springframework.lang.Nullable;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import ua.everybuy.buisnesslogic.service.advertisement.AdvertisementCreationService;
import ua.everybuy.buisnesslogic.service.advertisement.AdvertisementManagementService;
import ua.everybuy.buisnesslogic.service.advertisement.AdvertisementUpdateService;
import ua.everybuy.service.advertisement.AdvertisementCreationService;
import ua.everybuy.service.advertisement.AdvertisementManagementService;
import ua.everybuy.service.advertisement.AdvertisementUpdateService;
import ua.everybuy.routing.dto.AdvertisementDto;
import ua.everybuy.routing.dto.request.UpdateAdvertisementRequest;
import ua.everybuy.routing.dto.response.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import ua.everybuy.buisnesslogic.service.category.CategoryService;
import ua.everybuy.service.category.CategoryService;
import ua.everybuy.database.entity.Category;
import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import ua.everybuy.buisnesslogic.service.location.CityService;
import ua.everybuy.service.location.CityService;
import ua.everybuy.database.entity.City;
import ua.everybuy.routing.dto.response.StatusResponse;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,23 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import ua.everybuy.buisnesslogic.service.advertisement.search.AdvertisementSearchService;
import ua.everybuy.routing.dto.AdvertisementSearchResultDto;
import ua.everybuy.routing.dto.request.AdvertisementSearchParametersDto;
import ua.everybuy.service.advertisement.search.SearchService;

@RestController
@RequiredArgsConstructor
@RequestMapping("/product/search")
public class ElasticSearchController {
private final AdvertisementSearchService elasticSearchService;
private final SearchService searchService;

@GetMapping()
public AdvertisementSearchResultDto advancedSearchPost(
@Valid AdvertisementSearchParametersDto searchParams,
@RequestParam(defaultValue = "1") int page,
@RequestParam(defaultValue = "20") int size) {
System.out.println(searchParams);
return elasticSearchService.searchAdvertisements(searchParams, page,size);
return searchService.searchAdvertisements(searchParams, page,size);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import ua.everybuy.buisnesslogic.service.advertisement.FavouriteAdvertisementService;
import ua.everybuy.service.advertisement.FavouriteAdvertisementService;
import ua.everybuy.database.entity.Advertisement;
import ua.everybuy.routing.dto.response.AddToFavouriteResponse;
import ua.everybuy.routing.dto.response.FavouriteAdvertisementResponse;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import ua.everybuy.buisnesslogic.service.advertisement.filter.FilterAdvertisementService;
import ua.everybuy.service.advertisement.filter.FilterAdvertisementService;
import org.springframework.web.bind.annotation.RestController;
import ua.everybuy.routing.dto.request.AdvertisementSearchParametersDto;
import ua.everybuy.routing.dto.AdvertisementSearchResultDto;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import ua.everybuy.buisnesslogic.service.category.LowLevelSubCategoryService;
import ua.everybuy.service.category.LowLevelSubCategoryService;
import ua.everybuy.routing.dto.SubCategoryDto;
import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import ua.everybuy.buisnesslogic.service.location.CityService;
import ua.everybuy.buisnesslogic.service.location.RegionService;
import ua.everybuy.service.location.CityService;
import ua.everybuy.service.location.RegionService;
import ua.everybuy.database.entity.City;
import ua.everybuy.database.entity.Region;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import ua.everybuy.buisnesslogic.service.advertisement.search.category.ElasticSearchCategoryService;
import ua.everybuy.buisnesslogic.service.category.TopLevelSubCategoryService;
import ua.everybuy.service.advertisement.search.category.SearchCategoryService;
import ua.everybuy.service.category.TopLevelSubCategoryService;
import ua.everybuy.routing.dto.SubCategoryDto;
import ua.everybuy.routing.dto.TopCategorySearchResultDto;

Expand All @@ -16,7 +16,7 @@
@RequestMapping("/product/category")
public class TopLevelSubCategoryController {
private final TopLevelSubCategoryService topLevelSubCategoryService;
private final ElasticSearchCategoryService elasticSearchCategoryService;
private final SearchCategoryService searchCategoryService;

@GetMapping("/{categoryId}/top-level-subcategories")
@ResponseStatus(HttpStatus.OK)
Expand All @@ -29,6 +29,6 @@ public List<SubCategoryDto> getTopLevelSubCategoriesByCategoryId(@PathVariable L
@ResponseStatus(HttpStatus.OK)
public Map <String, List<TopCategorySearchResultDto>>getUniqueCategories(
@RequestParam("keyword") String keyword) {
return elasticSearchCategoryService.findTopCategoriesByKeyword(keyword);
return searchCategoryService.findTopCategoriesByKeyword(keyword);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import ua.everybuy.buisnesslogic.service.advertisement.user.AdvertisementUserDeletionService;
import ua.everybuy.buisnesslogic.service.advertisement.user.AdvertisementUserProfileService;
import ua.everybuy.buisnesslogic.service.advertisement.user.AdvertisementUserStatisticService;
import ua.everybuy.service.advertisement.user.AdvertisementUserDeletionService;
import ua.everybuy.service.advertisement.user.AdvertisementUserProfileService;
import ua.everybuy.service.advertisement.user.AdvertisementUserStatisticService;
import ua.everybuy.database.entity.Advertisement;
import ua.everybuy.routing.dto.UserAdvertisementDto;
import ua.everybuy.routing.dto.response.AdvertisementWithStatisticResponse;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import ua.everybuy.database.entity.Advertisement;

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class AdvertisementSearchParametersDto {
@Min(0)
private Double minPrice;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@

import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import ua.everybuy.buisnesslogic.service.category.AdvertisementSubCategoryService;
import ua.everybuy.buisnesslogic.service.category.CategoryService;
import ua.everybuy.buisnesslogic.service.category.LowLevelSubCategoryService;
import ua.everybuy.buisnesslogic.service.category.TopLevelSubCategoryService;
import ua.everybuy.buisnesslogic.service.location.CityService;
import ua.everybuy.service.category.CategoryService;
import ua.everybuy.service.category.LowLevelSubCategoryService;
import ua.everybuy.service.category.TopLevelSubCategoryService;
import ua.everybuy.service.location.CityService;
import ua.everybuy.database.entity.Advertisement;
import ua.everybuy.database.entity.AdvertisementDocument;
import ua.everybuy.database.entity.Category;
Expand All @@ -21,7 +20,6 @@
@Component
@RequiredArgsConstructor
public class AdvertisementDocumentMapper {
private final AdvertisementSubCategoryService subCategoryService;
private final CategoryService categoryService;
private final CityService cityService;
private final TopLevelSubCategoryService topLevelSubCategoryService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import org.mapstruct.Mapping;
import ua.everybuy.database.entity.Advertisement;
import ua.everybuy.routing.dto.AdvertisementSearchResultDto;
import ua.everybuy.routing.dto.CategoryDto;
import ua.everybuy.routing.mapper.helper.CityMappingHelper;
import ua.everybuy.routing.mapper.helper.DescriptionHelper;
import ua.everybuy.routing.dto.response.FilteredAdvertisementsResponse;
Expand All @@ -18,6 +17,7 @@

})
public interface AdvertisementFilterMapper {

@Mapping(source = "advertisement.id", target = "advertisementId")
@Mapping(source = "advertisement.description", target = "description", qualifiedByName = "truncateDescription")
@Mapping(source = "advertisement.topSubCategory", target = "topSubCategory", qualifiedByName = "mapToSubCategoryDto")
Expand All @@ -27,6 +27,5 @@ public interface AdvertisementFilterMapper {

AdvertisementSearchResultDto mapToAdvertisementPaginationDto(long totalAdvertisements, int totalPages,
Double minPrice, Double maxPrice,
// List<CategoryDto> categories,
List<FilteredAdvertisementsResponse> advertisements);
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.stereotype.Component;
import ua.everybuy.buisnesslogic.service.integration.UserProfileService;
import ua.everybuy.service.integration.UserProfileService;
import ua.everybuy.database.entity.Advertisement;
import ua.everybuy.routing.dto.CategoryAdvertisementCount;
import ua.everybuy.routing.dto.CategoryAdvertisementCountDto;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import lombok.RequiredArgsConstructor;
import org.mapstruct.Named;
import org.springframework.stereotype.Component;
import ua.everybuy.buisnesslogic.service.category.AdvertisementSubCategoryService;
import ua.everybuy.service.category.AdvertisementSubCategoryService;
import ua.everybuy.database.entity.LowLevelSubCategory;
import ua.everybuy.database.entity.TopLevelSubCategory;
import ua.everybuy.routing.dto.request.CategoryRequest;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import lombok.RequiredArgsConstructor;
import org.mapstruct.Named;
import org.springframework.stereotype.Component;
import ua.everybuy.buisnesslogic.service.location.CityService;
import ua.everybuy.service.location.CityService;
import ua.everybuy.database.entity.City;

@Component
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import lombok.RequiredArgsConstructor;
import org.mapstruct.Named;
import org.springframework.stereotype.Component;
import ua.everybuy.buisnesslogic.service.advertisement.DeliveryService;
import ua.everybuy.service.advertisement.DeliveryService;
import ua.everybuy.database.entity.Advertisement;

import java.util.Set;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import lombok.RequiredArgsConstructor;
import org.mapstruct.Named;
import org.springframework.stereotype.Component;
import ua.everybuy.buisnesslogic.service.photo.PhotoService;
import ua.everybuy.service.photo.PhotoService;
import ua.everybuy.database.entity.Advertisement;
import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import lombok.RequiredArgsConstructor;
import org.mapstruct.Named;
import org.springframework.stereotype.Component;
import ua.everybuy.buisnesslogic.service.integration.UserProfileService;
import ua.everybuy.service.integration.UserProfileService;
import ua.everybuy.database.entity.Advertisement;
import ua.everybuy.routing.dto.ShortUserInfoDto;

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/ua/everybuy/security/ValidationFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
import org.springframework.web.client.HttpStatusCodeException;
import ua.everybuy.buisnesslogic.service.integration.AuthValidationService;
import ua.everybuy.service.integration.AuthValidationService;
import ua.everybuy.errorhandling.ErrorResponse;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.servlet.FilterChain;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package ua.everybuy.buisnesslogic.service.advertisement;
package ua.everybuy.service.advertisement;

import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import ua.everybuy.buisnesslogic.service.photo.PhotoService;
import ua.everybuy.service.photo.PhotoService;
import ua.everybuy.database.entity.Advertisement;
import ua.everybuy.database.entity.AdvertisementPhoto;
import ua.everybuy.database.entity.AdvertisementStatistics;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package ua.everybuy.buisnesslogic.service.advertisement;
package ua.everybuy.service.advertisement;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import ua.everybuy.buisnesslogic.service.integration.ChatService;
import ua.everybuy.buisnesslogic.service.photo.PhotoService;
import ua.everybuy.service.integration.ChatService;
import ua.everybuy.service.photo.PhotoService;
import ua.everybuy.database.entity.Advertisement;
import ua.everybuy.database.entity.AdvertisementPhoto;
import ua.everybuy.routing.dto.AdvertisementDto;
Expand Down Expand Up @@ -72,7 +72,7 @@ public void deleteAdvertisement(Long advertisementId, Principal principal) throw
Long.parseLong(principal.getName()));
photoService.deletePhotosByAdvertisementId(advertisement);
advertisement.setIsEnabled(false);
pushAdvertisementChangeToChatService(advertisement);
// pushAdvertisementChangeToChatService(advertisement);

advertisementStorageService.delete(advertisement);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package ua.everybuy.buisnesslogic.service.advertisement;
package ua.everybuy.service.advertisement;

import jakarta.persistence.EntityNotFoundException;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import ua.everybuy.buisnesslogic.service.advertisement.search.ElasticSearchAdvertisementIndexService;
import ua.everybuy.service.advertisement.search.ElasticSearchAdvertisementIndexService;
import ua.everybuy.database.entity.Advertisement;
import ua.everybuy.database.repository.advertisement.AdvertisementRepository;
import ua.everybuy.errorhandling.message.AdvertisementValidationMessages;
Expand Down
Loading
Loading