Compare commits

..

No commits in common. "0e8515e06e3809850430005732df4c26a779edf0" and "c013aed58f501eccbfc0918bc048cebfda62d91d" have entirely different histories.

119 changed files with 134 additions and 1418 deletions

View File

@ -1,7 +1,7 @@
package com.dh7789dev.xpeditis.advice;
import com.dh7789dev.xpeditis.NlsService;
import com.dh7789dev.xpeditis.exception.CustomInternalExceptionResponse;
import com.dh7789dev.xpeditis.dto.CustomInternalExceptionResponse;
import com.dh7789dev.xpeditis.exception.CustomInternalException;
import com.dh7789dev.xpeditis.exception.GlobalNotFoundException;
import com.dh7789dev.xpeditis.exception.StorageException;

View File

@ -1,9 +1,9 @@
package com.dh7789dev.xpeditis.controller.api.v1;
import com.dh7789dev.xpeditis.AuthenticationService;
import com.dh7789dev.xpeditis.dto.request.AuthenticationRequest;
import com.dh7789dev.xpeditis.dto.response.AuthenticationResponse;
import com.dh7789dev.xpeditis.dto.request.RegisterRequest;
import com.dh7789dev.xpeditis.dto.AuthenticationRequest;
import com.dh7789dev.xpeditis.dto.AuthenticationResponse;
import com.dh7789dev.xpeditis.dto.RegisterRequest;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
@ -22,7 +22,7 @@ public class AuthenticationRestController {
private final AuthenticationService service;
@PostMapping("/login")
@PostMapping("/authenticate")
public ResponseEntity<AuthenticationResponse> authenticate(
@RequestBody @Valid AuthenticationRequest request) {
return ResponseEntity.ok(service.authenticate(request));

View File

@ -1,7 +1,7 @@
package com.dh7789dev.xpeditis.controller.api.v1;
import com.dh7789dev.xpeditis.UserService;
import com.dh7789dev.xpeditis.dto.request.ChangePasswordRequest;
import com.dh7789dev.xpeditis.dto.ChangePasswordRequest;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;

View File

@ -78,7 +78,8 @@ public class GlobalConfiguration {
CorsConfiguration configuration = new CorsConfiguration();
//configuration.setAllowCredentials(true);
configuration.setAllowedOrigins(List.of("http://localhost:8080", "http://localhost:3000",
"http://127.0.0.1:8080"));
"http://127.0.0.1:8080", "https://leblr.preprod.weworkstudio.fr","https://leblr.fr",
"https://api.leblr.preprod.weworkstudio.fr/","https://api.leblr.fr/", "https://www.leblr.fr"));
configuration.setAllowedMethods(List.of("GET", "POST", "PUT", "DELETE", "PATCH"));
configuration.setAllowedHeaders(List.of("*"));
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
@ -86,10 +87,4 @@ public class GlobalConfiguration {
return source;
}
@Bean
public UserDetailsService userDetailsService() {
return username -> userDao.findByUsername(username)
.orElseThrow(() -> new UsernameNotFoundException(String.format(USER_NOT_FOUND_MSG, username)));
}
}

View File

@ -24,7 +24,7 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
private static final String AUTH_HEADER = "Authorization";
private static final String AUTH_TYPE = "Bearer ";
private final UserDetailsService userDetailsService;
private final JwtUtil jwtUtil;
private final TokenDao tokenDao;

View File

