Account stuff

This commit is contained in:
Torkel Ödegaard
2014-09-20 12:13:46 +02:00
parent cdabe50320
commit 40ff57d8c4
10 changed files with 42 additions and 24 deletions
+18 -5
View File
@@ -25,7 +25,7 @@ func (self *rethinkStore) getNextAccountId() (int, error) {
return int(change.NewValue.(map[string]interface{})["NextAccountId"].(float64)), nil
}
func (self *rethinkStore) SaveUserAccount(account *models.UserAccount) error {
func (self *rethinkStore) CreateAccount(account *models.Account) error {
accountId, err := self.getNextAccountId()
if err != nil {
return err
@@ -46,14 +46,14 @@ func (self *rethinkStore) SaveUserAccount(account *models.UserAccount) error {
return nil
}
func (self *rethinkStore) GetUserAccountLogin(emailOrName string) (*models.UserAccount, error) {
func (self *rethinkStore) GetAccountByLogin(emailOrName string) (*models.Account, error) {
resp, err := r.Table("accounts").GetAllByIndex("AccountLogin", []interface{}{emailOrName}).Run(self.session)
if err != nil {
return nil, err
}
var account models.UserAccount
var account models.Account
err = resp.One(&account)
if err != nil {
return nil, errors.New("Not found")
@@ -62,14 +62,14 @@ func (self *rethinkStore) GetUserAccountLogin(emailOrName string) (*models.UserA
return &account, nil
}
func (self *rethinkStore) GetAccount(id int) (*models.UserAccount, error) {
func (self *rethinkStore) GetAccount(id int) (*models.Account, error) {
resp, err := r.Table("accounts").Get(id).Run(self.session)
if err != nil {
return nil, err
}
var account models.UserAccount
var account models.Account
err = resp.One(&account)
if err != nil {
return nil, errors.New("Not found")
@@ -78,6 +78,19 @@ func (self *rethinkStore) GetAccount(id int) (*models.UserAccount, error) {
return &account, nil
}
func (self *rethinkStore) UpdateAccount(account *models.Account) error {
resp, err := r.Table("accounts").Update(account).RunWrite(self.session)
if err != nil {
return err
}
if resp.Replaced != 1 {
return errors.New("Could not fund account to uodate")
}
return nil
}
func (self *rethinkStore) getNextDashboardNumber(accountId int) (int, error) {
resp, err := r.Table("accounts").Get(accountId).Update(map[string]interface{}{
"NextDashboardId": r.Row.Field("NextDashboardId").Add(1),
+4 -4
View File
@@ -35,8 +35,8 @@ func TestRethinkStore(t *testing.T) {
})
Convey("can create account", t, func() {
account := &models.UserAccount{UserName: "torkelo", Email: "mupp", Login: "test@test.com"}
err := store.SaveUserAccount(account)
account := &models.Account{UserName: "torkelo", Email: "mupp", Login: "test@test.com"}
err := store.CreateAccount(account)
So(err, ShouldBeNil)
So(account.Id, ShouldNotEqual, 0)
@@ -46,8 +46,8 @@ func TestRethinkStore(t *testing.T) {
})
Convey("can get next dashboard id", t, func() {
account := &models.UserAccount{UserName: "torkelo", Email: "mupp"}
err := store.SaveUserAccount(account)
account := &models.Account{UserName: "torkelo", Email: "mupp"}
err := store.CreateAccount(account)
dashId, err := store.getNextDashboardNumber(account.Id)
So(err, ShouldBeNil)
So(dashId, ShouldEqual, 1)
+4 -3
View File
@@ -9,9 +9,10 @@ type Store interface {
SaveDashboard(dash *models.Dashboard) error
DeleteDashboard(slug string, accountId int) error
Query(query string, acccountId int) ([]*models.SearchResult, error)
SaveUserAccount(acccount *models.UserAccount) error
GetUserAccountLogin(emailOrName string) (*models.UserAccount, error)
GetAccount(id int) (*models.UserAccount, error)
CreateAccount(acccount *models.Account) error
UpdateAccount(acccount *models.Account) error
GetAccountByLogin(emailOrName string) (*models.Account, error)
GetAccount(id int) (*models.Account, error)
Close()
}