import DocumentDetector

public struct CafStageDeserializer: Decodable {
    private var cafStage: DDCAFStage?
    
    private enum CodingKeys: String, CodingKey {
        case cafStage
    }
    
    public init(from decoder: Decoder) throws {
        let container = try decoder.container(keyedBy: CodingKeys.self)
        
        if let cafStageValue = try container.decodeIfPresent(String.self, forKey: .cafStage) {
            if cafStageValue == "PROD" {
                cafStage = DDCAFStage.PROD
            }
            
            if cafStageValue == "BETA" {
                cafStage = DDCAFStage.BETA
            }
           
        } else {
            cafStage = nil
        }
    }
    
    var getCafStage: DDCAFStage? {
        cafStage
    }
}
