Implement MSC3973: Search users in the user directory with the Widget API (#10269)
* Add an action to search for users in the user directory according to MSC3973 Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net> * Fix linter errors Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net> * Update the matrix-widget-api package to version 1.3.0 Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net> * Improve the test Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net> --------- Signed-off-by: Dominik Henneke <dominik.henneke@nordeck.net>
This commit is contained in:
parent
aee4aeb90c
commit
ef68650594
4 changed files with 55 additions and 9 deletions
|
@ -31,6 +31,7 @@ import {
|
|||
WidgetDriver,
|
||||
WidgetEventCapability,
|
||||
WidgetKind,
|
||||
ISearchUserDirectoryResult,
|
||||
} from "matrix-widget-api";
|
||||
import { ClientEvent, ITurnServer as IClientTurnServer } from "matrix-js-sdk/src/client";
|
||||
import { EventType } from "matrix-js-sdk/src/@types/event";
|
||||
|
@ -486,4 +487,19 @@ export class StopGapWidgetDriver extends WidgetDriver {
|
|||
prevBatch: prevBatch ?? undefined,
|
||||
};
|
||||
}
|
||||
|
||||
public async searchUserDirectory(searchTerm: string, limit?: number): Promise<ISearchUserDirectoryResult> {
|
||||
const client = MatrixClientPeg.get();
|
||||
|
||||
const { limited, results } = await client.searchUserDirectory({ term: searchTerm, limit });
|
||||
|
||||
return {
|
||||
limited,
|
||||
results: results.map((r) => ({
|
||||
userId: r.user_id,
|
||||
displayName: r.display_name,
|
||||
avatarUrl: r.avatar_url,
|
||||
})),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue