Package-level declarations

Types

Link copied to clipboard
class BlobCache(containerUri: Uri, idGenerator: IdGenerator = DefaultIdGenerator())

Simple blob cache implementation that uses the file store.

Link copied to clipboard
data class Claim(val name: String, val visibility: Claim.Visibility, val value: Claim.Value) : Serializable

Represents a claim or identity attribute associated with a Sudo.

Link copied to clipboard
interface CryptoProvider

Provides utility functions for cryptographic operations.

Link copied to clipboard
class DefaultCryptoProvider(keyNamespace: String, databaseName: String, context: Context) : CryptoProvider

Default CryptoProvider implementation.

Link copied to clipboard

Default ID generator implementation.

Link copied to clipboard

Default logger.

Link copied to clipboard
class DefaultQueryCache(graphQLClient: AWSAppSyncClient) : QueryCache

Default query cache implementation.

Link copied to clipboard
class DefaultS3Client(context: Context, sudoUserClient: SudoUserClient, val region: String, val bucket: String, logger: Logger = DefaultLogger.instance, idGenerator: IdGenerator = DefaultIdGenerator()) : S3Client

Default S3 client implementation.

Link copied to clipboard
class DefaultSudoProfilesClient(context: Context, sudoUserClient: SudoUserClient, blobContainerURI: Uri, logger: Logger = DefaultLogger.instance, config: JSONObject? = null, maxSudos: Int = 10, graphQLClient: AWSAppSyncClient? = null, s3Client: S3Client? = null, queryCache: QueryCache? = null, idGenerator: IdGenerator = DefaultIdGenerator(), cryptoProvider: CryptoProvider? = null, namespace: String = DEFAULT_KEY_NAMESPACE, databaseName: String = AndroidSQLiteStore.DEFAULT_DATABASE_NAME) : SudoProfilesClient

Default implementation of SudoProfilesClient interface.

Link copied to clipboard
data class EncryptionKey(val id: String, val namespace: String, val key: String, val algorithm: String, val version: Int) : Serializable

Exported encryption key.

Link copied to clipboard
data class Entitlement(val name: String, val value: Int) : Serializable

Represents an entitlement related to using Sudo service APIs. Currently only entitlement that's used in Sudo service is "sudoplatform.sudo.max" to represent the maximum number of Sudos each user is allowed to provision.

Link copied to clipboard
interface IdGenerator

Interface for generating universally unique identifiers (UUIDs).

Link copied to clipboard

Options for controlling the behaviour of listSudos API.

Link copied to clipboard
interface QueryCache

Wrapper interface for GraphQL client cache operations.

Link copied to clipboard
interface S3Client

S3 client wrapper protocol mainly used for providing an abstraction layer on top of AWS S3 SDK.

Link copied to clipboard
data class Sudo(var id: String? = null, var version: Int = 1, var createdAt: Date = Date(0), var updatedAt: Date = Date(0), var claims: MutableMap<String, Claim> = mutableMapOf(), var metadata: MutableMap<String, String> = mutableMapOf()) : Serializable

Represents a Sudo.

Link copied to clipboard

Interface encapsulating a library of functions for calling Sudo service and managing Sudos.

Link copied to clipboard
interface SudoSubscriber

Subscriber for receiving notifications about new, updated or deleted Sudo.

Link copied to clipboard

Supported symmetric key algorithms.