* INFRA-3664 : Make get users in conversation api more performant * INFRA-3664 : Add apis for incident user sync and get users in incident performance improvements * INFRA-3664 : Self review * INFRA-3664 : Add migration script * INFRA-3664 : Review comments * INFRA-3664 : Constant chanes * INFRA-3664 : Add rate limit constants * INFRA-3664 : Add rate limit constants * INFRA-3664 : Fix failing tests * INFRA-3664 : Add UT's
58 lines
1.8 KiB
Go
58 lines
1.8 KiB
Go
package requestStatus
|
|
|
|
import (
|
|
"github.com/google/uuid"
|
|
"gorm.io/datatypes"
|
|
"houston/common/util/dto"
|
|
requestStatusUtil "houston/common/util/requestStatus"
|
|
requestStatusModel "houston/model/requestStatus"
|
|
"houston/repository/requestStatus"
|
|
)
|
|
|
|
type requestStatusServiceImpl struct {
|
|
requestStatusRepo requestStatus.RequestStatusRepository
|
|
}
|
|
|
|
func (service *requestStatusServiceImpl) AddRequestStatus(
|
|
requestType requestStatusUtil.RequestType, status requestStatusUtil.RequestStatus, message datatypes.JSON,
|
|
) (*requestStatusModel.RequestStatusDTO, error) {
|
|
entity, err := service.requestStatusRepo.AddRequestStatus(requestType, status, message)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
requestStatusDTO := entity.ToDTO()
|
|
return &requestStatusDTO, nil
|
|
}
|
|
|
|
func (service *requestStatusServiceImpl) GetRequestStatusByRequestId(requestId uuid.UUID) (*requestStatusModel.RequestStatusDTO, error) {
|
|
entity, err := service.requestStatusRepo.GetRequestStatusByRequestId(requestId)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
requestStatusDTO := entity.ToDTO()
|
|
return &requestStatusDTO, nil
|
|
}
|
|
|
|
func (service *requestStatusServiceImpl) UpdateRequestStatus(
|
|
requestId uuid.UUID, status requestStatusUtil.RequestStatus, message datatypes.JSON,
|
|
) (*requestStatusModel.RequestStatusDTO, error) {
|
|
entity, err := service.requestStatusRepo.UpdateRequestStatus(requestId, status, message)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
requestStatusDTO := entity.ToDTO()
|
|
return &requestStatusDTO, nil
|
|
}
|
|
|
|
func (service *requestStatusServiceImpl) GetAllRequestStatusesByTerminalState(terminalState bool) ([]requestStatusModel.RequestStatusDTO, error) {
|
|
entities, err := service.requestStatusRepo.GetAllRequestStatusesByTerminalState(terminalState)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return dto.ToDtoArray[requestStatusModel.RequestStatusEntity, requestStatusModel.RequestStatusDTO](entities), nil
|
|
}
|