Direkt zum Inhalt
KAMOUniverse

Changelog

Was ist neu?

Jede Verbesserung an der Plattform, wie sie geliefert wird.

  1. · BillingService

    BillingService rund um BillingGroups neu schreiben

    Löscht die org-Ebene **************** Controller, Services und DTOs. Einführung: - BillingGroupController Montagegruppen, Mitglieder, Abonnements, Lizenzen, Zahlungsmethoden und Rechnungen unter /api/billing/groups. - BillingGroupService (Lebenszyklus + Default Group + Free Baseline), BillingGroupMitgliedService (eine Gruppe pro Person Durchsetzung), BillingGroupSubscriptionService (Stripe-Synchronisation mit Fallback zu FREE_DEFAULT auf Stornierung/Verfall), ************ BillingGroupInvoiceService, LicenseService (Auto-Deaktivierungspriorität + Inverse-Priority Reaktivierung). - PlanCatalogService + PlanCatalogController bei ************ - StripeWebhookService verbrauchende Abonnement / Rechnung / Zahlungsmethode Veranstaltungen. - EntitlementInvalidator veröffentlicht Redis-Invalidierungssignale. - PlatformAdminService + PlatformAdminController, der die Roll-ups perorg zurückgibt.

  2. · kamo-shared-library

    Org-Level-Rechnungen mit BillingGroup-Modell ersetzen

    BillingGroup, BillingGroupMitglied, BillingGroupAbonnement, BillingGroupLicense, BillingGroupPaymentMethod, BillingGroupInvoice und BillingGroupConfig-Einheiten (alle im Rahmen gemeinsamer Handel/Billing/Billinggroup). Drops the old BillingAbonnement / BillingCustomer / BillingConfig / BillingPaymentMethod / BillingInvoice / BillingCredit / BillingUsageSnapshot komplett . jeder Org bekommt jetzt eine Standardgruppe mit einem FREE_DEFAULT KamoCRM Abonnement als Basis. Fügt SecurityModelCommerceMarket Kreuzung Verknüpfung von Sicherheitsmodellen mit Handelsmärkten per-scope enablement.

  3. · SecurityService

    Interaction Center Mitgliedslinie verwendet Berufsbezeichnungen

    RBAC-Rollentitel durch jobTitleOfficial ersetzen, zurück zu JobTitle Katalogtitel für TeamMember und das Label Member für Basismitglied Aufzeichnungen im Bereich der Nutzlast-Rollenseite.

  4. · kamo-internal

    Offizielles Berufsbezeichnungsfeld für Teammitglieder auf meiner Profil-Positionskarte

  5. · kamo-shared-library

    TeamMember.jobTitleOfficial optionale String-Säule hinzufügen (60 Zeichen)

  6. · SecurityService

    Entlare und beharrliche jobTitleOfficial für Teammitglieder auf Profil- und Member-Security-APIs

  7. · KlusterServices

    Verwenden Sie ECDSA P-256 für Zertifikate-Spezifikationen und migrieren RSA

  8. · kamo-shared-library

    findTeamById für zuverlässige TeamMember-Auflösung hinzufügen

  9. · kamo-shared-library

    Filialtypen mit Sicherheitsmodellen durch org-ID laden

  10. · kamo-shared-library

    Optionale Cache-Control auf Objekt-Upload

    Wird durch Themenbereitstellung verwendet, so globals.css und config.json instruct Browser und Proxys zu revalidate, anstatt abgestandene ingekachete Objekte zu dienen.

  11. · SecurityService

    ThemeRevision in Konfiguration und Cache-Header auf Themen-Assets-Assets

    Emit themeRevision (epoch ms) in config.json auf jedem Schreiben; Set Cache-Control auf config, globals.css und site.webmanifest Uploads so edge caches revalidate.

  12. · kamo-shared-library

    ************ für Avatar-Werber hinzufügen

    Wird beim Entfernen eines Avatars verwendet, so dass das Mitglied überschreibt und auf dieselbe Zeile verweist, kann vor dem Löschen gelöscht werden.

  13. · kamo-internal

    Klarer Assistent sessionStorage auf frischer Einrichtung über ?fresh=1

    Navigieren Sie von Netzwerk, um mit ?fresh=1 zu erstellen, entfernen Sie die Abfrage, und verwenden Sie eine kurzlebiges Schloss, so React Strict Mode nicht wiederherzustellen einen alten Entwurf vor persist läuft. Wizard Draft lebt in sessionStorage (nicht localStorage).

  14. · kamo-shared-library

    Maßnahmen zur Einhaltung von Alkohol/Tabak/Feuerwaffen

    - CHILD_ORG_SECURITY_MODELS Spalten und Entitäts-Standards MEMBER_SELECT - DTO und ChildOrgSecurityModelService Normalisierung erstellen/aktualisieren - AppliedModelEnforcementService wendet Richtlinien für Kinder oder ATF-Flags und Singleton Alter

  15. · SecurityService

    ATF-Compliance-Richtlinien für Modelle und cretable Filialtypen aufdecken

    - OrganizationController wendet Musterdurchsetzung vor Altersbehauptungen an - SecurityModelController und MasterModelController bestehen Richtlinienfelder - BranchTypeController beinhaltet Richtlinien in /branch-types/creatable

  16. · kamo-internal

    Compliance-Zauberer aus Sicherheitsmodellrichtlinien

    - Zweigstellen-Typen API Karten Alkohol/Tabak/Feuerwaffen-Politik in den Assistentenzustand - Dynamic Compliance Schritt: weg von nav, wenn Modell behebt alle ATF und Alter - Alter und ATF kontrolliert nur, wenn MEMBER_SELECT oder mehrere Altersoptionen - Review zeigt nur Felder, auf die der Benutzer aufgefordert wurde; Titel Compliance-Einstellungen - Einstellungen: ATF-Politikradios unter erlaubten Mitglied Altersbereichen (Sicherheitsmodell) - Submit verwendet effektiveComplianceForSubmit für durchgesetzte Werte

  17. · SecurityService

    Align KnownAliases mit DNS und Auto-Zertscheide (Mails, Wiedergabe, Apps, Zeichen; Drop-App, Medien)

  18. · kamo-marketing

    Live-Staat mit Changelog-Link und Tageszählung anzeigen

    Preview-Countdown und Anmeldung mit einem kompakten "Now LIVE" ersetzen Callout, halten Sie die changelog Link, und zeigen Sie immer die heutige Änderung zählen von der API nach dem Laden. Update VorschauBanner Strings über Locales.

  19. · SecurityService

    Machen Sie RoleRightsSyncService vollständig selbstheilend auf jedem Boot

    Das Hinzufügen oder Entfernen eines RoleRightType darf nie wieder laufen KamoInitializerService. syncAll() läuft jetzt drei Phasen auf jedem Start: 1. Heal-Beschränkungen - lassen Sie jede CHECK-Beschränkung auf jede Rechtsträgerin fallen Tabelle und stellen Sie sicher, dass die beiden upsert-erforderlichen einzigartigen Einschränkungen existieren. Hibernate backt Enum-Werte in CHECK Einschränkungen bei CREATE TABLE Zeit und aktualisiert sie nie, und @UniqueConstraint wirkt nur auf CREATE TABLE, so dass beide driften, wenn Enums entwickeln. @Aufgezählt bereits gültige Werte in der Java-Layer setzt sie auf. 2. Verwaiste Rechte löschen - DELETE WHERE right_type NOT IN (current enum) Über alle sechs rechtsgelagerten Tabellen: org_role_rights, **************** member_rights, member_rights_applied, job_title_rights, dept_rights. Griffe sowohl ORDINAL int und STRING enum-name Lagerung. 3. fehlende Rechte einfügen - unverändert; sich auf die einzigartigen Einschränkungen verlässt in Phase 1 sichergestellt. Idempotent - sicher zu wiederholen. Hinzufügen/Entfernen von Enum-Werten erfordert jetzt nur der Neustart von SecurityService.

  20. · kamo-internal

    Plattform-Verwaltungseinstellungen hinzufügen - org planen Zuschüsse, Veranstaltungen, Plankatalog

    - Neue Seiten unter /settings/platform (bewacht von hasPlatformAdminAccess): - /Organisationen - Liste jedes Org, grant/modify/revoke COMP-Pläne mit Gründen - /events - Audit-Feed von **************** - /pläne - Lesekatalog inklusive interner (isPublic=false) Pläne - useUserInfo: abgelöst hatPlatformAdminAccess von isGodModeActive() ODER (teamMember.isOrganizationOwner UND Organisation.isTopLevel) - billingApi: platform namespace (listOrgs, grantPlan, modifizieren Grant, revokeGrant, listPlans, listEvents) + X-God-Mode-Active Header beim Setzen von localStorage - /api/billing Proxy: leitet X-God-Mode-Active vom Client zum BillingService - Einstellungen-Hub + EinstellungenStatusWindow: neue "Plattformverwaltung"-Gruppe - BillingManager: Plattform-Besitzer-Banner ersetzt Stripe-Formular für Top-Level org (verdrahtet in /settings/account als Abrechnungs-Tab) - FeaturesManager: "Plattform-Besitzer - Innen" Header und unterdrücktes Upgrade CTAs, wenn org top-level und aktuell sub ist COMP - Organisationsklasse / OrgNetwork / PublicProvider: hinzufügen istTopLevel; entfernen toter "Typ"-Feld und die übrig gebliebenen Verbraucher in Netzwerk-Seite + Beziehung Manager - Entfernen Sie veraltete OrganisationType.ts

  21. · BillingService

    PlatformAdmin Controller + Service für Comp Plan Grants hinzufügen

    - PlatformAdminController bei /api/billing/platform (Klassenebene @PlatformAdminOnly) - GET /orgs, GET /orgs/{orgId' - POST /orgs/{orgId'/grants, PATCH|DELETE /orgs/{orgId'/granants/{subId' - GET /plans (enthält isPublic=false) - GET /events - PlatformAdminService: Zuschuss schafft COMP Abonnement, löscht voraktiv sub, emittiert AbonnementEvent ************ 5s idempotency - @PlattformAdminOnly + HandlerInterceptor: zulassen, dass Gott-mode-aktive ODER (TeamMember.isOrganizationOwner AND Organization.isTopLevel, von DB neu gelesen) - AbonnementRenewalScheduler: COMP-Filiale storniert bei Ablauf (COMP_EXPIRED) und ruft Stripe nie an - BillingAdminService: MRR/ARR Aggregation schließt PaymentMethod=COMP aus - Lange als String belichtet (CockroachDB unique_rowid precision)

  22. · InitializerService

    Seed Organization.isTopLevel für Kamokrm und OWNER_UNLIMITED Selbst-Comp-Plan

    - DataLoader: drop OrganizationType arg from createOrg, set isTopLevel=true on kamocrm - KamoCRMAgeReqUpdateRunner + Test: Spiel auf IS_TOP_LEVEL = TRUE statt TYPE - OrganisationTypeRemovalRunner: idempotent ALTER TABLE DROP COLUMN Typ - PlatformOwnerPlanSeeder: idempotently sicherstellen, dass der im Besitz von OWNER_UNLIMITED Plan jede Funktion abdeckt und ein permanentes COMP-Abonnement für sich hält

  23. · kamo-shared-library

    Hinzufügen von Organization.isTopLevel, PaymentMethod.COMP, COMP_* Eventtypen; Entfernen Sie OrganizationType enum

    - Organisation: Ersetzen Sie totes Feld mit "isTopLevel"-Flagge für Plattform-Besitzer-Identifikation - PaymentMethod: COMP für kostenlose Plattform-admin Stipendien hinzufügen (keine Streifen) - AbonnementEventType: COMP_GRANTED, COMP_REVOKED, COMP_EXPIRED, COMP_MODIFIED hinzufügen - OrganisationRepository: findFirstByIsTopLevel hinzufügen() - OrganisationService: drop setType() call; Felder werden jetzt von isTopLevel gefahren

  24. · kamo-internal

    Abmelden-Button für das Original org des Benutzers auf Netzwerk-Seite ausschließen

  25. · SecurityService

    OrgOriginal auf Registrierung setzen und aussetzen istOriginalOrg in my-networks

  26. · kamo-shared-library

    OrgOriginal-Feld zum Benutzer zur Trackregistrierung hinzufügen org

  27. · kamo-internal

    Member-Antwort-Unterstützungs-Gating und Dual-Mode-Ticket Ansicht

    - NavTop: zeigen SupportButton für jede Unterstützungsrecht (Agent oder Mitglied) - SupportButton: Gate jeder Dropdown-Artikel rechts - Erstellen/Ansicht-Tickets, Webinar anfragen, Meine Webinars nur angezeigt, wenn das Recht gehalten wird - SupportTicketListTab: Dual-Mode - Agenten siehe Volltabelle mit Thema filtern und zu-me-schalten; Mitglied-Anfragende sehen ihre eigenen Tickets nur (createdByMe=true), vereinfachte Spalten, Neues Ticket CTA - support/page.tsx: gate Tickets/My Webinars/Analytics tabs von rechts - Einstellungen Seiten (Konto, Abteilungen, Integrationen, Operationen): CONFIGURE_SYSTEM Redirect guard hinzufügen; Einstellungen Dashboard Mein Konto Abschnitt umzäunt von CONFIGURE_SYSTEM

  28. · kamo-shared-library

    Unterstützungsrechte für Mitglieder-Anhänger hinzufügen (133-136)

    Fügt vier neue SUPPORT-rechte für Nicht-Agenten-Mitglieder hinzu: - **************** (133) - CREATE_SUPPORT_TICKET (134) - REQUEST_WEBINAR (135) - VIEW_MY_SCHEDULED_WEBINARS (136)

  29. · kamo-internal

    Spaltenfilter von Mitgliedern und Teammitgliedern entfernen

  30. · kamo-internal

    Sync Rights-Button zu SecurityRoleManager für Top-Level orgs hinzufügen

    Button ist nur sichtbar, wenn organisatorisch.hasParent falsch ist. Anrufe POST /api/security/roles/sync-Rechte lädt dann die Rollentabelle neu auf.

Euer Universum wartet.

Fügen Sie Produkte hinzu, wann immer Sie möchten – keine Migration, keine neuen Anmeldungen.

Für immer kostenlos – keine Kreditkarte erforderlich