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 ...
Enforce role protection flags and add parent label support to session
- Enforce isAllowEditSecurity in SecurityRoleController update endpoint - Add parentMemberTitlePlural and parentTeamMemberTitlePlural to *** session - Resolve p...
Support multi-size photo avatar uploads and crop endpoint
Update uploadPhotoAvatar to accept optional sized variants (fileSm, fileMd, fileLg) stored with suffix naming ({hash}_sm.png, etc). Add PUT /{id}/crop endpoint ...
Add access security system backend
8 new services (AccessCacheService, GeoLiteService, GeoLiteSyncService, AccessRuleService, GeoBlockService, AccessLogService, DetectionRuleService, SuspiciousDe...
Add website and social links to member profile GET/PUT endpoints
GET /api/security/members/{id} now returns website and socialLinks fields. PUT /api/security/members/{id} accepts website (string) and socialLinks (map of platf...
Set owner and create team member on org creation
When creating an organization via POST /api/security/org, the authenticated user is now set as the org owner and gets Member + TeamMember records with FULL acce...
Add security models CRUD controller and wire to security roles
Add SecurityModelController with full CRUD at /api/security/models. Update SecurityRoleController to accept securityModelIds on create/update and expose GET /se...
Add abstract title and parent branch title fields to session and API
Add memberTitleAbstract, teamMemberTitleAbstract, parentBranchTitlePlural, and parentBranchTitleNonPlural to session creation and branch titles endpoint for lab...
Add marketId query param to POS endpoints and SQL migrations
Add optional marketId query parameter to GET rental-assets, vendors, and subscription-plans endpoints in POSController. When provided, filters results by market...
Modify getPOSConfig to include commerce markets and derive enabled types
Returns, fulfillment PATCH, accounts endpoints
- POST /pos/orders/{id}/returns - create order return - PATCH /pos/returns/{id}/status - update return status (APPROVED/REJECTED) - PATCH /pos/fulfillments/{id}...
Rental assets CRUD endpoints
- GET/POST/PATCH/DELETE /api/security/pos/rental-assets
Add engagement endpoints GET /engagements and GET /engagements/{id}
Add POS controllers for retail products, inventory, and orders
- RetailProductController: CRUD for products - RetailInventoryController: inventory stock management - POSController: orders and mortgage applications
Add backend validation for required fields in lead imports
- Add validateRequiredFields method to check required fields before import - Validate email, firstName, and lastName are present - Validate mortgage-specific fi...
Refactor LeadImportController to use LeadService.createLead
- Replace manual field mapping with LeadService.createLead for consistency - Add mapRowDataToCreateLeadRequest to convert import mappings to CreateLeadRequest -...
Add LeadController with CRUD endpoints and market config
- Add LeadController with GET, POST, PUT, DELETE endpoints - Add endpoint to get market configuration for a lead - Fix LeadImportController to use saveLead meth...
Add LeadImportController with duplicate detection using vendorLeadID and composite key (vendorProductId|vendorLeadID)
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 LeadVendorController with full CRUD for vendors and products
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...
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
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...
Implement hash-based file storage for avatars
- Generate SHA-256 hash from avatar ID after persistence - Store hash in database fileHash field - Upload files to MinIO using hash-based naming: {hash}.{fileEx...
Rebuild avatar system - backend generates presigned URLs directly like backgrounds
Organize MinIO storage with folder structure and add Avatar Creator SVG support
- Updated storage paths to use organized folder structure: * members/avatars/photos/ for photo avatars * members/avatars/vector/ for Avatar Creator SVG avat...
Add avatar, background, and member profile management endpoints
- Added AvatarController with CRUD operations for avatars (photo and Avatar Creator) - Added UserBackgroundController for managing user background images - Exte...
Add detailed logging for WebSocket subscription requests
- Added logging to trace when subscribeToSession is called - Logs payload and sessionGuid extraction - Logs database lookup for session verification - Helps dia...
Support two-member chat sessions and message pagination (default 100 messages)
Pre-consume X-OTK via filter to avoid expiry on large uploads; use pre-auth session in ImagingController
Expose endpoints under /api/security/imaging to match gateway
Như những gì anh thấy vận chuyển?
Tất cả những thứ đó đều đến trong không gian làm việc của anh. Bắt đầu với kế hoạch miễn phí và đọc lại trang này trong một tháng.
