// POST /api/user/signup func SignUp(c *middleware.Context, cmd m.CreateUserCommand) Response { if !setting.AllowUserSignUp { return ApiError(401, "User signup is disabled", nil) } cmd.Login = cmd.Email if err := bus.Dispatch(&cmd); err != nil { return ApiError(500, "failed to create user", err) } user := cmd.Result bus.Publish(&events.UserSignedUp{ Id: user.Id, Name: user.Name, Email: user.Email, Login: user.Login, }) loginUserWithUser(&user, c) metrics.M_Api_User_SignUp.Inc(1) return ApiSuccess("User created and logged in") }
func inTransaction2(callback dbTransactionFunc2) error { var err error sess := session{Session: x.NewSession()} defer sess.Close() if err = sess.Begin(); err != nil { return err } err = callback(&sess) if err != nil { sess.Rollback() return err } else if err = sess.Commit(); err != nil { return err } if len(sess.events) > 0 { for _, e := range sess.events { if err = bus.Publish(e); err != nil { log.Error(3, "Failed to publish event after commit", err) } } } return nil }