OnedriveFile.fromJson constructor
OnedriveFile.fromJson(
- Map<String, dynamic> json,
- bool isAppFolder
)
Implementation
factory OnedriveFile.fromJson(Map<String, dynamic> json, bool isAppFolder) {
final rawPath = json['parentReference']?['path'] ?? '';
String path = '/';
if (isAppFolder) {
final match =
RegExp(r'^/drive/root:/Apps/[^/]+(/.*)?$').firstMatch(rawPath);
path = match?.group(1) ??
'/'; // relative path to Appfolder, turns /Apps/APP_NAME to /
} else {
path = join(rawPath.replaceFirst(RegExp(r'^/drive/root:/?'),
'/')); // replaces :drive/root with / and :drive/root/FOLDER with /FOLDER
}
path = join(path, json['name']);
return OnedriveFile(
id: json['id'],
name: json['name'],
path: path,
isFolder: json['folder'] != null,
size: json['size'] ?? 0,
modifiedTime: DateTime.tryParse(json['3'] ?? '') ??
DateTime.fromMillisecondsSinceEpoch(0));
}