本文整理匯總了Golang中github.com/ninnemana/API/models/customer.CustomerUser.Create方法的典型用法代碼示例。如果您正苦於以下問題:Golang CustomerUser.Create方法的具體用法?Golang CustomerUser.Create怎麽用?Golang CustomerUser.Create使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/ninnemana/API/models/customer.CustomerUser
的用法示例。
在下文中一共展示了CustomerUser.Create方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: RegisterUser
//registers an inactive user; emails user and webdev that a new inactive user exists - used by dealers site
func RegisterUser(rw http.ResponseWriter, r *http.Request, enc encoding.Encoder) string {
var err error
name := r.FormValue("name")
email := r.FormValue("email")
pass := r.FormValue("pass")
customerID, err := strconv.Atoi(r.FormValue("customerID"))
// isActive, err := strconv.ParseBool(r.FormValue("isActive"))
locationID, err := strconv.Atoi(r.FormValue("locationID"))
// isSudo, err := strconv.ParseBool(r.FormValue("isSudo"))
cust_ID, err := strconv.Atoi(r.FormValue("cust_ID"))
notCustomer, err := strconv.ParseBool(r.FormValue("notCustomer"))
if email == "" || pass == "" {
err = errors.New("Email and password are required.")
apierror.GenerateError("Email and password are required", err, rw, r)
return ""
}
var user customer.CustomerUser
user.Email = email
user.Password = pass
if name != "" {
user.Name = name
}
if customerID != 0 {
user.OldCustomerID = customerID
}
if locationID != 0 {
user.Location.Id = locationID
}
if cust_ID != 0 {
user.CustomerID = cust_ID
}
user.Active = false
user.Sudo = false
user.Current = notCustomer
//check for existence of user
err = user.FindByEmail()
if err == nil {
apierror.GenerateError("A user with that email address already exists.", err, rw, r)
return ""
}
err = nil
user.Brands, err = brand.GetUserBrands(cust_ID)
if err != nil {
apierror.GenerateError("Trouble getting user brands.", err, rw, r)
return ""
}
var brandIds []int
for _, brand := range user.Brands {
brandIds = append(brandIds, brand.ID)
}
if err = user.Create(brandIds); err != nil {
apierror.GenerateError("Trouble registering new customer user", err, rw, r)
return ""
}
//email
if err = user.SendRegistrationEmail(); err != nil {
apierror.GenerateError("Trouble emailing new customer user", err, rw, r)
return ""
}
if err = user.SendRegistrationRequestEmail(); err != nil {
apierror.GenerateError("Trouble emailing webdevelopment regarding new customer user", err, rw, r)
return ""
}
return encoding.Must(enc.Encode(user))
}
示例2: TestCustomerUser
func TestCustomerUser(t *testing.T) {
var err error
var cu customer.CustomerUser
var c customer.Customer
c.Name = "Dog Bountyhunter"
c.BrandIDs = append(c.BrandIDs, 1)
c.Create()
var pub, pri, auth apiKeyType.ApiKeyType
if database.GetCleanDBFlag() != "" {
t.Log(database.GetCleanDBFlag())
//setup apiKeyTypes
pub.Type = "Public"
pri.Type = "Private"
auth.Type = "Authentication"
pub.Create()
pri.Create()
auth.Create()
}
Convey("Testing customer/User", t, func() {
//test create customer user
form := url.Values{"name": {"Mitt Romney"}, "email": {"[email protected]"}, "pass": {"robthepoor"}, "customerID": {strconv.Itoa(c.Id)}, "isActive": {"true"}, "locationID": {"1"}, "isSudo": {"true"}, "cust_ID": {strconv.Itoa(c.Id)}}
v := form.Encode()
body := strings.NewReader(v)
thyme := time.Now()
testThatHttp.Request("post", "/customer/user/register", "", "", RegisterUser, body, "application/x-www-form-urlencoded")
So(time.Since(thyme).Nanoseconds(), ShouldBeLessThan, time.Second.Nanoseconds()/2)
So(testThatHttp.Response.Code, ShouldEqual, 200)
err = json.Unmarshal(testThatHttp.Response.Body.Bytes(), &cu)
So(err, ShouldBeNil)
So(cu, ShouldHaveSameTypeAs, customer.CustomerUser{})
So(cu.Id, ShouldNotBeEmpty)
//key stuff - get apiKey
var apiKey string
for _, k := range cu.Keys {
if strings.ToLower(k.Type) == "public" {
apiKey = k.Key
}
}
//test update customer user
form = url.Values{"name": {"Michelle Bachman"}}
v = form.Encode()
body = strings.NewReader(v)
thyme = time.Now()
testThatHttp.Request("post", "/customer/user/", ":id", cu.Id, UpdateCustomerUser, body, "application/x-www-form-urlencoded")
So(time.Since(thyme).Nanoseconds(), ShouldBeLessThan, time.Second.Nanoseconds()/2)
So(testThatHttp.Response.Code, ShouldEqual, 200)
err = json.Unmarshal(testThatHttp.Response.Body.Bytes(), &cu)
So(err, ShouldBeNil)
So(cu, ShouldHaveSameTypeAs, customer.CustomerUser{})
So(cu.Name, ShouldNotEqual, "Mitt Romney")
//test authenticateUser
err = c.JoinUser(cu)
So(err, ShouldBeNil)
form = url.Values{"email": {"[email protected]"}, "password": {"robthepoor"}}
v = form.Encode()
body = strings.NewReader(v)
thyme = time.Now()
testThatHttp.Request("post", "/customer/auth", "", "", AuthenticateUser, body, "application/x-www-form-urlencoded")
So(time.Since(thyme).Nanoseconds(), ShouldBeLessThan, time.Second.Nanoseconds()/2)
So(testThatHttp.Response.Code, ShouldEqual, 200)
err = json.Unmarshal(testThatHttp.Response.Body.Bytes(), &c)
So(err, ShouldBeNil)
So(c, ShouldHaveSameTypeAs, customer.Customer{})
//test keyed user authentication
thyme = time.Now()
testThatHttp.Request("get", "/customer/auth", "", "?key="+apiKey, KeyedUserAuthentication, nil, "")
So(time.Since(thyme).Nanoseconds(), ShouldBeLessThan, time.Second.Nanoseconds()/2)
So(testThatHttp.Response.Code, ShouldEqual, 200)
err = json.Unmarshal(testThatHttp.Response.Body.Bytes(), &c)
So(err, ShouldBeNil)
So(c, ShouldHaveSameTypeAs, customer.Customer{})
//test get user by id
thyme = time.Now()
testThatHttp.Request("get", "/customer/", ":id", cu.Id+"?key="+apiKey, GetUserById, nil, "")
So(time.Since(thyme).Nanoseconds(), ShouldBeLessThan, time.Second.Nanoseconds()/2)
So(testThatHttp.Response.Code, ShouldEqual, 200)
err = json.Unmarshal(testThatHttp.Response.Body.Bytes(), &cu)
So(err, ShouldBeNil)
So(cu, ShouldHaveSameTypeAs, customer.CustomerUser{})
//test change user password
form = url.Values{"email": {"[email protected]"}, "oldPass": {"robthepoor"}, "newPass": {"prolife"}}
v = form.Encode()
body = strings.NewReader(v)
thyme = time.Now()
testThatHttp.Request("post", "/customer/user/changePassword", "", "?key="+apiKey, ChangePassword, body, "application/x-www-form-urlencoded")
So(time.Since(thyme).Nanoseconds(), ShouldBeLessThan, time.Second.Nanoseconds()*2)
So(testThatHttp.Response.Code, ShouldEqual, 200)
var result string
err = json.Unmarshal(testThatHttp.Response.Body.Bytes(), &result)
So(err, ShouldBeNil)
So(result, ShouldHaveSameTypeAs, "Success")
//test reset user password
//.........這裏部分代碼省略.........