From 8379033900d343e38c154ba3aa16db3316284a1e Mon Sep 17 00:00:00 2001 From: rafa-ruiz Date: Wed, 4 Mar 2026 20:21:27 -0800 Subject: [PATCH] Sample avap code --- docs/samples/asignacion_booleana.avap | 3 +++ docs/samples/asignacion_matematica.avap | 4 ++++ docs/samples/bucle_1_10.avap | 6 ++++++ docs/samples/bucle_longitud_de_datos.avap | 7 +++++++ docs/samples/calculo_de_expiracion.avap | 2 ++ docs/samples/captura_de_id.avap | 2 ++ docs/samples/captura_de_listas_multiples.avap | 3 +++ docs/samples/comparacion_simple.avap | 5 +++++ docs/samples/concatenacion_dinamica.avap | 3 +++ docs/samples/construccion_dinamica_de_objeto.avap | 4 ++++ docs/samples/contador_de_parametros.avap | 3 +++ docs/samples/conversion_timestamp_legible.avap | 2 ++ docs/samples/else_estandar.avap | 7 +++++++ docs/samples/expresion_compleja.avap | 6 ++++++ docs/samples/fecha_para_base_de_datos.avap | 2 ++ docs/samples/funcion_de_suma.avap | 6 ++++++ docs/samples/funcion_validacion_acceso.avap | 9 +++++++++ docs/samples/generador_de_tokens_aleatorios.avap | 2 ++ docs/samples/hash_SHA256_para_integridad.avap | 2 ++ docs/samples/hola_mundo.avap | 2 ++ docs/samples/if_desigualdad.avap | 6 ++++++ docs/samples/limpieza_de_strings.avap | 2 ++ docs/samples/manejo_error_sql_critico.avap | 5 +++++ docs/samples/obtencion_timestamp.avap | 2 ++ docs/samples/ormAccessCreate.avap | 6 ++++++ docs/samples/paginacion_dinamica_recursos.avap | 14 ++++++++++++++ docs/samples/referencia_por_valor.avap | 3 +++ docs/samples/respuesta_multiple.avap | 4 ++++ docs/samples/salida_bucle_correcta.avap | 8 ++++++++ docs/samples/try_catch_request.avap | 5 +++++ docs/samples/validacion_de_nulo.avap | 6 ++++++ docs/samples/validacion_in_pertenece_a_lista.avap | 5 +++++ 32 files changed, 146 insertions(+) create mode 100644 docs/samples/asignacion_booleana.avap create mode 100644 docs/samples/asignacion_matematica.avap create mode 100644 docs/samples/bucle_1_10.avap create mode 100644 docs/samples/bucle_longitud_de_datos.avap create mode 100644 docs/samples/calculo_de_expiracion.avap create mode 100644 docs/samples/captura_de_id.avap create mode 100644 docs/samples/captura_de_listas_multiples.avap create mode 100644 docs/samples/comparacion_simple.avap create mode 100644 docs/samples/concatenacion_dinamica.avap create mode 100644 docs/samples/construccion_dinamica_de_objeto.avap create mode 100644 docs/samples/contador_de_parametros.avap create mode 100644 docs/samples/conversion_timestamp_legible.avap create mode 100644 docs/samples/else_estandar.avap create mode 100644 docs/samples/expresion_compleja.avap create mode 100644 docs/samples/fecha_para_base_de_datos.avap create mode 100644 docs/samples/funcion_de_suma.avap create mode 100644 docs/samples/funcion_validacion_acceso.avap create mode 100644 docs/samples/generador_de_tokens_aleatorios.avap create mode 100644 docs/samples/hash_SHA256_para_integridad.avap create mode 100644 docs/samples/hola_mundo.avap create mode 100644 docs/samples/if_desigualdad.avap create mode 100644 docs/samples/limpieza_de_strings.avap create mode 100644 docs/samples/manejo_error_sql_critico.avap create mode 100644 docs/samples/obtencion_timestamp.avap create mode 100644 docs/samples/ormAccessCreate.avap create mode 100644 docs/samples/paginacion_dinamica_recursos.avap create mode 100644 docs/samples/referencia_por_valor.avap create mode 100644 docs/samples/respuesta_multiple.avap create mode 100644 docs/samples/salida_bucle_correcta.avap create mode 100644 docs/samples/try_catch_request.avap create mode 100644 docs/samples/validacion_de_nulo.avap create mode 100644 docs/samples/validacion_in_pertenece_a_lista.avap diff --git a/docs/samples/asignacion_booleana.avap b/docs/samples/asignacion_booleana.avap new file mode 100644 index 0000000..66e7b7c --- /dev/null +++ b/docs/samples/asignacion_booleana.avap @@ -0,0 +1,3 @@ +nivel = 5 +es_admin = nivel >= 10 +addResult(es_admin) \ No newline at end of file diff --git a/docs/samples/asignacion_matematica.avap b/docs/samples/asignacion_matematica.avap new file mode 100644 index 0000000..7f701f5 --- /dev/null +++ b/docs/samples/asignacion_matematica.avap @@ -0,0 +1,4 @@ +subtotal = 150.50 +iva = subtotal * 0.21 +total = subtotal + iva +addResult(total) \ No newline at end of file diff --git a/docs/samples/bucle_1_10.avap b/docs/samples/bucle_1_10.avap new file mode 100644 index 0000000..0881120 --- /dev/null +++ b/docs/samples/bucle_1_10.avap @@ -0,0 +1,6 @@ +startLoop(i,1,10) + item = "item_%s" % i + AddvariableToJSON(item,'valor_generado',mi_json) +endLoop() +addResult(mi_json) + diff --git a/docs/samples/bucle_longitud_de_datos.avap b/docs/samples/bucle_longitud_de_datos.avap new file mode 100644 index 0000000..72768fd --- /dev/null +++ b/docs/samples/bucle_longitud_de_datos.avap @@ -0,0 +1,7 @@ +registros = ['1','2','3'] +getListLen(registros, total) +contador = 0 +startLoop(idx, 0, 2) + actual = registros[int(idx)] +endLoop() +addResult(actual) \ No newline at end of file diff --git a/docs/samples/calculo_de_expiracion.avap b/docs/samples/calculo_de_expiracion.avap new file mode 100644 index 0000000..ba591cf --- /dev/null +++ b/docs/samples/calculo_de_expiracion.avap @@ -0,0 +1,2 @@ +getDateTime("", 86400, "UTC", expira) +addResult(expira) \ No newline at end of file diff --git a/docs/samples/captura_de_id.avap b/docs/samples/captura_de_id.avap new file mode 100644 index 0000000..e93739d --- /dev/null +++ b/docs/samples/captura_de_id.avap @@ -0,0 +1,2 @@ +addParam("client_id", id_interno) +addResult(id_interno) \ No newline at end of file diff --git a/docs/samples/captura_de_listas_multiples.avap b/docs/samples/captura_de_listas_multiples.avap new file mode 100644 index 0000000..de0ed6d --- /dev/null +++ b/docs/samples/captura_de_listas_multiples.avap @@ -0,0 +1,3 @@ +addParam(emails,emails) +getQueryParamList(lista_correos) +addResult(lista_correos) \ No newline at end of file diff --git a/docs/samples/comparacion_simple.avap b/docs/samples/comparacion_simple.avap new file mode 100644 index 0000000..2c899ac --- /dev/null +++ b/docs/samples/comparacion_simple.avap @@ -0,0 +1,5 @@ +addParam("lang", l) +if(l, "es", "=") + addVar(msg, "Hola") +end() +addResult(msg) \ No newline at end of file diff --git a/docs/samples/concatenacion_dinamica.avap b/docs/samples/concatenacion_dinamica.avap new file mode 100644 index 0000000..5497785 --- /dev/null +++ b/docs/samples/concatenacion_dinamica.avap @@ -0,0 +1,3 @@ +nombre = "Sistema" +log = "Evento registrado por: %s" % nombre +addResult(log) \ No newline at end of file diff --git a/docs/samples/construccion_dinamica_de_objeto.avap b/docs/samples/construccion_dinamica_de_objeto.avap new file mode 100644 index 0000000..cc28ff5 --- /dev/null +++ b/docs/samples/construccion_dinamica_de_objeto.avap @@ -0,0 +1,4 @@ +datos_cliente = "datos" +addVar(clave, "cliente_vip") +AddvariableToJSON(clave, datos_cliente, mi_json_final) +addResult(mi_json_final) \ No newline at end of file diff --git a/docs/samples/contador_de_parametros.avap b/docs/samples/contador_de_parametros.avap new file mode 100644 index 0000000..4a30ccd --- /dev/null +++ b/docs/samples/contador_de_parametros.avap @@ -0,0 +1,3 @@ +addParam("data_list", mi_lista) +getListLen(mi_lista, cantidad) +addResult(cantidad) \ No newline at end of file diff --git a/docs/samples/conversion_timestamp_legible.avap b/docs/samples/conversion_timestamp_legible.avap new file mode 100644 index 0000000..7f7ff1f --- /dev/null +++ b/docs/samples/conversion_timestamp_legible.avap @@ -0,0 +1,2 @@ +stampToDatetime(1708726162, "%d/%m/%Y", 0, fecha_human) +addResult(fecha_human) \ No newline at end of file diff --git a/docs/samples/else_estandar.avap b/docs/samples/else_estandar.avap new file mode 100644 index 0000000..a1c5322 --- /dev/null +++ b/docs/samples/else_estandar.avap @@ -0,0 +1,7 @@ +addParam(sal_par,saldo) +if(saldo, 0, ">") + permitir = True +else() + permitir = False +end() +addResult(permitir) \ No newline at end of file diff --git a/docs/samples/expresion_compleja.avap b/docs/samples/expresion_compleja.avap new file mode 100644 index 0000000..04516d3 --- /dev/null +++ b/docs/samples/expresion_compleja.avap @@ -0,0 +1,6 @@ +addParam(userrype, user_type) +addParam(sells, compras) +if(None, None, " user_type == 'VIP' or compras > 100") + addVar(descuento, 0.20) +end() +addResult(descuento) \ No newline at end of file diff --git a/docs/samples/fecha_para_base_de_datos.avap b/docs/samples/fecha_para_base_de_datos.avap new file mode 100644 index 0000000..553c5cb --- /dev/null +++ b/docs/samples/fecha_para_base_de_datos.avap @@ -0,0 +1,2 @@ +getDateTime("%Y-%m-%d %H:%M:%S", 0, "Europe/Madrid", sql_date) +addResult(sql_date) \ No newline at end of file diff --git a/docs/samples/funcion_de_suma.avap b/docs/samples/funcion_de_suma.avap new file mode 100644 index 0000000..ea781d0 --- /dev/null +++ b/docs/samples/funcion_de_suma.avap @@ -0,0 +1,6 @@ +function suma(a, b){ + total = a + b + return(total) + } +resultado = suma(10, 20) +addResult(resultado) \ No newline at end of file diff --git a/docs/samples/funcion_validacion_acceso.avap b/docs/samples/funcion_validacion_acceso.avap new file mode 100644 index 0000000..5a8a57b --- /dev/null +++ b/docs/samples/funcion_validacion_acceso.avap @@ -0,0 +1,9 @@ + function es_valido(token){ + response = False + if(token, "SECRET", "=") + response = True + end() + return(response) + } +autorizado = es_valido("SECRET") +addResult(autorizado) \ No newline at end of file diff --git a/docs/samples/generador_de_tokens_aleatorios.avap b/docs/samples/generador_de_tokens_aleatorios.avap new file mode 100644 index 0000000..0c2cf30 --- /dev/null +++ b/docs/samples/generador_de_tokens_aleatorios.avap @@ -0,0 +1,2 @@ +randomString("[A-Z]\d", 32, token_seguridad) +addResult(token_seguridad) \ No newline at end of file diff --git a/docs/samples/hash_SHA256_para_integridad.avap b/docs/samples/hash_SHA256_para_integridad.avap new file mode 100644 index 0000000..bb6ee3d --- /dev/null +++ b/docs/samples/hash_SHA256_para_integridad.avap @@ -0,0 +1,2 @@ +encodeSHA256("payload_data", checksum) +addResult(checksum) \ No newline at end of file diff --git a/docs/samples/hola_mundo.avap b/docs/samples/hola_mundo.avap new file mode 100644 index 0000000..e230cfd --- /dev/null +++ b/docs/samples/hola_mundo.avap @@ -0,0 +1,2 @@ +addVar(mensaje, "Hola mundo desde AVAP") +addResult(mensaje) \ No newline at end of file diff --git a/docs/samples/if_desigualdad.avap b/docs/samples/if_desigualdad.avap new file mode 100644 index 0000000..60d03e3 --- /dev/null +++ b/docs/samples/if_desigualdad.avap @@ -0,0 +1,6 @@ +addParam(password,pass_nueva) +pass_antigua = "password" +if(pass_nueva, pass_antigua, "!=") + addVar(cambio, "Contraseña actualizada") +end() +addResult(cambio) \ No newline at end of file diff --git a/docs/samples/limpieza_de_strings.avap b/docs/samples/limpieza_de_strings.avap new file mode 100644 index 0000000..b453138 --- /dev/null +++ b/docs/samples/limpieza_de_strings.avap @@ -0,0 +1,2 @@ +replace("REF_1234_OLD","OLD", "NEW", ref_actualizada) +addResult(ref_actualizada) \ No newline at end of file diff --git a/docs/samples/manejo_error_sql_critico.avap b/docs/samples/manejo_error_sql_critico.avap new file mode 100644 index 0000000..2f60df2 --- /dev/null +++ b/docs/samples/manejo_error_sql_critico.avap @@ -0,0 +1,5 @@ +try() + ormDirect("UPDATE table_inexistente SET a=1", res) +exception(e) + addVar(_status,500) + addResult("Error de base de datos") \ No newline at end of file diff --git a/docs/samples/obtencion_timestamp.avap b/docs/samples/obtencion_timestamp.avap new file mode 100644 index 0000000..a78eeab --- /dev/null +++ b/docs/samples/obtencion_timestamp.avap @@ -0,0 +1,2 @@ +getDateTime("", 0, "UTC", ahora) +addResult(ahora) \ No newline at end of file diff --git a/docs/samples/ormAccessCreate.avap b/docs/samples/ormAccessCreate.avap new file mode 100644 index 0000000..f33a6be --- /dev/null +++ b/docs/samples/ormAccessCreate.avap @@ -0,0 +1,6 @@ +ormCheckTable(tabla_pruebas,resultado_comprobacion) +if(resultado_comprobacion,False,'==') + ormCreateTable("username,age",'VARCHAR,INTEGER',tabla_pruebas,resultado_creacion) +end() +addResult(resultado_comprobacion) +addResult(resultado_creacion) \ No newline at end of file diff --git a/docs/samples/paginacion_dinamica_recursos.avap b/docs/samples/paginacion_dinamica_recursos.avap new file mode 100644 index 0000000..e87fc97 --- /dev/null +++ b/docs/samples/paginacion_dinamica_recursos.avap @@ -0,0 +1,14 @@ +addParam("page", p) +addParam("size", s) +registros = ["u1", "u2", "u3", "u4", "u5", "u6"] +offset = int(p) * int(s) +limite = offset + int(s) +contador = 0 +addResult(offset) +addResult(limite) +startLoop(i, 2, limite) + actual = registros[int(i)] + titulo = "reg_%s" % i + AddvariableToJSON(titulo, actual, pagina_json) +endLoop() +addResult(pagina_json) \ No newline at end of file diff --git a/docs/samples/referencia_por_valor.avap b/docs/samples/referencia_por_valor.avap new file mode 100644 index 0000000..4c6c979 --- /dev/null +++ b/docs/samples/referencia_por_valor.avap @@ -0,0 +1,3 @@ +addVar(base, 1000) +addVar(copia, $base) +addResult(copia) \ No newline at end of file diff --git a/docs/samples/respuesta_multiple.avap b/docs/samples/respuesta_multiple.avap new file mode 100644 index 0000000..1d1a44a --- /dev/null +++ b/docs/samples/respuesta_multiple.avap @@ -0,0 +1,4 @@ +addVar(code, 200) +addVar(status, "Success") +addResult(code) +addResult(status) \ No newline at end of file diff --git a/docs/samples/salida_bucle_correcta.avap b/docs/samples/salida_bucle_correcta.avap new file mode 100644 index 0000000..28aefad --- /dev/null +++ b/docs/samples/salida_bucle_correcta.avap @@ -0,0 +1,8 @@ +encontrado = False +startLoop(i, 1, 10) + if(i, 5, "==") + encontrado = True + i = 11 + end() +endLoop() +addResult(encontrado) \ No newline at end of file diff --git a/docs/samples/try_catch_request.avap b/docs/samples/try_catch_request.avap new file mode 100644 index 0000000..2430ecd --- /dev/null +++ b/docs/samples/try_catch_request.avap @@ -0,0 +1,5 @@ +try() + RequestGet("https://api.test.com/data", 0, 0, respuesta) +exception(e) + addVar(error_trace, "Fallo de conexión: %s" % e) + addResult(error_trace) diff --git a/docs/samples/validacion_de_nulo.avap b/docs/samples/validacion_de_nulo.avap new file mode 100644 index 0000000..d82ef74 --- /dev/null +++ b/docs/samples/validacion_de_nulo.avap @@ -0,0 +1,6 @@ +addParam("api_key", key) +if(key, None, "==") + addVar(_status, 403) + addVar(error, "Acceso denegado: falta API KEY") + addResult(error) +end() \ No newline at end of file diff --git a/docs/samples/validacion_in_pertenece_a_lista.avap b/docs/samples/validacion_in_pertenece_a_lista.avap new file mode 100644 index 0000000..defc9cc --- /dev/null +++ b/docs/samples/validacion_in_pertenece_a_lista.avap @@ -0,0 +1,5 @@ +addParam("rol", r) +if(r, ["admin", "editor", "root"], "in") + acceso = True +end() +addResult(acceso) \ No newline at end of file