@ -34,7 +34,6 @@ public class SecurityConfiguration {
boolean csrfEnabled;
private static final String ADMIN_ROLE = "ADMIN";
private static final String ADMIN_PLATFORM_ROLE = "ADMIN_PLATFORM";
private static final String API_V1_URI = "/api/v1/**";

View File

@ -2,7 +2,7 @@
spring:
h2:
console:
enabled: 'false'
enabled: 'true'
datasource:
url: jdbc:h2:mem:xpeditis;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE

View File

@ -38,10 +38,7 @@ spring:
logging:
level:
org:
org.hibernate.orm.query.sqm.ast.logTree: OFF
springframework:
boot:
autoconfigure: OFF
web:
filter:
CommonsRequestLoggingFilter: INFO

View File

@ -0,0 +1,39 @@
-- === Companies ===
INSERT INTO company_entity (id, name, country)
VALUES
(1, 'Global Logistics', 'France'),
(2, 'TransWorld Exports', 'Germany');
-- === Users ===
INSERT INTO user_entity (id, username, first_name, last_name, email, password, role, enabled, company_id)
VALUES
(1, 'admin1', 'Alice', 'Martin', 'alice@globallogistics.com', '$2a$10$hash1', 'ADMIN', true, 1),
(2, 'user1', 'Bob', 'Dupont', 'bob@globallogistics.com', '$2a$10$hash2', 'USER', true, 1),
(3, 'admin2', 'Eva', 'Schmidt', 'eva@transworld.com', '$2a$10$hash3', 'ADMIN', true, 2);
-- === Licenses ===
INSERT INTO license_entity (id, license_key, expiration_date, active, user_id)
VALUES
(1, 'LIC-GL-A', '2025-12-31', true, 1),
(2, 'LIC-GL-B', '2025-12-31', true, 2),
(3, 'LIC-TW-A', '2025-11-30', true, 3);
-- === Quotes ===
INSERT INTO quote_entity (id, reference, status, estimated_amount, created_at, user_id, company_id)
VALUES
('550e8400-e29b-41d4-a716-446655440000', 'QT-GL-001', 'PENDING', 1200.50, CURRENT_TIMESTAMP, 1, 1),
('550e8400-e29b-41d4-a716-446655440001', 'QT-GL-002', 'VALIDATED', 2300.75, CURRENT_TIMESTAMP, 2, 1),
('550e8400-e29b-41d4-a716-446655440002', 'QT-TW-001', 'VALIDATED', 1950.00, CURRENT_TIMESTAMP, 3, 2);
-- === Export Folders ===
INSERT INTO export_folder_entity (id, reference, validation_date, company_id, quote_id)
VALUES
(1, 'EXP-GL-002', CURRENT_TIMESTAMP, 1, '550e8400-e29b-41d4-a716-446655440001'),
(2, 'EXP-TW-001', CURRENT_TIMESTAMP, 2, '550e8400-e29b-41d4-a716-446655440002');
-- === Tokens ===
INSERT INTO token (id, token, token_type, revoked, expired, user_id)
VALUES
(1, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9-admin1', 'BEARER', false, false, 1),
(2, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9-user1', 'BEARER', false, false, 2),
(3, 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9-admin2', 'BEARER', false, false, 3);

View File

@ -1,5 +0,0 @@
package com.dh7789dev.xpeditis;
public interface AddressService {
}

View File

@ -1,8 +1,8 @@
package com.dh7789dev.xpeditis;
import com.dh7789dev.xpeditis.dto.request.AuthenticationRequest;
import com.dh7789dev.xpeditis.dto.response.AuthenticationResponse;
import com.dh7789dev.xpeditis.dto.request.RegisterRequest;
import com.dh7789dev.xpeditis.dto.AuthenticationRequest;
import com.dh7789dev.xpeditis.dto.AuthenticationResponse;
import com.dh7789dev.xpeditis.dto.RegisterRequest;
public interface AuthenticationService {

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface CompanyService {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface DimensionService {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface DocumentService {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface ExportFolderService {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface LicenseService {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface NotificationService {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface QuoteDetailsService {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface QuoteService {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface ShipmentTrackingService {
}

View File

@ -1,6 +1,6 @@
package com.dh7789dev.xpeditis;
import com.dh7789dev.xpeditis.dto.request.ChangePasswordRequest;
import com.dh7789dev.xpeditis.dto.ChangePasswordRequest;
import java.security.Principal;

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface VesselScheduleService {
}

View File

@ -1,4 +1,4 @@
package com.dh7789dev.xpeditis.dto.request;
package com.dh7789dev.xpeditis.dto;
import jakarta.validation.constraints.NotBlank;
import lombok.AccessLevel;

View File

@ -1,6 +1,5 @@
package com.dh7789dev.xpeditis.dto.response;
package com.dh7789dev.xpeditis.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
@ -16,7 +15,6 @@ import java.util.Date;
@NoArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AuthenticationResponse {
@JsonProperty("access_token")
@ -30,7 +28,4 @@ public class AuthenticationResponse {
@JsonProperty("expires_at")
Date expiresAt;
@JsonProperty("error_message")
String error;
}

View File

@ -1,4 +1,4 @@
package com.dh7789dev.xpeditis.dto.request;
package com.dh7789dev.xpeditis.dto;
import lombok.AccessLevel;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.dh7789dev.xpeditis.dto.app;
package com.dh7789dev.xpeditis.dto;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.dh7789dev.xpeditis.exception;
package com.dh7789dev.xpeditis.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AccessLevel;

View File

@ -1,11 +1,10 @@
package com.dh7789dev.xpeditis.dto.app;
package com.dh7789dev.xpeditis.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Data
@ -16,7 +15,5 @@ public class ExportFolder {
private LocalDateTime validationDate;
private Company company;
private Quote quote;
private List<Document> documents;
}

View File

@ -1,4 +1,4 @@
package com.dh7789dev.xpeditis.dto.app;
package com.dh7789dev.xpeditis.dto;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -0,0 +1,22 @@
package com.dh7789dev.xpeditis.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
public class Quote {
private Long id;
private String reference;
private String status;
private BigDecimal estimatedAmount;
private LocalDateTime createdAt = LocalDateTime.now();
private UserAccount user;
private Company company;
private ExportFolder exportFile;
}

View File

@ -1,4 +1,4 @@
package com.dh7789dev.xpeditis.dto.request;
package com.dh7789dev.xpeditis.dto;
import jakarta.validation.constraints.NotBlank;
import lombok.AccessLevel;
@ -31,11 +31,7 @@ public class RegisterRequest {
String password;
@NotBlank
String phone;
String company_uuid = "";
String company_name;
String role; // Should be "USER" or "ADMIN"
}

View File

@ -1,4 +1,4 @@
package com.dh7789dev.xpeditis.dto.app;
package com.dh7789dev.xpeditis.dto;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -1,20 +0,0 @@
package com.dh7789dev.xpeditis.dto.app;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
public class Address {
private Long id;
private String companyName;
private String address;
private String postalCode;
private String country;
private String type;
private Company company;
private LocalDateTime createdAt;
private LocalDateTime modifiedAt;
}

View File

@ -1,13 +0,0 @@
package com.dh7789dev.xpeditis.dto.app;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class Dimension {
private Long id;
private Double length;
private Double width;
private Double height;
}

View File

@ -1,14 +0,0 @@
package com.dh7789dev.xpeditis.dto.app;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class Document {
private Long id;
private String fileName;
private String contentType;
private byte[] data;
}

View File

@ -1,19 +0,0 @@
package com.dh7789dev.xpeditis.dto.app;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
public class Notification {
private Long id;
private String message;
private String type; // EMAIL, SMS, WEB
private boolean read;
private String recipient;
private ExportFolder exportFolder;
private LocalDateTime createdAt;
}

View File

@ -1,41 +0,0 @@
package com.dh7789dev.xpeditis.dto.app;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.time.LocalDate;
import java.util.List;
@Data
@AllArgsConstructor
public class Quote {
private Long id;
private String packager;
private String customsImportExport;
private Boolean eur1;
private String packagingType;
private List<QuoteDetail> details;
private Boolean dangerousGoods;
private Boolean tailgate;
private Boolean straps;
private Boolean thermalCover;
private Boolean regulatedProducts;
private Boolean appointmentRequired;
private Boolean t1;
private Boolean customsStop;
private Boolean exportAssistance;
private Boolean insurance;
private String operationType;
private String incoterm;
private String departurePostalCode;
private String departureCity;
private LocalDate pickupDate;
private String arrivalPostalCode;
private String arrivalCity;
private LocalDate deliveryDate;
private UserAccount user;
private Company company;
private ExportFolder exportFile;
}

View File

@ -1,16 +0,0 @@
package com.dh7789dev.xpeditis.dto.app;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class QuoteDetail {
private Long id;
private Integer quantity;
private Dimension dimension;
private Double weight;
private boolean stackable;
private Long quoteId;
}

View File

@ -1,26 +0,0 @@
package com.dh7789dev.xpeditis.dto.app;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
public class ShipmentTracking {
private Long id;
private String containerNumber;
private String imoNumber;
private String mmsiNumber;
private String vesselName;
private Double currentLatitude;
private Double currentLongitude;
private Double speedKnots;
private String status; // e.g. "Underway", "Moored", etc.
private LocalDateTime eta;
private LocalDateTime lastReported;
private ExportFolder exportFolder;
private LocalDateTime createdAt;
private LocalDateTime modifiedAt;
}

View File

@ -1,43 +0,0 @@
package com.dh7789dev.xpeditis.dto.app;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
public class VesselSchedule {
private Long id;
@JsonProperty("IMO")
private String imoNumber;
@JsonProperty("MMSI")
private String mmsiNumber;
@JsonProperty("SHIPNAME")
private String vesselName;
@JsonProperty("VOYAGE")
private String voyageNumber;
@JsonProperty("DEPARTURE_PORT")
private String departurePort;
@JsonProperty("ARRIVAL_PORT")
private String arrivalPort;
@JsonProperty("DEPARTURE_DATE")
private LocalDateTime departureDate;
@JsonProperty("ARRIVAL_DATE")
private LocalDateTime arrivalDate;
private LocalDateTime lastUpdated;
private ExportFolder exportFolder;
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis;
import org.springframework.stereotype.Service;
@Service
public class AddressServiceImpl implements AddressService{
}

View File

@ -1,8 +1,10 @@
package com.dh7789dev.xpeditis;
import com.dh7789dev.xpeditis.dto.request.AuthenticationRequest;
import com.dh7789dev.xpeditis.dto.response.AuthenticationResponse;
import com.dh7789dev.xpeditis.dto.request.RegisterRequest;
import com.dh7789dev.xpeditis.dto.AuthenticationRequest;
import com.dh7789dev.xpeditis.dto.AuthenticationResponse;
import com.dh7789dev.xpeditis.dto.RegisterRequest;
import com.dh7789dev.xpeditis.dto.UserAccount;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
@Service
@ -21,6 +23,6 @@ public class AuthenticationServiceImpl implements AuthenticationService {
@Override
public AuthenticationResponse register(RegisterRequest request) {
return authenticationRepository.register(request);
return null;
}
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis;
import org.springframework.stereotype.Service;
@Service
public class CompanyServiceImpl implements CompanyService {
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis;
import org.springframework.stereotype.Service;
@Service
public class DimensionServiceImpl implements DimensionService {
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis;
import org.springframework.stereotype.Service;
@Service
public class DocumentServiceImpl implements DocumentService {
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis;
import org.springframework.stereotype.Service;
@Service
public class ExportFolderServiceImpl implements ExportFolderService {
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis;
import org.springframework.stereotype.Service;
@Service
public class LicenseServiceImpl implements LicenseService {
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis;
import org.springframework.stereotype.Service;
@Service
public class NotificationServiceImpl implements NotificationService {
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis;
import org.springframework.stereotype.Service;
@Service
public class QuoteDetailsServiceImpl implements QuoteDetailsService {
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis;
import org.springframework.stereotype.Service;
@Service
public class QuoteServiceImpl implements QuoteService {
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis;
import org.springframework.stereotype.Service;
@Service
public class ShipmentTrackingServiceImpl implements ShipmentTrackingService {
}

View File

@ -1,6 +1,6 @@
package com.dh7789dev.xpeditis;
import com.dh7789dev.xpeditis.dto.request.ChangePasswordRequest;
import com.dh7789dev.xpeditis.dto.ChangePasswordRequest;
import org.springframework.stereotype.Service;
import java.security.Principal;

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis;
import org.springframework.stereotype.Service;
@Service
public class VesselScheduleServiceImpl implements VesselScheduleService {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface AddressRepository {
}

View File

@ -1,11 +1,9 @@
package com.dh7789dev.xpeditis;
import com.dh7789dev.xpeditis.dto.request.AuthenticationRequest;
import com.dh7789dev.xpeditis.dto.response.AuthenticationResponse;
import com.dh7789dev.xpeditis.dto.request.RegisterRequest;
import com.dh7789dev.xpeditis.dto.AuthenticationRequest;
import com.dh7789dev.xpeditis.dto.AuthenticationResponse;
public interface AuthenticationRepository {
AuthenticationResponse authenticate(AuthenticationRequest request);
AuthenticationResponse register(RegisterRequest request);
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface CompanyRepository {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface DimensionRepository {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface DocumentRepository {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface ExportFolderRepository {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface LicenseRepository {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface NotificationRepository {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface QuoteDetailsRepository {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface QuoteRepository {
}

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface ShipmentTrackingRepository {
}

View File

@ -1,6 +1,6 @@
package com.dh7789dev.xpeditis;
import com.dh7789dev.xpeditis.dto.request.ChangePasswordRequest;
import com.dh7789dev.xpeditis.dto.ChangePasswordRequest;
import java.security.Principal;

View File

@ -1,4 +0,0 @@
package com.dh7789dev.xpeditis;
public interface VesselScheduleRepository {
}

View File

@ -1,8 +0,0 @@
package com.dh7789dev.xpeditis.dao;
import com.dh7789dev.xpeditis.entity.AddressEntity;
import org.springframework.data.jpa.repository.JpaRepository;
public interface AddressDao extends JpaRepository<AddressEntity, Long> {
}

View File

@ -3,6 +3,5 @@ package com.dh7789dev.xpeditis.dao;
import com.dh7789dev.xpeditis.entity.CompanyEntity;
import org.springframework.data.jpa.repository.JpaRepository;
public interface CompanyDao extends JpaRepository<CompanyEntity, Long> {
}

View File

@ -1,8 +0,0 @@
package com.dh7789dev.xpeditis.dao;
import com.dh7789dev.xpeditis.entity.DimensionEntity;
import org.springframework.data.jpa.repository.JpaRepository;
public interface DimensionDao extends JpaRepository<DimensionEntity, Long> {
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis.dao;
import com.dh7789dev.xpeditis.entity.DocumentEntity;
import org.springframework.data.jpa.repository.JpaRepository;
public interface DocumentDao extends JpaRepository<DocumentEntity, Long> {
}

View File

@ -1,7 +1,6 @@
package com.dh7789dev.xpeditis.dao;
import com.dh7789dev.xpeditis.entity.LicenseEntity;
import org.springframework.data.jpa.repository.JpaRepository;
public interface LicenseDao extends JpaRepository<LicenseEntity, Long> {
public interface LicenseDao extends JpaRepository<LicenseDao, Long> {
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis.dao;
import com.dh7789dev.xpeditis.entity.NotificationEntity;
import org.springframework.data.jpa.repository.JpaRepository;
public interface NotificationDao extends JpaRepository<NotificationEntity, Long> {
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis.dao;
import com.dh7789dev.xpeditis.entity.QuoteDetailEntity;
import org.springframework.data.jpa.repository.JpaRepository;
public interface QuoteDetailDao extends JpaRepository<QuoteDetailEntity, Long> {
}

View File

@ -1,7 +0,0 @@
package com.dh7789dev.xpeditis.dao;
import com.dh7789dev.xpeditis.entity.ShipmentTrackingEntity;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ShipmentTrackingDao extends JpaRepository<ShipmentTrackingEntity, Long> {
}

View File

@ -6,16 +6,13 @@ import org.springframework.data.jpa.repository.Query;
import java.util.List;
import java.util.Optional;
import org.springframework.stereotype.Repository;
@Repository
public interface TokenDao extends JpaRepository<TokenEntity, Integer> {
Optional<TokenEntity> findByToken(String token);
@Query(value = """
select t from TokenEntity t inner join UserEntity u\s
select t from TokenEntity t inner join UserAccountEntity u\s
on t.user.id = u.id\s
where u.id = :userId and (t.expired = false or t.revoked = false)\s
""")

View File

@ -5,13 +5,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Optional;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
public interface UserDao extends JpaRepository<UserEntity, Long> {
@Query("SELECT u FROM UserEntity u WHERE u.username = :username")
Optional<UserEntity> findByUsername(String username);
boolean existsByUsername(String username);
}

View File

@ -1,9 +0,0 @@
package com.dh7789dev.xpeditis.dao;
import com.dh7789dev.xpeditis.entity.VesselScheduleEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface VesselScheduleDao extends JpaRepository<VesselScheduleEntity, Long> {
}

View File

@ -1,62 +0,0 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
import java.time.LocalDateTime;
@Entity
@Getter
@Setter
@NoArgsConstructor
@FieldNameConstants
@FieldDefaults( level = AccessLevel.PRIVATE)
@Table(name = "Address")
public class AddressEntity extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "company_name", length = 100)
private String companyName;
@Column(name = "address", length = 200)
private String address;
@Column(name = "postal_code", length = 10)
private String postalCode;
@Column(name = "country", length = 50)
private String country;
@Enumerated(EnumType.STRING)
@Column(name = "type", length = 20, nullable = false)
private AddressType type;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "company_id", nullable = false)
private CompanyEntity company;
@Column(name = "created_at", updatable = false)
private LocalDateTime createdAt;
@Column(name = "modified_at")
private LocalDateTime modifiedAt;
@PrePersist
public void onCreate() {
createdAt = LocalDateTime.now();
modifiedAt = LocalDateTime.now();
}
@PreUpdate
public void onUpdate() {
modifiedAt = LocalDateTime.now();
}
}

View File

@ -1,14 +0,0 @@
package com.dh7789dev.xpeditis.entity;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@Getter
@RequiredArgsConstructor
public enum AddressType {
SHIPPER("Shipper"),
CONSIGNEE("Consignee"),
NOTIFY("Notify");
private final String displayName;
}

View File

@ -1,43 +1,19 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
import java.time.LocalDateTime;
import java.util.List;
@Entity
@Getter
@Setter
@NoArgsConstructor
@FieldNameConstants
@FieldDefaults( level = AccessLevel.PRIVATE)
@Table(name = "Company")
public class CompanyEntity extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name", length = 50)
private String name;
@Column(name = "country", length = 50)
private String country;
@Column(name = "siren")
private String siren;
@Column(name = "num_eori")
private String num_eori;
@Column(name = "phone", length = 20)
private String phone;
@OneToMany(mappedBy = "company", cascade = CascadeType.ALL)
private List<UserEntity> users;
@ -46,22 +22,5 @@ public class CompanyEntity extends BaseEntity {
@OneToMany(mappedBy = "company", cascade = CascadeType.ALL)
private List<ExportFolderEntity> exports;
@Column(name = "created_at", updatable = false)
private LocalDateTime createdAt;
@Column(name = "modified_at")
private LocalDateTime modifiedAt;
@PrePersist
public void onCreate() {
createdAt = LocalDateTime.now();
modifiedAt = LocalDateTime.now();
}
@PreUpdate
public void onUpdate() {
modifiedAt = LocalDateTime.now();
}
}

View File

@ -1,34 +0,0 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
@Entity
@Getter
@Setter
@NoArgsConstructor
@FieldNameConstants
@FieldDefaults( level = AccessLevel.PRIVATE)
@Table(name = "dimension")
public class DimensionEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "length")
private Double length;
@Column(name = "width")
private Double width;
@Column(name = "height")
private Double height;
}

View File

@ -1,61 +0,0 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Entity
@Getter
@Setter
@NoArgsConstructor
@FieldNameConstants
@FieldDefaults( level = AccessLevel.PRIVATE)
@Table(name = "document")
public class DocumentEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(unique = true)
private String reference;
@Column(name = "file_name", nullable = false)
private String fileName;
@Column(name = "content_type")
private String contentType;
@Lob
@Column(name = "data", nullable = false)
private byte[] data;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "export_folder_id")
private ExportFolderEntity exportFolder;
@Column(name = "created_at", updatable = false)
private LocalDateTime createdAt;
@Column(name = "modified_at")
private LocalDateTime modifiedAt;
@PrePersist
public void onCreate() {
createdAt = LocalDateTime.now();
modifiedAt = LocalDateTime.now();
}
@PreUpdate
public void onUpdate() {
modifiedAt = LocalDateTime.now();
}
}

View File

@ -1,63 +1,24 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@Entity
@Getter
@Setter
@NoArgsConstructor
@FieldNameConstants
@FieldDefaults( level = AccessLevel.PRIVATE)
@Table(name = "exportfolder")
public class ExportFolderEntity extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(unique = true)
private String reference;
@Column(name = "validationDate")
private LocalDateTime validationDate;
@OneToMany(mappedBy = "exportFolder", cascade = CascadeType.ALL, orphanRemoval = true)
private List<DocumentEntity> documents;
@OneToMany(mappedBy = "exportFolder", cascade = CascadeType.ALL, orphanRemoval = true)
private List<ShipmentTrackingEntity> trackingUpdates = new ArrayList<>();
@ManyToOne
private CompanyEntity company;
@OneToOne
@JoinColumn(name = "quote_id", unique = true)
private QuoteEntity quote;
@Column(name = "created_at", updatable = false)
private LocalDateTime createdAt;
@Column(name = "modified_at")
private LocalDateTime modifiedAt;
@PrePersist
public void onCreate() {
createdAt = LocalDateTime.now();
modifiedAt = LocalDateTime.now();
}
@PreUpdate
public void onUpdate() {
modifiedAt = LocalDateTime.now();
}
}

View File

@ -1,32 +1,17 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Entity
@Getter
@Setter
@NoArgsConstructor
@FieldNameConstants
@FieldDefaults( level = AccessLevel.PRIVATE)
@Table(name = "License")
public class LicenseEntity extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(unique = true)
private String licenseKey;
@Column(name = "expirationDate")
private LocalDate expirationDate;
private boolean active;
@ -34,22 +19,5 @@ public class LicenseEntity extends BaseEntity {
@OneToOne
@JoinColumn(name = "user_id", unique = true)
private UserEntity user;
@Column(name = "created_at", updatable = false)
private LocalDateTime createdAt;
@Column(name = "modified_at")
private LocalDateTime modifiedAt;
@PrePersist
public void onCreate() {
createdAt = LocalDateTime.now();
modifiedAt = LocalDateTime.now();
}
@PreUpdate
public void onUpdate() {
modifiedAt = LocalDateTime.now();
}
}

View File

@ -1,39 +0,0 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import java.time.LocalDateTime;
@Entity
@Table(name = "notification")
public class NotificationEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String message;
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private NotificationType type; // EMAIL, SMS, WEB
@Column(nullable = false)
private boolean read = false;
@Column(name = "recipient")
private String recipient; // email ou numéro téléphone
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "export_folder_id")
private ExportFolderEntity exportFolder;
@Column(name = "created_at", nullable = false, updatable = false)
private LocalDateTime createdAt;
@PrePersist
public void onCreate() {
createdAt = LocalDateTime.now();
}
}

View File

@ -1,8 +0,0 @@
package com.dh7789dev.xpeditis.entity;
public enum NotificationType {
EMAIL,
SMS,
WEB
}

View File

@ -7,10 +7,6 @@ import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
public enum Permission {
ADMIN_PLATFORM_READ("admin_platform:read"),
ADMIN_PLATFORM_UPDATE("admin_platform:update"),
ADMIN_PLATFORM_DELETE("admin_platform:create"),
ADMIN_PLATFORM_CREATE("admin_platform:delete"),
ADMIN_READ("admin:read"),
ADMIN_UPDATE("admin:update"),
ADMIN_CREATE("admin:create"),

View File

@ -1,43 +0,0 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
@Entity
@Getter
@Setter
@NoArgsConstructor
@FieldNameConstants
@FieldDefaults( level = AccessLevel.PRIVATE)
@Table(name = "quote_details")
public class QuoteDetailEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "quantity")
private Integer quantity;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "dimension_id", referencedColumnName = "id")
private DimensionEntity dimension;
@Column(name = "weight")
private Double weight;
@Column(name = "gerbable")
private boolean gerbable;
// Relation Many-to-One avec Quote
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "quote_id", nullable = false)
private QuoteEntity quote;
}

View File

@ -1,110 +1,25 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
import java.time.LocalDate;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@Entity
@Getter
@Setter
@NoArgsConstructor
@FieldNameConstants
@FieldDefaults( level = AccessLevel.PRIVATE)
@Table(name = "Quote")
public class QuoteEntity extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@GeneratedValue(strategy = GenerationType.UUID)
private Long id;
// General Information
@Column(name = "packager")
private String packager;
@Column(unique = true)
@Column(unique = true, nullable = false)
private String reference;
//Douane
@Column(name = "customs_import_export")
private String customsImportExport;
@Column(nullable = false)
private String status;
@Column(name = "eur1")
private Boolean eur1;
private BigDecimal estimatedAmount;
@Column(name = "packaging_type")
private String packagingType;
@OneToMany(mappedBy = "quote", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<QuoteDetailEntity> details = new ArrayList<>();
@Column(name = "dangerous_goods")
private Boolean dangerousGoods;
@Column(name = "tailgate")
private Boolean tailgate;
@Column(name = "straps")
private Boolean straps;
@Column(name = "thermal_cover")
private Boolean thermalCover;
@Column(name = "regulated_products")
private Boolean regulatedProducts;
@Column(name = "appointment_required")
private Boolean appointmentRequired;
@Column(name = "t1")
private Boolean t1;
@Column(name = "customs_stop")
private Boolean customsStop;
@Column(name = "export_assistance")
private Boolean exportAssistance;
@Column(name = "insurance")
private Boolean insurance;
@Column(name = "operation_type")
private String operationType;
@Column(name = "incoterm")
private String incoterm;
@Column(name = "departure_postal_code")
private String departurePostalCode;
@Column(name = "departure_city")
private String departureCity;
@Column(name = "pickup_date")
private LocalDate pickupDate;
@Column(name = "arrival_postal_code")
private String arrivalPostalCode;
@Column(name = "arrival_city")
private String arrivalCity;
@Column(name = "delivery_date")
private LocalDate deliveryDate;
@Column(name = "created_at", updatable = false)
private LocalDateTime createdAt;
@Column(name = "modified_at")
private LocalDateTime modifiedAt;
private LocalDateTime createdAt = LocalDateTime.now();
@ManyToOne
private UserEntity user;
@ -114,16 +29,5 @@ public class QuoteEntity extends BaseEntity {
@OneToOne(mappedBy = "quote", cascade = CascadeType.ALL)
private ExportFolderEntity exportFile;
@PrePersist
public void onCreate() {
createdAt = LocalDateTime.now();
modifiedAt = LocalDateTime.now();
}
@PreUpdate
public void onUpdate() {
modifiedAt = LocalDateTime.now();
}
}

View File

@ -30,21 +30,7 @@ public enum Role {
MANAGER_READ,
MANAGER_UPDATE,
MANAGER_DELETE,
MANAGER_CREATE)),
ADMIN_PLATFORM(Set.of(
ADMIN_PLATFORM_READ,
ADMIN_PLATFORM_UPDATE,
ADMIN_PLATFORM_DELETE,
ADMIN_PLATFORM_CREATE,
ADMIN_READ,
ADMIN_UPDATE,
ADMIN_DELETE,
ADMIN_CREATE,
MANAGER_READ,
MANAGER_UPDATE,
MANAGER_DELETE,
MANAGER_CREATE)
);
MANAGER_CREATE));
private final Set<Permission> permissions;

View File

@ -1,79 +0,0 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
import java.time.LocalDateTime;
@Entity
@Getter
@Setter
@NoArgsConstructor
@FieldNameConstants
@FieldDefaults( level = AccessLevel.PRIVATE)
@Table(name = "shipment_tracking")
public class ShipmentTrackingEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "container_number")
private String containerNumber;
@Column(name = "imo_number")
private String imoNumber;
@Column(name = "mmsi_number")
private String mmsiNumber;
@Column(name = "vessel_name")
private String vesselName;
@Column(name = "current_latitude")
private Double currentLatitude;
@Column(name = "current_longitude")
private Double currentLongitude;
@Column(name = "speed_knots")
private Double speedKnots;
@Column(name = "status")
private String status; // e.g. "Underway", "Moored", etc.
@Column(name = "eta")
private LocalDateTime eta;
@Column(name = "last_reported")
private LocalDateTime lastReported;
// Relation avec ExportFolder
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "export_folder_id", nullable = false)
private ExportFolderEntity exportFolder;
@Column(name = "created_at", nullable = false, updatable = false)
private LocalDateTime createdAt;
@Column(name = "modified_at")
private LocalDateTime modifiedAt;
@PrePersist
public void onCreate() {
createdAt = LocalDateTime.now();
modifiedAt = LocalDateTime.now();
lastReported = LocalDateTime.now();
}
@PreUpdate
public void onUpdate() {
modifiedAt = LocalDateTime.now();
}
}

View File

@ -1,16 +1,21 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import lombok.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.Accessors;
@Entity
@Table(name = "Token", uniqueConstraints = @UniqueConstraint(columnNames = "token"))
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@Table(name = "token", uniqueConstraints = {
@UniqueConstraint(columnNames = {"token"})
})
public class TokenEntity extends BaseEntity {
public enum Type {
@ -24,6 +29,7 @@ public class TokenEntity extends BaseEntity {
private Type tokenType = Type.BEARER;
private boolean revoked;
private boolean expired;
@ManyToOne(fetch = FetchType.LAZY)

View File

@ -1,27 +1,18 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
import org.hibernate.annotations.NaturalId;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;
@Entity
@Getter
@Setter
@NoArgsConstructor
@FieldNameConstants
@FieldDefaults( level = AccessLevel.PRIVATE)
@Table(name = "Users")
public class UserEntity extends BaseEntity implements UserDetails {
@NaturalId
@ -40,9 +31,6 @@ public class UserEntity extends BaseEntity implements UserDetails {
@Column(nullable = false)
private String password;
@Column(name = "phone", length = 20)
private String phone;
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private Role role;
@ -62,21 +50,14 @@ public class UserEntity extends BaseEntity implements UserDetails {
@OneToMany(mappedBy = "user")
private List<TokenEntity> tokens;
@Column(name = "created_at", updatable = false)
private LocalDateTime createdAt;
@Column(name = "modified_at")
private LocalDateTime modifiedAt;
@PrePersist
public void onCreate() {
createdAt = LocalDateTime.now();
modifiedAt = LocalDateTime.now();
@Override
public String getPassword() {
return password;
}
@PreUpdate
public void onUpdate() {
modifiedAt = LocalDateTime.now();
@Override
public String getUsername() {
return username;
}
@Override
@ -106,9 +87,8 @@ public class UserEntity extends BaseEntity implements UserDetails {
@Override
public String toString() {
return "UserEntity(" + super.toString() + String.format(
"username=%s, firstName=%s, lastName=%s, email=%s, role=%s)",
username, firstName, lastName, email, role.name()
);
return "UserEntity(" + super.toString() + String.format("username=%s, firstName=%s, lastName=%s, email=%s, role=%s)",
username, firstName, lastName, email, role.name());
}
}

View File

@ -1,58 +0,0 @@
package com.dh7789dev.xpeditis.entity;
import jakarta.persistence.*;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import lombok.experimental.FieldNameConstants;
import java.time.LocalDateTime;
@Entity
@Getter
@Setter
@NoArgsConstructor
@FieldNameConstants
@FieldDefaults( level = AccessLevel.PRIVATE)
@Table(name = "vessel_schedule")
public class VesselScheduleEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "imo_number") // Numéro unique du navire
private String imoNumber;
@Column(name = "mmsi_number") // Maritime Mobile Service Identity
private String mmsiNumber;
@Column(name = "vessel_name")
private String vesselName;
@Column(name = "voyage_number")
private String voyageNumber;
@Column(name = "departure_port")
private String departurePort;
@Column(name = "arrival_port")
private String arrivalPort;
@Column(name = "departure_date")
private LocalDateTime departureDate;
@Column(name = "arrival_date")
private LocalDateTime arrivalDate;
@Column(name = "last_updated")
private LocalDateTime lastUpdated;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "export_folder_id", nullable = false)
private ExportFolderEntity exportFolder;
}

View File

@ -1,18 +0,0 @@
package com.dh7789dev.xpeditis.mapper;
import com.dh7789dev.xpeditis.dto.app.Address;
import com.dh7789dev.xpeditis.entity.AddressEntity;
import org.mapstruct.Mapper;
import org.mapstruct.MappingConstants;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = MappingConstants.ComponentModel.SPRING, uses = { CompanyMapper.class })
public interface AddressMapper {
AddressMapper INSTANCE = Mappers.getMapper(AddressMapper.class);
AddressEntity addressToAddressEntity(Address address);
Address addressEntityToAddress(AddressEntity addressEntity);
}

View File

@ -1,7 +1,7 @@
package com.dh7789dev.xpeditis.mapper;
import com.dh7789dev.xpeditis.dto.app.Company;
import com.dh7789dev.xpeditis.dto.Company;
import com.dh7789dev.xpeditis.entity.CompanyEntity;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;

View File

@ -1,17 +0,0 @@
package com.dh7789dev.xpeditis.mapper;
import com.dh7789dev.xpeditis.dto.app.Dimension;
import com.dh7789dev.xpeditis.entity.DimensionEntity;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring")
public interface DimensionMapper {
DimensionMapper INSTANCE = Mappers.getMapper(DimensionMapper.class);
DimensionEntity dimensionToDimensionEntity(Dimension dimension);
Dimension dimensionEntityToDimension(DimensionEntity dimensionEntity);
}

View File

@ -1,16 +0,0 @@
package com.dh7789dev.xpeditis.mapper;
import com.dh7789dev.xpeditis.dto.app.Document;
import com.dh7789dev.xpeditis.entity.DocumentEntity;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring")
public interface DocumentMapper {
DocumentMapper INSTANCE = Mappers.getMapper(DocumentMapper.class);
DocumentEntity documentToDocumentEntity(Document document);
Document documentEntityToDocument(DocumentEntity documentEntity);
}

View File

@ -1,13 +1,13 @@
package com.dh7789dev.xpeditis.mapper;
import com.dh7789dev.xpeditis.dto.app.ExportFolder;
import com.dh7789dev.xpeditis.dto.ExportFolder;
import com.dh7789dev.xpeditis.entity.ExportFolderEntity;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.MappingConstants;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = MappingConstants.ComponentModel.SPRING, uses = { DocumentMapper.class, CompanyMapper.class })
@Mapper(componentModel = MappingConstants.ComponentModel.SPRING)
public interface ExportFolderMapper {
ExportFolderMapper INSTANCE = Mappers.getMapper(ExportFolderMapper.class);

View File

@ -1,7 +1,7 @@
package com.dh7789dev.xpeditis.mapper;
import com.dh7789dev.xpeditis.dto.app.License;
import com.dh7789dev.xpeditis.dto.License;
import com.dh7789dev.xpeditis.entity.LicenseEntity;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;

Some files were not shown because too many files have changed in this diff Show More