|
|
@@ -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"`
|
|
|
}
|