forked from s485936/PRAPRO2
feat: added ActivityLog stack
This commit is contained in:
parent
1ec5555423
commit
9b5304ae3c
@ -0,0 +1,54 @@
|
||||
package com.example.prapro2spring.controller;
|
||||
|
||||
import com.example.prapro2spring.dto.ActivityLogDTO;
|
||||
import com.example.prapro2spring.model.ActivityLog;
|
||||
import com.example.prapro2spring.service.ActivityLogService;
|
||||
import com.example.prapro2spring.service.ActivityLogDTOService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/activityLogs")
|
||||
public class ActivityLogController {
|
||||
|
||||
@Autowired
|
||||
private ActivityLogService activityLogService;
|
||||
@Autowired
|
||||
private ActivityLogDTOService activityLogDTOService;
|
||||
|
||||
@GetMapping
|
||||
public List<ActivityLog> getAllActivityLogs() {
|
||||
return activityLogService.findAll();
|
||||
}
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public ActivityLog getActivityLogById(@PathVariable Long id) {
|
||||
return activityLogService.findById(id).orElse(null);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public ActivityLogDTO createActivityLog(@RequestBody ActivityLogDTO activityLog) {
|
||||
activityLog.setId(null);
|
||||
return activityLogDTOService.save(activityLog);
|
||||
}
|
||||
|
||||
@PutMapping("/{id}")
|
||||
public ActivityLogDTO updateActivityLog(@PathVariable Long id, @RequestBody ActivityLogDTO activityLogDetails) {
|
||||
ActivityLogDTO activityLog = activityLogDTOService.findById(id).orElse(null);
|
||||
if (activityLog != null) {
|
||||
activityLog.setActivityId(activityLogDetails.getActivityId());
|
||||
activityLog.setPersonId(activityLogDetails.getPersonId());
|
||||
activityLog.setStartTimestamp(activityLogDetails.getStartTimestamp());
|
||||
activityLog.setEndTimestamp(activityLogDetails.getEndTimestamp());
|
||||
return activityLogDTOService.save(activityLog);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
public void deleteActivityLog(@PathVariable Long id) {
|
||||
activityLogService.deleteById(id);
|
||||
}
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
package com.example.prapro2spring.dto;
|
||||
|
||||
import com.example.prapro2spring.model.Activity;
|
||||
import com.example.prapro2spring.model.Person;
|
||||
import jakarta.persistence.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Entity
|
||||
@Table(name = "activity_log")
|
||||
public class ActivityLogDTO {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
@Column(name = "activityId")
|
||||
private Long activityId;
|
||||
|
||||
@Column(name = "humanId")
|
||||
private Long personId;
|
||||
|
||||
@Column(name = "start_timestamp")
|
||||
private LocalDateTime startTimestamp;
|
||||
|
||||
@Column(name = "end_timestamp")
|
||||
private LocalDateTime endTimestamp;
|
||||
|
||||
// getters and setters
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getActivityId() {
|
||||
return activityId;
|
||||
}
|
||||
|
||||
public void setActivityId(Long activityId) {
|
||||
this.activityId = activityId;
|
||||
}
|
||||
|
||||
public Long getPersonId() {
|
||||
return personId;
|
||||
}
|
||||
|
||||
public void setPersonId(Long person) {
|
||||
this.personId = person;
|
||||
}
|
||||
|
||||
public LocalDateTime getStartTimestamp() {
|
||||
return startTimestamp;
|
||||
}
|
||||
|
||||
public void setStartTimestamp(LocalDateTime startTimestamp) {
|
||||
this.startTimestamp = startTimestamp;
|
||||
}
|
||||
|
||||
public LocalDateTime getEndTimestamp() {
|
||||
return endTimestamp;
|
||||
}
|
||||
|
||||
public void setEndTimestamp(LocalDateTime endTimestamp) {
|
||||
this.endTimestamp = endTimestamp;
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.example.prapro2spring.service;
|
||||
|
||||
import com.example.prapro2spring.dto.ActivityLogDTO;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public interface ActivityLogDTOService extends JpaRepository<ActivityLogDTO, Long> {
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.example.prapro2spring.service;
|
||||
|
||||
import com.example.prapro2spring.model.ActivityLog;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public interface ActivityLogService extends JpaRepository<ActivityLog, Long> {
|
||||
}
|
Loading…
Reference in New Issue
Block a user