Do not import meta stream entries

This commit is contained in:
J-Jamet
2022-02-12 12:37:49 +01:00
parent ee2a1ea924
commit 45937f9c9c

View File

@@ -92,31 +92,34 @@ class DatabaseKDBXMerger(private var database: DatabaseKDBX) {
val entry = database.getEntryById(entryId) val entry = database.getEntryById(entryId)
databaseToMerge.getEntryById(entryId)?.let { srcEntryToMerge -> databaseToMerge.getEntryById(entryId)?.let { srcEntryToMerge ->
// Retrieve parent in current database // Do not merge meta stream elements
var parentEntryToMerge: GroupKDBX? = null if (!srcEntryToMerge.isMetaStream()) {
srcEntryToMerge.parent?.nodeId?.let { // Retrieve parent in current database
val parentGroupIdToMerge = getNodeIdUUIDFrom(seed, it) var parentEntryToMerge: GroupKDBX? = null
parentEntryToMerge = database.getGroupById(parentGroupIdToMerge) srcEntryToMerge.parent?.nodeId?.let {
} val parentGroupIdToMerge = getNodeIdUUIDFrom(seed, it)
val entryToMerge = EntryKDBX().apply { parentEntryToMerge = database.getGroupById(parentGroupIdToMerge)
this.nodeId = srcEntryToMerge.nodeId }
this.icon = srcEntryToMerge.icon val entryToMerge = EntryKDBX().apply {
this.creationTime = DateInstant(srcEntryToMerge.creationTime) this.nodeId = srcEntryToMerge.nodeId
this.lastModificationTime = DateInstant(srcEntryToMerge.lastModificationTime) this.icon = srcEntryToMerge.icon
this.lastAccessTime = DateInstant(srcEntryToMerge.lastAccessTime) this.creationTime = DateInstant(srcEntryToMerge.creationTime)
this.expiryTime = DateInstant(srcEntryToMerge.expiryTime) this.lastModificationTime = DateInstant(srcEntryToMerge.lastModificationTime)
this.expires = srcEntryToMerge.expires this.lastAccessTime = DateInstant(srcEntryToMerge.lastAccessTime)
this.title = srcEntryToMerge.title this.expiryTime = DateInstant(srcEntryToMerge.expiryTime)
this.username = srcEntryToMerge.username this.expires = srcEntryToMerge.expires
this.password = srcEntryToMerge.password this.title = srcEntryToMerge.title
this.url = srcEntryToMerge.url this.username = srcEntryToMerge.username
this.notes = srcEntryToMerge.notes this.password = srcEntryToMerge.password
// TODO attachment this.url = srcEntryToMerge.url
} this.notes = srcEntryToMerge.notes
if (entry != null) { // TODO attachment
entry.updateWith(entryToMerge, false) }
} else if (parentEntryToMerge != null) { if (entry != null) {
database.addEntryTo(entryToMerge, parentEntryToMerge) entry.updateWith(entryToMerge, false)
} else if (parentEntryToMerge != null) {
database.addEntryTo(entryToMerge, parentEntryToMerge)
}
} }
} }
} }