func (hub *DeploymentEventHub) buildDeploymentEvent(s models.DeploymentState, d *models.Deployment) (*DeploymentEvent, error) { user, err := getUser(hub.db, d.UserId) if err != nil { return nil, err } d.User = user application, err := findApplication(d.ApplicationName) if err != nil { return nil, err } target, err := findTarget(application, d.TargetName) if err != nil { return nil, err } event := &DeploymentEvent{ State: s, Deployment: d, Application: application, Target: target, User: user, } return event, nil }