Înapoi la preţurile add-on cu un Billing Meter
Stripe (>=2025-03-31.basil) respinge utilizarea moștenită type+splay usage model contorizat ('preţurile măsurate trebuie să fie susţinute de metri), astfel încâ...
Gestionați Organizația.isPlatformProduct de pe Platformă → Orgs
PlatformaContExpuneri Sumare estePlatformProdus + areAbonare Piața; nouă Pune-o aici. (platform-admin gated) stabilește steagul și invalidează drepturile membri...
Scope concurrency to build jobs, not Kubernetes deploys
Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...
Adăugați @JsonProperty la este*-prefix boolean DTO câmpurile
Lombok generează isXxx() is-getters pentru câmpurile booleane numite isXxx. Jackson fâşii de plumb "este" de la ist-geters şi le serializează ca 'xxx' mai degra...
Include conturile care vizează subscrierea în lista org
listaForOrg returnează acum și conturile ale căror abonamente vizează Orga solicitată nu numai conturile deținute direct de aceasta. În multiorg model de cont p...
Subs target a sub-org; per-sub members divided from account admins
Abonamente necesită acum o țintăOrganizareId pe crearea tinta org) triplu este noua cheie unicitate. ContBillingMemberService este Împărțit în Serviciul membru...
Utilizați Cont.membri prin AccountMembers; redenumește esteGroupPlanManager -> isAccountManager
Contul este acum grupul, astfel încât toate trimiterile la vechi AccountBillingMember entity are a subliniat noua entitate generică Nu-ţi face griji. entitate. ...
Rescrie serviciul de facturare pe entități bazate pe conturi
Serviciul de facturare este acum centrat pe cont. Fluxuri conduse de membri (de exemplu: "Adauga o carte," "Aboneaza-te la un plan") trece acum printr-un Cont c...
Utilizați Utilizator.getName().formatFull() în loc de a elimina getNameFull()
Foloseşte-te de asta. getter primitiv
isOrganizationOwner este un boolean primitiv pe TeamMember, deci Lombok- Accesor generat este isOrganizationOwner () not getIsOrganizationOwner (). Repara compi...
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...
Expune abonamentul comercial pe GET / Abonamente / curent
Atunci când nu există nici un rând oglindă dungi, rezolva comerțul activ org AbonamentRecord (de exemplu, granturi COMP), include metoda de plată și caracterist...
Aliniază evenimentul de abonament tip SQL cu inițializator (doar picătură)
SQL pentru extinderea verificării de tip eveniment tip pentru evenimentele de abonament COMP
SQL pentru a permite COMP cu privire la verificările de plată a abonamentului metodă
Rebuild for kamo-shared-library update (remove OrganizationType, adaugati isTopLevel)
Rebuild for kamo-shared-library update (remove OrganizationType, adaugati isTopLevel)
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 / ...
Rebuild for kamo-shared-library update (CREATE_CHILD_ORG right + apply-to flags)
Pulls the new RoleRightType.CREATE_CHILD_ORG (id 131), the three apply-to flags on ChildOrgSecurityModel, the two 13-arg service overloads, and the AppliedModel...
Rebuild for kamo-shared-library update (appConfig upsert-only fix)
Pulls the hardened **************** that no longer deletes appConfig rows whose service types are absent from the caller's payload — prevents silent data loss w...
Rebuild for kamo-shared-library update (effective-feature resolver)
Picks up the new AppliedModelEnforcementService methods (computeAvailabilitiesMap, isAppEffectivelyEnabled, getEffectivelyEnabledAppTypes, computeEffectiveFeatu...
Enforce team-member pay-fees setting at Stripe customer creation
Bumps kamo-shared-library dependency to 1.5.0 so BillingService can resolve the new AppliedModelEnforcementService, and wires team-member vs org pay-fees enforc...
Rebuild for kamo-shared-library update (runtime force rules + DEFAULT fallback in MemberRightsAppliedService)
Triggers a rebuild so this service picks up the updated **************** that applies template force rules and DEFAULT-template fallbacks on top of the existing...
Rebuild for kamo-shared-library update (master model, default role templates, force-rule resolver)
Triggers a rebuild so this service pulls the new kamo-shared-library revision containing Organization.branchTypeID, Organization.masterModelID, ****************...
Resolve 23 compilation errors from controller-service signature mismatches
Controllers were built by a separate agent from services, causing method name and parameter type mismatches. Fixed all controllers to match actual service signa...
Update kamo-shared-library version from 1.0.0 to 1.1.0
The shared library is published as 1.1.0, not 1.0.0. This was causing the Docker build to fail with "artifact not found" since Maven could not resolve the depen...
Add -U flag to maven build steps to resolve shared library from local repo
The dependency:go-offline step was trying Maven Central first, getting a cached failure for kamo-shared-library (which is local-only), and that poisoned the sub...
Initial BillingService — Stripe-integrated billing for KamoCRM
Complete Spring Boot service for managing KamoCRM billing via Stripe: - Stripe Customer, Subscription, PaymentMethod, Invoice lifecycle management - Credit sys...
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.