grafana/pkg/models/account.go

46 lines
910 B
Go
Raw Normal View History

2014-09-19 23:37:18 +08:00
package models
import (
"errors"
"time"
)
type CollaboratorLink struct {
AccountId int
Role string
ModifiedOn time.Time
CreatedOn time.Time
}
2014-09-20 18:13:46 +08:00
type Account struct {
2014-09-19 23:37:18 +08:00
Id int `gorethink:"id"`
2014-09-20 19:24:06 +08:00
Version int
2014-09-19 23:37:18 +08:00
Login string
Email string
2014-09-20 19:24:06 +08:00
AccountName string
2014-09-19 23:37:18 +08:00
Password string
NextDashboardId int
UsingAccountId int
Collaborators []CollaboratorLink
CreatedOn time.Time
ModifiedOn time.Time
2014-09-20 19:24:06 +08:00
LastLoginOn time.Time
2014-09-19 23:37:18 +08:00
}
2014-09-20 18:13:46 +08:00
func (account *Account) AddCollaborator(accountId int) error {
2014-09-19 23:37:18 +08:00
for _, collaborator := range account.Collaborators {
if collaborator.AccountId == accountId {
return errors.New("Collaborator already exists")
}
}
account.Collaborators = append(account.Collaborators, CollaboratorLink{
AccountId: accountId,
Role: "admin",
CreatedOn: time.Now(),
ModifiedOn: time.Now(),
})
return nil
}