authentricity/varlink/eu.e43.authentricity.HostAgent.varlink
2022-07-11 21:49:26 +00:00

61 lines
1.3 KiB
Plaintext

# Interface for Authentricity-specific host agent requests
#
# The hostagent also implements the io.systemd.UserDatabase interface
interface eu.e43.authentricity.HostAgent
# Lookup entity by Unix ID, name, e-mail address or UUID
# The type can be identified by looking at the "@type" member
method GetEntity(
unixId: ?int,
name: ?string,
email: ?string,
uuid: ?string
) -> (
record: object
)
# Based upon a Unix ID, name or e-mail address, lookup the corresponding
# entity UUID
method GetEntityID(
unixId: ?int,
name: ?string,
email: ?string
) -> (
uuid: string
)
# Based upon a UUID, lookup the corresponding Unix ID
# If unixID is absent, enumerates all bindings
method GetUnixID(
uuid: ?string
) -> (
uuid: string,
unixId: int
)
# Lookup the IDs of all groups that a user belongs to
method GetUserGroups(
userUuid: string
) -> (
groupUuid: string
)
# Lookup the IDs of all users that are in a group
method GetGroupUsers(
groupUuid: string
) -> (
userUuid: string
)
# Re-fetch the information for a specific entity from the source
method Refetch(
uuid: string
) -> (
record: object
)
# A generic error - rquivalent to HTTP 500 Internal Server Error
error ServiceNotAvailable(description: string)
error NoRecordFound()
error MoreRequired()
error ConflictingRecordFound()