Browse Source

Merge pull request #278 from provokateurin/feature/improve-webdav-props

Improve webdav props
pull/279/head
Kate 2 years ago committed by GitHub
parent
commit
50bf1b0ee1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      packages/neon/neon_files/lib/blocs/browser.dart
  2. 58
      packages/nextcloud/bin/generate_props.dart
  3. 707
      packages/nextcloud/lib/src/webdav/props.dart
  4. 1131
      packages/nextcloud/lib/src/webdav/props.g.dart
  5. 14
      packages/nextcloud/test/webdav.dart

2
packages/neon/neon_files/lib/blocs/browser.dart

@ -46,7 +46,7 @@ class FilesBrowserBloc extends InteractiveBloc implements FilesBrowserBlocEvents
files,
() async => client.webdav.ls(
path.value.join('/'),
prop: WebDavPropfindProp(
prop: WebDavPropfindProp.fromBools(
davgetcontenttype: true,
davgetetag: true,
davgetlastmodified: true,

58
packages/nextcloud/bin/generate_props.dart

@ -11,14 +11,12 @@ void main() {
final type = prop[2];
final name = prop[1];
final variable = namespacePrefix + name.toLowerCase().replaceAll(RegExp('[^a-z]'), '');
valueProps.addAll([
"@annotation.XmlElement(name: '$name', namespace: $namespaceVariable, includeIfNull: false)",
'$type? $variable;',
]);
findProps.addAll([
"@annotation.XmlElement(name: '$name', namespace: $namespaceVariable, includeIfNull: false)",
'bool? $variable;',
]);
valueProps.add(
"@annotation.XmlElement(name: '$name', namespace: $namespaceVariable, includeIfNull: false,)\n $type? $variable;",
);
findProps.add(
"@annotation.XmlElement(name: '$name', namespace: $namespaceVariable, includeIfNull: true, isSelfClosing: true,)\n List<String?>? $variable;",
);
variables.add(variable);
}
File('lib/src/webdav/props.dart').writeAsStringSync(
@ -29,9 +27,31 @@ void main() {
"import 'package:xml_annotation/xml_annotation.dart' as annotation;",
"part 'props.g.dart';",
'',
...generateClass('WebDavPropfindProp', 'prop', 'namespaceDav', findProps, variables),
...generateClass('WebDavProp', 'prop', 'namespaceDav', valueProps, variables),
...generateClass('WebDavOcFilterRules', 'filter-rules', 'namespaceOwncloud', valueProps, variables),
...generateClass(
'WebDavPropfindProp',
'prop',
'namespaceDav',
findProps,
variables,
isPropfind: true,
),
...generateClass(
'WebDavProp',
'prop',
'namespaceDav',
valueProps,
variables,
isPropfind: false,
),
...generateClass(
'WebDavOcFilterRules',
'filter-rules',
'namespaceOwncloud',
valueProps,
variables,
isPropfind: false,
),
'',
].join('\n'),
);
}
@ -41,17 +61,25 @@ List<String> generateClass(
final String elementName,
final String namespace,
final List<String> props,
final List<String> variables,
) =>
final List<String> variables, {
required final bool isPropfind,
}) =>
[
'@annotation.XmlSerializable(createMixin: true)',
"@annotation.XmlRootElement(name: '$elementName', namespace: $namespace)",
'class $name with _\$${name}XmlSerializableMixin {',
' $name({',
...variables.map((final variable) => ' this.$variable,'),
...variables.map((final variable) => ' this.$variable,'),
' });',
'',
if (isPropfind) ...[
' $name.fromBools({',
...variables.map((final variable) => ' final bool $variable = false,'),
' }) : ${variables.map((final variable) => '$variable = $variable ? [null] : null').join(', ')};',
'',
],
' factory $name.fromXmlElement(final XmlElement element) => _\$${name}FromXmlElement(element);',
...props.map((final prop) => ' $prop'),
...props.map((final prop) => '\n $prop'),
'}',
];

707
packages/nextcloud/lib/src/webdav/props.dart

@ -36,61 +36,280 @@ class WebDavPropfindProp with _$WebDavPropfindPropXmlSerializableMixin {
this.ocssharepermissions,
this.ocmsharepermissions,
});
WebDavPropfindProp.fromBools({
final bool davgetlastmodified = false,
final bool davgetetag = false,
final bool davgetcontenttype = false,
final bool davgetcontentlength = false,
final bool davresourcetype = false,
final bool ocid = false,
final bool ocfileid = false,
final bool ocfavorite = false,
final bool occommentshref = false,
final bool occommentscount = false,
final bool occommentsunread = false,
final bool ocdownloadurl = false,
final bool ocownerid = false,
final bool ocownerdisplayname = false,
final bool ocsize = false,
final bool ocpermissions = false,
final bool ncnote = false,
final bool ncdatafingerprint = false,
final bool nchaspreview = false,
final bool ncmounttype = false,
final bool ncisencrypted = false,
final bool ncmetadataetag = false,
final bool ncuploadtime = false,
final bool nccreationtime = false,
final bool ncrichworkspace = false,
final bool ocssharepermissions = false,
final bool ocmsharepermissions = false,
}) : davgetlastmodified = davgetlastmodified ? [null] : null,
davgetetag = davgetetag ? [null] : null,
davgetcontenttype = davgetcontenttype ? [null] : null,
davgetcontentlength = davgetcontentlength ? [null] : null,
davresourcetype = davresourcetype ? [null] : null,
ocid = ocid ? [null] : null,
ocfileid = ocfileid ? [null] : null,
ocfavorite = ocfavorite ? [null] : null,
occommentshref = occommentshref ? [null] : null,
occommentscount = occommentscount ? [null] : null,
occommentsunread = occommentsunread ? [null] : null,
ocdownloadurl = ocdownloadurl ? [null] : null,
ocownerid = ocownerid ? [null] : null,
ocownerdisplayname = ocownerdisplayname ? [null] : null,
ocsize = ocsize ? [null] : null,
ocpermissions = ocpermissions ? [null] : null,
ncnote = ncnote ? [null] : null,
ncdatafingerprint = ncdatafingerprint ? [null] : null,
nchaspreview = nchaspreview ? [null] : null,
ncmounttype = ncmounttype ? [null] : null,
ncisencrypted = ncisencrypted ? [null] : null,
ncmetadataetag = ncmetadataetag ? [null] : null,
ncuploadtime = ncuploadtime ? [null] : null,
nccreationtime = nccreationtime ? [null] : null,
ncrichworkspace = ncrichworkspace ? [null] : null,
ocssharepermissions = ocssharepermissions ? [null] : null,
ocmsharepermissions = ocmsharepermissions ? [null] : null;
factory WebDavPropfindProp.fromXmlElement(final XmlElement element) => _$WebDavPropfindPropFromXmlElement(element);
@annotation.XmlElement(name: 'getlastmodified', namespace: namespaceDav, includeIfNull: false)
bool? davgetlastmodified;
@annotation.XmlElement(name: 'getetag', namespace: namespaceDav, includeIfNull: false)
bool? davgetetag;
@annotation.XmlElement(name: 'getcontenttype', namespace: namespaceDav, includeIfNull: false)
bool? davgetcontenttype;
@annotation.XmlElement(name: 'getcontentlength', namespace: namespaceDav, includeIfNull: false)
bool? davgetcontentlength;
@annotation.XmlElement(name: 'resourcetype', namespace: namespaceDav, includeIfNull: false)
bool? davresourcetype;
@annotation.XmlElement(name: 'id', namespace: namespaceOwncloud, includeIfNull: false)
bool? ocid;
@annotation.XmlElement(name: 'fileid', namespace: namespaceOwncloud, includeIfNull: false)
bool? ocfileid;
@annotation.XmlElement(name: 'favorite', namespace: namespaceOwncloud, includeIfNull: false)
bool? ocfavorite;
@annotation.XmlElement(name: 'comments-href', namespace: namespaceOwncloud, includeIfNull: false)
bool? occommentshref;
@annotation.XmlElement(name: 'comments-count', namespace: namespaceOwncloud, includeIfNull: false)
bool? occommentscount;
@annotation.XmlElement(name: 'comments-unread', namespace: namespaceOwncloud, includeIfNull: false)
bool? occommentsunread;
@annotation.XmlElement(name: 'downloadURL', namespace: namespaceOwncloud, includeIfNull: false)
bool? ocdownloadurl;
@annotation.XmlElement(name: 'owner-id', namespace: namespaceOwncloud, includeIfNull: false)
bool? ocownerid;
@annotation.XmlElement(name: 'owner-display-name', namespace: namespaceOwncloud, includeIfNull: false)
bool? ocownerdisplayname;
@annotation.XmlElement(name: 'size', namespace: namespaceOwncloud, includeIfNull: false)
bool? ocsize;
@annotation.XmlElement(name: 'permissions', namespace: namespaceOwncloud, includeIfNull: false)
bool? ocpermissions;
@annotation.XmlElement(name: 'note', namespace: namespaceNextcloud, includeIfNull: false)
bool? ncnote;
@annotation.XmlElement(name: 'data-fingerprint', namespace: namespaceNextcloud, includeIfNull: false)
bool? ncdatafingerprint;
@annotation.XmlElement(name: 'has-preview', namespace: namespaceNextcloud, includeIfNull: false)
bool? nchaspreview;
@annotation.XmlElement(name: 'mount-type', namespace: namespaceNextcloud, includeIfNull: false)
bool? ncmounttype;
@annotation.XmlElement(name: 'is-encrypted', namespace: namespaceNextcloud, includeIfNull: false)
bool? ncisencrypted;
@annotation.XmlElement(name: 'metadata_etag', namespace: namespaceNextcloud, includeIfNull: false)
bool? ncmetadataetag;
@annotation.XmlElement(name: 'upload_time', namespace: namespaceNextcloud, includeIfNull: false)
bool? ncuploadtime;
@annotation.XmlElement(name: 'creation_time', namespace: namespaceNextcloud, includeIfNull: false)
bool? nccreationtime;
@annotation.XmlElement(name: 'rich-workspace', namespace: namespaceNextcloud, includeIfNull: false)
bool? ncrichworkspace;
@annotation.XmlElement(name: 'share-permissions', namespace: namespaceOpenCollaborationServices, includeIfNull: false)
bool? ocssharepermissions;
@annotation.XmlElement(name: 'share-permissions', namespace: namespaceOpenCloudMesh, includeIfNull: false)
bool? ocmsharepermissions;
@annotation.XmlElement(
name: 'getlastmodified',
namespace: namespaceDav,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? davgetlastmodified;
@annotation.XmlElement(
name: 'getetag',
namespace: namespaceDav,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? davgetetag;
@annotation.XmlElement(
name: 'getcontenttype',
namespace: namespaceDav,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? davgetcontenttype;
@annotation.XmlElement(
name: 'getcontentlength',
namespace: namespaceDav,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? davgetcontentlength;
@annotation.XmlElement(
name: 'resourcetype',
namespace: namespaceDav,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? davresourcetype;
@annotation.XmlElement(
name: 'id',
namespace: namespaceOwncloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ocid;
@annotation.XmlElement(
name: 'fileid',
namespace: namespaceOwncloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ocfileid;
@annotation.XmlElement(
name: 'favorite',
namespace: namespaceOwncloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ocfavorite;
@annotation.XmlElement(
name: 'comments-href',
namespace: namespaceOwncloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? occommentshref;
@annotation.XmlElement(
name: 'comments-count',
namespace: namespaceOwncloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? occommentscount;
@annotation.XmlElement(
name: 'comments-unread',
namespace: namespaceOwncloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? occommentsunread;
@annotation.XmlElement(
name: 'downloadURL',
namespace: namespaceOwncloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ocdownloadurl;
@annotation.XmlElement(
name: 'owner-id',
namespace: namespaceOwncloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ocownerid;
@annotation.XmlElement(
name: 'owner-display-name',
namespace: namespaceOwncloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ocownerdisplayname;
@annotation.XmlElement(
name: 'size',
namespace: namespaceOwncloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ocsize;
@annotation.XmlElement(
name: 'permissions',
namespace: namespaceOwncloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ocpermissions;
@annotation.XmlElement(
name: 'note',
namespace: namespaceNextcloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ncnote;
@annotation.XmlElement(
name: 'data-fingerprint',
namespace: namespaceNextcloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ncdatafingerprint;
@annotation.XmlElement(
name: 'has-preview',
namespace: namespaceNextcloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? nchaspreview;
@annotation.XmlElement(
name: 'mount-type',
namespace: namespaceNextcloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ncmounttype;
@annotation.XmlElement(
name: 'is-encrypted',
namespace: namespaceNextcloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ncisencrypted;
@annotation.XmlElement(
name: 'metadata_etag',
namespace: namespaceNextcloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ncmetadataetag;
@annotation.XmlElement(
name: 'upload_time',
namespace: namespaceNextcloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ncuploadtime;
@annotation.XmlElement(
name: 'creation_time',
namespace: namespaceNextcloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? nccreationtime;
@annotation.XmlElement(
name: 'rich-workspace',
namespace: namespaceNextcloud,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ncrichworkspace;
@annotation.XmlElement(
name: 'share-permissions',
namespace: namespaceOpenCollaborationServices,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ocssharepermissions;
@annotation.XmlElement(
name: 'share-permissions',
namespace: namespaceOpenCloudMesh,
includeIfNull: true,
isSelfClosing: true,
)
List<String?>? ocmsharepermissions;
}
@annotation.XmlSerializable(createMixin: true)
@ -125,60 +344,196 @@ class WebDavProp with _$WebDavPropXmlSerializableMixin {
this.ocssharepermissions,
this.ocmsharepermissions,
});
factory WebDavProp.fromXmlElement(final XmlElement element) => _$WebDavPropFromXmlElement(element);
@annotation.XmlElement(name: 'getlastmodified', namespace: namespaceDav, includeIfNull: false)
@annotation.XmlElement(
name: 'getlastmodified',
namespace: namespaceDav,
includeIfNull: false,
)
String? davgetlastmodified;
@annotation.XmlElement(name: 'getetag', namespace: namespaceDav, includeIfNull: false)
@annotation.XmlElement(
name: 'getetag',
namespace: namespaceDav,
includeIfNull: false,
)
String? davgetetag;
@annotation.XmlElement(name: 'getcontenttype', namespace: namespaceDav, includeIfNull: false)
@annotation.XmlElement(
name: 'getcontenttype',
namespace: namespaceDav,
includeIfNull: false,
)
String? davgetcontenttype;
@annotation.XmlElement(name: 'getcontentlength', namespace: namespaceDav, includeIfNull: false)
@annotation.XmlElement(
name: 'getcontentlength',
namespace: namespaceDav,
includeIfNull: false,
)
int? davgetcontentlength;
@annotation.XmlElement(name: 'resourcetype', namespace: namespaceDav, includeIfNull: false)
@annotation.XmlElement(
name: 'resourcetype',
namespace: namespaceDav,
includeIfNull: false,
)
WebDavResourcetype? davresourcetype;
@annotation.XmlElement(name: 'id', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'id',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? ocid;
@annotation.XmlElement(name: 'fileid', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'fileid',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? ocfileid;
@annotation.XmlElement(name: 'favorite', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'favorite',
namespace: namespaceOwncloud,
includeIfNull: false,
)
int? ocfavorite;
@annotation.XmlElement(name: 'comments-href', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'comments-href',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? occommentshref;
@annotation.XmlElement(name: 'comments-count', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'comments-count',
namespace: namespaceOwncloud,
includeIfNull: false,
)
int? occommentscount;
@annotation.XmlElement(name: 'comments-unread', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'comments-unread',
namespace: namespaceOwncloud,
includeIfNull: false,
)
int? occommentsunread;
@annotation.XmlElement(name: 'downloadURL', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'downloadURL',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? ocdownloadurl;
@annotation.XmlElement(name: 'owner-id', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'owner-id',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? ocownerid;
@annotation.XmlElement(name: 'owner-display-name', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'owner-display-name',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? ocownerdisplayname;
@annotation.XmlElement(name: 'size', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'size',
namespace: namespaceOwncloud,
includeIfNull: false,
)
int? ocsize;
@annotation.XmlElement(name: 'permissions', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'permissions',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? ocpermissions;
@annotation.XmlElement(name: 'note', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'note',
namespace: namespaceNextcloud,
includeIfNull: false,
)
String? ncnote;
@annotation.XmlElement(name: 'data-fingerprint', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'data-fingerprint',
namespace: namespaceNextcloud,
includeIfNull: false,
)
String? ncdatafingerprint;
@annotation.XmlElement(name: 'has-preview', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'has-preview',
namespace: namespaceNextcloud,
includeIfNull: false,
)
bool? nchaspreview;
@annotation.XmlElement(name: 'mount-type', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'mount-type',
namespace: namespaceNextcloud,
includeIfNull: false,
)
String? ncmounttype;
@annotation.XmlElement(name: 'is-encrypted', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'is-encrypted',
namespace: namespaceNextcloud,
includeIfNull: false,
)
int? ncisencrypted;
@annotation.XmlElement(name: 'metadata_etag', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'metadata_etag',
namespace: namespaceNextcloud,
includeIfNull: false,
)
String? ncmetadataetag;
@annotation.XmlElement(name: 'upload_time', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'upload_time',
namespace: namespaceNextcloud,
includeIfNull: false,
)
int? ncuploadtime;
@annotation.XmlElement(name: 'creation_time', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'creation_time',
namespace: namespaceNextcloud,
includeIfNull: false,
)
int? nccreationtime;
@annotation.XmlElement(name: 'rich-workspace', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'rich-workspace',
namespace: namespaceNextcloud,
includeIfNull: false,
)
String? ncrichworkspace;
@annotation.XmlElement(name: 'share-permissions', namespace: namespaceOpenCollaborationServices, includeIfNull: false)
@annotation.XmlElement(
name: 'share-permissions',
namespace: namespaceOpenCollaborationServices,
includeIfNull: false,
)
int? ocssharepermissions;
@annotation.XmlElement(name: 'share-permissions', namespace: namespaceOpenCloudMesh, includeIfNull: false)
@annotation.XmlElement(
name: 'share-permissions',
namespace: namespaceOpenCloudMesh,
includeIfNull: false,
)
String? ocmsharepermissions;
}
@ -214,59 +569,195 @@ class WebDavOcFilterRules with _$WebDavOcFilterRulesXmlSerializableMixin {
this.ocssharepermissions,
this.ocmsharepermissions,
});
factory WebDavOcFilterRules.fromXmlElement(final XmlElement element) => _$WebDavOcFilterRulesFromXmlElement(element);
@annotation.XmlElement(name: 'getlastmodified', namespace: namespaceDav, includeIfNull: false)
@annotation.XmlElement(
name: 'getlastmodified',
namespace: namespaceDav,
includeIfNull: false,
)
String? davgetlastmodified;
@annotation.XmlElement(name: 'getetag', namespace: namespaceDav, includeIfNull: false)
@annotation.XmlElement(
name: 'getetag',
namespace: namespaceDav,
includeIfNull: false,
)
String? davgetetag;
@annotation.XmlElement(name: 'getcontenttype', namespace: namespaceDav, includeIfNull: false)
@annotation.XmlElement(
name: 'getcontenttype',
namespace: namespaceDav,
includeIfNull: false,
)
String? davgetcontenttype;
@annotation.XmlElement(name: 'getcontentlength', namespace: namespaceDav, includeIfNull: false)
@annotation.XmlElement(
name: 'getcontentlength',
namespace: namespaceDav,
includeIfNull: false,
)
int? davgetcontentlength;
@annotation.XmlElement(name: 'resourcetype', namespace: namespaceDav, includeIfNull: false)
@annotation.XmlElement(
name: 'resourcetype',
namespace: namespaceDav,
includeIfNull: false,
)
WebDavResourcetype? davresourcetype;
@annotation.XmlElement(name: 'id', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'id',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? ocid;
@annotation.XmlElement(name: 'fileid', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'fileid',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? ocfileid;
@annotation.XmlElement(name: 'favorite', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'favorite',
namespace: namespaceOwncloud,
includeIfNull: false,
)
int? ocfavorite;
@annotation.XmlElement(name: 'comments-href', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'comments-href',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? occommentshref;
@annotation.XmlElement(name: 'comments-count', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'comments-count',
namespace: namespaceOwncloud,
includeIfNull: false,
)
int? occommentscount;
@annotation.XmlElement(name: 'comments-unread', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'comments-unread',
namespace: namespaceOwncloud,
includeIfNull: false,
)
int? occommentsunread;
@annotation.XmlElement(name: 'downloadURL', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'downloadURL',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? ocdownloadurl;
@annotation.XmlElement(name: 'owner-id', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'owner-id',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? ocownerid;
@annotation.XmlElement(name: 'owner-display-name', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'owner-display-name',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? ocownerdisplayname;
@annotation.XmlElement(name: 'size', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'size',
namespace: namespaceOwncloud,
includeIfNull: false,
)
int? ocsize;
@annotation.XmlElement(name: 'permissions', namespace: namespaceOwncloud, includeIfNull: false)
@annotation.XmlElement(
name: 'permissions',
namespace: namespaceOwncloud,
includeIfNull: false,
)
String? ocpermissions;
@annotation.XmlElement(name: 'note', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'note',
namespace: namespaceNextcloud,
includeIfNull: false,
)
String? ncnote;
@annotation.XmlElement(name: 'data-fingerprint', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'data-fingerprint',
namespace: namespaceNextcloud,
includeIfNull: false,
)
String? ncdatafingerprint;
@annotation.XmlElement(name: 'has-preview', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'has-preview',
namespace: namespaceNextcloud,
includeIfNull: false,
)
bool? nchaspreview;
@annotation.XmlElement(name: 'mount-type', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'mount-type',
namespace: namespaceNextcloud,
includeIfNull: false,
)
String? ncmounttype;
@annotation.XmlElement(name: 'is-encrypted', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'is-encrypted',
namespace: namespaceNextcloud,
includeIfNull: false,
)
int? ncisencrypted;
@annotation.XmlElement(name: 'metadata_etag', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'metadata_etag',
namespace: namespaceNextcloud,
includeIfNull: false,
)
String? ncmetadataetag;
@annotation.XmlElement(name: 'upload_time', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'upload_time',
namespace: namespaceNextcloud,
includeIfNull: false,
)
int? ncuploadtime;
@annotation.XmlElement(name: 'creation_time', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'creation_time',
namespace: namespaceNextcloud,
includeIfNull: false,
)
int? nccreationtime;
@annotation.XmlElement(name: 'rich-workspace', namespace: namespaceNextcloud, includeIfNull: false)
@annotation.XmlElement(
name: 'rich-workspace',
namespace: namespaceNextcloud,
includeIfNull: false,
)
String? ncrichworkspace;
@annotation.XmlElement(name: 'share-permissions', namespace: namespaceOpenCollaborationServices, includeIfNull: false)
@annotation.XmlElement(
name: 'share-permissions',
namespace: namespaceOpenCollaborationServices,
includeIfNull: false,
)
int? ocssharepermissions;
@annotation.XmlElement(name: 'share-permissions', namespace: namespaceOpenCloudMesh, includeIfNull: false)
@annotation.XmlElement(
name: 'share-permissions',
namespace: namespaceOpenCloudMesh,
includeIfNull: false,
)
String? ocmsharepermissions;
}

1131
packages/nextcloud/lib/src/webdav/props.g.dart

File diff suppressed because it is too large Load Diff

14
packages/nextcloud/test/webdav.dart

@ -38,7 +38,7 @@ Future run(final DockerImage image) async {
test('List directory', () async {
final responses = (await client.webdav.ls(
'/',
prop: WebDavPropfindProp(
prop: WebDavPropfindProp.fromBools(
nchaspreview: true,
davgetcontenttype: true,
davgetlastmodified: true,
@ -90,7 +90,7 @@ Future run(final DockerImage image) async {
final responses = (await client.webdav.ls(
'/',
prop: WebDavPropfindProp(
prop: WebDavPropfindProp.fromBools(
ocsize: true,
),
))
@ -121,7 +121,7 @@ Future run(final DockerImage image) async {
final props = (await client.webdav.ls(
'/',
prop: WebDavPropfindProp(
prop: WebDavPropfindProp.fromBools(
davgetlastmodified: true,
nccreationtime: true,
),
@ -210,7 +210,7 @@ Future run(final DockerImage image) async {
test('Get file props', () async {
final props = (await client.webdav.ls(
'Nextcloud.png',
prop: WebDavPropfindProp(
prop: WebDavPropfindProp.fromBools(
davgetlastmodified: true,
davgetetag: true,
davgetcontenttype: true,
@ -281,7 +281,7 @@ Future run(final DockerImage image) async {
final props = (await client.webdav.ls(
'test',
prop: WebDavPropfindProp(
prop: WebDavPropfindProp.fromBools(
davgetcontenttype: true,
davgetlastmodified: true,
davresourcetype: true,
@ -315,7 +315,7 @@ Future run(final DockerImage image) async {
WebDavOcFilterRules(
ocfavorite: 1,
),
prop: WebDavPropfindProp(
prop: WebDavPropfindProp.fromBools(
ocid: true,
ocfavorite: true,
),
@ -346,7 +346,7 @@ Future run(final DockerImage image) async {
final props = (await client.webdav.ls(
'test.txt',
prop: WebDavPropfindProp(
prop: WebDavPropfindProp.fromBools(
ocfavorite: true,
nccreationtime: true,
ncuploadtime: true,

Loading…
Cancel
Save