func UpdatePresence(u *url.URL, h http.Header, participant *models.ChannelParticipant, context *models.Context) (int, http.Header, interface{}, error) { query := context.OverrideQuery(request.GetQuery(u)) participant.ChannelId = query.Id // only requester can update their last seen date participant.AccountId = query.AccountId if err := checkChannelPrerequisites( query.Id, query.AccountId, []*models.ChannelParticipant{participant}, ); err != nil { return response.NewBadRequest(err) } // @todo add a new function into participant just // for updating with lastSeenDate if err := participant.FetchParticipant(); err != nil { return response.NewBadRequest(err) } // glance the channel if err := participant.Glance(); err != nil { return response.NewBadRequest(err) } return response.NewOK(participant) }