feat(core): add address fields to Contact model
This commit is contained in:
+10
-12
@@ -42,16 +42,18 @@ class Contact(Base, TenantMixin):
|
|||||||
department: Mapped[str | None] = mapped_column(String(100), nullable=True)
|
department: Mapped[str | None] = mapped_column(String(100), nullable=True)
|
||||||
linkedin_url: Mapped[str | None] = mapped_column(String(500), nullable=True)
|
linkedin_url: Mapped[str | None] = mapped_column(String(500), nullable=True)
|
||||||
notes: Mapped[str | None] = mapped_column(Text, nullable=True)
|
notes: Mapped[str | None] = mapped_column(Text, nullable=True)
|
||||||
|
# Address fields (private address, may differ from company)
|
||||||
|
address_street: Mapped[str | None] = mapped_column(String(255), nullable=True)
|
||||||
|
address_city: Mapped[str | None] = mapped_column(String(100), nullable=True)
|
||||||
|
address_zip: Mapped[str | None] = mapped_column(String(20), nullable=True)
|
||||||
|
address_country: Mapped[str | None] = mapped_column(String(2), nullable=True)
|
||||||
|
address_state: Mapped[str | None] = mapped_column(String(100), nullable=True)
|
||||||
deleted_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
deleted_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||||
created_by: Mapped[uuid.UUID | None] = mapped_column(
|
created_by: Mapped[uuid.UUID | None] = mapped_column(
|
||||||
PGUUID(as_uuid=True),
|
PGUUID(as_uuid=True), ForeignKey("users.id", ondelete="SET NULL"), nullable=True
|
||||||
ForeignKey("users.id", ondelete="SET NULL"),
|
|
||||||
nullable=True,
|
|
||||||
)
|
)
|
||||||
updated_by: Mapped[uuid.UUID | None] = mapped_column(
|
updated_by: Mapped[uuid.UUID | None] = mapped_column(
|
||||||
PGUUID(as_uuid=True),
|
PGUUID(as_uuid=True), ForeignKey("users.id", ondelete="SET NULL"), nullable=True
|
||||||
ForeignKey("users.id", ondelete="SET NULL"),
|
|
||||||
nullable=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -69,14 +71,10 @@ class CompanyContact(Base, TenantMixin):
|
|||||||
PGUUID(as_uuid=True), primary_key=True, default=uuid.uuid4
|
PGUUID(as_uuid=True), primary_key=True, default=uuid.uuid4
|
||||||
)
|
)
|
||||||
company_id: Mapped[uuid.UUID] = mapped_column(
|
company_id: Mapped[uuid.UUID] = mapped_column(
|
||||||
PGUUID(as_uuid=True),
|
PGUUID(as_uuid=True), ForeignKey("companies.id", ondelete="CASCADE"), nullable=False
|
||||||
ForeignKey("companies.id", ondelete="CASCADE"),
|
|
||||||
nullable=False,
|
|
||||||
)
|
)
|
||||||
contact_id: Mapped[uuid.UUID] = mapped_column(
|
contact_id: Mapped[uuid.UUID] = mapped_column(
|
||||||
PGUUID(as_uuid=True),
|
PGUUID(as_uuid=True), ForeignKey("contacts.id", ondelete="CASCADE"), nullable=False
|
||||||
ForeignKey("contacts.id", ondelete="CASCADE"),
|
|
||||||
nullable=False,
|
|
||||||
)
|
)
|
||||||
role_at_company: Mapped[str | None] = mapped_column(String(100), nullable=True)
|
role_at_company: Mapped[str | None] = mapped_column(String(100), nullable=True)
|
||||||
is_primary: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False)
|
is_primary: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False)
|
||||||
|
|||||||
Reference in New Issue
Block a user