package utils import ( "daemonService/internal/models/sincronizacionDatos/response" "daemonService/internal/soap" "fmt" ) func ProcesarRespuestaSincronizacion(tagName string, bodyBytes []byte) (interface{}, error) { var err error var respSincronizacion interface{} switch tagName { case "sincronizarActividades": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.ListaActividades, response.SoapEnvelopeActividad](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta ListaActividades: %v", err) } case "sincronizarFechaHora": respSincronizacion, err = soap.ParsearRespuestaSOAPfechaHora[response.RespuestaFechaHora, response.SoapEnvelopeFechaHora](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta FechaHora: %v", err) } case "sincronizarListaMensajesServicios": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.MensajeServicio, response.SoapEnvelopeMensajeServicio](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta MensajeServicio: %v", err) } case "sincronizarListaLeyendasFactura": respSincronizacion, err = soap.ParsearRespuestaSOAPIdentificador[[]response.LeyendaDetalle, response.SoapEnvelopeLeyendas](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta LeyendaDetalle: %v", err) } case "sincronizarListaProductosServicios": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.ProductoServicio, response.SoapEnvelopeProductoServicio](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta ProductoServicio: %v", err) } case "sincronizarParametricaMotivoAnulacion": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.MotivoAnulacion, response.SoapEnvelopeMotivoAnulacion](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta MotivoAnulacion: %v", err) } case "sincronizarParametricaTipoDocumentoIdentidad": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.TipoDocumento, response.SoapEnvelopeTipoDocumento](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta TipoDocumento: %v", err) } case "sincronizarParametricaTipoDocumentoSector": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.TipoSector, response.SoapEnvelopeTipoSector](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta TipoSector: %v", err) } case "sincronizarListaActividadesDocumentoSector": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.TipoActividadesSector, response.SoapEnvelopeTipoActividadesSector](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta TipoSctividadSector: %v", err) } case "sincronizarParametricaTipoEmision": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.TipoEmision, response.SoapEnvelopeTipoEmision](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta TipoEmision: %v", err) } case "sincronizarParametricaTiposFactura": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.TipoFactura, response.SoapEnvelopeTipoFactura](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta TiposFactura: %v", err) } case "sincronizarParametricaTipoMoneda": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.Moneda, response.SoapEnvelopeMoneda](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta Moneda: %v", err) } case "sincronizarParametricaTipoMetodoPago": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.MetodoPago, response.SoapEnvelopeMetodoPago](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta MetodoPago: %v", err) } case "sincronizarParametricaTipoPuntoVenta": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.PuntoVenta, response.SoapEnvelopePuntoVenta](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta PuntoVenta: %v", err) } case "sincronizarParametricaUnidadMedida": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.UnidadMedida, response.SoapEnvelopeUnidadMedida](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta UnidadMedida: %v", err) } case "sincronizarParametricaEventosSignificativos": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.EventoSignificativo, response.SoapEnvelopeEventoSignificativo](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta EventosSignificativos: %v", err) } case "sincronizarParametricaTipoHabitacion": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.TipoHabitacion, response.SoapEnvelopeTipoHabitacion](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta TipoHabitacion: %v", err) } case "sincronizarParametricaPaisOrigen": respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.PaisOrigen, response.SoapEnvelopePaisOrigen](bodyBytes) if err != nil { return nil, fmt.Errorf("error parseando respuesta PaisOrigen: %v", err) } default: return nil, fmt.Errorf("tag no reconocido: %s", tagName) } return respSincronizacion, nil }