GraphQL API and utilities for the rpdata project
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package channels
import ( "git.aiterp.net/rpdata/api/models" "github.com/globalsign/mgo/bson" )
// Edit edits a channels
func Edit(channel models.Channel, logged, hub *bool, eventName, locationName *string) (*models.Channel, error) { mutation := bson.M{}
if logged != nil && *logged != channel.Logged { mutation["logged"] = *logged channel.Logged = *logged } if hub != nil && *hub != channel.Hub { mutation["hub"] = *hub channel.Hub = *hub } if eventName != nil && *eventName != channel.EventName { mutation["eventName"] = *eventName channel.EventName = *eventName } if locationName != nil && *locationName != channel.LocationName { mutation["locationName"] = *locationName channel.LocationName = *locationName }
if len(mutation) == 0 { return &channel, nil }
err := collection.UpdateId(channel.Name, bson.M{"$set": mutation}) if err != nil { return nil, err }
return &channel, nil }
|