Trigger ricostruzione per raccogliere la libreria condivisa JPQL query fix
Serialize imgId as String to prevent JavaScript precision loss
CockroachDB unique_rowid() IDs exceed Number.MAX_SAFE_INTEGER. Changed imgId from Long to String in UploadDocumentResponse and DocumentMetadata DTOs so Jackson ...
Download converted PDF from MinIO instead of original file
The converted-pdf endpoint was calling imageService.downloadDocument() which returns the original file. Now downloads directly from MinIO using the convertedDat...
Aggiungi il limite di 500MB multipart e l'URL del servizio di conversione a K8s configmap
Conversione PDF sincrona per gli upload di modelli di firma elettronica
Gli upload dei modelli ora convertono direttamente tramite ConversionService durante il richiesta di upload. Pubblica eventi di progresso NATS per WebSocket in ...
Add e-signature template API endpoints
- POST **************** — upload template with scope control - POST **************** — list templates by context and status - PATCH **************** — update te...
Sostituire Google re***** con la verifica Capcha ***
Rimuovere Re***Service e tutta la configurazione di Google re***. Aggiungi CapchaVerificationService che verifica *** payload via servizio kamo-capcha /api /ver...
Ricostruire per raccogliere la biblioteca condivisa RestTemplate fix (16bd71b)
Aggiungi segreto auth interno per il proxy API del catalogo pubblico
Aggiunta al servizio di sicurezza. in modo che l'APIService possa autenticarsi quando proxy l'abbonamento pubblico richieste di catalogo e promozioni.
Gli endpoint dell'account utilizzano campi di contatto diretti, nessun Utente richiesto
POST /customers ora salva firstName, lastName, email, telefono, indirizzo direttamente sul conto. PUT /customers/{uid} aggiorna tutti i campi diretti. Visualizz...
Migliorare POST / clienti per accettare informazioni di contatto e utente di ricerca via e-mail
Crea account ora accetta e-mail, contactName, telefono, accettaMarketing, taxExempt. Se l'e-mail è fornita e corrisponde a un utente esistente, automaticamente ...
Aggiungi 18 endpoint dettagli account per la gestione del cliente di commercio
Nuovi endpoint su AccountController sotto /api/security/account/: - CRUD cliente: GET/POST/PUT/DELETE /customers, GET /customers/{uid} - Dati associati: GET /cu...
Aggiornare gli endpoint del cliente per utilizzare Account (Long uid), rimuovere gli endpoint dell'indirizzo
Cliente/gruppo @PathVariable cambiato da UUID a Long per corrispondenza entità account. Rimozione degli endpoint di indirizzo — gli indirizzi provengono dal pri...
Retrigger costruire dopo la biblioteca condivisa PriceListEntryRepository Long fix
Aggiungi 111 punti vendita al dettaglio a CommerceMarketController
Tutti gli endpoint sotto /{marketId}/retail/... namespace cover: - Categorie, marche, attributi (con valori), immagini, varianti, tag, recensioni - Clienti, ind...
Pass includeInactive=true default per i modelli di accordo endpoint
Gestione modelli UI ha bisogno di vedere anche i modelli inattivi.
Aggiungi i endpoint delle categorie di fornitori mancanti a CommerceMarketController
GET/POST/PUT/DELETE /{marketId}/vendor-categorie mancavano, causando 404 quando la scheda Vendors ha cercato di caricare le categorie.
Expand CommerceMarketController with nested market-centric endpoints
Replace flat POS endpoints with market-scoped REST hierarchy: - Products, inventory, vendor categories under /{marketId}/products, /inventory, /vendor-categorie...
Include memberType, departmentId/Title, jobTitleId/Title in member profile GET response
Add LeadStatusLabelController for org-level CRM status label CRUD endpoints
Add department and job title assignment to member security endpoint
GET now returns departmentId/Title and jobTitleId/Title for team members. PUT accepts departmentId and jobTitleId to assign/unassign department and job title, w...
Sync social links to normalized social_links table
Write member social links to both the embedded EmbSocialLinks columns (backward compat) and the new normalized social_links table. Add socialLinksNormalized to ...
Rewrite MemberSecurityController as singleton config with roles, direct rights, session timeout
GET returns full member security config (associated roles, direct rights, session timeout override, applied rights with sources). PUT saves the entire config as...
Add MemberSecurityController for member role assignment and applied rights
Provides GET /member-security/{id} (assigned role, applied rights with sources, session timeout), PUT /member-security/{id}/role, and DELETE /member-security/{i...
Allow members to view their own account activity without VIEW_ACCESS_LOGS permission
Support internal service auth for subscription catalog and promotions endpoints
Add X-Internal-Auth + X-Public-Chat-Org-Id header validation so APIService can proxy public catalog requests to the subscription endpoints. Session auth still w...
Align POSController subscription endpoints with SubscriptionService signatures
Add subscription API endpoints to POSController (50+ endpoints)
Add complete enterprise subscription management endpoints covering plans, prices, features, add-ons, bundles, volume discounts, catalog, orders, subscriptions, ...
Query avatar_photos extension via SQL instead of Hibernate proxy
avatarRepository.findById() returns a Hibernate proxy (Avatar$HibernateProxy) that fails instanceof AvatarPhoto check. This caused the file extension to always ...
Use correct table name 'avatars' instead of 'avatar' in session SQL query
Store full avatar relative path in session instead of bare file hash
The login SQL now also fetches avatar_type and file_extension from avatar_photos so the session stores a complete relative path like **************** or *******...
Add first name, last name, and avatar hash to *** session
Include memberFirstName, memberLastName, and memberAvatarUrl in Redis session data so cross-domain services like KamoMeet can display proper user identity witho...
Auto-provision completed-stage app features in org domain endpoint
Moves auto-provisioning from the FeatureController (only hit from the apps settings page) to the SecurityController org domain endpoint (hit on every page load ...
Auto-provision missing completed-stage app features for existing orgs
When listing features, the controller now checks for missing OrgFeature rows for COMPLETED-stage apps and creates them. This ensures orgs created before new app...
Catch all exceptions in FeatureController enable/disable endpoints
Prevents uncaught RuntimeExceptions from becoming opaque 500 errors. Now returns structured error messages for any failure.
Prevent duplicate apps in features list by excluding all existing types
The available list was only excluding features with enabled=true, so a disabled feature (isActive=false) appeared in both the features array AND the available a...
Auto-refresh Redis session rights after feature/role changes
FeatureController and SecurityRoleController now rebuild the caller's session rights in Redis after enable/disable, role create/update/delete, and recalculate-r...
Add FeatureController for org app enable/disable management
REST endpoints for managing organization app features: GET features list, POST enable/disable with CONFIGURE_SYSTEM permission check, root-org-only gating for i...
Add POST **************** endpoint
Triggers org-wide member_rights_applied recalculation. Needed after schema migrations or manual DB changes to permissions.
Use targeted role-scoped rights recalculation
SecurityRoleController now uses updateRoleMemberRightsApplied() to only recalculate members who have the modified role, instead of recalculating all members in ...
Recalculate member_rights_applied after role create/update/delete
The member_rights_applied table was never recalculated when roles were modified, causing all members to have 0 applied rights. Now calls **************** after ...
Rebuild with updated shared library containing support permissions
SecurityService needs the new ACCEPT_SUPPORT_TICKETS and MANAGE_SUPPORT entries in RoleRightType enum to include them in *** session rights.
Come quello che vedi la spedizione?
Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.
