refactored data providers with centralized cache resolution, unified UI using custom dialogs and bottom sheets, and enhanced network error handling for Dio and TLS errors
This commit is contained in:
@@ -1,27 +1,17 @@
|
||||
import '../../model/account_data.dart';
|
||||
import '../../model/endpoint_data.dart';
|
||||
|
||||
/// Shared helpers for Nextcloud OCS v2 endpoints.
|
||||
///
|
||||
/// Three call sites previously duplicated the same header dictionary and the
|
||||
/// same URI scaffolding (TalkApi, AutocompleteApi, FileSharingApi). Anything
|
||||
/// that talks to `https://<domain>/<base>/ocs/v2.php/...` should go through
|
||||
/// these two helpers so additions like a new header or a different auth
|
||||
/// scheme only need to change here.
|
||||
/// Shared headers and URI builder for Nextcloud OCS v2 endpoints. Used by
|
||||
/// TalkApi, AutocompleteApi, FileSharingApi.
|
||||
class NextcloudOcs {
|
||||
NextcloudOcs._();
|
||||
|
||||
/// The standard OCS request header set: JSON accept, OCS API marker,
|
||||
/// HTTP Basic auth from the active [AccountData].
|
||||
static Map<String, String> headers() => {
|
||||
'Accept': 'application/json',
|
||||
'OCS-APIRequest': 'true',
|
||||
'Authorization': AccountData().getBasicAuthHeader(),
|
||||
};
|
||||
|
||||
/// Builds an OCS URI by appending [pathSuffix] under `/ocs/v2.php/` of
|
||||
/// the configured Nextcloud endpoint. Query parameters are converted to
|
||||
/// strings (Uri rejects non-string values).
|
||||
static Uri uri(String pathSuffix, {Map<String, dynamic>? queryParameters}) {
|
||||
final endpoint = EndpointData().nextcloud();
|
||||
return Uri.https(
|
||||
|
||||
@@ -120,38 +120,6 @@ enum GetRoomResponseObjectParticipantNotificationLevel {
|
||||
@JsonValue(3) neverNotify,
|
||||
}
|
||||
|
||||
// @JsonSerializable(explicitToJson: true)
|
||||
// class GetRoomResponseObjectMessage {
|
||||
// int id;
|
||||
// String token;
|
||||
// GetRoomResponseObjectMessageActorType actorType;
|
||||
// String actorId;
|
||||
// String actorDisplayName;
|
||||
// int timestamp;
|
||||
// String message;
|
||||
// String systemMessage;
|
||||
// GetRoomResponseObjectMessageType messageType;
|
||||
// bool isReplyable;
|
||||
// String referenceId;
|
||||
//
|
||||
//
|
||||
// GetRoomResponseObjectMessage(
|
||||
// this.id,
|
||||
// this.token,
|
||||
// this.actorType,
|
||||
// this.actorId,
|
||||
// this.actorDisplayName,
|
||||
// this.timestamp,
|
||||
// this.message,
|
||||
// this.systemMessage,
|
||||
// this.messageType,
|
||||
// this.isReplyable,
|
||||
// this.referenceId);
|
||||
//
|
||||
// factory GetRoomResponseObjectMessage.fromJson(Map<String, dynamic> json) => _$GetRoomResponseObjectMessageFromJson(json);
|
||||
// Map<String, dynamic> toJson() => _$GetRoomResponseObjectMessageToJson(this);
|
||||
// }
|
||||
|
||||
enum GetRoomResponseObjectMessageActorType {
|
||||
@JsonValue('deleted_users') deletedUsers,
|
||||
@JsonValue('users') user,
|
||||
|
||||
Reference in New Issue
Block a user