diff --git a/README.md b/README.md index d133197..aa5e26c 100644 --- a/README.md +++ b/README.md @@ -66,3 +66,13 @@ GRANT ALL ON SEQUENCES TO ncp_db; Зайти в контейнер: docker exec -it {name} bash +------ + +Создать для сущности FileEntity sequence для икремента индетификатора + +CREATE SEQUENCE IF NOT EXISTS file_support_id_seq START 1; + +ALTER TABLE file_entities +ALTER COLUMN support_id +SET DEFAULT nextval('file_support_id_seq'); + diff --git a/src/main/java/ru/soune/nocopy/dto/file/FileApiResponse.java b/src/main/java/ru/soune/nocopy/dto/file/FileApiResponse.java deleted file mode 100644 index 9feb546..0000000 --- a/src/main/java/ru/soune/nocopy/dto/file/FileApiResponse.java +++ /dev/null @@ -1,41 +0,0 @@ -package ru.soune.nocopy.dto.file; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class FileApiResponse { - - private boolean success; - private String message; - private T data; - private String error; - - public static FileApiResponse success(T data) { - return FileApiResponse.builder() - .success(true) - .message("Operation completed successfully") - .data(data) - .build(); - } - - public static FileApiResponse success(String message, T data) { - return FileApiResponse.builder() - .success(true) - .message(message) - .data(data) - .build(); - } - - public static FileApiResponse error(String error) { - return FileApiResponse.builder() - .success(false) - .error(error) - .build(); - } -} diff --git a/src/main/java/ru/soune/nocopy/dto/file/FileEntityResponse.java b/src/main/java/ru/soune/nocopy/dto/file/FileEntityResponse.java index 3e89725..cbfae88 100644 --- a/src/main/java/ru/soune/nocopy/dto/file/FileEntityResponse.java +++ b/src/main/java/ru/soune/nocopy/dto/file/FileEntityResponse.java @@ -30,4 +30,5 @@ public class FileEntityResponse { private String formattedSize; private String downloadUrl; private boolean existsOnDisk; + private Integer supportId; } diff --git a/src/main/java/ru/soune/nocopy/entity/file/FileEntity.java b/src/main/java/ru/soune/nocopy/entity/file/FileEntity.java index ffdd985..c39862a 100644 --- a/src/main/java/ru/soune/nocopy/entity/file/FileEntity.java +++ b/src/main/java/ru/soune/nocopy/entity/file/FileEntity.java @@ -2,10 +2,13 @@ package ru.soune.nocopy.entity.file; import jakarta.persistence.*; import lombok.*; +import org.hibernate.annotations.GenerationTime; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; +import java.sql.DriverManager; +import java.sql.SQLException; import java.time.LocalDateTime; @Data @@ -16,11 +19,13 @@ import java.time.LocalDateTime; @Table(name = "file_entities") @EntityListeners(AuditingEntityListener.class) public class FileEntity { - @Id @GeneratedValue(strategy = GenerationType.UUID) private String id; + @Column(name = "support_id", unique = true, updatable = false) + private Integer supportId; + @Column(name = "user_id", nullable = false) private Long userId; @@ -70,9 +75,4 @@ public class FileEntity { } this.updatedAt = LocalDateTime.now(); } - - @PreUpdate - public void preUpdate() { - this.updatedAt = LocalDateTime.now(); - } } diff --git a/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java b/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java index 617eeda..3eac369 100644 --- a/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java +++ b/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java @@ -17,7 +17,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.time.LocalDateTime; -import java.time.ZoneOffset; import java.util.List; import java.util.stream.Collectors; @@ -223,6 +222,7 @@ public class FileEntityService { .formattedSize(formatFileSize(fileEntity.getFileSize())) .downloadUrl("/api/v" + version + "/files/download/" + fileEntity.getId()) .existsOnDisk(existsOnDisk) + .supportId(fileEntity.getSupportId()) .build(); }