Amarula.Protocol.Signal.Repository (amarula v0.1.0)
View SourceSignal Protocol Repository - Main interface for Signal protocol operations.
This module provides the high-level API for all Signal protocol operations, including group message encryption/decryption, sender key management, and LID mapping integration.
Summary
Functions
Returns a specification to start this module under a supervisor.
Decrypts a group message.
Encrypts a group message.
Gets LID for a phone number.
Gets phone number for a LID.
Processes a sender key distribution message.
Starts the Signal Repository.
Types
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec decrypt_group_message(GenServer.server(), map()) :: {:ok, binary()} | {:error, String.t()}
Decrypts a group message.
@spec encrypt_group_message(GenServer.server(), map()) :: {:ok, map()} | {:error, String.t()}
Encrypts a group message.
@spec get_lid_for_pn(GenServer.server(), String.t()) :: {:ok, String.t()} | {:error, String.t()}
Gets LID for a phone number.
@spec get_pn_for_lid(GenServer.server(), String.t()) :: {:ok, String.t()} | {:error, String.t()}
Gets phone number for a LID.
@spec process_sender_key_distribution_message(GenServer.server(), map()) :: :ok | {:error, String.t()}
Processes a sender key distribution message.
@spec start_link(keyword()) :: GenServer.on_start()
Starts the Signal Repository.