33 lines
542 B
Go
33 lines
542 B
Go
package agent
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"forge.cadoles.com/Cadoles/emissary/internal/auth"
|
|
"forge.cadoles.com/Cadoles/emissary/internal/datastore"
|
|
)
|
|
|
|
type User struct {
|
|
agent *datastore.Agent
|
|
}
|
|
|
|
// Subject implements auth.User
|
|
func (u *User) Subject() string {
|
|
return fmt.Sprintf("agent-%d", u.agent.ID)
|
|
}
|
|
|
|
// Subject implements auth.User
|
|
func (u *User) Tenant() datastore.TenantID {
|
|
if u.agent.TenantID == nil {
|
|
return ""
|
|
}
|
|
|
|
return *u.agent.TenantID
|
|
}
|
|
|
|
func (u *User) Agent() *datastore.Agent {
|
|
return u.agent
|
|
}
|
|
|
|
var _ auth.User = &User{}
|