MukeshKapoor25 commited on
Commit
0c74977
·
1 Parent(s): c2fa6c9

refactor(reference): update LeadGeneratedFrom model to change source_name to customer_type_id and adjust enabled flag

Browse files
app/db/models/reference.py CHANGED
@@ -52,9 +52,9 @@ class LeadGeneratedFrom(Base):
52
  __tablename__ = "LeadGeneratedFroms"
53
 
54
  lead_generated_from_id = Column("LeadGeneratedFromID", Integer, primary_key=True, index=True)
55
- source_name = Column("CustomerTypeID", String(100), nullable=False)
56
  description = Column("Description", String(255), nullable=True)
57
- enabled = Column("Enabled", Boolean, nullable=False, default=True)
58
 
59
 
60
 
 
52
  __tablename__ = "LeadGeneratedFroms"
53
 
54
  lead_generated_from_id = Column("LeadGeneratedFromID", Integer, primary_key=True, index=True)
55
+ customer_type_id = Column("CustomerTypeID", Integer, nullable=True)
56
  description = Column("Description", String(255), nullable=True)
57
+ enabled = Column("Enabled", Boolean, nullable=True)
58
 
59
 
60
 
app/db/repositories/reference_repo.py CHANGED
@@ -148,17 +148,15 @@ class ReferenceDataRepository:
148
 
149
  query = self.db.query(LeadGeneratedFrom)
150
  if active_only:
151
- query = query.filter(LeadGeneratedFrom.enabled == True)
152
 
153
- lead_sources = query.all()
154
  lead_sources_data = [
155
  {
156
  'lead_generated_from_id': ls.lead_generated_from_id,
157
- # source_name may be stored in a DB column that can contain numeric codes;
158
- # coerce to string so API consistently returns a string for frontend dropdowns
159
- 'source_name': str(ls.source_name) if ls.source_name is not None else None,
160
  'description': ls.description,
161
- 'is_active': ls.enabled
162
  }
163
  for ls in lead_sources
164
  ]
 
148
 
149
  query = self.db.query(LeadGeneratedFrom)
150
  if active_only:
151
+ query = query.filter((LeadGeneratedFrom.enabled == True) | (LeadGeneratedFrom.enabled.is_(None)))
152
 
153
+ lead_sources = query.order_by(LeadGeneratedFrom.description.asc()).all()
154
  lead_sources_data = [
155
  {
156
  'lead_generated_from_id': ls.lead_generated_from_id,
157
+ 'customer_type_id': ls.customer_type_id,
 
 
158
  'description': ls.description,
159
+ 'enabled': ls.enabled
160
  }
161
  for ls in lead_sources
162
  ]
app/schemas/reference.py CHANGED
@@ -63,20 +63,20 @@ class CompanyTypeUpdateIn(BaseModel):
63
 
64
  class LeadSourceOut(BaseModel):
65
  lead_generated_from_id: int = Field(..., description="Lead source ID")
66
- source_name: str = Field(..., description="Source name")
67
- description: Optional[str] = Field(None, description="Description")
68
- enabled: Optional[bool] = Field(True, description="Enabled flag")
69
 
70
 
71
  class LeadSourceCreateIn(BaseModel):
72
- source_name: str = Field(..., description="Source name")
73
- description: Optional[str] = Field(None, description="Description")
74
- enabled: Optional[bool] = Field(True, description="Enabled flag")
75
 
76
 
77
  class LeadSourceUpdateIn(BaseModel):
78
- source_name: Optional[str] = Field(None, description="Source name")
79
- description: Optional[str] = Field(None, description="Description")
80
  enabled: Optional[bool] = Field(None, description="Enabled flag")
81
 
82
 
 
63
 
64
  class LeadSourceOut(BaseModel):
65
  lead_generated_from_id: int = Field(..., description="Lead source ID")
66
+ customer_type_id: Optional[int] = Field(None, description="Customer type ID")
67
+ description: Optional[str] = Field(None, description="Description / source name")
68
+ enabled: Optional[bool] = Field(None, description="Enabled flag")
69
 
70
 
71
  class LeadSourceCreateIn(BaseModel):
72
+ customer_type_id: Optional[int] = Field(None, description="Customer type ID")
73
+ description: str = Field(..., description="Description / source name")
74
+ enabled: Optional[bool] = Field(None, description="Enabled flag")
75
 
76
 
77
  class LeadSourceUpdateIn(BaseModel):
78
+ customer_type_id: Optional[int] = Field(None, description="Customer type ID")
79
+ description: Optional[str] = Field(None, description="Description / source name")
80
  enabled: Optional[bool] = Field(None, description="Enabled flag")
81
 
82