Pass SYSTEM_WIDE as parameter instead of FQCN in JPQL query
Hibernate may not resolve fully-qualified enum names in JPQL across all versions. Pass ImageAssocType.SYSTEM_WIDE as a named parameter instead.
Add e-signature template support to imaging system
- Add SigTemplateStatusType enum (PENDING, COMPLETED, ARCHIVED) - Add SYSTEM_WIDE ImageAssocType for cross-context templates - Add isSigTemplate, sigTemplateSta...
Add minimum advance booking field to webinar type
Adds minAdvanceBookingMinutes to WebinarType entity and DTOs, allowing admins to require slots be booked a minimum time in advance (e.g., 24 hours). Slots close...
Replace invalid JPQL temporal arithmetic with application-layer filtering
Hibernate 6 rejects subtracting a Long from an Instant in JPQL. Replaced findWebinarsWithDueReminders (which did nanosecond arithmetic in the query) with ******...
Add PUBLIC_WEBINAR scope to API key system
Adds a new ApiKeyScope.PUBLIC_WEBINAR enum value to gate access to public webinar scheduling, joining, and cancellation endpoints.
Add webinar scheduling system entities, repositories, DTOs, and enums
Introduces the complete data model for the webinar scheduling system: - 9 JPA entities: WebinarType, WebinarPresenter, WebinarReminder, WebinarAvailabilitySlo...
Remove RestTemplate bean dependency from BaseProviderHttpClient
BaseProviderHttpClient now creates its own RestTemplate internally instead of requiring one from the application context, fixing startup crash in SecurityServic...
Implement complete retail provider integration system with 10 e-commerce providers
Add full adapter implementations for Shopify, BigCommerce, WooCommerce, Wix, Ecwid, Squarespace, Magento, Shift4Shop, PrestaShop, and OpenCart. Includes HTTP cl...
Add UserRepository.findByEmailEmail for account creation email lookup
Add **************** and ****************
New query methods for account detail page — order lookup by purchaser and account listing by org.
Replace RetailCustomer with Account-based customer model
Account.java was already the commerce customer entity but was too minimal. RetailCustomer duplicated this concept. This commit: - Enhances Account with commerc...
RetailProviderConfigRepository uses MarketId not MarketUid
CommerceMarket PK field is 'id' not 'uid'. Spring Data query derivation failed with 'No property uid found for type CommerceMarket'.
Offering.requires_shipping DB default, PriceListEntryRepository Long type
- Add columnDefinition DEFAULT true for requires_shipping on Offering to handle existing rows during ALTER TABLE migration - Fix **************** to take Long...
Add RetailService (2376 lines) and 38 retail DTOs
RetailService provides full CRUD for all KamoRetail entities across 7 domains: catalog (categories, brands, attributes, variants, images, tags, reviews), custom...
Add KamoRetail enterprise data model — 109 new entities, repositories, and provider abstraction
Full retail POS data model designed for standalone KamoRetail operation and bidirectional sync with Shopify, BigCommerce, Wix, Squarespace, Shift4Shop, Ecwid, W...
Return all agreement templates including inactive ones
Add findByOrganizationId to repo (no active filter) and includeInactive param to getAgreementTemplates service method. Defaults to true so the management UI sho...
Add marketId to CreateRentalAssetRequest and wire market association in CommerceService
Add marketId support to retail product DTOs and CommerceService
Add marketId/marketTitle fields to RetailProductDTO, add marketId to CreateRetailProductRequest, and wire CommerceMarketRepository into CommerceService to set m...
Add LeadStatusLabel entity, repository, service, and DTO for org-level CRM status label customization
Add SocialLinkEntity and EmailSignatureFieldConfigEntity
Add normalized social_links table to replace embedded social link columns, supporting both predefined platforms and custom social links with sort ordering. Add ...
Add email mailbox access privileges for member, department, and job type scopes
Add ACCESS_ALL_MEMBER_MAILBOXES (104), ACCESS_ALL_DEPARTMENT_MAILBOXES (105), and ACCESS_ALL_JOB_TYPE_MAILBOXES (106) to RoleRightType for privilege-based email...
Add MemberRightRepository for managing member-level direct rights
Add email domain, mailbox, and member-mailbox entities and repositories
Add EmailProviderDomainEntity, MailboxEntity, and MemberMailboxEntity for email provider domain management, mailbox provisioning, and member-to-mailbox assignme...
Add MemberRoleRepository to shared library for member role assignment management
Add scopes column to PublicChatApiKey and ApiKeyScope enum
Adds a JSONB scopes column to the API key entity with default value ["PUBLIC_CHAT"]. New ApiKeyScope enum defines available scopes: PUBLIC_CHAT and SUBSCRIPTION...
Add subscription DTOs, SubscriptionService, and fix legacy CommerceService
38 new DTOs for plan config, orders, subscriptions, invoices, promotions, and agreements. 2000+ line SubscriptionService with full business logic for plan manag...
Add complete subscription commerce entity model with 24 entities and repositories
Add complete subscription commerce entity model
24 JPA entities, 12 enums, 21 repositories, and 20 new permission rights for the enterprise subscription POS system. Includes plan configuration (plans, prices,...
Use @MapsId pattern for PublicChatVisitor to resolve IdClass error
Switches from @OneToOne-as-@Id to @MapsId with explicit String sessionGuid field. Fixes Hibernate "does not define an IdClass" error at startup. Repository ID t...
Add PublicChatVisitor and PublicChatApiKey entities for public chat widget
Adds entities, repositories, and DTOs to support anonymous public chat sessions on marketing sites. PublicChatVisitor captures visitor context (headers, IP, nam...
Add public contact support - DTO, repo query methods for topic and member lookup
Add public article query methods to KbArticleRepository
Add three new repository methods for fetching published articles with aiVisibleToPublic=true, used by the new KBService public endpoints: - **************** - *...
Use subquery to find org theme backgrounds by user membership instead of direct member join
The previous INNER JOIN on tb.member excluded backgrounds where member was NULL, which is most user-level backgrounds. Now uses a subquery through User→Member→O...
Add org-scoped theme background query for meets virtual backgrounds
Remove whoCanCreate and emailInvitesEnabled from OrgMeetConfig
Add findByRoomNameAndStatusIn query to MeetingRecordRepository
Add OrgMeetConfig entity, MeetBackground entity, MEET_RECORDING ImageAssocType, and meet permissions
Adds org-level video conferencing configuration with defaults for lobby, guest access, recording, branding, and notifications. New permissions: RECORD_MEETINGS ...
Add explicit @JsonProperty annotations to KbArticle AI visibility fields
Ensure Jackson serializes/deserializes aiEnabled, aiVisibleToPublic, aiVisibleToMembers, aiVisibleToTeamMembers with correct field names.
Set ServiceType.MEET stage to COMPLETED so it appears in FeaturesManager
Add MeetingRecord and MeetingParticipant entities for meeting history
Add unread message count queries and mark-as-read service methods
Leverage existing msgIdLastViewed field in MediaSessionMember to compute per-session unread counts and mark sessions as read for the chat unread indicator featu...
Add AI visibility fields to KbArticle entity
Add aiEnabled, aiVisibleToPublic, aiVisibleToMembers, and aiVisibleToTeamMembers boolean fields to control per-article AI training and audience-scoped RAG acces...
Add unique constraint on (org_id, feature_type) to prevent duplicate features
Add app management system with service types, rights, and feature control
Restructure ServiceType enum: add core/deprecated flags, rename DOC_MANAGER→DOCS and AI_CHAT→AI_SUPPORT, add SUPPORT/NOTES/POS types, deprecate STORAGE/DOC_CLAS...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.