Saltar al contenido
KAMOUniverse

Changelog

Qué hay de nuevo.

Cada mejora de la plataforma, a medida que se envía.

  1. · SecurityService

    Agregar cuentaConfiguraciónContralor - Servicio para preguntas de seguridad del teléfono (SP3)

    Permite a los usuarios registrados establecer/verificar el teléfono y configurar 3 preguntas de seguridad. Rutas a /api/account/* (sesión-autenticated via KSESSION-DATA).

  2. · SecurityService

    Agregar BulkTextSmsClient . EmailTemplateServiceClient . ContraseñaRecoveryController (SP3)

    Flujo completo de recuperación de contraseñas: enlace de correo electrónico, SMS OTP, preguntas de seguridad, frase de semillas. Rutas a /api/recover/* (unauthenticated). Utiliza el gasoducto de correo electrónico SP1 . VOIPService SMS.

  3. · VOIPService

    Añadir InternalAuthFilter . POST /api/bulktext/send para el servicio-servicio SMS (SP3)

  4. · kamo-shared-library

    Añadir entidades de recuperación . repos; bump a 1.3.0 (SP3)

    Añade PasswordResetToken, SmsOtp, RecoverySession, AccountVerificationCode Entidades JPA con repositorios correspondientes para el flujo de recuperación SP3.

  5. · kamo-shared-library

    Añadir SecurityQuestionCatalog enum . sq1/2/3 . semillaFhraseHash al Usuario (SP3)

  6. · InitializerService

    Añadir la tabla de recuperación de SP3 DDL - Agregaciones de columna de usuario a SchemaCleanupRunner

  7. · kamo-internal

    Vista previa de la ruta a través del modal de Browser reeded backend (parte de SP2)

    El EmailTemplateBrowser ahora posee la Vista previa modal directamente, por lo que el Gerente ya no necesita interceptar solicitudes de vista previa a nivel de fila y redirir en modo de edición.

  8. · kamo-internal

    Alambre EmailTemplateEdito a la API real

    Hidratos de templateApi.get, ahorra a través de templateApi.update. Categoría El menú desplegable con la API con la asequidad de creación de categoría. Variables El seleccionador lee de variableContracts.ts (contratos declarados para REQUIRED teclas de plantilla; conjunto común para CUSTOM). Edición de filas REQUIERDO / SISTEMA muestra la bandera de advertencia apropiada. El botón de vista previa abre el backend-rendered EmailTemplatePreview modal. Parte de SP2.

  9. · kamo-internal

    Alambre EmailTemplateBrowser a API real . Añada Sistema Defaults de la pestaña

    Reemplaza 140 líneas de datos simulados con llamadas templateApi.list(). Condicional La quinta pestaña 'System Defaults' aparece sólo para administradores y renders de primer nivel de respuesta.systemTemplates. Filtro de categoría poblado de categoríaApi.list (). Todas las acciones de la fila ************* golpear real espalda endpoints. Errores enrutadas a través de mangoApiError tostadas ayudante de tostadas. Parte de la SP2.

  10. · kamo-internal

    Agregar EmailTemplateDuplicateDialog (parte de SP2)

  11. · kamo-internal

    Añadir EmailTemplateCategoryManager modal (parte de SP2)

  12. · kamo-internal

    Añadir EmailTemplatePreview modal

    Abre en la vista previa de la acción fila. Backend-rendered via templateApi.preview(); resultado mostrado en un iframe de arena para el aislamiento de estilo. Coincide con el ruta de código exacto que utiliza el envío, así que lo que previsualiza es lo que consiguen los destinatarios. Parte de SP2.

  13. · kamo-internal

    Añadir plantillaApi . categoryApi . variableContratos de módulos de clientes

    Envuelve SP1 /api/email/templates/* y ******************* endpoints con ayudantes de TypeScript mecanografiados. variableContratos espejos SP1's TemplateKeys Javadoc por lo que se declaran los programas de picor variable del editor contratos para plantillas REQUIRED. Parte de SP2.

  14. · SecurityService

    Alambre EmailTemplateSeedClient en ****************

    Restterio delgados-Programar cliente que POSTs a EmailService's ************* después de un org .. Persistió. Rechaza dos veces con backoff; fallo lanza OrgProvisioningException y vuelve a rodar el entorno de la "Transactional" para que el propietario-TeamMember El ahorro se deshace (por SP1 especificaciones). Espejos del TranslateServiceClient existente Patrón X-Internal-Auth. k8s/configmap.yaml añade: email.service.url (EmailService URL interna) interno.auth.secret (valor de cabecera X-Internal-Auth) pom.xml baches de la biblioteca compartida de kamo 1.1.0 . Parte de la SP1.

  15. · EmailService

    Añadir EmailTemplateCategoríaController REST endpoints

    ********************** . La respuesta de eliminación incluye: ResignadoCount - el número de plantillas que se tomaron sin categorizar como el resultado de la eliminación de la categoría. Contexto de sesión leído a través de la misma **************** patrón como otros controladores de EmailService. Parte de la SP1.

  16. · EmailService

    Añadir EmailTemplateController REST endpoints REST

    Exposes /api/email/templates/* CRUD . previsualizar . duplicar . reset-to-default Servicio de servicio /send /send /seed-org/orgId. Orgs de alto nivel (sin padres) Además, vea el sistemaTemplados en la respuesta de la lista. Servicio a servicio Los endpoints están protegidos por el internoAuthFilter existente. Contexto de la sesión (orgID, memberID) lee del atributo REQ-ATTR-SESSION de OTKPKAuthFilter. el mismo patrón ya utilizado por AliasController / MailboxController. Parte de SP1.

  17. · EmailService

    Añadir InternaAuthFilter para endpoints de servicio a servicio

    Valida la cabecera X-Internal-Auth en /api/email/templates/send y /api/email/templates/seed-org/* paths. Otras rutas sortean este filtro (usar sesión auth los maneja). El secreto viene de INTERNAL-AUTH-SECRET env var. También añade transactional.smtp.user / transactional.smtp.pass los talonarios de configuración consumidos por EmailTemplateService, los tres se originan de la configuración k8s en producción. Parte de SP1.

  18. · EmailService

    Añadir EmailTemplateCategoryService . CRUD para categorías org-scoped

    Cunidad de nombre insensible por org impuesto en capa de servicio (cochas el índice único parcial en el DB). Supresión nulls categoryid en las plantillas afectadas antes de eliminar la fila de la categoría. Parte de la SP1.

  19. · EmailService

    Añadir EmailTemplateService . . . . . . . . . . . . . . . . . . . . . . . . .

    Orquesta central para el correo electrónico transaccional. sendarUser resuelve la plantilla, hace sujeto/cuerpo, elige el dominio primario de la organización.domains, y manos fuera de EmailSmtpService con NoRecurly.org.domain. como de-adress. Incluye semillaForOrg para gancho de bicicleta de vida de nueva or y reinicioToDefault copia el contenido de una fila de SYSTEM sobre una fila REQUIRED per-org. Auth para el envío utiliza credenciales de servicio SMTP transaccionales a nivel de grupo (transactional.smtp.user / transactional.smtp.pass) en lugar de por-miembro los envíos transaccionales no tienen ningún miembro interino. Parte de SP1.

  20. · EmailService

    Añadir NoRepuestriadoService para 'NoReReparaly-domain' de-adress

    Fuente única de la verdad para el correo electrónico transaccional de las direcciones. Acepta a cuerda de dominio, minúscula-normaliza, devuelve "NoReprosely-domain". Los llamantes deben resolver el dominio de la organización (a través de la organización.domainss busup o similar) y pasarlo. Parte de la SP1.

  21. · EmailService

    Añadir TemplateRenderer para la sustitución de .var.

    Retraedor de regido sin asentado. Vars desaparecidos sustituyen encadenada vacía y Emitir un registro WARN con plantillaKey .orgId para atribución. Sin fuga de HTML en v1 y los valores están controlados por el servidor. Parte de SP1.

  22. · InitializerService

    Añadir EmailTemplateSeedRunner for SYSTEM . per-org semilla de semilla

    Corre en la startup KamoInitializerService. Carga canónica plantillas de recursos de biblioteca compartida de kamo; upserts SYSTEM rowss (no Cincer); rellenos por filas per-org por cada org que aún no las tiene. Idempotente, seguro de volver a correr en cada startup. Parte de la SP1.

  23. · InitializerService

    Añadir índices únicos parciales . . . . . . . . . . . . . .

    Hibernate ddl-auto no puede generar índices únicos parciales o computarizados-CHECK limitaciones. Este compromiso los añade a través del corredor idempotente DDL existente patrón después de que Hibernate crea las tablas de base de las nuevas entidades. Parte de la SP1.

  24. · kamo-shared-library

    Añadir CanonicalTemplateLoader .ConicalTemplate disco

    Lee las tres plantillas REQUIRED (WELCOME, PASSWORD-RESET, EMAIL-VERIFICATION) de los recursos de las clases en ***************** Consumed by KamoInitializerService para la siembra de la mosca SISTEMA. Parte de SP1.

  25. · kamo-shared-library

    Añadir HTML canónico - JSON for WELCOME, PASSWORD-RESET, EMAIL-VERIFICATION

    Contenido de la fuente de la verdad para las filas SYSTEM. Cargado en KamoInitializerService startup by CanonicalTemplateLoader y UPSERTed a email-templates. Parte de SP1.

  26. · kamo-shared-library

    Añadir EmailTemplate entidad .

    Almacena una fila SYSTEM por plantilla.key (org.id NULL, is-system TRUE) plus un clon por org por plantilla. Soft-reference org.id/category.id. DB- sellos de tiempo conducidos; JSONB para bloques y etiquetas corporales. Proporción de repositorio Buscaciones de org-scoped, aumento de contador de uso atómico y eliminación de categorías limpieza mediante anulaciónCategoryForOrg. Parte de la SP1.

  27. · kamo-shared-library

    Agregar EmailTemplateCategoría entidad de repositorio

    Categorías de scoped para plantillas de email. Suave BIGINT org.id (no FK) coincide con los patrones existentes. Nombre de caso-insensible única per-org es se aplica a través de un índice parcial añadido en KamoInitializerService. Parte de SP1.

  28. · kamo-shared-library

    Añadir TemplateStatus enum - TemplateKeys constantes para plantillas transaccionales

    Declara los estados del ciclo de vida REQUIERDO/CUSTOM/ARCHIVED y los tres las claves de plantilla necesarias (WELCOME, PASSWORD-RESET, EMAIL-VERIFICATION). Contratos variables para cada plantilla REQUIRED documentada como Javadoc en la clase de constantes; Llamadas SP3 y SP4 hacen referencia a estos. Parte de la SP1.

  29. · InitializerService

    Semilla KamoCRM con ALL-WORK-ELIGIBLE en instalaciones frescas

    El ayudante createOrg() aplica este argumento único a ambos ageReqTypeMember y ageReqTypeTeamMember; de conformidad con Convención de la plataforma. Pares con KamoCRMAgeReqUpdateRunner que maneja los despliegues existentes a través de una actualización condicional. Completa SP5.

  30. · InitializerService

    Añadir corredor de una sola vez para migrar KamoCRM agereq a TODOS

    El idempotente condicional ACTUALTE se ejecuta en la puesta en marcha de servicios; DONE comprueba la cláusula el valor viejo esperado por lo que las re-corridas no son de noops. Los errores se inician y La startup ingerida no debe bloquear esta migración no crítica. Parte del SP5. Pares con la edición de DataLoader en la siguiente confirmación que hace fresco instala semilla el nuevo valor directamente.

Tu universo está esperando.

Comience gratis en minutos y agregue productos cuando esté listo, sin migración ni nuevos inicios de sesión.

Gratis para siempre: no se requiere tarjeta de crédito