Files
phylum/server/internal/core/user.go
2025-06-11 22:40:53 +05:30

39 lines
656 B
Go

package core
import (
"github.com/jackc/pgx/v5"
"github.com/jackc/pgx/v5/pgtype"
)
type UserPermissions = int32
const (
PermissionUsersInvite = UserPermissions(0x10)
PermissionUsersGrant = UserPermissions(0x20)
PermissionFilesAll = UserPermissions(0x100)
)
type User struct {
ID int32
Email string
Name string
Home pgtype.UUID
Permissions UserPermissions
}
func (u User) hasPermission(p UserPermissions) bool {
return u.Permissions&p != 0
}
func scanUser(row pgx.CollectableRow) (User, error) {
var u User
err := row.Scan(
&u.ID,
&u.Email,
&u.Name,
&u.Home,
&u.Permissions,
)
return u, err
}