func CreateAlertNotificationCommand(cmd *m.CreateAlertNotificationCommand) error { return inTransaction(func(sess *xorm.Session) error { existingQuery := &m.GetAlertNotificationsQuery{OrgId: cmd.OrgId, Name: cmd.Name} err := getAlertNotificationInternal(existingQuery, sess) if err != nil { return err } if existingQuery.Result != nil { return fmt.Errorf("Alert notification name %s already exists", cmd.Name) } alertNotification := &m.AlertNotification{ OrgId: cmd.OrgId, Name: cmd.Name, Type: cmd.Type, Settings: cmd.Settings, Created: time.Now(), Updated: time.Now(), IsDefault: cmd.IsDefault, } if _, err = sess.Insert(alertNotification); err != nil { return err } cmd.Result = alertNotification return nil }) }
func CreateAlertNotification(c *middleware.Context, cmd models.CreateAlertNotificationCommand) Response { cmd.OrgId = c.OrgId if err := bus.Dispatch(&cmd); err != nil { return ApiError(500, "Failed to create alert notification", err) } return Json(200, cmd.Result) }