forked from authentricity/authentricity
61 lines
1.3 KiB
Plaintext
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() |