mirror of
https://github.com/bitwarden/mobile.git
synced 2024-06-26 10:36:21 +02:00
37 lines
842 B
Swift
37 lines
842 B
Swift
|
import Foundation
|
||
|
import CoreData
|
||
|
|
||
|
struct Cipher:Identifiable,Codable{
|
||
|
var id:String
|
||
|
var name:String?
|
||
|
var userId:String?
|
||
|
var login:Login
|
||
|
}
|
||
|
|
||
|
struct Login:Codable{
|
||
|
var username:String?
|
||
|
var totp:String?
|
||
|
var uris:[LoginUri]?
|
||
|
}
|
||
|
|
||
|
struct LoginUri:Codable{
|
||
|
var uri:String?
|
||
|
}
|
||
|
|
||
|
extension Cipher{
|
||
|
func toCipherEntity(moContext: NSManagedObjectContext) -> CipherEntity{
|
||
|
let entity = CipherEntity(context: moContext)
|
||
|
entity.id = id
|
||
|
entity.name = name
|
||
|
entity.userId = userId ?? "unknown"
|
||
|
entity.username = login.username
|
||
|
entity.totp = login.totp
|
||
|
|
||
|
if let uris = login.uris, let encodedData = try? JSONEncoder().encode(uris) {
|
||
|
entity.loginUris = String(data: encodedData, encoding: .utf8)
|
||
|
}
|
||
|
|
||
|
return entity
|
||
|
}
|
||
|
}
|