Welshman Docs / @welshman/app / Rooms
Class: Rooms
Defined in: app/src/plugins/rooms.ts:213
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: app/src/plugins/rooms.ts:222
Parameters
app
Returns
Rooms
Properties
all
all:
Projection<Room[]>
Defined in: app/src/plugins/rooms.ts:215
app
protectedreadonlyapp:IApp
Defined in: app/src/plugins/rooms.ts:222
byUrl
byUrl:
Projection<Map<string,Room[]>>
Defined in: app/src/plugins/rooms.ts:216
forceLoad()
Defined in: app/src/plugins/rooms.ts:220
Parameters
key
string
args
...any[]
Returns
index
index:
Projection<ItemsByKey<Room>>
Defined in: app/src/plugins/rooms.ts:214
load()
Defined in: app/src/plugins/rooms.ts:219
Parameters
key
string
args
...any[]
Returns
membership
membership:
Projection<ItemsByKey<RoomMembership>>
Defined in: app/src/plugins/rooms.ts:217
one()
Defined in: app/src/plugins/rooms.ts:218
Parameters
key?
string
args?
...any[]
Returns
Methods
addMember()
addMember(
url,room,pubkey):Promise<Command>
Defined in: app/src/plugins/rooms.ts:423
Parameters
url
string
room
pubkey
string
Returns
Promise<Command>
createRoom()
createRoom(
url,room):Promise<Command>
Defined in: app/src/plugins/rooms.ts:394
Parameters
url
string
room
Returns
Promise<Command>
deleteRoom()
deleteRoom(
url,room):Promise<Command>
Defined in: app/src/plugins/rooms.ts:397
Parameters
url
string
room
Returns
Promise<Command>
editRoom()
editRoom(
url,room):Promise<Command>
Defined in: app/src/plugins/rooms.ts:400
Parameters
url
string
room
Returns
Promise<Command>
fetch()
fetch(
id):Promise<TrustedEvent[]>
Defined in: app/src/plugins/rooms.ts:337
Parameters
id
string
Returns
Promise<TrustedEvent[]>
forRoom()
Defined in: app/src/plugins/rooms.ts:356
Parameters
url
string
h
string
Returns
forUrl()
forUrl(
url):Projection<Room[]>
Defined in: app/src/plugins/rooms.ts:358
Parameters
url
string
Returns
Projection<Room[]>
get()
get(
key):undefined|Room
Defined in: app/src/plugins/rooms.ts:351
Parameters
key
string
Returns
undefined | Room
joinRoom()
joinRoom(
url,room):Promise<Command>
Defined in: app/src/plugins/rooms.ts:417
Parameters
url
string
room
Returns
Promise<Command>
leaveRoom()
leaveRoom(
url,room):Promise<Command>
Defined in: app/src/plugins/rooms.ts:420
Parameters
url
string
room
Returns
Promise<Command>
members()
members(
url,h):Projection<Set<string>>
Defined in: app/src/plugins/rooms.ts:361
Parameters
url
string
h
string
Returns
Projection<Set<string>>
membershipStatus()
membershipStatus(
url,h,pubkey):Projection<MembershipStatus>
Defined in: app/src/plugins/rooms.ts:364
Parameters
url
string
h
string
pubkey
undefined | string
Returns
pendingJoins()
pendingJoins(
url,h?):Projection<TrustedEvent[]>
Defined in: app/src/plugins/rooms.ts:374
Parameters
url
string
h?
string
Returns
project()
project<
U>(key,read):Projection<U>
Defined in: app/src/plugins/rooms.ts:353
Type Parameters
U
U
Parameters
key
string
read
(item) => U
Returns
Projection<U>
removeMember()
removeMember(
url,room,pubkey):Promise<Command>
Defined in: app/src/plugins/rooms.ts:428
Parameters
url
string
room
pubkey
string
Returns
Promise<Command>