func AddDataSource(cmd *m.AddDataSourceCommand) error { return inTransaction(func(sess *xorm.Session) error { ds := &m.DataSource{ OrgId: cmd.OrgId, Name: cmd.Name, Type: cmd.Type, Access: cmd.Access, Url: cmd.Url, User: cmd.User, Password: cmd.Password, Database: cmd.Database, IsDefault: cmd.IsDefault, BasicAuth: cmd.BasicAuth, BasicAuthUser: cmd.BasicAuthUser, BasicAuthPassword: cmd.BasicAuthPassword, JsonData: cmd.JsonData, Created: time.Now(), Updated: time.Now(), } if _, err := sess.Insert(ds); err != nil { return err } if err := updateIsDefaultFlag(ds, sess); err != nil { return err } cmd.Result = ds return nil }) }