More work on project permissions

This commit is contained in:
simon987
2019-02-16 11:47:54 -05:00
parent 03153c4d39
commit e079fc8497
18 changed files with 470 additions and 125 deletions

View File

@@ -126,7 +126,7 @@ func (database *Database) UpdateManagerPassword(manager *Manager, newPassword []
}).Trace("Database.UpdateManagerPassword UPDATE")
}
func (database *Database) ManagerHasRoleOn(manager *Manager, projectId int64) ManagerRole {
func (database *Database) GetManagerRoleOn(manager *Manager, projectId int64) ManagerRole {
db := database.getDB()
@@ -142,6 +142,25 @@ func (database *Database) ManagerHasRoleOn(manager *Manager, projectId int64) Ma
return role
}
func (database *Database) SetManagerRoleOn(manager *Manager, projectId int64, role ManagerRole) {
db := database.getDB()
res, err := db.Exec(`INSERT INTO manager_has_role_on_project (manager, role, project)
VALUES ($1,$2,$3) ON CONFLICT (manager, project) DO UPDATE SET role=$2`,
manager.Id, role, projectId)
handleErr(err)
rowsAffected, _ := res.RowsAffected()
logrus.WithFields(logrus.Fields{
"role": role,
"manager": manager.Username,
"rowsAffected": rowsAffected,
"project": projectId,
}).Info("Set manager role on project")
}
func (database *Database) GetAllManagers() *[]Manager {
db := database.getDB()