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...
Adicionar MediaFeedController para rede social
- Adicionar MediaFeedController com endpoints REST para posts, comentários, gosta - Implementar endpoint de alimentação paginada com filtragem de nível de acess...
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...
Gatilho de pipeline após a atualização do campo kamo-shared- library avatarType
Usar o campo avatarType em vez da detecção de proxy complexa
- Verifique o campo avatarType diretamente para verificação de tipo simples - Definir o avatarType ao criar novos avatars - Abordagem muito mais simples e perfo...
Consultar todos os avatares de usuário para obter a entidade real em vez de proxy
- Get userId from avatar, então query findByUserId (retorna entidades reais) - Encontrar avatar correspondente da lista e verificar a instância de - Isto evita ...
Use filtro simples para verificar se avatar é foto ou Avatar Creator
- Remover lógica complexa de detecção de proxy - Basta filtrar o resultado do findById para verificar se é o AvatarFoto - Se não foto, padrão para Avatar Criado...
Usar o Hibernate LazyInitializer para obter a classe de entidade real do proxy
- Acesse HibernateProxy's LazyInitializer para obter classe persistente - Verifique se a classe persistente é AvatarFoto ou AvatarAvatar Creator - Inicialização...
Suprimir os avisos variáveis não utilizados na detecção do tipo avatar
Usar elenco direto para determinar o tipo de avatar em vez de reflexão
- Tente elenco para AvatarFoto primeiro para forçar a inicialização proxy - Acesse getFileExtension() diretamente após o elenco - Recuar para AvatarAvatar Criad...
Melhorar a detecção do tipo de proxy capturando InvocationTargetException
- Lidar com ClassCastException ao invocar métodos no proxy para determinar o tipo real - Tente getFileExtension primeiro (foto), em seguida, getStyle (Avatar Cr...
Melhore o manuseio do proxy Hibernate para detecção do tipo avatar
- Pesquisa hierarquia de classe e interfaces para o método getFileExtension - Use a reflexão para detectar AvatarFoto vs AvatarAvatar Creator quando a instância...
Recarregar o avatar do repositório para resolver a instância de proxy do problema do Hibernate
- Entidades Avataras carregadas de relacionamentos podem ser proxies Hibernate que falham em verificações - Recarregar avatar do repositório para obter o tipo d...
Adicionar registro detalhado para obterThemeDomain e obter PublicBucketUrl para depurar problemas de geração de URL avatar
Adicionar um registo detalhado à geração de URL do avatar para depuração
- Registre quando URLs avatar são geradas, quais URLs são criadas - Registre quando os avatares estão faltando ou URLs são nulos - Isso ajudará a identificar po...
Determine active avatar by checking user.getAvatar() instead of RecordState
- Backend now correctly marks which avatar is active by comparing to user.getAvatar() - This ensures the isActive flag in the API response reflects the actual 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...
Add ThemeBackgroundController with hash-based storage and public bucket support
Como o que vês no transporte?
Tudo isso chega em seu espaço de trabalho por conta própria. Comece no plano gratuito e leia esta página novamente em um mês.
