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, } }