- Shipped
- October 6, 2026 at 6:35 PM UTC
- Author
- Kamo
- Commit
- 123445f
LeadImportController maps every row with kamo-shared-library's LeadRequestMapper instead of its own switch, so manual and template imports get the full field set, every transformation, and the team-member assignment target. The import result now carries totalAssigned and the assignee values that did not resolve to one team member (assignmentIssues). Mappings and templates are validated on save: a transformation type the server cannot apply is a 400, not a silently ignored string. LeadIntakeController loses its duplicate intake engine. Process Backlog now requeues FAILED payloads and reports what is queued; the DaemonService intake job imports them within a minute, the same path a live submission takes. Saving an endpoint's mappings requires MANAGE_CRM_SETTINGS; replaying the backlog keeps CREATE_LEADS. GrantAllRoleResolver and RightHolderResolver delegate to the shared-lib GrantAllRoles/RightHolders, so the assignable-member list is the same one DaemonService uses.
