package com.farriver.bwf.web.controller.admin.security; import com.farriver.bwf.common.model.ApiData; import com.farriver.bwf.common.model.ApiPageData; import com.farriver.bwf.common.statics.LangConstants; import com.farriver.bwf.data.transferobject.viewmodel.pa.PAEmployeeViewModel; import com.farriver.bwf.data.transferobject.viewmodel.security.PasswordViewModel; import com.farriver.bwf.service.security.SecurityService; import com.farriver.bwf.web.controller.admin.AdminControllerBase; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/admin/security") public class SecurityController extends AdminControllerBase { @Resource SecurityService securityService; @PostMapping("/account/update/profile") public ApiData UpdateProfile(@RequestBody PAEmployeeViewModel model) { return securityService.UpdateProfile(model); } @GetMapping("/role/all") public ApiPageData getAllRoles() { return securityService.getAllRoles(0); } @GetMapping("/role/listbyaccountid") public ApiData GetListByAccountId(@RequestParam(defaultValue = "") String accountid) { if (accountid == null || accountid.isEmpty()) return ApiData.error(LangConstants.MSG_ERROR_PARAMETERS); return securityService.GetRolesByAccountId(accountid); } @GetMapping("/role/listbypositionid") public ApiData GetListByPositionId(@RequestParam(defaultValue = "") String positionid) { if (positionid == null || positionid.isEmpty()) return ApiData.error(LangConstants.MSG_ERROR_PARAMETERS); return securityService.GetRolesByPositionId(positionid); } @PostMapping("/account/pass") public ApiData UpdateAccountPassword(@RequestBody PasswordViewModel model) { if (model == null) { return ApiData.error(LangConstants.MSG_ERROR_PARAMETERS); } return securityService.UpdateAccountPassword(model); } @GetMapping("/application/all") public ApiPageData GetAllApplication(@RequestParam("permissionLevel") Integer permissionLevel) { return securityService.GetAllApplication(permissionLevel); } @GetMapping("/application/accountapps") public ApiPageData GetAccountApplications(@RequestParam("accountid") String accountid) { return securityService.GetAccountApplications(accountid); } @GetMapping("/employee/positions") public ApiData GetEmployeePositionsByEmployeeId(@RequestParam("employeeid") String employeeid) { return securityService.GetEmployeePositionsByEmployeeId(employeeid); } @GetMapping("/employee/positionwithorganization") public ApiData GetEmployeePositionWithOrganizationsByEmployeeId(@RequestParam(defaultValue = "") String employeeid) { if (employeeid == null || employeeid.isEmpty()) return ApiData.error(LangConstants.MSG_ERROR_PARAMETERS); return securityService.GetEmployeePositionWithOrganizationsByEmployeeId(employeeid); } }