try again
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-01-09 16:31:39 +11:00
parent f7414629bc
commit b5a28c0d39
3 changed files with 14 additions and 14 deletions

View File

@@ -6,5 +6,6 @@ type Permission struct {
ReadOnly bool `db:"ReadOnly"`
RoleId int `db:"RoleId"`
SafeId int `db:"SafeId"`
UserId int `db:"UserId"`
GroupId int `db:"GroupId"`
}

View File

@@ -26,10 +26,11 @@ type Secret struct {
// Used for querying all secrets the user has access to
type UserSecret struct {
User
UserId int `db:"UserId" json:"userId"`
GroupId int `db:"GroupId" json:"groupId"`
Group
Permission
Safe
SafeName string `db:"SafeName"`
Secret
}
@@ -71,7 +72,7 @@ func SecretsGetAllowed(s *Secret, userId int) ([]UserSecret, error) {
// Query for group access
queryArgs := []interface{}{}
query := `SELECT *
query := `SELECT users.UserId, users.GroupId, permissions.ReadOnly, safes.SafeName, secrets.*
FROM users
INNER JOIN groups ON users.GroupId = groups.GroupId
INNER JOIN permissions ON groups.GroupId = permissions.GroupId
@@ -125,7 +126,7 @@ func SecretsGetAllowed(s *Secret, userId int) ([]UserSecret, error) {
*/
// Execute the query
log.Printf("SecretsGetAllowedForGroup query string : '%s'\nArguments: %+v\n", query, queryArgs)
log.Printf("SecretsGetAllowedForGroup query string : '%s'\nArguments:%+v\n", query, queryArgs)
rows, err := db.Queryx(query, queryArgs...)
if err != nil {

View File

@@ -65,11 +65,9 @@ const createPermissions = `
Description VARCHAR DEFAULT '',
ReadOnly BOOLEAN DEFAULT 0,
SafeId INTEGER,
UserId INTEGER,
GroupId INTEGER,
FOREIGN KEY (SafeId) REFERENCES safes(SafeId),
FOREIGN KEY (UserId) REFERENCES users(UserId),
FOREIGN KEY (GroupId) REFERENCES groups(GroupId)
UserId INTEGER DEFAULT 0,
GroupId INTEGER DEFAULT 0,
FOREIGN KEY (SafeId) REFERENCES safes(SafeId)
);
`
@@ -367,15 +365,15 @@ func CreateTables() {
Description VARCHAR DEFAULT '',
ReadOnly BOOLEAN DEFAULT 0,
SafeId INTEGER,
UserId INTEGER,
GroupId INTEGER,
FOREIGN KEY (SafeId) REFERENCES safes(SafeId),
FOREIGN KEY (UserId) REFERENCES users(UserId),
FOREIGN KEY (GroupId) REFERENCES groups(GroupId)
UserId INTEGER DEFAULT 0,
GroupId INTEGER DEFAULT 0,
FOREIGN KEY (SafeId) REFERENCES safes(SafeId)
);
INSERT INTO permissions SELECT PermissionId, SafeId, UserId, GroupId, '' AS Description, 0 as ReadOnly FROM _permissions_old;
UPDATE permissions SET ReadOnly = 0 WHERE ReadOnly is null;
UPDATE permissions SET Description = '' WHERE Description is null;
UPDATE permissions SET UserId = 0 WHERE UserId is null;
UPDATE permissions SET GroupId = 0 WHERE GroupId is null;
COMMIT;
PRAGMA foreign_keys=on;
DROP TABLE _permissions_old;