mirror of
https://codeberg.org/shroff/phylum.git
synced 2026-01-08 20:49:45 -06:00
25 lines
613 B
Go
25 lines
613 B
Go
package core
|
|
|
|
import (
|
|
"codeberg.org/shroff/phylum/server/internal/db"
|
|
"github.com/jackc/pgx/v5"
|
|
)
|
|
|
|
func SharedResources(db db.Handler, user User) ([]Resource, error) {
|
|
const q = fullResourceQuery + `WHERE r.grants ? @user_id::INT::TEXT
|
|
AND r.id != @user_home::UUID
|
|
AND r.deleted IS NULL
|
|
AND (r.grants -> @user_id::INT::TEXT -> 'p')::INTEGER <> 0
|
|
ORDER BY r.grants -> @user_id::INT::TEXT -> 't' DESC`
|
|
|
|
args := pgx.NamedArgs{
|
|
"user_id": user.ID,
|
|
"user_home": user.Home,
|
|
}
|
|
if rows, err := db.Query(q, args); err != nil {
|
|
return nil, err
|
|
} else {
|
|
return pgx.CollectRows(rows, scanFullResource)
|
|
}
|
|
}
|