mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 00:55:47 -06:00
Fixed GetOtherAccountsFor query
This commit is contained in:
parent
705455d5d6
commit
53b00d80d6
@ -19,14 +19,6 @@ var (
|
||||
ErrAccountNotFound = errors.New("Account not found")
|
||||
)
|
||||
|
||||
type CollaboratorLink struct {
|
||||
AccountId int64
|
||||
Role string
|
||||
Email string
|
||||
ModifiedOn time.Time
|
||||
CreatedOn time.Time
|
||||
}
|
||||
|
||||
type OtherAccount struct {
|
||||
Id int64
|
||||
Email string
|
||||
@ -45,44 +37,6 @@ type Account struct {
|
||||
Company string
|
||||
NextDashboardId int
|
||||
UsingAccountId int64
|
||||
Collaborators []CollaboratorLink `xorm:"-"`
|
||||
Created time.Time `xorm:"CREATED"`
|
||||
Updated time.Time `xorm:"UPDATED"`
|
||||
}
|
||||
|
||||
func (account *Account) AddCollaborator(newCollaborator *Account) error {
|
||||
for _, collaborator := range account.Collaborators {
|
||||
if collaborator.AccountId == newCollaborator.Id {
|
||||
return errors.New("Collaborator already exists")
|
||||
}
|
||||
}
|
||||
|
||||
account.Collaborators = append(account.Collaborators, CollaboratorLink{
|
||||
AccountId: newCollaborator.Id,
|
||||
Email: newCollaborator.Email,
|
||||
Role: "admin",
|
||||
CreatedOn: time.Now(),
|
||||
ModifiedOn: time.Now(),
|
||||
})
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (account *Account) RemoveCollaborator(accountId int64) {
|
||||
list := account.Collaborators
|
||||
for i, collaborator := range list {
|
||||
if collaborator.AccountId == accountId {
|
||||
account.Collaborators = append(list[:i], list[i+1:]...)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (account *Account) HasCollaborator(accountId int64) bool {
|
||||
for _, collaborator := range account.Collaborators {
|
||||
if collaborator.AccountId == accountId {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
Created time.Time `xorm:"CREATED"`
|
||||
Updated time.Time `xorm:"UPDATED"`
|
||||
}
|
||||
|
@ -96,8 +96,9 @@ func AddCollaborator(collaborator *models.Collaborator) error {
|
||||
func GetOtherAccountsFor(accountId int64) ([]*models.OtherAccount, error) {
|
||||
collaborators := make([]*models.OtherAccount, 0)
|
||||
sess := x.Table("collaborator")
|
||||
sess.Join("INNER", "account", "account.id=collaborator.account_Id")
|
||||
sess.Join("INNER", "account", "collaborator.for_account_id=account.id")
|
||||
sess.Where("account_id=?", accountId)
|
||||
sess.Cols("collaborator.id", "collaborator.role", "account.email")
|
||||
err := sess.Find(&collaborators)
|
||||
return collaborators, err
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user