Skip to content

Commit ccd645d

Browse files
committed
• реализовано создание запроса на добавление вещи и ответ на него
• вынесена валидация входящих запросов в gateway • добавлены тесты
1 parent 9815ce3 commit ccd645d

File tree

103 files changed

+3375
-283
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+3375
-283
lines changed

common/pom.xml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
<parent>
7+
<groupId>ru.practicum</groupId>
8+
<artifactId>shareit</artifactId>
9+
<version>0.0.1-SNAPSHOT</version>
10+
</parent>
11+
12+
<artifactId>common</artifactId>
13+
<version>0.0.1-SNAPSHOT</version>
14+
<packaging>jar</packaging>
15+
16+
<dependencies>
17+
<dependency>
18+
<groupId>org.springframework.boot</groupId>
19+
<artifactId>spring-boot-starter-validation</artifactId>
20+
</dependency>
21+
<dependency>
22+
<groupId>org.projectlombok</groupId>
23+
<artifactId>lombok</artifactId>
24+
<optional>true</optional>
25+
</dependency>
26+
<dependency>
27+
<groupId>org.springframework.boot</groupId>
28+
<artifactId>spring-boot-starter-test</artifactId>
29+
<scope>test</scope>
30+
</dependency>
31+
</dependencies>
32+
33+
<build>
34+
<plugins>
35+
<plugin>
36+
<groupId>org.springframework.boot</groupId>
37+
<artifactId>spring-boot-maven-plugin</artifactId>
38+
<configuration>
39+
<skip>true</skip>
40+
</configuration>
41+
</plugin>
42+
</plugins>
43+
</build>
44+
</project>

src/main/java/ru/practicum/shareit/booking/BookingDto.java renamed to common/src/main/java/ru/practicum/booking/BookingDto.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package ru.practicum.shareit.booking;
1+
package ru.practicum.booking;
22

33
import lombok.AllArgsConstructor;
44
import lombok.Builder;
55
import lombok.Data;
66
import lombok.NoArgsConstructor;
7-
import ru.practicum.shareit.item.ItemDto;
8-
import ru.practicum.shareit.user.UserDto;
7+
import ru.practicum.item.ItemDto;
8+
import ru.practicum.user.UserDto;
99

1010
import java.time.LocalDateTime;
1111

@@ -19,5 +19,5 @@ public class BookingDto {
1919
private UserDto booker;
2020
private LocalDateTime start;
2121
private LocalDateTime end;
22-
private Booking.BookingStatus status;
22+
private BookingStatus status;
2323
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package ru.practicum.booking;
2+
3+
public enum BookingStatus {
4+
WAITING,
5+
APPROVED,
6+
REJECTED,
7+
CANCELED
8+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package ru.practicum.booking;
2+
3+
import jakarta.validation.constraints.AssertTrue;
4+
import jakarta.validation.constraints.NotNull;
5+
import lombok.AllArgsConstructor;
6+
import lombok.Builder;
7+
import lombok.Data;
8+
import lombok.NoArgsConstructor;
9+
10+
import java.time.LocalDateTime;
11+
12+
@Data
13+
@Builder
14+
@NoArgsConstructor
15+
@AllArgsConstructor
16+
public class NewBookingRequestDto {
17+
@NotNull
18+
private Long itemId;
19+
20+
@NotNull
21+
private LocalDateTime start;
22+
23+
@NotNull
24+
private LocalDateTime end;
25+
26+
@AssertTrue(message = "Выберите корректный срок аренды.")
27+
public boolean isEndAfterStart() {
28+
return end.isAfter(start);
29+
}
30+
}

src/main/java/ru/practicum/shareit/item/ItemDto.java renamed to common/src/main/java/ru/practicum/item/ItemDto.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,18 @@
1-
package ru.practicum.shareit.item;
1+
package ru.practicum.item;
22

3-
import jakarta.validation.constraints.NotBlank;
4-
import jakarta.validation.constraints.NotNull;
53
import lombok.Builder;
64
import lombok.Data;
7-
import ru.practicum.shareit.booking.BookingDto;
8-
import ru.practicum.shareit.item.comment.CommentDto;
5+
import ru.practicum.booking.BookingDto;
6+
import ru.practicum.item.comment.CommentDto;
97

108
import java.util.List;
119

1210
@Data
1311
@Builder
1412
public class ItemDto {
1513
private Long id;
16-
17-
@NotNull
18-
@NotBlank
1914
private String name;
20-
@NotNull
2115
private String description;
22-
@NotNull
2316
private Boolean available;
2417
private Long requestId;
2518
private BookingDto lastBooking;
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package ru.practicum.item;
2+
3+
import jakarta.validation.constraints.NotBlank;
4+
import jakarta.validation.constraints.NotNull;
5+
import lombok.AllArgsConstructor;
6+
import lombok.Builder;
7+
import lombok.Data;
8+
import lombok.NoArgsConstructor;
9+
10+
@Data
11+
@Builder
12+
@AllArgsConstructor
13+
@NoArgsConstructor
14+
public class NewItemRequest {
15+
16+
@NotBlank
17+
@NotNull
18+
private String name;
19+
20+
@NotBlank
21+
@NotNull
22+
private String description;
23+
24+
@NotNull
25+
private Boolean available;
26+
27+
private Long requestId;
28+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package ru.practicum.item;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
8+
@Data
9+
@Builder
10+
@NoArgsConstructor
11+
@AllArgsConstructor
12+
public class UpdateItemRequest {
13+
private String name;
14+
private String description;
15+
private Boolean available;
16+
}

src/main/java/ru/practicum/shareit/item/comment/CommentDto.java renamed to common/src/main/java/ru/practicum/item/comment/CommentDto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package ru.practicum.shareit.item.comment;
1+
package ru.practicum.item.comment;
22

33
import lombok.Builder;
44
import lombok.Data;
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package ru.practicum.item.comment;
2+
3+
import jakarta.validation.constraints.NotBlank;
4+
import jakarta.validation.constraints.NotNull;
5+
import lombok.AllArgsConstructor;
6+
import lombok.Data;
7+
import lombok.NoArgsConstructor;
8+
9+
@Data
10+
@AllArgsConstructor
11+
@NoArgsConstructor
12+
public class NewCommentRequest {
13+
14+
@NotNull
15+
@NotBlank
16+
private String text;
17+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package ru.practicum.request;
2+
3+
import jakarta.validation.constraints.NotBlank;
4+
import jakarta.validation.constraints.NotNull;
5+
import lombok.AllArgsConstructor;
6+
import lombok.Builder;
7+
import lombok.Data;
8+
import lombok.NoArgsConstructor;
9+
10+
@Data
11+
@Builder
12+
@AllArgsConstructor
13+
@NoArgsConstructor
14+
public class CreateItemRequestDto {
15+
16+
@NotNull
17+
@NotBlank
18+
private String description;
19+
}

0 commit comments

Comments
 (0)