|
|
|
part of '../nextcloud.dart';
|
|
|
|
|
|
|
|
/// Version of core/Server supported
|
|
|
|
const coreSupportedVersion = 27;
|
|
|
|
|
|
|
|
/// API version of the news app supported
|
|
|
|
const newsSupportedVersion = 'v1-3';
|
|
|
|
|
|
|
|
/// API version of the notes app supported
|
|
|
|
const notesSupportedVersion = 1;
|
|
|
|
|
|
|
|
// ignore: public_member_api_docs
|
|
|
|
extension CoreVersionSupported on NextcloudCoreClient {
|
|
|
|
/// Check if the core/Server version is supported by this client
|
|
|
|
///
|
|
|
|
/// Also returns the supported version number
|
|
|
|
Future<(bool, int)> isSupported([
|
|
|
|
final NextcloudCoreServerCapabilities_Ocs_Data? capabilities,
|
|
|
|
]) async =>
|
|
|
|
(
|
|
|
|
(capabilities ?? (await getCapabilities()).ocs.data).version.major == coreSupportedVersion,
|
|
|
|
coreSupportedVersion,
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
// ignore: public_member_api_docs
|
|
|
|
extension NewsVersionSupported on NextcloudNewsClient {
|
|
|
|
/// Check if the news app version is supported by this client
|
|
|
|
///
|
|
|
|
/// Also returns the supported API version number
|
|
|
|
Future<(bool, String)> isSupported() async {
|
|
|
|
final versions = await getSupportedApiVersions();
|
|
|
|
return (
|
|
|
|
versions.apiLevels!.contains(newsSupportedVersion),
|
|
|
|
newsSupportedVersion,
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// ignore: public_member_api_docs
|
|
|
|
extension NotesVersionSupported on NextcloudNotesClient {
|
|
|
|
/// Check if the notes app version is supported by this client
|
|
|
|
///
|
|
|
|
/// Also returns the supported API version number
|
|
|
|
Future<(bool, int)> isSupported([final NextcloudCoreServerCapabilities_Ocs_Data? capabilities]) async => (
|
|
|
|
(capabilities ?? (await rootClient.core.getCapabilities()).ocs.data)
|
|
|
|
.capabilities
|
|
|
|
.notes
|
|
|
|
?.apiVersion
|
|
|
|
?.map(Version.parse)
|
|
|
|
.where((final version) => version.major == notesSupportedVersion)
|
|
|
|
.isNotEmpty ??
|
|
|
|
false,
|
|
|
|
notesSupportedVersion,
|
|
|
|
);
|
|
|
|
}
|