Documentation
    Preparing search index...

    Interface AclStateContainer

    ACL state container — wraps @kehto/acl's pure functions with persistence and a convenient imperative API.

    const aclState = createAclState(persistence);
    aclState.load();
    const allowed = aclState.check(pubkey, dTag, hash, 'relay:read');
    interface AclStateContainer {
        block(pubkey: string, dTag: string, aggregateHash: string): void;
        check(
            pubkey: string,
            dTag: string,
            aggregateHash: string,
            capability:
                | "relay:read"
                | "relay:write"
                | "cache:read"
                | "cache:write"
                | "hotkey:forward"
                | "state:read"
                | "state:write"
                | "identity:read"
                | "keys:bind"
                | "keys:forward"
                | "media:control"
                | "notify:send"
                | "notify:channel"
                | "theme:read"
                | "config:read"
                | "resource:fetch"
                | "cvm:call"
                | "outbox:read"
                | "outbox:write"
                | "upload:write"
                | "intent:read"
                | "intent:write",
        ): boolean;
        clear(): void;
        getAllEntries(): AclEntryExternal[];
        getEntry(
            pubkey: string,
            dTag: string,
            aggregateHash: string,
        ): AclEntryExternal | undefined;
        getStateQuota(pubkey: string, dTag: string, aggregateHash: string): number;
        grant(
            pubkey: string,
            dTag: string,
            aggregateHash: string,
            capability:
                | "relay:read"
                | "relay:write"
                | "cache:read"
                | "cache:write"
                | "hotkey:forward"
                | "state:read"
                | "state:write"
                | "identity:read"
                | "keys:bind"
                | "keys:forward"
                | "media:control"
                | "notify:send"
                | "notify:channel"
                | "theme:read"
                | "config:read"
                | "resource:fetch"
                | "cvm:call"
                | "outbox:read"
                | "outbox:write"
                | "upload:write"
                | "intent:read"
                | "intent:write",
        ): void;
        isBlocked(pubkey: string, dTag: string, aggregateHash: string): boolean;
        load(): void;
        persist(): void;
        revoke(
            pubkey: string,
            dTag: string,
            aggregateHash: string,
            capability:
                | "relay:read"
                | "relay:write"
                | "cache:read"
                | "cache:write"
                | "hotkey:forward"
                | "state:read"
                | "state:write"
                | "identity:read"
                | "keys:bind"
                | "keys:forward"
                | "media:control"
                | "notify:send"
                | "notify:channel"
                | "theme:read"
                | "config:read"
                | "resource:fetch"
                | "cvm:call"
                | "outbox:read"
                | "outbox:write"
                | "upload:write"
                | "intent:read"
                | "intent:write",
        ): void;
        unblock(pubkey: string, dTag: string, aggregateHash: string): void;
    }
    Index

    Methods

    • Parameters

      • pubkey: string
      • dTag: string
      • aggregateHash: string

      Returns void

    • Parameters

      • pubkey: string
      • dTag: string
      • aggregateHash: string
      • capability:
            | "relay:read"
            | "relay:write"
            | "cache:read"
            | "cache:write"
            | "hotkey:forward"
            | "state:read"
            | "state:write"
            | "identity:read"
            | "keys:bind"
            | "keys:forward"
            | "media:control"
            | "notify:send"
            | "notify:channel"
            | "theme:read"
            | "config:read"
            | "resource:fetch"
            | "cvm:call"
            | "outbox:read"
            | "outbox:write"
            | "upload:write"
            | "intent:read"
            | "intent:write"

      Returns boolean

    • Parameters

      • pubkey: string
      • dTag: string
      • aggregateHash: string

      Returns number

    • Parameters

      • pubkey: string
      • dTag: string
      • aggregateHash: string
      • capability:
            | "relay:read"
            | "relay:write"
            | "cache:read"
            | "cache:write"
            | "hotkey:forward"
            | "state:read"
            | "state:write"
            | "identity:read"
            | "keys:bind"
            | "keys:forward"
            | "media:control"
            | "notify:send"
            | "notify:channel"
            | "theme:read"
            | "config:read"
            | "resource:fetch"
            | "cvm:call"
            | "outbox:read"
            | "outbox:write"
            | "upload:write"
            | "intent:read"
            | "intent:write"

      Returns void

    • Parameters

      • pubkey: string
      • dTag: string
      • aggregateHash: string

      Returns boolean

    • Parameters

      • pubkey: string
      • dTag: string
      • aggregateHash: string
      • capability:
            | "relay:read"
            | "relay:write"
            | "cache:read"
            | "cache:write"
            | "hotkey:forward"
            | "state:read"
            | "state:write"
            | "identity:read"
            | "keys:bind"
            | "keys:forward"
            | "media:control"
            | "notify:send"
            | "notify:channel"
            | "theme:read"
            | "config:read"
            | "resource:fetch"
            | "cvm:call"
            | "outbox:read"
            | "outbox:write"
            | "upload:write"
            | "intent:read"
            | "intent:write"

      Returns void

    • Parameters

      • pubkey: string
      • dTag: string
      • aggregateHash: string

      Returns void