fix(comm): handle null next_action fields in lead creation
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -90,6 +90,8 @@ func (h *LeadHandler) CreateLead(w http.ResponseWriter, r *http.Request) {
|
|||||||
sourceMetadata, _ := json.Marshal(req.SourceMetadata)
|
sourceMetadata, _ := json.Marshal(req.SourceMetadata)
|
||||||
|
|
||||||
var lead Lead
|
var lead Lead
|
||||||
|
var nextActionAt *time.Time
|
||||||
|
var nextActionType sql.NullString
|
||||||
err := h.db.QueryRow(`
|
err := h.db.QueryRow(`
|
||||||
INSERT INTO leads (tenant_id, contact_id, conversation_id, source, source_metadata,
|
INSERT INTO leads (tenant_id, contact_id, conversation_id, source, source_metadata,
|
||||||
interest, product, urgency, customer_type, tags, status)
|
interest, product, urgency, customer_type, tags, status)
|
||||||
@@ -101,9 +103,15 @@ func (h *LeadHandler) CreateLead(w http.ResponseWriter, r *http.Request) {
|
|||||||
req.Interest, req.Product, req.Urgency, req.CustomerType, nullStringArray(req.Tags)).Scan(
|
req.Interest, req.Product, req.Urgency, req.CustomerType, nullStringArray(req.Tags)).Scan(
|
||||||
&lead.ID, &lead.TenantID, &lead.ContactID, &lead.ConversationID, &lead.Source, &lead.Status,
|
&lead.ID, &lead.TenantID, &lead.ContactID, &lead.ConversationID, &lead.Source, &lead.Status,
|
||||||
&lead.Interest, &lead.Product, &lead.Urgency, &lead.CustomerType, &lead.Owner,
|
&lead.Interest, &lead.Product, &lead.Urgency, &lead.CustomerType, &lead.Owner,
|
||||||
&lead.LeadScore, &lead.QualificationComplete, &lead.LastInteractionAt, &lead.NextActionAt,
|
&lead.LeadScore, &lead.QualificationComplete, &lead.LastInteractionAt, &nextActionAt,
|
||||||
&lead.NextActionType, &lead.Tags, &lead.CreatedAt, &lead.UpdatedAt,
|
&nextActionType, &lead.Tags, &lead.CreatedAt, &lead.UpdatedAt,
|
||||||
)
|
)
|
||||||
|
if nextActionAt != nil {
|
||||||
|
lead.NextActionAt = nextActionAt
|
||||||
|
}
|
||||||
|
if nextActionType.Valid {
|
||||||
|
lead.NextActionType = nextActionType.String
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().Err(err).Msg("Failed to create lead")
|
log.Error().Err(err).Msg("Failed to create lead")
|
||||||
writeError(w, http.StatusInternalServerError, "failed to create lead")
|
writeError(w, http.StatusInternalServerError, "failed to create lead")
|
||||||
|
|||||||
Reference in New Issue
Block a user