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...
Тригерний трубопровід після оновлення камо-шаредно-ліберного аватару
Use avatarType field instead of complex proxy detection
- Перевірте поле avatarType безпосередньо для перевірки простого типу - Встановити аватарТип при створенні нових аватар - Більш простий і більш функціональний п...
Запитайте всі аватари користувачів, щоб отримати реальну особу замість проксі
- Отримати UserId з аватара, потім знайти запитуByUserId (повернення реальних суб'єктів) - Знайдіть відповідні аватар з списку та перевірте екземпляр - Це дозво...
Використовуйте простий фільтр для перевірки, якщо avatar є фото або Avatar Creator
- Вилучити складну логіку виявлення проксі - Просто відфільтруйте FindById результат, щоб перевірити, чи це AvatarPhoto - Якщо не фото, за замовчуванням до Avat...
Використовуйте Hibernate LazyInitializer для отримання фактичного класу суб'єкта з проксі
- Доступ HibernateProxy's LazyInitializer для отримання стійкий клас - Перевірте, чи стійкий клас є AvatarPhoto або AvatarAvatar Creator - Прискорення ініціаліз...
Suppress невикористані змінні попередження в виявлення типу аватара
Використовуйте прямий ролик для визначення типу аватар замість відбиття
- Спробуйте лиття до AvatarPhoto першим для примусової ініціалізації проксі - Доступ getFileExtension() безпосередньо після лиття - Падіння назад до AvatarAvata...
Покращити виявлення проксі-типу за допомогою ловлювання InvocationTargetException
- Handle ClassCastException при виклику методів на проксі для визначення фактичного типу - Спробуйте getFileExtension first (фото), потім getStyle (Avatar Creat...
Покращити гібернати проксі-обробку для виявлення аватарного типу
- Пошук клас ієрархії та інтерфейси для getFileExtension метод - Використовуйте відображення для виявлення AvatarPhoto проти AvatarAvatar Creator, коли екземпля...
Перевантаження аватару з репозиторій для вирішення проблеми гіберната проксі
- Аватарські суб'єкти, завантажені з відносин, можуть бути Хібернатні проксі, які не мають екземпляру перевірок - Перевантажити аватар з репозиторій, щоб отрима...
Додати детальний журнал, щоб отриматиThemeDomain і отриматиПублічнийBucketUrl для видалення avatar проблеми генерації URL-адрес
Додайте детальний запис до створення URL-адреси аватару для деbugging
- Увійдіть, коли створюються URL-адреси, які URL-адреси - Увійдіть при відсутності аватар або URL-адрес - Це допоможе визначити, чому аватари не відображаються ...
Визначити активний аватар, перевіривши користувача.getAvatar() замість RecordState
- Закінчуйте зараз правильні позначки, які аватар активний, порівнюючи з користувачем.getAvatar() - Це забезпечує фактичний прапор у відповідь API, що відобража...
Додати URL-адресу аватару для членів за допомогою кінцевої точки входу з механізмом перевизначення
- Включіть avatar URL в кожен учасник відповідь від *********** - Повага механізму перевизначення: аватар учасника (якщо є) аватар користувача âot (default) - F...
Ручний формат ISO і поліпшення аватарІдного типу
- Додано підтримку формату ISO дата (YYYY-MM-DDDD) на додаток до M/d/yyyyyyyy - Удосконалено аватарІдний парсінг для обробки типів чисел (подвійний, BigDecimal ...
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
Як ви бачите відправлення?
Все це прибуває в робочому просторі. Почати безкоштовно план і читати цю сторінку знову в місяць.
