From 6863e92f83beb9fec783cd18307283b082b3e52a Mon Sep 17 00:00:00 2001 From: Ming Ming Date: Fri, 5 Aug 2022 16:19:03 +0800 Subject: [PATCH] Remove undocumented tag property --- app/lib/api/api.dart | 14 ++++++-------- app/lib/entity/tag.dart | 10 ---------- app/lib/entity/tag/data_source.dart | 2 -- app/lib/entity/webdav_response_parser.dart | 8 -------- 4 files changed, 6 insertions(+), 28 deletions(-) diff --git a/app/lib/api/api.dart b/app/lib/api/api.dart index 419da594..4ed40e53 100644 --- a/app/lib/api/api.dart +++ b/app/lib/api/api.dart @@ -728,20 +728,21 @@ class ApiOcsFilesSharingSharees { class ApiSystemtags { const ApiSystemtags(this.api); + /// Retrieve a list of all tags + /// + /// See: https://doc.owncloud.com/server/10.10/developer_manual/webdav_api/tags.html#list-tags Future propfind({ id, displayName, userVisible, userAssignable, - canAssign, }) async { const endpoint = "remote.php/dav/systemtags"; try { if (id == null && displayName == null && userVisible == null && - userAssignable == null && - canAssign == null) { + userAssignable == null) { // no body return await api.request("PROPFIND", endpoint); } @@ -767,9 +768,6 @@ class ApiSystemtags { if (userAssignable != null) { builder.element("oc:user-assignable"); } - if (canAssign != null) { - builder.element("oc:can-assign"); - } }); }); return await api.request( @@ -803,9 +801,9 @@ class ApiSystemtagsRelations { class ApiSystemtagsRelationsFiles { const ApiSystemtagsRelationsFiles(this.systemtagsRelations, this.fileId); - /// List systemtags associated with a file + /// Retrieve the tag ids and metadata of a given file /// - /// Warning: this Nextcloud API is undocumented + /// See: https://doc.owncloud.com/server/10.10/developer_manual/webdav_api/tags.html#retrieve-the-tag-ids-and-metadata-of-a-given-file Future propfind({ id, displayName, diff --git a/app/lib/entity/tag.dart b/app/lib/entity/tag.dart index 8ac0ec11..08a57a5c 100644 --- a/app/lib/entity/tag.dart +++ b/app/lib/entity/tag.dart @@ -11,7 +11,6 @@ class Tag with EquatableMixin { required this.displayName, this.userVisible, this.userAssignable, - this.canAssign, }); factory Tag.fromJson(JsonObj json) => Tag( @@ -19,7 +18,6 @@ class Tag with EquatableMixin { displayName: json["displayName"], userVisible: json_util.boolFromJson(json["userVisible"]), userAssignable: json_util.boolFromJson(json["userAssignable"]), - canAssign: json_util.boolFromJson(json["canAssign"]), ); JsonObj toJson() => { @@ -27,7 +25,6 @@ class Tag with EquatableMixin { "displayName": displayName, if (userVisible != null) "userVisible": userVisible, if (userAssignable != null) "userAssignable": userAssignable, - if (canAssign != null) "canAssign": canAssign, }; @override @@ -42,9 +39,6 @@ class Tag with EquatableMixin { if (userAssignable != null) { buffer.write("userAssignable: $userAssignable, "); } - if (canAssign != null) { - buffer.write("canAssign: $canAssign, "); - } buffer.write("}"); return buffer.toString(); } @@ -54,7 +48,6 @@ class Tag with EquatableMixin { String? displayName, OrNull? userVisible, OrNull? userAssignable, - OrNull? canAssign, }) => Tag( id: id ?? this.id, @@ -62,7 +55,6 @@ class Tag with EquatableMixin { userVisible: userVisible == null ? this.userVisible : userVisible.obj, userAssignable: userAssignable == null ? this.userAssignable : userAssignable.obj, - canAssign: canAssign == null ? this.canAssign : canAssign.obj, ); @override @@ -71,14 +63,12 @@ class Tag with EquatableMixin { displayName, userVisible, userAssignable, - canAssign, ]; final int id; final String displayName; final bool? userVisible; final bool? userAssignable; - final bool? canAssign; } extension TagExtension on Tag { diff --git a/app/lib/entity/tag/data_source.dart b/app/lib/entity/tag/data_source.dart index 8ce8deab..c9c2c698 100644 --- a/app/lib/entity/tag/data_source.dart +++ b/app/lib/entity/tag/data_source.dart @@ -18,7 +18,6 @@ class TagRemoteDataSource implements TagDataSource { displayName: 1, userVisible: 1, userAssignable: 1, - canAssign: 1, ); if (!response.isGood) { _log.severe("[list] Failed requesting server: $response"); @@ -41,7 +40,6 @@ class TagRemoteDataSource implements TagDataSource { displayName: 1, userVisible: 1, userAssignable: 1, - canAssign: 1, ); if (!response.isGood) { _log.severe("[listByFile] Failed requesting server: $response"); diff --git a/app/lib/entity/webdav_response_parser.dart b/app/lib/entity/webdav_response_parser.dart index ec2ef5e6..c5f49176 100644 --- a/app/lib/entity/webdav_response_parser.dart +++ b/app/lib/entity/webdav_response_parser.dart @@ -205,7 +205,6 @@ class WebdavResponseParser { String? displayName; bool? userVisible; bool? userAssignable; - bool? canAssign; for (final child in element.children.whereType()) { if (child.matchQualifiedName("href", @@ -231,7 +230,6 @@ class WebdavResponseParser { displayName = propParser.displayName; userVisible = propParser.userVisible; userAssignable = propParser.userAssignable; - canAssign = propParser.canAssign; } } if (id == null) { @@ -244,7 +242,6 @@ class WebdavResponseParser { displayName: displayName!, userVisible: userVisible!, userAssignable: userAssignable!, - canAssign: canAssign!, ); } @@ -470,9 +467,6 @@ class _TagPropParser { } else if (child.matchQualifiedName("user-assignable", prefix: "http://owncloud.org/ns", namespaces: namespaces)) { _userAssignable = child.innerText == "true"; - } else if (child.matchQualifiedName("can-assign", - prefix: "http://owncloud.org/ns", namespaces: namespaces)) { - _canAssign = child.innerText == "true"; } } } @@ -481,7 +475,6 @@ class _TagPropParser { String? get displayName => _displayName; bool? get userVisible => _userVisible; bool? get userAssignable => _userAssignable; - bool? get canAssign => _canAssign; final Map namespaces; @@ -492,7 +485,6 @@ class _TagPropParser { String? _displayName; bool? _userVisible; bool? _userAssignable; - bool? _canAssign; } extension on XmlElement {