Welshman Docs / @welshman/app / Rooms
Class: Rooms
Defined in: plugins/rooms.ts:212
NIP-29 relay-based rooms. A ${url}'${h}-keyed collection whose values bundle a room's metadata, members, and admins, derived from the repository so a space can be enumerated without loading each room by id. Also owns room management.
Rooms a kind-9008 delete supersedes are dropped, so a tombstoned room stops appearing without the caller having to filter.
Constructors
Constructor
new Rooms(
app):Rooms
Defined in: plugins/rooms.ts:221
Parameters
app
Returns
Rooms
Properties
all
all:
Projection<Room[]>
Defined in: plugins/rooms.ts:214
app
protectedreadonlyapp:IApp
Defined in: plugins/rooms.ts:221
byUrl
byUrl:
Projection<Map<string,Room[]>>
Defined in: plugins/rooms.ts:215
forceLoad
Defined in: plugins/rooms.ts:219
Parameters
key
string
args
...any[]
Returns
index
index:
Projection<ItemsByKey<Room>>
Defined in: plugins/rooms.ts:213
load
Defined in: plugins/rooms.ts:218
Parameters
key
string
args
...any[]
Returns
membership
membership:
Projection<ItemsByKey<RoomMembership>>
Defined in: plugins/rooms.ts:216
one
Defined in: plugins/rooms.ts:217
Parameters
key?
string
args
...any[]
Returns
Methods
addMember()
addMember(
url,room,pubkey):Promise<Command>
Defined in: plugins/rooms.ts:428
Parameters
url
string
room
pubkey
string
Returns
Promise<Command>
createRoom()
createRoom(
url,room):Promise<Command>
Defined in: plugins/rooms.ts:399
Parameters
url
string
room
Returns
Promise<Command>
deleteEvent()
deleteEvent(
url,room,id):Promise<Command>
Defined in: plugins/rooms.ts:438
Parameters
url
string
room
id
string
Returns
Promise<Command>
deleteRoom()
deleteRoom(
url,room):Promise<Command>
Defined in: plugins/rooms.ts:402
Parameters
url
string
room
Returns
Promise<Command>
editRoom()
editRoom(
url,room):Promise<Command>
Defined in: plugins/rooms.ts:405
Parameters
url
string
room
Returns
Promise<Command>
fetch()
fetch(
id):Promise<TrustedEvent[]>
Defined in: plugins/rooms.ts:342
Parameters
id
string
Returns
Promise<TrustedEvent[]>
forRoom()
Defined in: plugins/rooms.ts:361
Parameters
url
string
h
string
Returns
forUrl()
forUrl(
url):Projection<Room[]>
Defined in: plugins/rooms.ts:363
Parameters
url
string
Returns
Projection<Room[]>
get()
get(
key):Room|undefined
Defined in: plugins/rooms.ts:356
Parameters
key
string
Returns
Room | undefined
joinRoom()
joinRoom(
url,room):Promise<Command>
Defined in: plugins/rooms.ts:422
Parameters
url
string
room
Returns
Promise<Command>
leaveRoom()
leaveRoom(
url,room):Promise<Command>
Defined in: plugins/rooms.ts:425
Parameters
url
string
room
Returns
Promise<Command>
members()
members(
url,h):Projection<Set<string>>
Defined in: plugins/rooms.ts:366
Parameters
url
string
h
string
Returns
Projection<Set<string>>
membershipStatus()
membershipStatus(
url,h,pubkey?):Projection<MembershipStatus>
Defined in: plugins/rooms.ts:369
Parameters
url
string
h
string
pubkey?
string | undefined
Returns
pendingJoins()
pendingJoins(
url,h?):Projection<TrustedEvent[]>
Defined in: plugins/rooms.ts:379
Parameters
url
string
h?
string
Returns
project()
project<
U>(key,read):Projection<U>
Defined in: plugins/rooms.ts:358
Type Parameters
U
U
Parameters
key
string
read
(item) => U
Returns
Projection<U>
removeMember()
removeMember(
url,room,pubkey):Promise<Command>
Defined in: plugins/rooms.ts:433
Parameters
url
string
room
pubkey
string
Returns
Promise<Command>