Add CustomFormController for custom forms API endpoints
- Add REST controller at /api/security/custom-forms - Implement GET, POST, PUT, DELETE endpoints for form management - Support form structure with stacks and fi...
Add detailed logging to LeadVendorController for debugging title field issues
Update LeadVendorController to use title and description instead of name
Add LeadVendorController with full CRUD for vendors and products
Change LeadMarketDTO IDs to String to prevent JavaScript precision loss
Trigger rebuild to pick up updated kamo-shared-library with explicit repository queries
Add detailed logging to getMarketById for debugging market lookup issues
Trigger rebuild to pick up updated kamo-shared-library with String salesType in DTO
Return proper error message when market not found in getMarketById
Trigger rebuild to pick up updated kamo-shared-library with String salesType DTOs
Convert String salesType to SaleType enum in LeadMarketController
Add LeadMarketController for managing lead markets via REST API
Use organization streamGuid for organization-wide media feed
- Added OrganizationRepository to MediaStreamController - Updated getFeed to use organization's streamGuid instead of querying all sessions - Updated createPost...
Fix compilation errors in MediaStreamController
- Fixed missing closing brace in getFeed method else block - Replaced Map.of() with HashMap for compatibility - Fixed stream variable to be effectively final fo...
Rename MediaFeedController to MediaStreamController and add lead stream support
- Renamed MediaFeedController to MediaStreamController for generic media stream handling - Added support for lead-specific streams via streamGuid - Feed endpoin...
Add MediaFeedController for social media feed
- Add MediaFeedController with REST endpoints for posts, comments, likes - Implement paginated feed endpoint with access level filtering - Add image upload endp...
Add AccountController with endpoints for Members & Subscribers and Employees & Contractors
JobTitleController now uses pre-authenticated session from OTKPreAuthFilter to prevent 401 errors
SecurityRoleController now uses pre-authenticated session from OTKPreAuthFilter to prevent 401 errors
DomainController now uses pre-authenticated session from OTKPreAuthFilter to prevent 401 errors
Invalidate existing session before creating new one during login
- Check for existing *** cookie in login request - Delete/invalidate existing session before creating new one - Prevents reusing old session cookies when loggin...
Clear session data before deleting key to ensure session is unusable
- Set session data to empty JSON ({}) before deleting the key - Ensures session is unusable even if deletion fails or there's replication lag - Add error handli...
Improve logout cookie clearing - clear cookies across all domain/path combinations
- Clear cookies with base domain (e.g., .kamocrm.com) to cover all subdomains - Clear cookies for current hostname without domain attribute - Clear cookies unre...
Trigger pipeline dopo kamo-shared-library avatarType aggiornamento campo
Utilizzare il campo avatarType invece di rilevamento proxy complesso
- Controllare il campo avatarTipo direttamente per un semplice controllo del tipo - Impostare avatarTipo quando si crea nuovi avatar - Molto più semplice e più ...
Query tutti gli avatar utente per ottenere entità reale invece di proxy
- Ottenere userId da avatar, quindi query findByUserId (ritorna entità reali) - Trova l'avatar corrispondente dall'elenco e controlla l'istanza - Questo evita p...
Utilizzare filtro semplice per controllare se avatar è foto o Avatar Creator
- Rimuovere la logica di rilevamento proxy complessa - Basta filtrare il risultato di findById per verificare se è AvatarPhoto - Se non foto, default a Avatar C...
Utilizzare Hibernate LazyInitializer per ottenere la classe di entità reale da proxy
- Accesso HibernateProxy's LazyInitializer per ottenere classe persistente - Controlla se la classe persistente è AvatarPhoto o AvatarAvatar Creator - L'inizial...
Suppress avvisi variabili non utilizzati nel rilevamento di tipo avatar
Utilizzare cast diretto per determinare il tipo di avatar invece di riflessione
- Provare colata a AvatarPhoto prima forzare inizializzazione proxy - Accesso getFileExtension() direttamente dopo il cast - Torna indietro a AvatarAvatar Creat...
Migliorare il rilevamento del tipo proxy catturando InvocazioneTargetException
- Maniglia ClassCastException quando si invocano metodi su proxy per determinare il tipo effettivo - Provare getFileExtension prima (foto), quindi ottenereStyle...
Migliorare la gestione del proxy Hibernate per il rilevamento di tipo avatar
- gerarchia di classe di ricerca e interfacce per il metodo getFileExtension - Utilizzare la riflessione per rilevare AvatarPhoto vs AvatarAvatar Creator quando...
Ricaricare avatar dal repository per risolvere istanza proxy Hibernate del problema
- Le entità avatar caricate da relazioni possono essere proxy ibernati che non riescono a controllare - Reload avatar da repository per ottenere il tipo di enti...
Aggiungi registrazione dettagliata per ottenereThemeDomain e ottenerePublicBucketUrl per debug avatar problemi di generazione dell'URL
Aggiungi registrazione dettagliata alla generazione di URL avatar per il debugging
- Accedi quando vengono generati URL avatar, quali URL vengono creati - Accedi quando manca l'avatar o gli URL sono nulli - Questo aiuterà a capire perché gli a...
Determinare l'avatar attivo controllando user.getAvatar() invece di RecordState
- Backend ora correttamente segna quale avatar è attivo confrontando user.getAvatar() - Questo assicura che la bandiera isActive nella risposta API rifletta l'a...
Add avatar URLs to members by-department endpoint with override mechanism
- Include avatar URL in each member response from **************** - Respect override mechanism: member avatar (if exists) → user avatar (default) - Frontend ...
Handle ISO date format and improve avatarId type parsing
- Added support for ISO date format (YYYY-MM-DD) in addition to M/d/yyyy - Improved avatarId parsing to handle Number types (Double, BigDecimal, etc.) from JSON...
Add better error handling and logging for user/member save operations
- Added try-catch around user save operation with detailed error logging - Added try-catch around member save operation with detailed error logging - Improved d...
Improve avatarId parsing to handle string, integer, and long types
- Added support for parsing avatarId from String type - Better error handling for invalid avatarId formats - Added logging for avatar assignment and errors
Add detailed logging to updateMemberProfile for debugging
- Added logging at start of updateMemberProfile method - Added logging before and after saving user and member - Improved error response to include error detail...
Add support for updating user name fields and dateOfBirth in member profile
- Added UserRepository to MemberController - Updated updateMemberProfile to handle namePrefix, nameFirst, nameMiddle, nameLast, nameSuffix, nameFirstAKA, nameLa...
Store avatar hash and extension in *** session data
- Added updateSession method to KSessionService for updating session fields - Updated setActiveAvatar to store userAvatarHash and userAvatarExtension in session...
Include avatar URLs in member profile response
- Added helper methods to generate avatar URLs (getThemeDomain, getPublicBucketName, generateFileHash, getPublicBucketUrl, generateAvatarUrl) - Updated getMembe...
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.
