Changelog
Ce qui est nouveau.
Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.
· kamo-marketing
Ajouter/demande des liens de navigation directe, une section de la page d'accueil et une ligne de comparaison des caractéristiques du plan
- En-tête : Demandes ajoutées en tant que lien direct de haut niveau entre la tarification et l'entreprise Pieds: demandes ajoutées à la colonne du produit pour la visibilité directe - Page de prix: bannière de dev callout personnalisée entre les paquets et comparaison des caractéristiques Page des caractéristiques: appel de requêtes de fonctionnalité avant le CTA - Page d'accueil: nouvelle section de suivi des demandes entre les prix et la FAQ indiquant l'accès au niveau du plan - JumpToBar: lien de saut de demandes ajouté entre la tarification et la FAQ DB : FEATURE-REQUESTS ensemencés dans la catégorie de soutien avec des valeurs de texte par plan (Libre: Vote communautaire, Démarreur: Vote et demande, Entreprise: Demandes prioritaires, Entreprises: Custom dev inclus) - KamoCRMPricingLoder: mise à jour avec la définition des caractéristiques et les mappages de caractéristiques de FEATURE-REQUESTS
· kamo-internal
AppConfigs - Paramètres du modèle de surface appliqué - bascule privée
- BranchSetupManager: mapBackendModel hydrate maintenant l'appli persistée Conffigures Retour par backend (disponibilité et permiseCommerceTypes par service type) au lieu de les remettre à NON DISPONIBLE sur la charge. Épargner les charges utiles pour les flux de modèle enfant et de modèle maître incluent des appConfigs de sorte que le disponibilité par application et restrictions de type CRM pour les restrictions aller-retour à l'arrêt de la concurrence. Maîtrise L'éditeur de modèle réutilise mapBackendModel pour qu'il se comporte de manière identique. - crochet de modèle utilisé: le type de réponse étendue porte désormais le type de réponse élargie les réglages scalaires du modèle (allowOwnersViewOtherOrgs, permitOwnersPrivateOrgs, Permettre SubChildOrgs, tranches d'âge, identitéProviderSetting, teamMemberPayFeesSetting), la carte de l'applicationConfigs, et l'orggIsPrivate, etc. futur éditeur (gestionnaire de fond, configure OAuth, marché du commerce) peut être à portée uniformément sans se remettre à la reprise. - Toggle privéeorge: nouvelle voie par procuration (PATCH) et une carte de visibilité apparaissant sur la languette des types de branches, délimitée par permitOwnersPrivateOrgs. Lorsqu'ils sont activés, d'autres propriétaires d'og n'auront pas ce point. dans les listes. L'interface utilisateur optimiste se rapproche du prochain modèle appliqué rafraîchissement.
· BillingService
Mettre en place les frais de paie pour les membres de l'équipe à la création de la clientèle de Stripe
Bumps kamo-shared-library dépendance à 1.5.0 afin que BillingService puisse résoudre le nouveau service d'application et le membre d'équipe de filage contre orgg l'exécution des frais de paie - équipeMembrePayFeesSetting - PAS DISPONIBLE: création d'un membre spécifique Le client de facturation (auto-paiement) est rejeté - l'orgoie doit couvrir les frais. - TeamMemberPayFeesSetting et FORCE-ENABLE: création d'un client au niveau de l'ordre qui couvriraient les accusations des membres de l'équipe sont rejetées - les membres de l'équipe doivent payer eux-mêmes. - OPTIONNEL : l'un ou l'autre des flux est autorisé. L'application de la législation est la meilleure épreuve lorsque l'orge ne peut pas être résolu (dans les contextes d'outillage, les données héritées du comportement hérité au lieu de bloquer.
· SecurityService
Application du modèle de fil sur chaque responsable du traitement
Chaque réglage non-rôle sur le modèle de sécurité appliqué est désormais appliqué à la limite de contrôleur exacte qu'il régit, et les réglages scalaires aller-retour De manière propre, à travers les éditeurs de modèles maîtres/enfants afin que l'interface utilisateur puisse les atteindre. Lorsque la brancheTypeID est réglée, regardez le type de branche pour dériver l'ordonnance mère; appel assertSubChildOrgAbrid et assertAgeRangeAlementé pour les deux membres et les créneaux horaires d'âge des membres de l'équipe avant de s'engager. Nouveau PATCH /-id/visibilité Le point d'extrémité permet aux propriétaires de retourner Organization.isPrivate, gâché par assertCanSetPrivate. getAll Organizations s'applique filterVisibleOrgsPourViewers donc les résultats respectent les deux permiseViewOtherOrgs sur le modèle du spectateur et le drapeau is privé sur les candidats. - Appel assertAppEnableAutoviron assertAppDisableAutoliled donc PAS DISPOSITIONS N'est pas activée et Les applications FORCE-ENABLED ne peuvent pas être désactivées. OAuthConfigureCluteur POST/PUT : assertCanManageIdentityFlocats le fournisseur CRUD lorsque identityProviderSetting - PASDISILABLE. - CommerceMarketController POST/PUT: assertCommerceTypeLétombe a type de commerce non listé dans l'application du modèle pour CRM. - SecurityModelContrôleur et maîtreModelContrôleur: Appaller-retourConfigs via la création/mise à jour des charges utiles et les réponses GET. Nouveau processusAppConfigs helper accepte le formulaire de liste utilisé par l'éditeur frontal. - AppliedModelController: la réponse inclut désormais les paramètres scalaires complets bloc (allowOwnersViewOtherOrgs, permitpsPristersPrierOrgs, allowSubChildOrgs, les tranches d'âge, identityProviderSetting, équipeMemberPayFeesSetting) et PCAPIC est la carte de sorte que les éditeurs frontaux peuvent être mis en place de manière uniforme. Egalement des surfaces orgIsPrivate pour que la bascule vie privée reste en synchronisme.
· kamo-shared-library
Appliquer tous les cadres non-rôles sur ChildOrgSecurityModel
Ajout d'une application de bout en bout pour les paramètres restants sur une organisation appliquée modèle de sécurité. Tous les paramètres qui n'étaient auparavant que lus (ou ont été supprimés save) a maintenant une voie de persistance, un agent d'exécution et une interface utilisateur crochet pour le consommer. Couche de données: - Organisation.isPrivate (colonne de la vanoun, false par défaut) et org Drapeau de visibilité, placé à travers le nouveau PATCH MasterModelController-gate terminal. - ServiceDisponibilitéType enum (OPTIONNELLE-DEFAULT-ENABLED / OPTIONNEL-DEFAULT-DISABLE / NON PLAQUET/FORCÉABLES/FORCÉABLES-ÉLEVABLES. ChildOrgSecurityModelAppConfig entité - repo - service - persiste par application disponibilité (et le système de gestion de la technologie des technologies autorisées par CRM) a précédemment chuté. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -, -, -, -, -, -,,,,,,,,,, Exécution en cours d'exécution: - AppliedModelEnforcementService consolide chaque vérification utilisé par les appelants: assertSubChildOrgAchat, assertAgeRangeAllited, - isIdentityProviderRequis, assertCanSetPrivate, filtreVisibleOrgsForViewer, assertTeamMemberCanSelfPayFees, isTeamMemberPayFeesForced / Blocked, assertAppEnableAllowed, assertDisableAllowed, getAppAvailability, getDefaultEnabledAppsForChild, assertCommerceTyLâché, getAllowedCommerceTypes. Nulle-safe: "pas de modèle appliqué" permet tout. - ChildOrgTemplateSeedingService étendu à la tête OrgFeature rows de l'application mère Conffig par défaut (FORCE-ENABLED et OPTIONNEL-DEFAULT-ÉNÉABLES) sur les nouvelles organisations d'enfants, donc des orgs nouvellement provisionnés trouver la bonne surface par défaut.
· kamo-internal
Serrer les rôles obligatoires du système dans l'interface utilisateur d'affectation des rôles
- PublicProvider: admission branchTypeID/masterModelID sur l'entrée la charge utile d'organisation de sorte que l'onglet de type de branche peut porter de manière fiable le Bouton "Edit Master Model" (précédemment basé sur la sérialisation de Jackson écoulement à travers le contrôle de type brouillard). - RôlesPermissionsTab: la grille de la case à cocher indique désormais le système requis rôle(s) en cas de vérification et de handicap sur la base du type de membre et du pavillon du propriétaire: Les membres de type membre: "Les membres" sont nécessaires. Les membres du type de membre de l'équipe sont tenus de s'adresser aux membres de l'équipe. :: Propriétaires de type membre de l'équipe: "Administrateur (Accès complet)" est en outre requis. Une puce "requise" et un indice explicatif rendent la contrainte visible par le éditeur. Tentifier le fait de basculer un rôle obligatoire est un non-op; le backend La réconciliation dans MemberSecurityController l'ajouterait de toute façon de toute façon.
· SecurityService
Appliquer le rôle du système et auto-administrateur pour les chefs d'équipe
Le Contrôleur de sécurité fait maintenant exécuter les trois invariants d'affectation défini dans la technique de la remue-méninges: - saveMemberSecurity: avant la persistance du rôle demandé de l'appelant, Augmente l'ensemble avec le(s) rôle(s) obligatoire(s) du système basé sur le type de membre: Les membres de type membre obtiennent toujours un rôleMemberID; membres de type membre de l'équipe toujours faire roleTeamMemberID; les propriétaires de membres d'équipe reçoivent toujours roleAdminID. LinkedHashSet préserve la commande de l'appelant lors du dépoussiérage. - Mise à jourMemberAccess: lorsque le drapeau du propriétaire bascule, le rôle de l'administrateur est ajouté ou supprimé sur le membre de l'équipe pour maintenir les affectations de rôle en synchronisme avec la propriété. Le recalcul appliqué aux droits est effectué dans la même transaction Les lectures en aval voient immédiatement les autorisations effectives mises à jour.
· kamo-shared-library
Appliquer les règles de force modèle et la résolution des défaillances de DEFAULT sur les droits des membres
- Roulement désormais de l'application Les 4 modèles de rôle par défaut du modèle en plus de la cascade existante (rôlesorgs - Département - titre d'emploi - membre : - Forme-garanti-type-type-rigated/FORCE-NUKE gagne sur tous les niveaux de cascade. Le modèle est choisi par type de membre: les propriétaires d'équipes utilisent ADMINISTRATOR, les membres de l'équipe utilisent TEAM-MEMBER, les membres de la plaine utilisent MEMBER. - Les valeurs de FORCE modèle DEFAULT gagnent sur la cascarne lorsque le modèle de type rôle n'a pas de règle de force pour ce droit (préséance du Q7). - Les valeurs non contraignantes de la démocratie (GRANTE/NUKE) agissent comme de dernière ligne de défense pour les droits qui ne se sont pas prononcés sur le NOTICE après la totalité de la cascade. AppliedModelResolverService est injecté sous la forme d'un système «auto-fréquence» des câblages d'essai unitaire existants qui ne construisent que les deux constructeurs - obligatoires Les dépôts continuent de fonctionner, ce qui dégrade la voie de l'héritage sans règles de force.
· kamo-internal
Ajouter l'éditeur de modèle principal, les modèles et le port de l'règle de force
Surface le nouveau modèle de sécurité de type branche dans l'interface utilisateur: - l'onglet de type de branche prend un bouton "Edit Master Model" (cachée lorsque le org a une brancheTypeID attribuée) qui ouvre l'éditeur de modèle dans master mode: pas de champ de nom, pas de puce de type de branche, sauvegarde des coups /master-modèle. - L'éditeur de modèle (à la fois add-child-model et edit-master-model) gagne un nouveau Section "Default Security Roles" après "Apps autorisé", avec des onglets pour Administrateur/membre de l'équipe / membre / DEFAULT et réglages à 5 valeurs (FORCE-GRANT, GRANDE, NON SPÉCIFIÉ, FORCE-NUKE, NUKE). - Nouvelles utilisationsAppliedModel() crochets/api/security/applied-model une fois et expose Forced (nom de droite, roleType) pour les éditeurs consommateurs. - Rôles de sécurité, départements, titres d'emploi et participations par membre pages cachent les droits bloqués par les modèles applicables: - rôles de sécurité: les rôles du système utilisent leur modèle de mise en correspondance - DEFAULT; les rôles personnalisés utilisent DEFAULT uniquement (Q11 response A). - départements - titres d'emploi : DEFAULT uniquement (non spécifique au rôle). Page des membres: modèle de type membre (ÉAM-EMBRE vs MEMBRE) et DEFAULT (Q8 réponse C, ordre d'évaluation de type premier). Nouvelles routes proxy: /api/sécurité/marche maître (GET/PUT), /api/sécurité/modèle appliqué (GET).
· SecurityService
Critères d'évaluation du modèle principal et des terminaisons d'org de modèle appliqués et de l'org de prise de l'org
Ajoute les contrôleurs qui font surface sur le nouveau flux de sécurité de type branche: - /api/sécurité/master-mode (GET/PUT) gère le maître de l'ordonnance actuelle modèle; seul scriptable lorsque Organization.branchTypeID est nul. - /api/sécurité/modèle appliqué (GET) détermine le modèle qui régit cet org et retourne des cartes de la règle de force par modèle pour le portorage frontal. - SecurityModelContrôleurs - sorts-tours des 4 modèles de rôle par défaut de ses charges utiles existantes. - OrganisationContrôleur propage la nouvelle brancheTypeID à partir de la demande corps et graines des rôles du nouveau système de l'ordre des 3 rôles du modèle appliqué modèles via ChildOrgTemplateSeedingService.
· kamo-shared-library
Ajouter le modèle maître, les modèles de rôle par défaut et le résolveur de modèle appliqué
Introduit la couche de données pour le nouveau flux de modèle de sécurité de type branche: - L'organisation gagne des colonnes de type idesucith et de modèle de maître. - Nouveau modèle de rôleSettingType enum avec 5 valeurs (FORCE-GRANT, DÉCLARATION, NOT-SPECIFIED, FORCE-NUKE, NUKE) pour les réglages de couche-datrice. - Nouveau DefaultRoleType enum (ADMINISTRATOR, ÉQUIPE-MÉME, MEMBRE, DEFAULT) pour les 4 modèles de rôle attachés à chaque ChildOrgSecurityModel. - Nouvelles entités - et plus leurs pensions, services et DTO. - AppliedModelResolverService résout le modèle qui régit un gisure donné (brancheType-Hhérité ou maître) et expose les recherches à l'autonomie. - ChildOrgTemplateSeedingService seeds new child orgs' 3 rôles system avec Valeurs GRANDES/NUKE à partir des modèles du modèle appliqué; les valeurs de force restent dans le modèle et sont appliqués au moment de l'exécution. OrgRoleRight continue d'utiliser le rôle à 3 valeurs les valeurs de force sont strictement un concept de couche de modèle.
· kamo-internal
Ajouter champ d'entrée de puce de type de branche à l'éditeur de modèle de sécurité
BranchTypeChipField avec basculement de point coloré, étiquette d'édition sur clic, et X supprimer Dialog pour l'édition du nom/description - Tirs d'abandon automatiques des types GET/api/sécurité/branches, à l'exclusion des types de modèles actuels, montrent le modèle source pour les types de modèles intermodèles - handleSaveModel envoie branchingTypes et deletedBranchTypeIds en charge utile PUT/POST - Table de liste obtient la colonne des types de branches avec des puces à points colorées - chargeModels map mapal branchTypes à partir de la réponse dorsale
· kamo-login
Retirez MANAGE-USERS directement de RoleRightType
· kamo-register
Retirez MANAGE-USERS directement de RoleRightType
· kamo-internal
Retirer MANAGE-USERS de toutes les références frontales
· kamo-shared-library
Retirez MANAGE-USERS droit (id-19) de RoleRightType enum
· kamo-internal
Ajouter une API de sécurité de type de branche
· SecurityService
Types de branchement de fil dans les critères de sécurité CRUD
· kamo-shared-library
Élargir ChildOrgSecurityModelDTO avec des champs complets et des embranchements
· kamo-shared-library
Ajouter OrgBranchTypeService
· kamo-shared-library
Ajouter OrgBranchTypeRepository
· kamo-shared-library
Ajouter OrgBranchTypeDTO
· kamo-shared-library
Ajouter OrgBranchType entité
· kamo-internal
Mettre à jour BranchSetupManager sous-titre pour référencer l'étiquette de type de branche dynamique
· kamo-internal
Renommer l'onglet Branch Setup en mode dynamique "barbe" et mettre à jour l'URL en types de branchement
· kamo-login
Reset Capcha - après chaque tentative de connexion échouée
Les utilisateurs doivent revérifier qu'ils sont humains après chaque mot de passe incorrect. Appelle widget.reset() et efface CapchaVerified/payload state sur à la fois de défaillance des justificatifs d'identité et des erreurs de réseau.
· EmailService
Logo d'auto-injectionUrl, logoSimpleUrl, et les variables orgName à l'heure d'envoi
EmailTemplateService fusionne désormais des variables de base (logoUrl, logoSimpleUrl, orgName) dérivé du domaine principal de l'ordonnance avant la restitution, donc toutes les transactions Les modèles peuvent faire référence à l'adresse «logoUrl» et «logoSimpleUrl» sans appelants. d'avoir besoin de les transmettre explicitement. Les vars fournis par l'appel d'offres ont toujours la priorité.
· kamo-internal
Ajouter des portes d'autorisation pour les champs au niveau de l'utilisateur et la section de changement de mot de passe dans MyAccountTab
· kamo-internal
Ajouter la porte d'accès et la garde de l'onglet MANAGE-MEMBER-SECURITY à la page des paramètres des membres
· kamo-internal
Ajouter change-mot de passe Next.js route proxy API

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