Return email as well in activities (#1466)

* Return email as well in activities

* Add team name
This commit is contained in:
Tomas Touceda 2021-07-23 17:00:26 -03:00 committed by GitHub
parent 0c8537a1f9
commit 8f854144c5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 2 deletions

View file

@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
"github.com/fleetdm/fleet/v4/server"
"github.com/fleetdm/fleet/v4/server/authz"
@ -203,6 +204,12 @@ func (svc *Service) DeleteTeam(ctx context.Context, teamID uint) error {
return err
}
team, err := svc.ds.Team(teamID)
if err != nil {
return err
}
name := team.Name
if err := svc.ds.DeleteTeam(teamID); err != nil {
return err
}
@ -210,7 +217,7 @@ func (svc *Service) DeleteTeam(ctx context.Context, teamID uint) error {
return svc.ds.NewActivity(
authz.UserFromContext(ctx),
fleet.ActivityTypeDeletedTeam,
&map[string]interface{}{"team_id": teamID},
&map[string]interface{}{"team_id": teamID, "team_name": name},
)
}

View file

@ -29,7 +29,7 @@ func (d *Datastore) NewActivity(user *fleet.User, activityType string, details *
// ListActivities returns a slice of activities performed across the organization
func (d *Datastore) ListActivities(opt fleet.ListOptions) ([]*fleet.Activity, error) {
activities := []*fleet.Activity{}
query := `SELECT a.id, a.user_id, a.created_at, a.activity_type, a.details, coalesce(u.name, a.user_name) as name, u.gravatar_url
query := `SELECT a.id, a.user_id, a.created_at, a.activity_type, a.details, coalesce(u.name, a.user_name) as name, u.gravatar_url, u.email
FROM activities a LEFT JOIN users u ON (a.user_id=u.id)
WHERE true`
query = appendListOptionsToSQL(query, opt)

View file

@ -39,6 +39,7 @@ func TestActivityUsernameChange(t *testing.T) {
assert.Len(t, activities, 2)
assert.Equal(t, "newname", activities[0].ActorFullName)
assert.Equal(t, "http://asd.com", *activities[0].ActorGravatar)
assert.Equal(t, "email@asd.com", *activities[0].ActorEmail)
err = ds.DeleteUser(u.ID)
require.NoError(t, err)

View file

@ -47,6 +47,7 @@ type Activity struct {
ActorFullName string `json:"actor_full_name" db:"name"`
ActorID *uint `json:"actor_id" db:"user_id"`
ActorGravatar *string `json:"actor_gravatar" db:"gravatar_url"`
ActorEmail *string `json:"actor_email" db:"email"`
Type string `json:"type" db:"activity_type"`
Details *json.RawMessage `json:"details" db:"details"`
}