class Engineer { String id; String name; Engineer({ this.id, this.name, }); factory Engineer.fromJson(Map parsedJson) { if (parsedJson == null) return Engineer(); return Engineer( id: parsedJson["userId"] ?? parsedJson["id"], name: parsedJson["userName"] ?? parsedJson["name"], ); } factory Engineer.fromEngineer(Engineer department) { return Engineer( id: department?.id, name: department?.name, ); } @override bool operator ==(Object other) => identical(this, other) || other is Engineer && id == other.id; @override int get hashCode => id.hashCode; Map toJson({bool userPrefix = false}) { return { userPrefix ? "userId" : "id": id, userPrefix ? "userName" : "name": name, }; } }