import Foundation

final class SharedAccountMediaManager {
    private let basePath: String
    
    init(basePath: String) {
        self.basePath = basePath
    }
    
    private func fileNameForId(_ id: MediaResourceId) -> String {
        return "\(id.stringRepresentation)"
    }
    
    private func pathForId(_ id: MediaResourceId) -> String {
        return "\(self.basePath)/\(fileNameForId(id))"
    }
    
    func resourceData(resourceId: MediaResourceId) -> Data? {
        return try? Data(contentsOf: URL(fileURLWithPath: self.pathForId(resourceId)))
    }
    
    func storeResourceData(resourceId: MediaResourceId, data: Data) {
        let _ = try? data.write(to: URL(fileURLWithPath: self.pathForId(resourceId)))
    }
}