mirror of
https://github.com/element-hq/dendrite.git
synced 2025-09-14 21:32:23 +03:00
Implement public rooms APIs (#185)
* Move events contents to common * Basic database structure * Complete database update * Support visibility update and retrieval * Add HTTP methods for visibility update and retrieval * Add the database for the new component * Add a listener for the new component * Fix attribute update statements * Create public rooms component * Fix failing test * Add roomserver consumer * Fix a bug in aliases creation * Add a check on type * Implement public rooms directory * Use auth API for visibility update * Support filtering * Add component to monolith * Various fixes * Fix computation of next public rooms batch * Retrieve state events from the roomserver query API + avoid dupes on join * Split update of string or boolean attribute in two separate functions * Use event type to detect duplicate joins * Improve the joined members counter computation * Use event.RoomID()
This commit is contained in:
parent
fc86821a90
commit
b15ce900ab
22 changed files with 1098 additions and 36 deletions
|
@ -133,6 +133,9 @@ type Dendrite struct {
|
|||
// The FederationSender database stores information used by the FederationSender
|
||||
// It is only accessed by the FederationSender.
|
||||
FederationSender DataSource `yaml:"federation_sender"`
|
||||
// The PublicRoomsAPI database stores information used to compute the public
|
||||
// room directory. It is only accessed by the PublicRoomsAPI server.
|
||||
PublicRoomsAPI DataSource `yaml:"public_rooms_api"`
|
||||
} `yaml:"database"`
|
||||
|
||||
// The internal addresses the components will listen on.
|
||||
|
@ -144,6 +147,7 @@ type Dendrite struct {
|
|||
SyncAPI Address `yaml:"sync_api"`
|
||||
RoomServer Address `yaml:"room_server"`
|
||||
FederationSender Address `yaml:"federation_sender"`
|
||||
PublicRoomsAPI Address `yaml:"public_rooms_api"`
|
||||
} `yaml:"listen"`
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue