84 lines
2.8 KiB
Go
84 lines
2.8 KiB
Go
package helper
|
|
|
|
import (
|
|
"users_management/m/model/dto/res"
|
|
"users_management/m/model/entity"
|
|
)
|
|
|
|
// ConvertToActivityLogResponses converts activity log entities to simple response format for users
|
|
func ConvertToActivityLogResponses(logs []entity.ActivityLog) []res.ActivityLogResponse {
|
|
var responses []res.ActivityLogResponse
|
|
|
|
for _, log := range logs {
|
|
response := res.ActivityLogResponse{
|
|
ID: log.ID,
|
|
Username: log.User.Username,
|
|
Role: log.User.Role.Name,
|
|
Action: log.Action,
|
|
Resource: log.Resource,
|
|
IPAddress: log.IPAddress,
|
|
UserAgent: log.UserAgent,
|
|
Timestamp: log.Timestamp,
|
|
}
|
|
responses = append(responses, response)
|
|
}
|
|
|
|
return responses
|
|
}
|
|
|
|
// ConvertToActivityLogDetailResponses converts activity log entities to detailed response format for admins
|
|
func ConvertToActivityLogDetailResponses(logs []entity.ActivityLog) []res.ActivityLogDetailResponse {
|
|
var responses []res.ActivityLogDetailResponse
|
|
|
|
for _, log := range logs {
|
|
response := res.ActivityLogDetailResponse{
|
|
ID: log.ID,
|
|
UserID: log.UserID,
|
|
Username: log.User.Username,
|
|
Role: log.User.Role.Name,
|
|
Action: log.Action,
|
|
Resource: log.Resource,
|
|
ResourceID: log.ResourceID,
|
|
OldData: log.OldData,
|
|
NewData: log.NewData,
|
|
IPAddress: log.IPAddress,
|
|
UserAgent: log.UserAgent,
|
|
Timestamp: log.Timestamp,
|
|
}
|
|
responses = append(responses, response)
|
|
}
|
|
|
|
return responses
|
|
}
|
|
|
|
// ConvertToSingleActivityLogResponse converts single activity log entity to simple response
|
|
func ConvertToSingleActivityLogResponse(log entity.ActivityLog) res.ActivityLogResponse {
|
|
return res.ActivityLogResponse{
|
|
ID: log.ID,
|
|
Username: log.User.Username,
|
|
Role: log.User.Role.Name,
|
|
Action: log.Action,
|
|
Resource: log.Resource,
|
|
IPAddress: log.IPAddress,
|
|
UserAgent: log.UserAgent,
|
|
Timestamp: log.Timestamp,
|
|
}
|
|
}
|
|
|
|
// ConvertToSingleActivityLogDetailResponse converts single activity log entity to detailed response
|
|
func ConvertToSingleActivityLogDetailResponse(log entity.ActivityLog) res.ActivityLogDetailResponse {
|
|
return res.ActivityLogDetailResponse{
|
|
ID: log.ID,
|
|
UserID: log.UserID,
|
|
Username: log.User.Username,
|
|
Role: log.User.Role.Name,
|
|
Action: log.Action,
|
|
Resource: log.Resource,
|
|
ResourceID: log.ResourceID,
|
|
OldData: log.OldData,
|
|
NewData: log.NewData,
|
|
IPAddress: log.IPAddress,
|
|
UserAgent: log.UserAgent,
|
|
Timestamp: log.Timestamp,
|
|
}
|
|
} |