diff --git a/app/config/settings.py b/app/config/settings.py index f05d67e..73d8026 100644 --- a/app/config/settings.py +++ b/app/config/settings.py @@ -24,7 +24,7 @@ def load_config() -> Dict[str, Any]: Carga la configuración desde variables de entorno. - En dev: carga dev.env y luego valida. - - En production: NO carga ningún .env, solo usa entorno del sistema/contendor. + - En production: NO carga ningún .env, solo usa entorno del sistema/contenedor. - Si falta alguna variable requerida -> RuntimeError. """ @@ -59,6 +59,10 @@ def load_config() -> Dict[str, Any]: "FWEB_MYSQL_DATABASE": _required("FWEB_MYSQL_DATABASE"), "FWEB_MYSQL_USER": _required("FWEB_MYSQL_USER"), "FWEB_MYSQL_PASSWORD": _required("FWEB_MYSQL_PASSWORD"), + + "FWEB_API_URL": _required("FWEB_API_URL"), + "FWEB_API_KEY": _required("FWEB_API_KEY"), + "FWEB_API_TIMEOUT": int(os.getenv("FWEB_API_TIMEOUT", "120")), # Constantes/CTE (requeridas) "CTE_COMPANY_ID": _required("CTE_COMPANY_ID"), diff --git a/app/utils/send_rest_api.py b/app/utils/send_rest_api.py index 131fc37..e69e824 100644 --- a/app/utils/send_rest_api.py +++ b/app/utils/send_rest_api.py @@ -169,15 +169,14 @@ def insert_invoice_REST_API_FACTUGES( Retorna: """ - url = "http://192.168.0.104:3002/api/v1/factuges" - timeout: int = 120 - headers = {"Content-Type": "application/json", - "Accept": "application/json"} - """headers["Authorization"] = "Bearer " + config['VERIFACTU_NIFS_API_KEY'] - payload = {"nif": nif, - "nombre": nombre, - } - """ + url = config['FWEB_API_URL'] + timeout: int = config['FWEB_API_TIMEOUT'] + headers = { + "Content-Type": "application/json", + "Accept": "application/json" + "Bearer " + config['FWEB_API_KEY'] + } + logger.info("-----------------------------------------------------------------------------") logger.info(payload) logger.info("-----------------------------------------------------------------------------") diff --git a/enviroment/.env b/enviroment/.env deleted file mode 100644 index 3e3142b..0000000 --- a/enviroment/.env +++ /dev/null @@ -1,51 +0,0 @@ -ENV = development -LOCAL_TZ = Europe/Madrid -STATE_PATH = ./ -#LOG_PATH = ./app.log - -#DESARROLLO RODAX -FACTUGES_HOST = 192.168.0.156 -FACTUGES_PORT = 3050 -FACTUGES_DATABASE = C:\Codigo\Output\Debug\Database\FACTUGES.FDB -FACTUGES_USER = sysdba -FACTUGES_PASSWORD = masterkey -CTE_COMPANY_ID = '5e4dc5b3-96b9-4968-9490-14bd032fec5f' -VERIFACTU_API_KEY = vf_test_ei8WYAvEq5dhSdEyQVjgCS8NZaNpEK2BljSHSUXf+Y0= -CTE_SERIE = 'F25/' - - -#DESARROLLO ALONSO Y SAL -#FACTUGES_HOST = 192.168.0.144 -#FACTUGES_PORT = 3050 -#FACTUGES_DATABASE = C:\Codigo Arribas2\Output\Debug\Database\FACTUGES.FDB -#FACTUGES_USER = sysdba -#FACTUGES_PASSWORD = masterkey -#CONFIGURACION ACANA -#CTE_COMPANY_ID = '019a9667-6a65-767a-a737-48234ee50a3a' -#CTE_COMPANY_ID_PRODUCCION = '019ac4f2-9502-731a-a6db-525475e85bc7' -#VERIFACTU_API_KEY = vf_test_C03HL2F0X5OXSDRunjNFoMxD4IrRfK3kCC8PfcvCENI= - -#DESARROLLO -FWEB_MYSQL_HOST = localhost -FWEB_MYSQL_PORT = 3306 -FWEB_MYSQL_DATABASE = uecko_erp_sync -FWEB_MYSQL_USER = rodax -FWEB_MYSQL_PASSWORD = rodax - -CTE_SERIE = 'F25/' -CTE_STATUS_INVOICE = 'issued' -CTE_IS_PROFORMA = 0 -CTE_STATUS_VERIFACTU = 'Pendiente' -CTE_LANGUAGE_CODE = 'es' #En uecko vendrá de su ficha -CTE_COUNTRY_CODE = 'es' #En uecko vendrá de su ficha -CTE_IS_COMPANY = 1 -CTE_SYNC_RESULT_OK = 1 -CTE_SYNC_RESULT_FAIL = 2 - -VERIFACTU_BASE_URL = https://api.verifacti.com/ -VERIFACTU_NIFS_API_KEY = vfn_osYpNdqSzAdTAHpazXG2anz4F3o0gfbSb5FFrCBZcno= - -#BREVO_API_KEY = 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 -#BREVO_EMAIL_TEMPLATE = 1 -#MAIL_FROM = 'no-reply@presupuestos.uecko.com' -#MAIL_TO = 'soporte@rodax-software.com' \ No newline at end of file diff --git a/enviroment/.env.development b/enviroment/.env.development deleted file mode 100644 index eab51a5..0000000 --- a/enviroment/.env.development +++ /dev/null @@ -1,41 +0,0 @@ - - -ENV = development -LOCAL_TZ = Europe/Madrid -#LOG_PATH = ./app.log - -FACTUGES_HOST = 192.168.0.101 -FACTUGES_PORT = 3050 -FACTUGES_DATABASE = C:\FactuGES\FACTUGES.FDB -FACTUGES_USER = sysdba -FACTUGES_PASSWORD = masterkey - -FACTUGES_ID_EMPRESA = 1 -FACTUGES_CONTRATO_ID_TIENDA = 1 -FACTUGES_CONTRATO_SITUACION = "PENDIENTE" -FACTUGES_CONTRATO_ENVIADA_REVISADA = 10 -FACTUGES_CONTRATO_TIPO_DETALLE = "Concepto" -FACTUGES_NOMBRE_TARIFA = TARIFA 2024 -FACTUGES_PRECIO_PUNTO = 3.31 - -PRO_FWEB_MYSQL_HOST = 192.168.0.250 -PRO_FWEB_MYSQL_PORT = 3306 -PRO_FWEB_MYSQL_DATABASE = rodax_db -PRO_FWEB_MYSQL_USER = rodax_usr -PRO_FWEB_MYSQL_PASSWORD = supersecret - -DEV_FWEB_MYSQL_HOST = 192.168.0.104 -DEV_FWEB_MYSQL_PORT = 3306 -DEV_FWEB_MYSQL_DATABASE = uecko_erp_sync -DEV_FWEB_MYSQL_USER = rodax -DEV_FWEB_MYSQL_PASSWORD = rodax - -BREVO_API_KEY = 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 -BREVO_EMAIL_TEMPLATE = 1 -MAIL_FROM = 'no-reply@presupuestos.uecko.com' -MAIL_TO = 'soporte@rodax-software.com' - -VERIFACTU_BASE_URL = https://api.verifacti.com/ -VERIFACTU_API_KEY = vf_test_kY9FoI86dH+g1a5hmEnb/0YcLTlMFlu+tpp9iMZp020= -VERIFACTU_NIFS_API_KEY = vfn_osYpNdqSzAdTAHpazXG2anz4F3o0gfbSb5FFrCBZcno= - diff --git a/enviroment/.env.production.sync.factuges b/enviroment/.env.production.sync.factuges deleted file mode 100644 index c476277..0000000 --- a/enviroment/.env.production.sync.factuges +++ /dev/null @@ -1,33 +0,0 @@ -ENV = development -LOCAL_TZ = Europe/Madrid -STATE_PATH = ./ -#LOG_PATH = ./app.log - -#DESARROLLO ACANA -FACTUGES_HOST = 192.168.0.109 -FACTUGES_PORT = 3050 -FACTUGES_DATABASE = C:\Codigo Acana\Output\Debug\Database\FACTUGES.FDB -FACTUGES_USER = sysdba -FACTUGES_PASSWORD = masterkey - -#DESARROLLO -FWEB_MYSQL_HOST = localhost -FWEB_MYSQL_PORT = 3306 -FWEB_MYSQL_DATABASE = uecko_erp_sync -FWEB_MYSQL_USER = rodax -FWEB_MYSQL_PASSWORD = rodax - -#CONFIGURACION ACANA -CTE_COMPANY_ID = '019a9667-6a65-767a-a737-48234ee50a3a' -CTE_SERIE = 'F25/' -CTE_STATUS_INVOICE = 'issued' -CTE_IS_PROFORMA = 0 -CTE_STATUS_VERIFACTU = 'Pendiente' -CTE_LANGUAGE_CODE = 'es' #En uecko vendrá de su ficha -CTE_COUNTRY_CODE = 'es' #En uecko vendrá de su ficha -CTE_IS_COMPANY = 1 - -#BREVO_API_KEY = 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 -#BREVO_EMAIL_TEMPLATE = 1 -#MAIL_FROM = 'no-reply@presupuestos.uecko.com' -#MAIL_TO = 'soporte@rodax-software.com' diff --git a/enviroment/.env_V b/enviroment/.env_V deleted file mode 100644 index 7f4aedc..0000000 --- a/enviroment/.env_V +++ /dev/null @@ -1,21 +0,0 @@ -ENV = development -LOCAL_TZ = Europe/Madrid -STATE_PATH = ./ -#LOG_PATH = ./app.log - -#DESARROLLO -FWEB_MYSQL_HOST = localhost -FWEB_MYSQL_PORT = 3306 -FWEB_MYSQL_DATABASE = uecko_erp_sync -FWEB_MYSQL_USER = rodax -FWEB_MYSQL_PASSWORD = rodax - -VERIFACTU_BASE_URL = https://api.verifacti.com/ -VERIFACTU_API_KEY = vf_test_ei8WYAvEq5dhSdEyQVjgCS8NZaNpEK2BljSHSUXf+Y0= -VERIFACTU_NIFS_API_KEY = vfn_osYpNdqSzAdTAHpazXG2anz4F3o0gfbSb5FFrCBZcno= - - -#BREVO_API_KEY = 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 -#BREVO_EMAIL_TEMPLATE = 1 -#MAIL_FROM = 'no-reply@presupuestos.uecko.com' -#MAIL_TO = 'soporte@rodax-software.com' diff --git a/enviroment/dev.env b/enviroment/dev.env index db119fc..0002ed5 100644 --- a/enviroment/dev.env +++ b/enviroment/dev.env @@ -47,13 +47,20 @@ CTE_SERIE = 'F25/' #VERIFACTU_API_KEY = vf_test_C03HL2F0X5OXSDRunjNFoMxD4IrRfK3kCC8PfcvCENI= #CTE_SERIE = 'F25/' -#DESARROLLO + + + +#DESARROLLO DESTINO FACTUGES WEB FWEB_MYSQL_HOST = localhost FWEB_MYSQL_PORT = 3306 FWEB_MYSQL_DATABASE = uecko_erp_sync FWEB_MYSQL_USER = rodax FWEB_MYSQL_PASSWORD = rodax +FWEB_API_URL=http://192.168.0.104:3002/api/v1/factuges +FWEB_API_KEY=XXXX +FWEB_API_TIMEOUT=120 + #PRODUCCION RODAX #FWEB_MYSQL_HOST = 192.168.0.250 #FWEB_MYSQL_PORT = 3306 diff --git a/setup.cfg b/setup.cfg index ae394c7..e4d8555 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = factuges-sync -version = 0.1.9 +version = 0.2.0 description = ETL job to sync data from legacy DB to MariaDB author = Rodax Software author_email = info@rodax-software.com