nostr-hooks
Version:
React hooks for developing Nostr clients
76 lines (75 loc) • 1.87 kB
TypeScript
export type Nip29GroupId = string | undefined;
export type Nip29Relay = string | undefined;
export interface Nip29GroupMetadata {
name: string;
picture: string;
about: string;
isPublic: boolean;
isOpen: boolean;
}
export interface Nip29GroupRole {
name: string;
description?: string;
}
export interface Nip29GroupAdmin {
pubkey: string;
roles: string[];
}
export interface Nip29GroupMember {
pubkey: string;
}
export interface Nip29GroupJoinRequest {
id: string;
pubkey: string;
reason?: string;
code?: string;
timestamp: number;
}
export interface Nip29GroupLeaveRequest {
id: string;
pubkey: string;
reason?: string;
timestamp: number;
}
export interface Nip29GroupChat {
id: string;
pubkey: string;
content: string;
timestamp: number;
parentId?: string | undefined;
}
export interface Nip29GroupThread {
id: string;
pubkey: string;
content: string;
subject: string;
timestamp: number;
}
export interface Nip29GroupThreadComment {
id: string;
pubkey: string;
content: string;
timestamp: number;
rootId: string;
}
export interface Nip29GroupReaction {
id: string;
pubkey: string;
content: string;
timestamp: number;
targetId: string;
}
export interface Nip29Group {
relay?: Nip29Relay;
groupId?: Nip29GroupId;
metadata?: Nip29GroupMetadata | undefined;
admins?: Nip29GroupAdmin[] | undefined;
members?: Nip29GroupMember[] | undefined;
roles?: Nip29GroupRole[] | undefined;
joinRequests?: Nip29GroupJoinRequest[] | undefined;
leaveRequests?: Nip29GroupLeaveRequest[] | undefined;
chats?: Nip29GroupChat[] | undefined;
threads?: Nip29GroupThread[] | undefined;
threadComments?: Nip29GroupThreadComment[] | undefined;
reactions?: Nip29GroupReaction[] | undefined;
}