Mergi la conținut
KAMOUniverse

Jurnal de schimbări

Ce e nou.

Fiecare îmbunătățire a platformei, pe măsură ce se livrează.

  1. · BillingService

    Rescrie serviciul de facturare în jurul grupurilor de facturare

    Şterge nivelul de org controlori, servicii şi DTO. Introduce: - BillingGroupController grup de montare, membri, abonamente, licențe, metode de plată și facturi la /api/billing/grupuri. - BillingGroupService (lifecycle + Implicit Group + Free baseline), BillingGroupMemberService (un singur grup-per-membru de aplicare); BillingGroupSubscriptionService (Sync stripe with back to FREE DEFAULT la anulare/lamă), ******************* BillingGroupInvoiceService, LicenseService (auto-dezactivation priority + invers-priority reactivation). - PlanCatalogServicii + PlanCatalogController la ************* - StripeWebhookServicii consumatoare de abonament / facturi / evenimente de plată-metodă. - DreptulInvalidator publicarea Redis semnale de invalidare. - PlatformAdminService + PlatformAdminController revenind la roll-up-uri per-org.

  2. · kamo-shared-library

    Înlocuiți facturarea org cu modelul BillingGroup

    Prezintă BillingGroup, BillingGroupMember, BillingGroupSubscription, BillingGroupLicense, BillingGroupMetoda de plată, BillingGroupInvoice și ENTITĂȚI CONFIG GROUP DE BILLING (toate în cadrul comerțului partajat/grupului de facturare/facturare). Drops the old BillingSubscription / BillingClient / BillingConfig / BillingPaymentMetoda / BillingInvoice / BillingCredit / BillingUtilizareSnapshot entităţi în întregime Abonarea KamoCRM ca bază. Adaugă joncţiune de securitateModelCommerceMarket corelarea modelelor de securitate cu piețele comerciale cu activarea per-scop.

  3. · SecurityService

    Interactiune Linia de membru a Centrului foloseste titluri de job

    Înlocuire titlu rol RBAC cu loc de muncăTitlul Oficial, rezervări la titlul postului catalogul pentru TeamMember și eticheta pentru membrul de bază înregistrări în câmpul de rol de sarcină utilă de la distanță.

  4. · kamo-internal

    Domeniul oficial al titlului de job pentru membrii echipei pe cardul meu de poziţie

  5. · kamo-shared-library

    Adaugă TeamMember.jobTitlulBiroul oficial al stringului opţional (60 de caractere)

  6. · SecurityService

    Expunerea și persistența postuluiTitlul Oficial pentru membrii echipei pe profil și API-uri de securitate a membrilor

  7. · KlusterServices

    Utilizați ECDSA P-256 pentru specificațiile certificatului de certificare și migrează RSA

  8. · kamo-shared-library

    Adăugați găsește EchipaMemberById pentru rezoluția de încredere a membrilor echipei

  9. · kamo-shared-library

    Încarcă tipurile de ramură cu modele de securitate prin org id

  10. · kamo-shared-library

    Cache-Control opțional privind încărcarea obiectului

    Utilizat prin furnizarea de teme astfel globals.css și config.json instrui browsere și proxy-uri de revalidare în loc de servire obiecte vechi cache.

  11. · SecurityService

    TemaRevision in config and cache headers on theme actives

    Emit temaRevision (epoch ms) în config.json pe fiecare scriere; set Cache-Control pe config, globals.css, și site-ul. Webmanifest uploads so edge caches revalidate.

  12. · kamo-shared-library

    Adaugă *************** pentru curăţarea avatarului

    Utilizat atunci când eliminați un avatar, astfel încât membrul suprascrie corelarea același rând poate fi șters înainte de ștergere.

  13. · kamo-internal

    Clear sessionStorage on fresh create via ?proaspete=1

    Navighează din rețea pentru a crea cu ?proaspete=1, dezbracă interogarea și utilizează o sistem de blocare cu durată scurtă de viață astfel încât să reacționeze modul strict nu restabilește un proiect vechi înainte continuă să alerge. Proiectul vrăjitorului trăieşte în sesiuneStorage (nu Storage local).

  14. · kamo-shared-library

    Politici de conformitate privind alcoolul/tobacco/arme de foc

    -Child ORG SECURITY MODELS coloane și entități defaults MEMBRU SELECT - DTO si ChildOrgSecurityModelService creeaza/actualizeaza normalizarea - AplicatModelEnforcementService aplică politici pentru copii org ATF steaguri și vârste singleton

  15. · SecurityService

    Expunerea politicilor ATF de conformitate cu modelele și tipurile de sucursale care pot fi create

    - OrganizationController aplică aplicarea modelului înainte de afirmaţiile de vârstă - SecurityModelController și MasterModelController trec domeniile de politică - SucursalaTypeController include politici în / tipuri de ramuri/creatabile

  16. · kamo-internal

    Expert de conformitate din politicile de model de securitate

    - Tipuri de sucursale API hărţi alcool / tutun / arme de foc politici în stare vrăjitor - Treaptă dinamică de conformitate: omite din navigaţie atunci când modelul fixează toate ATF şi vârstele - Vârstă și ATF controlează numai atunci când MEMBRU SELECT sau opțiuni de vârstă multiplă - Revizuire arată numai câmpurile pentru care a fost solicitat utilizatorul; Setări de conformitate titlu - Setări: Radiouri de politică ATF în limitele de vârstă permise ale membrilor (model de securitate) - Submit folosește eficientComplianceForSubmite pentru valorile aplicate

  17. · SecurityService

    Aliniere Aliase cunoscute cu DNS și auto-cert (add mail, play, aplicații, semn; drop app, media)

  18. · kamo-marketing

    Arată starea în direct cu link-ul de schimb și numărul zilnic

    Înlocuiți numărătoarea inversă a previzualului și copia de înscriere cu un compact "Acum LIVE" Callout, păstrați link-ul de schangelog, și întotdeauna arată astăzi se schimbă conta de la API după ce se încarcă. Actualizare previzualizareSfoara Banner peste localuri.

  19. · SecurityService

    Face RoleRightsSyncService complet auto-vindecare pe fiecare boot

    Adăugarea sau eliminarea unui RoleRightType nu trebuie să mai necesite niciodată rulare KamoInitializerService. SyncToate() rulează acum trei faze la fiecare pornire: 1. Constrangeri de vindecare Tabelul și să se asigure existența celor două constrângeri unice necesare pentru a se adapta. Hibernatul coace valorile enum în constrângerile de verificare la tabelul CREATE timp și niciodată nu le actualizează, și @UniqueConstraint are efect numai pe TABLE CREATE, astfel încât ambele derivă ori de câte ori enums evoluează. @Enumerate aplică deja valori valabile la stratul Java. 2. Şterge drepturile orfanilor în toate cele şase mese portante: Org role rights, *************** membru drepturi, membru drepturi aplicat, job title rights, dept rights. Se manipuleaza atat int ORDINAL cat si stocare enum-name. 3. Se introduc drepturile lipsă asigurată în faza 1. Idempotent Acum este nevoie de adăugarea/eliminarea valorilor enum doar repornirea Serviciului de Securitate.

  20. · kamo-internal

    Adăugați setările de administrare a platformei

    - Pagini noi sub /setări/platformă (păzită de hasPlatformAdminAccess): - /organizatii -/evenimente -/feed audit de *************** - /planuri catalog numai citire, inclusiv planuri interne (isPublic=fals) - useUserInfo: drives hasPlatformAdminAccess from Este GodModeActive () SAU (membru al echipei.isOrganizareOwner ȘI organizare.esteTopLevel) - facturareApi: namespace platforma (listOrgs, grantPlan, modificatorGrant, revocareGrant, listPlanuri, listeEvenimente) + header X-God-Mode-Active atunci când se stabilește steagul localStorage - /api/facturare proxy: forwards X-God-Mode-Active de la client la BillingService - Setări hub + SetăriStatusWindow: nou grup "Administrare Platform" - BillingManager: platforma-proprietar banner inlocuieste Stripe forma pentru org de nivel superior (conectat în /setări/cont ca filă de facturare) - FeaturesManager: "Platform Owner CTA atunci când org este de nivel superior și sub curent este COMP - Clasa Organizatie / OrgNetwork / PublicProvider: adauga iTopLevel; elimina morți de tip de teren și restul consumatorilor în pagina de rețea + relație manager - Elimină depreciate OrganizationType.ts

  21. · BillingService

    Adăugați platformaAdmin controler + serviciu pentru granturile de plan comp

    - PlatformAdminController la /api/billing/platform (class-level @PlatformAdminOnly) - GET /orgs, GET /orgs / {orgid} - POST /orgs/{orgId}/grants, PATCH - GET / Plans (include isPublic=fals) - GET / evenimente - PlatformAdminService: grant creeaza COMP AbonamentRecord, anuleaza activa anterioara sub, emite AbonamentEvent Nu-ţi face griji. idempotență 5s - @PlatformAdminOnly + HandlerInterceptor: permite God-mode-active OR (TeamMember.isOrganizationOwner and Organization.isTopLevel, re-read from DB) - AbonamentReînnoireScheduler: sucursala COMP anulează la expirare (COMP EXPIRED) şi niciodată nu-l cheamă pe Stripe. - BillingAdminService: Agregarea MRR/ARR exclude metoda de plată=COMP - Id-uri lungi expuse ca string (CockroachDB unic rowid precizie)

  22. · InitializerService

    Seed Organization.isTopLevel for kamocrm and HOTHER UNLIMITED auto-comp plan

    - DataLoader: drop Organization Tip arg de la creaseOrg, set isTopLevel=true on kamocrm - KamoCRMAgeReqUpdateRunner + test: meci pe IS TOP LEVEL = TRUE în loc de TIP - OrganizationTypeRemovalRunner: idepotent ALTER Table DROP COLUMN tip - PlatformOwnerPlanSeeder: idepotently ensure kamocrm-proprietar UNLIMITED plan acopera fiecare functie si detine un abonament permanent COMP pentru sine

  23. · kamo-shared-library

    Add Organization.isTopLevel, PaymentMetode.COMP, COMP * tipuri de evenimente; eliminați Organizația Tip enum

    - Organizatie: inlocuieste campul mort cu steagul pentru identificarea proprietarului platformei - Metoda de plată: adăugați COMP pentru granturi gratuite platforma-admin (fără Stripe) - AbonamentEventType: Adaugati COMP GRANETED, COMP REVOKED, COMP EXPIRED, COMP MODIFICAT - OrganizationRepository: add find FirstByIsTopLevelTrue() - OrganizationService: drop setType () call; câmpurile sunt acum conduse de isTopLevel

  24. · kamo-internal

    Ascunde butonul de dezabonare pentru org original al utilizatorului pe pagina de rețea

  25. · SecurityService

    Set orgOriginal privind înregistrarea și expunerea isOrig în rețelele mele

  26. · kamo-shared-library

    Adaugă câmp orgOriginal la Utilizator pentru a urmări org

  27. · kamo-internal

    Drepturile de sprijinire a cererii de aderare și vizualizarea biletelor în două moduri

    - NavTop: arată SuportButton pentru orice drept de sprijin (agent sau membru) - SuportButton: poarta fiecare element dropdown de dreapta Cere Webinar, Webinarii mei arată doar atunci când dreptul este deținut - SuportTicketListTab: dual-mode filtru și comutație atribuită mie; cei care solicită un membru își văd propria persoană numai bilete (createdByMe=true), coloane simplificate, New Ticket CTA - suport/pagină.tsx: Bilete poarta / Webinars mea / Analytics file de dreapta - Setări pagini (cont, departamente, integrări, operațiuni): Adăugaţi protecţie de redirecţionare CONFIGURE SISTEM; setări bord Contul meu Sectiune poarta de CONFIGURE SISTEM

  28. · kamo-shared-library

    Adaugă drepturile de sprijin ale membrilor (133-136)

    Adăugă patru noi drepturi de sprijin pentru membrii neagenți: - *************** (133) - CREATE support TICKET (134) - CERERE WEBINAR (135) - view MY SCHEDULED WEBINARS (136)

  29. · kamo-internal

    Elimină filtrele de coloană din filele membrilor și membrilor echipei

  30. · kamo-internal

    Adaugă butonul Sync Rights la SecurityRoleManager pentru orgile de nivel superior

    Butonul este vizibil doar atunci când organizația.Are Parent este fals. Apeluri Post /api/security/rols/sync-rights apoi reîncărcați tabelul de roluri.

Universul tău te așteaptă.

Începeți gratuit în câteva minute.Adăugați produse oricând sunteți pregătit — fără migrare, fără autentificări noi.

Gratuit pentru totdeauna — nu este necesar un card de credit