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