Добавлено api пакетов
This commit is contained in:
@@ -3,30 +3,36 @@ package ru.serega6531.packmate.controller;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.serega6531.packmate.model.Packet;
|
||||
import ru.serega6531.packmate.model.Pagination;
|
||||
import ru.serega6531.packmate.model.Stream;
|
||||
import ru.serega6531.packmate.service.PacketService;
|
||||
import ru.serega6531.packmate.service.StreamService;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/packet/")
|
||||
public class PacketController {
|
||||
|
||||
private final PacketService service;
|
||||
private final StreamService streamService;
|
||||
private final PacketService packetService;
|
||||
|
||||
@Autowired
|
||||
public PacketController(PacketService service) {
|
||||
this.service = service;
|
||||
public PacketController(StreamService streamService, PacketService packetService) {
|
||||
this.streamService = streamService;
|
||||
this.packetService = packetService;
|
||||
}
|
||||
|
||||
@PostMapping("/all")
|
||||
public List<Packet> getPackets() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@PostMapping("/{stream}")
|
||||
public List<Packet> getStreams(@PathVariable int stream) {
|
||||
return Collections.emptyList();
|
||||
@PostMapping("/{streamId}")
|
||||
public List<Packet> getPacketsForStream(@PathVariable int streamId, @RequestBody Pagination pagination) {
|
||||
final Optional<Stream> stream = streamService.find(streamId);
|
||||
if(stream.isPresent()) {
|
||||
return packetService.getPacketsForStream(pagination, stream.get());
|
||||
} else {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package ru.serega6531.packmate.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
@@ -18,6 +19,7 @@ public class CtfService {
|
||||
private String name;
|
||||
|
||||
@OneToMany(mappedBy = "service", cascade = CascadeType.ALL, orphanRemoval = true)
|
||||
@JsonIgnore
|
||||
private List<Stream> streams;
|
||||
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
package ru.serega6531.packmate.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.hibernate.annotations.GenericGenerator;
|
||||
|
||||
import javax.persistence.*;
|
||||
@@ -17,6 +20,8 @@ import javax.persistence.*;
|
||||
@org.hibernate.annotations.Parameter(name = "increment_size", value = "1")
|
||||
}
|
||||
)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class Packet {
|
||||
|
||||
@@ -25,10 +30,12 @@ public class Packet {
|
||||
private Long id;
|
||||
|
||||
@Transient
|
||||
@JsonIgnore
|
||||
private Long tempId;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "stream_id", nullable = false)
|
||||
@JsonIgnore
|
||||
private Stream stream;
|
||||
|
||||
private long timestamp;
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
package ru.serega6531.packmate.model;
|
||||
|
||||
public class Pagination {
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package ru.serega6531.packmate.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.Data;
|
||||
import org.hibernate.annotations.GenericGenerator;
|
||||
import ru.serega6531.packmate.Protocol;
|
||||
@@ -31,6 +32,7 @@ public class Stream {
|
||||
private Protocol protocol;
|
||||
|
||||
@OneToMany(mappedBy = "stream", cascade = CascadeType.ALL, orphanRemoval = true)
|
||||
@JsonIgnore
|
||||
private List<Packet> packets;
|
||||
|
||||
private long startTimestamp;
|
||||
|
||||
@@ -3,8 +3,12 @@ package ru.serega6531.packmate.service;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.serega6531.packmate.model.Packet;
|
||||
import ru.serega6531.packmate.model.Pagination;
|
||||
import ru.serega6531.packmate.model.Stream;
|
||||
import ru.serega6531.packmate.repository.PacketRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class PacketService {
|
||||
|
||||
@@ -15,6 +19,10 @@ public class PacketService {
|
||||
this.repository = repository;
|
||||
}
|
||||
|
||||
public List<Packet> getPacketsForStream(Pagination pagination, Stream stream) {
|
||||
return repository.findAll();
|
||||
}
|
||||
|
||||
public Packet save(Packet packet) {
|
||||
return repository.save(packet);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import ru.serega6531.packmate.model.Stream;
|
||||
import ru.serega6531.packmate.repository.StreamRepository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
@@ -25,6 +26,10 @@ public class StreamService {
|
||||
return saved;
|
||||
}
|
||||
|
||||
public Optional<Stream> find(long id) {
|
||||
return repository.findById(id);
|
||||
}
|
||||
|
||||
public List<Stream> findAll() {
|
||||
return repository.findAll();
|
||||
}
|
||||
|
||||
@@ -7,5 +7,9 @@ spring:
|
||||
jpa:
|
||||
hibernate:
|
||||
ddl-auto: update
|
||||
properties:
|
||||
hibernate:
|
||||
temp:
|
||||
use_jdbc_metadata_defaults: false
|
||||
interface-name: enp0s31f6
|
||||
local-ip: "192.168.0.125"
|
||||
Reference in New Issue
Block a user