Remove undocumented tag property

This commit is contained in:
Ming Ming 2022-08-05 16:19:03 +08:00
parent 5358a53f4f
commit 6863e92f83
4 changed files with 6 additions and 28 deletions

View file

@ -728,20 +728,21 @@ class ApiOcsFilesSharingSharees {
class ApiSystemtags { class ApiSystemtags {
const ApiSystemtags(this.api); 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<Response> propfind({ Future<Response> propfind({
id, id,
displayName, displayName,
userVisible, userVisible,
userAssignable, userAssignable,
canAssign,
}) async { }) async {
const endpoint = "remote.php/dav/systemtags"; const endpoint = "remote.php/dav/systemtags";
try { try {
if (id == null && if (id == null &&
displayName == null && displayName == null &&
userVisible == null && userVisible == null &&
userAssignable == null && userAssignable == null) {
canAssign == null) {
// no body // no body
return await api.request("PROPFIND", endpoint); return await api.request("PROPFIND", endpoint);
} }
@ -767,9 +768,6 @@ class ApiSystemtags {
if (userAssignable != null) { if (userAssignable != null) {
builder.element("oc:user-assignable"); builder.element("oc:user-assignable");
} }
if (canAssign != null) {
builder.element("oc:can-assign");
}
}); });
}); });
return await api.request( return await api.request(
@ -803,9 +801,9 @@ class ApiSystemtagsRelations {
class ApiSystemtagsRelationsFiles { class ApiSystemtagsRelationsFiles {
const ApiSystemtagsRelationsFiles(this.systemtagsRelations, this.fileId); 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<Response> propfind({ Future<Response> propfind({
id, id,
displayName, displayName,

View file

@ -11,7 +11,6 @@ class Tag with EquatableMixin {
required this.displayName, required this.displayName,
this.userVisible, this.userVisible,
this.userAssignable, this.userAssignable,
this.canAssign,
}); });
factory Tag.fromJson(JsonObj json) => Tag( factory Tag.fromJson(JsonObj json) => Tag(
@ -19,7 +18,6 @@ class Tag with EquatableMixin {
displayName: json["displayName"], displayName: json["displayName"],
userVisible: json_util.boolFromJson(json["userVisible"]), userVisible: json_util.boolFromJson(json["userVisible"]),
userAssignable: json_util.boolFromJson(json["userAssignable"]), userAssignable: json_util.boolFromJson(json["userAssignable"]),
canAssign: json_util.boolFromJson(json["canAssign"]),
); );
JsonObj toJson() => { JsonObj toJson() => {
@ -27,7 +25,6 @@ class Tag with EquatableMixin {
"displayName": displayName, "displayName": displayName,
if (userVisible != null) "userVisible": userVisible, if (userVisible != null) "userVisible": userVisible,
if (userAssignable != null) "userAssignable": userAssignable, if (userAssignable != null) "userAssignable": userAssignable,
if (canAssign != null) "canAssign": canAssign,
}; };
@override @override
@ -42,9 +39,6 @@ class Tag with EquatableMixin {
if (userAssignable != null) { if (userAssignable != null) {
buffer.write("userAssignable: $userAssignable, "); buffer.write("userAssignable: $userAssignable, ");
} }
if (canAssign != null) {
buffer.write("canAssign: $canAssign, ");
}
buffer.write("}"); buffer.write("}");
return buffer.toString(); return buffer.toString();
} }
@ -54,7 +48,6 @@ class Tag with EquatableMixin {
String? displayName, String? displayName,
OrNull<bool>? userVisible, OrNull<bool>? userVisible,
OrNull<bool>? userAssignable, OrNull<bool>? userAssignable,
OrNull<bool>? canAssign,
}) => }) =>
Tag( Tag(
id: id ?? this.id, id: id ?? this.id,
@ -62,7 +55,6 @@ class Tag with EquatableMixin {
userVisible: userVisible == null ? this.userVisible : userVisible.obj, userVisible: userVisible == null ? this.userVisible : userVisible.obj,
userAssignable: userAssignable:
userAssignable == null ? this.userAssignable : userAssignable.obj, userAssignable == null ? this.userAssignable : userAssignable.obj,
canAssign: canAssign == null ? this.canAssign : canAssign.obj,
); );
@override @override
@ -71,14 +63,12 @@ class Tag with EquatableMixin {
displayName, displayName,
userVisible, userVisible,
userAssignable, userAssignable,
canAssign,
]; ];
final int id; final int id;
final String displayName; final String displayName;
final bool? userVisible; final bool? userVisible;
final bool? userAssignable; final bool? userAssignable;
final bool? canAssign;
} }
extension TagExtension on Tag { extension TagExtension on Tag {

View file

@ -18,7 +18,6 @@ class TagRemoteDataSource implements TagDataSource {
displayName: 1, displayName: 1,
userVisible: 1, userVisible: 1,
userAssignable: 1, userAssignable: 1,
canAssign: 1,
); );
if (!response.isGood) { if (!response.isGood) {
_log.severe("[list] Failed requesting server: $response"); _log.severe("[list] Failed requesting server: $response");
@ -41,7 +40,6 @@ class TagRemoteDataSource implements TagDataSource {
displayName: 1, displayName: 1,
userVisible: 1, userVisible: 1,
userAssignable: 1, userAssignable: 1,
canAssign: 1,
); );
if (!response.isGood) { if (!response.isGood) {
_log.severe("[listByFile] Failed requesting server: $response"); _log.severe("[listByFile] Failed requesting server: $response");

View file

@ -205,7 +205,6 @@ class WebdavResponseParser {
String? displayName; String? displayName;
bool? userVisible; bool? userVisible;
bool? userAssignable; bool? userAssignable;
bool? canAssign;
for (final child in element.children.whereType<XmlElement>()) { for (final child in element.children.whereType<XmlElement>()) {
if (child.matchQualifiedName("href", if (child.matchQualifiedName("href",
@ -231,7 +230,6 @@ class WebdavResponseParser {
displayName = propParser.displayName; displayName = propParser.displayName;
userVisible = propParser.userVisible; userVisible = propParser.userVisible;
userAssignable = propParser.userAssignable; userAssignable = propParser.userAssignable;
canAssign = propParser.canAssign;
} }
} }
if (id == null) { if (id == null) {
@ -244,7 +242,6 @@ class WebdavResponseParser {
displayName: displayName!, displayName: displayName!,
userVisible: userVisible!, userVisible: userVisible!,
userAssignable: userAssignable!, userAssignable: userAssignable!,
canAssign: canAssign!,
); );
} }
@ -470,9 +467,6 @@ class _TagPropParser {
} else if (child.matchQualifiedName("user-assignable", } else if (child.matchQualifiedName("user-assignable",
prefix: "http://owncloud.org/ns", namespaces: namespaces)) { prefix: "http://owncloud.org/ns", namespaces: namespaces)) {
_userAssignable = child.innerText == "true"; _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; String? get displayName => _displayName;
bool? get userVisible => _userVisible; bool? get userVisible => _userVisible;
bool? get userAssignable => _userAssignable; bool? get userAssignable => _userAssignable;
bool? get canAssign => _canAssign;
final Map<String, String> namespaces; final Map<String, String> namespaces;
@ -492,7 +485,6 @@ class _TagPropParser {
String? _displayName; String? _displayName;
bool? _userVisible; bool? _userVisible;
bool? _userAssignable; bool? _userAssignable;
bool? _canAssign;
} }
extension on XmlElement { extension on XmlElement {