mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 01:18:42 +00:00
Return email as well in activities (#1466)
* Return email as well in activities * Add team name
This commit is contained in:
parent
0c8537a1f9
commit
8f854144c5
4 changed files with 11 additions and 2 deletions
|
|
@ -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},
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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"`
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue