RintoAndrews
7/27/2019 - 5:41 PM

encodeCustomCodeable.swift

extension UserInfo: Encodable {
    func encode(to encoder: Encoder) throws {
        
        var container = encoder.container(keyedBy: CodingKeys.self)
        try container.encode(userId, forKey: .userId)
        try container.encode(jobTitleName, forKey: .jobTitleName)
        try container.encode(preferredFullName, forKey: .preferredFullName)
        try container.encode(employeeCode, forKey: .employeeCode)
        try container.encode(region, forKey: .region)
        try container.encode(phoneNumber, forKey: .phoneNumber)
        try container.encode(emailAddress, forKey: .emailAddress)
        try container.encode(salary, forKey: .salary)
        
        var name = container.nestedContainer(keyedBy: NameKeys.self, forKey: .name)
        try name.encode(firstName, forKey: .firstName)
        try name.encode(lastName, forKey: .lastName)
    }
}