AppGrantStore

interface AppGrantStore

The host's record of what each app may do as each WebID.

One grant per (packageName, webId): put replaces any earlier grant for the pair. Grants are local to the device by design; nothing about them reaches the pod.

Inheritors

Functions

Link copied to clipboard
abstract suspend fun get(packageName: String, webId: String): AppGrant?
Link copied to clipboard
abstract fun grants(): Flow<List<AppGrant>>

Every grant, live; emits again on each change.

Link copied to clipboard

The grants for one WebID, live.

Link copied to clipboard
abstract suspend fun put(grant: AppGrant)

Writes grant, replacing the grant its package holds for its WebID.

Link copied to clipboard
abstract suspend fun revoke(packageName: String, webId: String)
Link copied to clipboard
abstract suspend fun revokeAll(webId: String)

Drops every grant for webId; the hook for signing that account out.

Link copied to clipboard
abstract suspend fun revokePackage(packageName: String)

Drops every grant packageName holds; the hook for an uninstalled app.