// OverrideQuery overrides Query with context info func (c *Context) OverrideQuery(q *request.Query) *request.Query { // get group name from context q.GroupName = c.GroupName if c.IsLoggedIn() { q.AccountId = c.Client.Account.Id } else { q.AccountId = 0 } return q }
func updateStatus(participant *models.ChannelParticipant, query *request.Query, ctx *models.Context) (*models.ChannelParticipant, error) { if ok := ctx.IsLoggedIn(); !ok { return nil, models.ErrNotLoggedIn } query.AccountId = ctx.Client.Account.Id cp := models.NewChannelParticipant() cp.ChannelId = query.Id // check if the user is invited isInvited, err := cp.IsInvited(query.AccountId) if err != nil { return nil, err } if !isInvited { return nil, errors.New("uninvited user error") } cp.StatusConstant = participant.StatusConstant // update the status if err := cp.Update(); err != nil { return nil, err } return cp, nil }