Merge branch 'krille/return-homeserver-summary' into 'main'
feat: Return homeserver summary on checkHomeserver See merge request famedly/company/frontend/famedlysdk!963
This commit is contained in:
commit
d543a0314d
|
|
@ -342,21 +342,11 @@ class Client extends MatrixApi {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated('Use [checkHomeserver] instead.')
|
|
||||||
Future<bool> checkServer(dynamic serverUrl) async {
|
|
||||||
try {
|
|
||||||
await checkHomeserver(serverUrl);
|
|
||||||
} catch (_) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Checks the supported versions of the Matrix protocol and the supported
|
/// Checks the supported versions of the Matrix protocol and the supported
|
||||||
/// login types. Throws an exception if the server is not compatible with the
|
/// login types. Throws an exception if the server is not compatible with the
|
||||||
/// client and sets [homeserver] to [homeserverUrl] if it is. Supports the
|
/// client and sets [homeserver] to [homeserverUrl] if it is. Supports the
|
||||||
/// types `Uri` and `String`.
|
/// types `Uri` and `String`.
|
||||||
Future<DiscoveryInformation?> checkHomeserver(dynamic homeserverUrl,
|
Future<HomeserverSummary> checkHomeserver(dynamic homeserverUrl,
|
||||||
{bool checkWellKnown = true}) async {
|
{bool checkWellKnown = true}) async {
|
||||||
try {
|
try {
|
||||||
var homeserver = this.homeserver =
|
var homeserver = this.homeserver =
|
||||||
|
|
@ -389,7 +379,11 @@ class Client extends MatrixApi {
|
||||||
loginTypes.map((f) => f.type ?? '').toSet(), supportedLoginTypes);
|
loginTypes.map((f) => f.type ?? '').toSet(), supportedLoginTypes);
|
||||||
}
|
}
|
||||||
|
|
||||||
return wellKnown;
|
return HomeserverSummary(
|
||||||
|
discoveryInformation: wellKnown,
|
||||||
|
versions: versions,
|
||||||
|
loginFlows: loginTypes,
|
||||||
|
);
|
||||||
} catch (_) {
|
} catch (_) {
|
||||||
homeserver = null;
|
homeserver = null;
|
||||||
rethrow;
|
rethrow;
|
||||||
|
|
@ -2534,3 +2528,15 @@ class BadServerLoginTypesException implements Exception {
|
||||||
String toString() =>
|
String toString() =>
|
||||||
'Server supports the Login Types: ${serverLoginTypes.toString()} but this application is only compatible with ${supportedLoginTypes.toString()}.';
|
'Server supports the Login Types: ${serverLoginTypes.toString()} but this application is only compatible with ${supportedLoginTypes.toString()}.';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class HomeserverSummary {
|
||||||
|
final DiscoveryInformation? discoveryInformation;
|
||||||
|
final GetVersionsResponse versions;
|
||||||
|
final List<LoginFlow> loginFlows;
|
||||||
|
|
||||||
|
HomeserverSummary({
|
||||||
|
required this.discoveryInformation,
|
||||||
|
required this.versions,
|
||||||
|
required this.loginFlows,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue