feat(invite): worked on db & domain model for temp users, #2353

This commit is contained in:
Torkel Ödegaard
2015-07-16 17:59:11 +02:00
parent c3a5822a40
commit 444807c35b
5 changed files with 176 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
package sqlstore
import (
"time"
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
)
func init() {
bus.AddHandler("sql", CreateTempUser)
bus.AddHandler("sql", GetTempUsersForOrg)
}
func CreateTempUser(cmd *m.CreateTempUserCommand) error {
return inTransaction2(func(sess *session) error {
// create user
user := &m.TempUser{
Email: cmd.Email,
Name: cmd.Name,
OrgId: cmd.OrgId,
Code: cmd.Code,
IsInvite: cmd.IsInvite,
Created: time.Now(),
Updated: time.Now(),
}
sess.UseBool("is_invite")
if _, err := sess.Insert(user); err != nil {
return err
}
cmd.Result = user
return nil
})
}
func GetTempUsersForOrg(query *m.GetTempUsersForOrgQuery) error {
query.Result = make([]*m.TempUserDTO, 0)
sess := x.Table("temp_user")
sess.Where("org_id=?", query.OrgId)
err := sess.Find(&query.Result)
return err
}