Add .group and .contact to encrypted payload for easy storing of relevant contact info

This commit is contained in:
2026-03-14 21:59:26 +01:00
parent 0feb4868e4
commit 71a8d05666

View File

@@ -1,5 +1,6 @@
import { Dissected } from "@hamradio/packet"; import { Dissected } from "@hamradio/packet";
import { NodeHash } from "./identity.types"; import { NodeHash } from "./identity.types";
import { Contact, Group } from "./identity";
// IPacket contains the raw packet bytes. // IPacket contains the raw packet bytes.
export type Uint16 = number; // 0..65535 export type Uint16 = number; // 0..65535
@@ -67,6 +68,7 @@ export interface RequestPayload extends BasePayload {
src: NodeHash; src: NodeHash;
encrypted: EncryptedPayload; encrypted: EncryptedPayload;
decrypted?: DecryptedRequest; decrypted?: DecryptedRequest;
contact?: Contact;
} }
export enum RequestType { export enum RequestType {
@@ -91,6 +93,7 @@ export interface ResponsePayload extends BasePayload {
src: NodeHash; src: NodeHash;
encrypted: EncryptedPayload; encrypted: EncryptedPayload;
decrypted?: DecryptedResponse; decrypted?: DecryptedResponse;
contact?: Contact;
} }
export interface DecryptedResponse { export interface DecryptedResponse {
@@ -104,6 +107,7 @@ export interface TextPayload extends BasePayload {
src: NodeHash; src: NodeHash;
encrypted: EncryptedPayload; encrypted: EncryptedPayload;
decrypted?: DecryptedText; decrypted?: DecryptedText;
contact?: Contact;
} }
export enum TextType { export enum TextType {
@@ -163,6 +167,7 @@ export interface GroupTextPayload extends BasePayload {
channelHash: NodeHash; channelHash: NodeHash;
encrypted: EncryptedPayload; encrypted: EncryptedPayload;
decrypted?: DecryptedGroupText; decrypted?: DecryptedGroupText;
group?: Group;
} }
export interface DecryptedGroupText { export interface DecryptedGroupText {
@@ -177,6 +182,7 @@ export interface GroupDataPayload extends BasePayload {
channelHash: NodeHash; channelHash: NodeHash;
encrypted: EncryptedPayload; encrypted: EncryptedPayload;
decrypted?: DecryptedGroupData; decrypted?: DecryptedGroupData;
group?: Group;
} }
export interface DecryptedGroupData { export interface DecryptedGroupData {
@@ -190,6 +196,7 @@ export interface AnonReqPayload extends BasePayload {
publicKey: Uint8Array; publicKey: Uint8Array;
encrypted: EncryptedPayload; encrypted: EncryptedPayload;
decrypted?: DecryptedAnonReq; decrypted?: DecryptedAnonReq;
contact?: Contact;
} }
export interface DecryptedAnonReq { export interface DecryptedAnonReq {