getFiles static method
- String currentPath,
- BuildContext context
Retrieves and processes files from the specified directory.
This method:
- Fetches all files from the given directory.
- Filters for files ending with '.enc.ttl'.
- Validates each file's accessibility.
- Creates FileItem objects with metadata.
Parameters:
currentPath
: The directory path to process.context
: Build context for UI operations.
Returns a list of processed FileItem objects.
Implementation
static Future<List<FileItem>> getFiles(
String currentPath,
BuildContext context,
) async {
// Get directory URL and contents.
final dirUrl = await getDirUrl(currentPath);
final resources = await getResourcesInContainer(dirUrl);
// Process each file in the directory.
final processedFiles = <FileItem>[];
for (var fileName in resources.files) {
// Skip non-TTL files. Include both .enc.ttl and .ttl files.
if (!fileName.endsWith('.enc.ttl') && !fileName.endsWith('.ttl')) {
continue;
}
// Construct full path.
final relativePath = '$currentPath/$fileName';
if (!context.mounted) continue;
// Read file metadata.
final metadata = await readPod(
relativePath,
context,
const Text('Reading file info'),
);
// Add valid files to the processed list.
if (metadata != SolidFunctionCallStatus.fail.toString() &&
metadata != SolidFunctionCallStatus.notLoggedIn.toString()) {
processedFiles.add(
FileItem(
name: fileName,
path: relativePath,
dateModified: DateTime.now(),
),
);
}
}
return processedFiles;
}