mirror of
https://github.com/ente-io/ente.git
synced 2025-08-05 05:24:26 +00:00
[auth] Add bitwarden folder as tag
This commit is contained in:
parent
ad0069087f
commit
7cd998ba3e
@ -4,6 +4,7 @@ import 'dart:io';
|
||||
|
||||
import 'package:ente_auth/l10n/l10n.dart';
|
||||
import 'package:ente_auth/models/code.dart';
|
||||
import 'package:ente_auth/models/code_display.dart';
|
||||
import 'package:ente_auth/services/authenticator_service.dart';
|
||||
import 'package:ente_auth/store/code_store.dart';
|
||||
import 'package:ente_auth/ui/components/buttons/button_widget.dart';
|
||||
@ -80,10 +81,19 @@ Future<int?> _processBitwardenExportFile(
|
||||
final jsonString = await file.readAsString();
|
||||
final data = jsonDecode(jsonString);
|
||||
List<dynamic> jsonArray = data['items'];
|
||||
final Map<String, String> folderIdToName = {};
|
||||
try {
|
||||
for (var item in data['folders']) {
|
||||
folderIdToName[item['id']] = item['name'];
|
||||
}
|
||||
} catch (e) {
|
||||
debugPrint("Failed to get folder details $e");
|
||||
}
|
||||
final parsedCodes = [];
|
||||
for (var item in jsonArray) {
|
||||
if (item['login'] != null && item['login']['totp'] != null) {
|
||||
var totp = item['login']['totp'];
|
||||
String? folderID = item['folderId'];
|
||||
|
||||
Code code;
|
||||
if (totp.contains("otpauth://")) {
|
||||
@ -110,6 +120,11 @@ Future<int?> _processBitwardenExportFile(
|
||||
Code.defaultDigits,
|
||||
);
|
||||
}
|
||||
if (folderID != null && folderIdToName.containsKey(folderID)) {
|
||||
code = code.copyWith(
|
||||
display: CodeDisplay(tags: [folderIdToName[folderID]!]),
|
||||
);
|
||||
}
|
||||
|
||||
parsedCodes.add(code);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user