浏览代码

Add delete time/leave entry endpoint

tags/Baseline_30082024_BACKEND_UAT
Wayne 1年前
父节点
当前提交
02b152d0d2
共有 4 个文件被更改,包括 38 次插入0 次删除
  1. +11
    -0
      src/main/java/com/ffii/tsms/modules/timesheet/service/LeaveService.kt
  2. +11
    -0
      src/main/java/com/ffii/tsms/modules/timesheet/service/TimesheetsService.kt
  3. +10
    -0
      src/main/java/com/ffii/tsms/modules/timesheet/web/TimesheetsController.kt
  4. +6
    -0
      src/main/java/com/ffii/tsms/modules/timesheet/web/models/TeamEntryDelete.kt

+ 11
- 0
src/main/java/com/ffii/tsms/modules/timesheet/service/LeaveService.kt 查看文件

@@ -75,6 +75,17 @@ open class LeaveService(
return transformToLeaveEntryMap(leaveRepository.findAllByStaff(memberStaff))
}

open fun deleteMemberLeaveEntry(staffId: Long, entryId: Long): Map<String, List<LeaveEntry>> {
val currentStaff = staffsService.currentStaff() ?: throw BadRequestException()
// Make sure current staff is a team lead
teamService.getMyTeamForStaff(currentStaff) ?: throw BadRequestException()

val memberStaff = staffsService.getStaff(staffId)

leaveRepository.deleteById(entryId)
return transformToLeaveEntryMap(leaveRepository.findAllByStaff(memberStaff))
}

open fun getTeamMemberLeave(): Map<Long, TeamMemberLeaveEntries> {
val currentStaff = staffsService.currentStaff() ?: return emptyMap()
// Get team where current staff is team lead


+ 11
- 0
src/main/java/com/ffii/tsms/modules/timesheet/service/TimesheetsService.kt 查看文件

@@ -83,6 +83,17 @@ open class TimesheetsService(
return transformToTimeEntryMap(timesheetRepository.findAllByStaff(memberStaff))
}

open fun deleteMemberTimeEntry(staffId: Long, entryId: Long): Map<String, List<TimeEntry>> {
val currentStaff = staffsService.currentStaff() ?: throw BadRequestException()
// Make sure current staff is a team lead
teamService.getMyTeamForStaff(currentStaff) ?: throw BadRequestException()

val memberStaff = staffsService.getStaff(staffId)

timesheetRepository.deleteById(entryId)
return transformToTimeEntryMap(timesheetRepository.findAllByStaff(memberStaff))
}

open fun getTimesheet(): Map<String, List<TimeEntry>> {
// Need to be associated with a staff
val currentStaff = staffsService.currentStaff() ?: return emptyMap()


+ 10
- 0
src/main/java/com/ffii/tsms/modules/timesheet/web/TimesheetsController.kt 查看文件

@@ -66,6 +66,16 @@ class TimesheetsController(private val timesheetsService: TimesheetsService, pri
}.getOrNull())
}

@PostMapping("/deleteMemberEntry")
fun deleteMemberEntry(@Valid @RequestBody request: TeamEntryDelete): Map<String, List<TimeEntry>> {
return timesheetsService.deleteMemberTimeEntry(request.staffId, request.entryId)
}

@PostMapping("/deleteMemberLeave")
fun deleteMemberLeave(@Valid @RequestBody request: TeamEntryDelete): Map<String, List<LeaveEntry>> {
return leaveService.deleteMemberLeaveEntry(request.staffId, request.entryId)
}

@GetMapping("/leaves")
fun getLeaveEntry(): Map<String, List<LeaveEntry>> {
return leaveService.getLeaves()


+ 6
- 0
src/main/java/com/ffii/tsms/modules/timesheet/web/models/TeamEntryDelete.kt 查看文件

@@ -0,0 +1,6 @@
package com.ffii.tsms.modules.timesheet.web.models

data class TeamEntryDelete(
val staffId: Long,
val entryId: Long,
)

正在加载...
取消
保存