philips-software/cogito

View on GitHub
workspaces/cogito-ios-app/Cogito/Key store/KeyStoreDirectory.swift

Summary

Maintainability
A
0 mins
Test Coverage
C
76%
import Foundation

struct KeyStoreDirectory {
    let url: URL
}

extension KeyStoreDirectory {
    init(name: String) {
        let base = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
        url = base.appendingPathComponent(name)
    }
}

extension KeyStoreDirectory {
    func create() throws {
        if !FileManager.default.fileExists(atPath: url.path) {
            try FileManager.default.createDirectory(
                at: url,
                withIntermediateDirectories: true,
                attributes: nil
            )
        }
    }
    func delete() throws {
        if FileManager.default.fileExists(atPath: url.path) {
            try FileManager.default.removeItem(at: url)
        }
    }
}

extension KeyStoreDirectory {
    var path: String {
        return url.path
    }
}