Aller au contenu
KAMOUniverse

Changelog

Ce qui est nouveau.

Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.

  1. · SecurityService

    Ajouter AccountSettingsContrôleur et service pour les questions de téléphone et de sécurité (SP3)

    Permet aux utilisateurs connectés de paramétrables/vérifier le téléphone et de configurer 3 questions de sécurité. Itinéraires vers /api/account/- (sauthentité par l'intermédiaire de KSESSION-DATA).

  2. · SecurityService

    Ajouter BulkTextSmsClient et EmailTemplateServiceClient et PasswordRecoveryController (SP3)

    Flux complet de récupération de mot de passe: lien par courrier électronique, SMS OTP, questions de sécurité, phrase de départ. Itinéraires vers /api/recover/z (non authentifié). Utilise le pipeline de courrier électronique SP1 et VOIPService SMS.

  3. · VOIPService

    Ajouter InternalAuthFilter et POST/api/bulktext/send pour le service-service SMS (SP3)

  4. · kamo-shared-library

    Ajouter les entités de récupération et les repos; bump à 1.3.0 (SP3)

    Ajouter PasswordResetToken, SmsOtp, RecoverySession, AccountVerificationCode Entités JPA avec référentiels correspondants pour le flux de récupération SP3.

  5. · kamo-shared-library

    Ajouter SecurityQuestionCatalog enum sq1/2/3 et seedPhraseHash à l'utilisateur (SP3)

  6. · InitializerService

    Ajouter SP3 table de récupération DDL - Additions de la colonne d'utilisateurs à SchemaCleanupRunner

  7. · kamo-internal

    Prévisualisation de la route grâce au modal redescendu de Browser (partie de SP2)

    Le logiciel EmailTemplateBrowser est désormais propriétaire du modèle de prévisualisation directement, de sorte que Le gestionnaire n'a plus besoin d'intercepter les demandes de prévisualisation au niveau des lignes et rediriger vers le mode éditer.

  8. · kamo-internal

    Fil EmailTemplateEdit vers l'API réelle

    Hydrates de templateApi.get, sauvegarde via templateApi.update. Catégorie déroulante est basée sur l'API avec la création de catégorie en ligne. Variables Le sélecteur est indiqué à partir de variableContracts.ts (contrats déclarés pour REGARTENGIEC clés de modèle; ensemble commun pour CUSTOM). Édition de la ligne REQUISE / SYSTEME montre la bannière d'avertissement appropriée. Le bouton de prévisualisation ouvre le EmailTemplatePreview modal. Fait partie de la PS2.

  9. · kamo-internal

    Wire EmailTemplateBrowser vers l'API réelle et ajouter l'onglet Système par défaut

    Remplace la ligne de données simulées par des appels templateApi.list(). Conditionnel cinquième onglet 'System Defaults' apparaît uniquement pour les administrateurs et rendus de haut niveau de response.systemTemplates. Filtre de catégorie rempli de catégorieApi.list(). Toutes les actions au rang de ligne - frapper réel les critères dorsaux. Erreurs acheminées par l'intermédiaire de l'aide au toast de handleApiError. Fait partie de la PS2.

  10. · kamo-internal

    Ajouter EmailTemplateDuplicateDialog (partie de SP2)

  11. · kamo-internal

    Ajouter EmailTemplateCategoryManager modal (partie de SP2)

  12. · kamo-internal

    Ajouter EmailTemplatePreview modal

    S'ouvre sur la prévisualisation de l'action en ligne. Dossier par l'intermédiaire de templateApi.preview(); résultat affiché dans une iframe bac à sable pour l'isolation de style. Correspond à la chemin de code exact que l'envoi utilise, donc ce que vous prévisualisez est ce que les destinataires obtiennent. Fait partie de la PS2.

  13. · kamo-internal

    Ajouter templateApi et categoryApi et variableContracts clients modules clients

    S'enroue sur les scripts de la SP1/api/courriers/mesure/- les critères d'évaluation avec les assistants de typeScript dactylographiés. variableContracts miroirs SP1 TemplateKeys Javadoc donc les émissions de sélection variable de l'éditeur déclarés les contrats de modèles REQUIS. Fait partie du SP2.

  14. · SecurityService

    Wire EmailTemplateSeedClient dans

    Client de Thin RestTest que POST est à EmailService Après un org et propriétaire TeamMember sont ont persisté. Retrie deux fois avec le backoff; échecs lancer OrgProvisioningException et retourne l'agglomération de l'org et du propriétaire-membre save est défait (par SP1 spec). Rétroviseurs existants TranslateServiceClient Modèle X-Internal-Auth. k8s/configmap.yaml ajoute: email.service.url (URL interne EmailService) interne.auth.secret (valeur de l'en-tête X-Internal-Auth de l'échelle du groupement) pom.xml bosses kamo-shared-library 1.1.0 Fait partie de la disposition spéciale 1.

  15. · EmailService

    Ajouter EmailTemplateCategoryController REST

    - CRUD. Supprimer la réponse comprend reassignéCount - le nombre de modèles qui ne sont pas classés le résultat de la suppression de la catégorie. Contexte de la session lu - Modèle en tant qu'autres contrôleurs EmailService. Fait partie de la disposition spéciale 1

  16. · EmailService

    Ajouter EmailTemplateCritères de REST et DTO

    Exposes /api/email/templates/- CRUD - prévisualisation - doublement - réinitialisation à défaut Service-to-service /send /seed-org/-org--org- Orgs de premier niveau (pas de parent) Voir en outre systemTemplates dans la réponse de liste. Service à service les critères d'évaluation sont protégés par l'actuel dispositif InternalAuthFilter. Contexte de la session (orgID, memberID) lire à partir de l'attribut REQ-ATTR-SESSION d'OTKPREAuthPilter le même modèle déjà utilisé par AliasController / MailboxController. Fait partie du SP1.

  17. · EmailService

    Ajouter InternalAuthFilter pour les critères d'évaluation de service à service

    Validation de l'en-tête X-Internal-Auth sur /api/email/templates/send et /api/email/templates/seed-org/- chemins. D'autres chemins contournent ce filtre (La session d'utilisateurs les gère). Le secret provient d'INTERNAL-AUTH-SECRET env var. Ajouter également transactional.smtp.user / transactional.smtp.pass stubs de configuration consommés par EmailTemplateService - tous les trois sont à l'origine à partir de la configuration k8s dans la production. Fait partie de la PS1.

  18. · EmailService

    Ajouter EmailTemplateCategoryService et CRUD pour les catégories à champ d'application org

    Nom insensible au casque d'unicité par org l'ordonnance appliquée au niveau de service (correspond à l'indice unique partiel dans le DB). Suppression nulls category-id sur les modèles concernés avant de supprimer la ligne de catégorie. Fait partie de la PS1.

  19. · EmailService

    Ajouter EmailTemplateService et CRUD - envoyer - semence - réinitialisation à défaut

    Orchestre principal pour le courrier électronique transactionnel. sendToUser résout le modèle, rend le sujet/corps, choisit le domaine principal de l'organisation auprès des domaines d'organisation, et remets-le à EmailSmtpService avec NoReply.org.domain. Inclut seedForOrg pour le crochet de cycle de vie new-org et resetTofault that copie le contenu d'une ligne SYSTEM sur une ligne REQUISE par or. Auth pour l'envoi utilise des justificatifs SMTP transactionnels à l'échelle du cluster (transactional.smtp.user / transactional.smtp.pass) plutôt que par membre Le résolveur de fournisseur et les envois transactionnels n'ont pas de membre à agissant. Fait partie de la disposition spéciale 1

  20. · EmailService

    Ajouter NoReplySenderService pour 'NoReply'domain' à partir de l'adresse

    Source unique de vérité pour les courriers transactionnels à partir d'adresses. Accepte a chaîne de domaine, la sous-cassette la répercute, retourne "NoReply-domain". Les appelants doivent résoudre le domaine de l'organisation (via la recherche de l'organisation.domains ou similaire) et le faire passer. Fait partie du SP1.

  21. · EmailService

    Ajouter TemplateRenderer pour la substitution de l'Avar

    Cendleur de regex d'État. Les cuves manquantes remplacent la ficelle vide et émettre un journal WARN avec templateKey et orgId pour l'attribution. Pas d'échappement HTML dans v1 - les valeurs sont contrôlées par le serveur. Fait partie de la disposition spéciale 1.

  22. · InitializerService

    Ajouter EmailTemplateSeedRunner for SYSTEM et par or ensemencement

    S'exécute à l'Order (20) sur le startup KamoInitializerService. Charges canoniques modèles à partir de ressources de kamo-shared-library; upserts SYSTEM rows (non clobber); remblaye par or lignes pour chaque or qui n'en a pas encore. Idempotent et sûr à refaire à chaque startup. Fait partie de la disposition spéciale 1

  23. · InitializerService

    Ajouter des index uniques partiels et des contraintes CHECK pour les e-mails-modèles

    Hibernate ddl-auto ne peut pas générer d'indices uniques partiels ou de chèvre calculé contraintes. Cet engagement les ajoute via le idempotent idempotent DDL runner existant Le motif après Hibernate crée les tables de base des nouvelles entités. Fait partie de la disposition spéciale 1

  24. · kamo-shared-library

    Ajouter CanonicalTemplateLoader et CanonicalTemplate record

    Lire les trois modèles REQUIS (COMSEAU, PASSWORD-RESET, EMAIL-VERIFICATION) à partir des ressources de la voie de classe à Consommé par KamoInitializerService pour l'ensemencement de la ligne SYSTEM. Fait partie de la disposition spéciale 1.

  25. · kamo-shared-library

    Ajouter HTML canonique et JSON pour BIENVENUE, PASSWORD-RESET, EMAIL-VERIFICATION

    Contenu de la source de la vérité pour les lignes SYSTEM. Chargement à KamoInitializerService démarrage par CanonicalTemplateLoader et UPSERTed dans e-mail-templates. Fait partie de la disposition spéciale 1

  26. · kamo-shared-library

    Ajouter EmailTemplate entité et référentiel

    Conserve une ligne SYSTEM par modèle-clé (org-id NULL, is-system TRUE) plus un clone par org par modèle. Soft-reference org-id/category-id. DB- les horodatages pilotés; JSONB pour les blocs corporels et les étiquettes. Le registre fournit les recherches à criblage, l'incrément de compteur d'utilisation atomique et la catégorie-suppression Nettoyage via nullifyCategoryForOrg. Fait partie du SP1.

  27. · kamo-shared-library

    Ajouter EmailTemplateCategory entité et référentiel

    Catégories à criblage pour les modèles d'e-mails. Soft BIGINT org-id (pas de FK) correspond aux modèles existants. L'unicité du nom insensible au cas par or est appliqué via un indice partiel ajouté dans KamoInitializerService. Fait partie de la SP1.

  28. · kamo-shared-library

    Ajouter TemplateStatus enum et TemplateKeys constantes pour les modèles transactionnels

    Déclare les états de cycle de vie REQUIS/CUSTOM/ARCHIVÉ et les trois clés de modèle requises (COMSEAU, PASSWORD-RESET, EMAIL-VERIFICATION). Contrats variables pour chaque modèle REQUIS documenté en tant que Javadoc les classes de constantes; les appelants SP3 et SP4 se réfèrent à celles-ci. Fait partie du document PS1.

  29. · InitializerService

    Semener KamoCRM avec All-WORK-ELIGIBLE sur des installations fraîches

    L'aide createOrg() applique cet argument unique aux deux AgeReqTypeMembre et âgeReqTypeTeamMembre ; cohérent avec convention de la plate-forme. Assaisonnant avec KamoCRMAgeReqUpdateRunner qui gère les déploiements existants via une MISE À JOUR conditionnelle. Achève la disposition spéciale 5.

  30. · InitializerService

    Ajouter un coureur à usage unique pour migrer KamoCRM agereq à All WORK-ELIGIBLE

    MISE À JOUR conditionnelle idémpotent s'exécute au démarrage du service; LORS, les contrôles de la clause l'ancienne valeur attendue, de sorte que les rediffusions sont nulles. Les erreurs sont enregistrées et La start-up avalée ne doit pas bloquer cette migration non critique. Fait partie de la disposition spéciale 5 de la Convention. Paires avec l'édition DataLoader dans le prochain commit qui fait frais installe directement la nouvelle valeur.

Votre univers vous attend.

Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.

Gratuit pour toujours — aucune carte de crédit requise