refactor(models): clean up model comments and whitespace
This commit is contained in:
parent
671d5bac15
commit
eedc628a5f
1 changed files with 2 additions and 33 deletions
|
|
@ -50,7 +50,7 @@ class LocalDocumentStatus(str, Enum):
|
||||||
|
|
||||||
class SageDocumentType(int, Enum):
|
class SageDocumentType(int, Enum):
|
||||||
DEVIS = 0
|
DEVIS = 0
|
||||||
BON_COMMANDE = 10
|
BON_COMMANDE = 10
|
||||||
PREPARATION = 20
|
PREPARATION = 20
|
||||||
BON_LIVRAISON = 30
|
BON_LIVRAISON = 30
|
||||||
BON_RETOUR = 40
|
BON_RETOUR = 40
|
||||||
|
|
@ -61,8 +61,7 @@ class SageDocumentType(int, Enum):
|
||||||
class UniversignTransaction(Base):
|
class UniversignTransaction(Base):
|
||||||
__tablename__ = "universign_transactions"
|
__tablename__ = "universign_transactions"
|
||||||
|
|
||||||
# === IDENTIFIANTS ===
|
id = Column(String(36), primary_key=True)
|
||||||
id = Column(String(36), primary_key=True) # UUID local
|
|
||||||
transaction_id = Column(
|
transaction_id = Column(
|
||||||
String(255),
|
String(255),
|
||||||
unique=True,
|
unique=True,
|
||||||
|
|
@ -71,7 +70,6 @@ class UniversignTransaction(Base):
|
||||||
comment="ID Universign (ex: tr_abc123)",
|
comment="ID Universign (ex: tr_abc123)",
|
||||||
)
|
)
|
||||||
|
|
||||||
# === LIEN AVEC LE DOCUMENT SAGE ===
|
|
||||||
sage_document_id = Column(
|
sage_document_id = Column(
|
||||||
String(50),
|
String(50),
|
||||||
nullable=False,
|
nullable=False,
|
||||||
|
|
@ -82,7 +80,6 @@ class UniversignTransaction(Base):
|
||||||
SQLEnum(SageDocumentType), nullable=False, comment="Type de document Sage"
|
SQLEnum(SageDocumentType), nullable=False, comment="Type de document Sage"
|
||||||
)
|
)
|
||||||
|
|
||||||
# === STATUTS UNIVERSIGN (SOURCE DE VÉRITÉ) ===
|
|
||||||
universign_status = Column(
|
universign_status = Column(
|
||||||
SQLEnum(UniversignTransactionStatus),
|
SQLEnum(UniversignTransactionStatus),
|
||||||
nullable=False,
|
nullable=False,
|
||||||
|
|
@ -94,7 +91,6 @@ class UniversignTransaction(Base):
|
||||||
DateTime, nullable=True, comment="Dernière MAJ du statut Universign"
|
DateTime, nullable=True, comment="Dernière MAJ du statut Universign"
|
||||||
)
|
)
|
||||||
|
|
||||||
# === STATUT LOCAL (DÉDUIT) ===
|
|
||||||
local_status = Column(
|
local_status = Column(
|
||||||
SQLEnum(LocalDocumentStatus),
|
SQLEnum(LocalDocumentStatus),
|
||||||
nullable=False,
|
nullable=False,
|
||||||
|
|
@ -103,7 +99,6 @@ class UniversignTransaction(Base):
|
||||||
comment="Statut métier simplifié pour l'UI",
|
comment="Statut métier simplifié pour l'UI",
|
||||||
)
|
)
|
||||||
|
|
||||||
# === URLS ET MÉTADONNÉES UNIVERSIGN ===
|
|
||||||
signer_url = Column(Text, nullable=True, comment="URL de signature")
|
signer_url = Column(Text, nullable=True, comment="URL de signature")
|
||||||
document_url = Column(Text, nullable=True, comment="URL du document signé")
|
document_url = Column(Text, nullable=True, comment="URL du document signé")
|
||||||
|
|
||||||
|
|
@ -125,17 +120,14 @@ class UniversignTransaction(Base):
|
||||||
|
|
||||||
certificate_url = Column(Text, nullable=True, comment="URL du certificat")
|
certificate_url = Column(Text, nullable=True, comment="URL du certificat")
|
||||||
|
|
||||||
# === SIGNATAIRES ===
|
|
||||||
signers_data = Column(
|
signers_data = Column(
|
||||||
Text, nullable=True, comment="JSON des signataires (snapshot)"
|
Text, nullable=True, comment="JSON des signataires (snapshot)"
|
||||||
)
|
)
|
||||||
|
|
||||||
# === INFORMATIONS MÉTIER ===
|
|
||||||
requester_email = Column(String(255), nullable=True)
|
requester_email = Column(String(255), nullable=True)
|
||||||
requester_name = Column(String(255), nullable=True)
|
requester_name = Column(String(255), nullable=True)
|
||||||
document_name = Column(String(500), nullable=True)
|
document_name = Column(String(500), nullable=True)
|
||||||
|
|
||||||
# === DATES CLÉS ===
|
|
||||||
created_at = Column(
|
created_at = Column(
|
||||||
DateTime,
|
DateTime,
|
||||||
default=datetime.now,
|
default=datetime.now,
|
||||||
|
|
@ -150,14 +142,12 @@ class UniversignTransaction(Base):
|
||||||
expired_at = Column(DateTime, nullable=True)
|
expired_at = Column(DateTime, nullable=True)
|
||||||
canceled_at = Column(DateTime, nullable=True)
|
canceled_at = Column(DateTime, nullable=True)
|
||||||
|
|
||||||
# === SYNCHRONISATION ===
|
|
||||||
last_synced_at = Column(
|
last_synced_at = Column(
|
||||||
DateTime, nullable=True, comment="Dernière sync réussie avec Universign"
|
DateTime, nullable=True, comment="Dernière sync réussie avec Universign"
|
||||||
)
|
)
|
||||||
sync_attempts = Column(Integer, default=0, comment="Nombre de tentatives de sync")
|
sync_attempts = Column(Integer, default=0, comment="Nombre de tentatives de sync")
|
||||||
sync_error = Column(Text, nullable=True)
|
sync_error = Column(Text, nullable=True)
|
||||||
|
|
||||||
# === FLAGS ===
|
|
||||||
is_test = Column(
|
is_test = Column(
|
||||||
Boolean, default=False, comment="Transaction en environnement .alpha"
|
Boolean, default=False, comment="Transaction en environnement .alpha"
|
||||||
)
|
)
|
||||||
|
|
@ -166,7 +156,6 @@ class UniversignTransaction(Base):
|
||||||
)
|
)
|
||||||
webhook_received = Column(Boolean, default=False, comment="Webhook Universign reçu")
|
webhook_received = Column(Boolean, default=False, comment="Webhook Universign reçu")
|
||||||
|
|
||||||
# === RELATION ===
|
|
||||||
signers = relationship(
|
signers = relationship(
|
||||||
"UniversignSigner", back_populates="transaction", cascade="all, delete-orphan"
|
"UniversignSigner", back_populates="transaction", cascade="all, delete-orphan"
|
||||||
)
|
)
|
||||||
|
|
@ -174,7 +163,6 @@ class UniversignTransaction(Base):
|
||||||
"UniversignSyncLog", back_populates="transaction", cascade="all, delete-orphan"
|
"UniversignSyncLog", back_populates="transaction", cascade="all, delete-orphan"
|
||||||
)
|
)
|
||||||
|
|
||||||
# === INDEXES COMPOSITES ===
|
|
||||||
__table_args__ = (
|
__table_args__ = (
|
||||||
Index("idx_sage_doc", "sage_document_id", "sage_document_type"),
|
Index("idx_sage_doc", "sage_document_id", "sage_document_type"),
|
||||||
Index("idx_sync_status", "needs_sync", "universign_status"),
|
Index("idx_sync_status", "needs_sync", "universign_status"),
|
||||||
|
|
@ -190,10 +178,6 @@ class UniversignTransaction(Base):
|
||||||
|
|
||||||
|
|
||||||
class UniversignSigner(Base):
|
class UniversignSigner(Base):
|
||||||
"""
|
|
||||||
Détail de chaque signataire d'une transaction
|
|
||||||
"""
|
|
||||||
|
|
||||||
__tablename__ = "universign_signers"
|
__tablename__ = "universign_signers"
|
||||||
|
|
||||||
id = Column(String(36), primary_key=True)
|
id = Column(String(36), primary_key=True)
|
||||||
|
|
@ -204,33 +188,27 @@ class UniversignSigner(Base):
|
||||||
index=True,
|
index=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
# === DONNÉES SIGNATAIRE ===
|
|
||||||
email = Column(String(255), nullable=False, index=True)
|
email = Column(String(255), nullable=False, index=True)
|
||||||
name = Column(String(255), nullable=True)
|
name = Column(String(255), nullable=True)
|
||||||
phone = Column(String(50), nullable=True)
|
phone = Column(String(50), nullable=True)
|
||||||
|
|
||||||
# === STATUT ===
|
|
||||||
status = Column(
|
status = Column(
|
||||||
SQLEnum(UniversignSignerStatus),
|
SQLEnum(UniversignSignerStatus),
|
||||||
default=UniversignSignerStatus.WAITING,
|
default=UniversignSignerStatus.WAITING,
|
||||||
nullable=False,
|
nullable=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
# === ACTIONS ===
|
|
||||||
viewed_at = Column(DateTime, nullable=True)
|
viewed_at = Column(DateTime, nullable=True)
|
||||||
signed_at = Column(DateTime, nullable=True)
|
signed_at = Column(DateTime, nullable=True)
|
||||||
refused_at = Column(DateTime, nullable=True)
|
refused_at = Column(DateTime, nullable=True)
|
||||||
refusal_reason = Column(Text, nullable=True)
|
refusal_reason = Column(Text, nullable=True)
|
||||||
|
|
||||||
# === MÉTADONNÉES ===
|
|
||||||
ip_address = Column(String(45), nullable=True)
|
ip_address = Column(String(45), nullable=True)
|
||||||
user_agent = Column(Text, nullable=True)
|
user_agent = Column(Text, nullable=True)
|
||||||
signature_method = Column(String(50), nullable=True)
|
signature_method = Column(String(50), nullable=True)
|
||||||
|
|
||||||
# === ORDRE ===
|
|
||||||
order_index = Column(Integer, default=0)
|
order_index = Column(Integer, default=0)
|
||||||
|
|
||||||
# === RELATION ===
|
|
||||||
transaction = relationship("UniversignTransaction", back_populates="signers")
|
transaction = relationship("UniversignTransaction", back_populates="signers")
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
|
|
@ -238,10 +216,6 @@ class UniversignSigner(Base):
|
||||||
|
|
||||||
|
|
||||||
class UniversignSyncLog(Base):
|
class UniversignSyncLog(Base):
|
||||||
"""
|
|
||||||
Journal de toutes les synchronisations (audit trail)
|
|
||||||
"""
|
|
||||||
|
|
||||||
__tablename__ = "universign_sync_logs"
|
__tablename__ = "universign_sync_logs"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||||
|
|
@ -252,22 +226,18 @@ class UniversignSyncLog(Base):
|
||||||
index=True,
|
index=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
# === SYNC INFO ===
|
|
||||||
sync_type = Column(String(50), nullable=False, comment="webhook, polling, manual")
|
sync_type = Column(String(50), nullable=False, comment="webhook, polling, manual")
|
||||||
sync_timestamp = Column(DateTime, default=datetime.now, nullable=False, index=True)
|
sync_timestamp = Column(DateTime, default=datetime.now, nullable=False, index=True)
|
||||||
|
|
||||||
# === CHANGEMENTS DÉTECTÉS ===
|
|
||||||
previous_status = Column(String(50), nullable=True)
|
previous_status = Column(String(50), nullable=True)
|
||||||
new_status = Column(String(50), nullable=True)
|
new_status = Column(String(50), nullable=True)
|
||||||
changes_detected = Column(Text, nullable=True, comment="JSON des changements")
|
changes_detected = Column(Text, nullable=True, comment="JSON des changements")
|
||||||
|
|
||||||
# === RÉSULTAT ===
|
|
||||||
success = Column(Boolean, default=True)
|
success = Column(Boolean, default=True)
|
||||||
error_message = Column(Text, nullable=True)
|
error_message = Column(Text, nullable=True)
|
||||||
http_status_code = Column(Integer, nullable=True)
|
http_status_code = Column(Integer, nullable=True)
|
||||||
response_time_ms = Column(Integer, nullable=True)
|
response_time_ms = Column(Integer, nullable=True)
|
||||||
|
|
||||||
# === RELATION ===
|
|
||||||
transaction = relationship("UniversignTransaction", back_populates="sync_logs")
|
transaction = relationship("UniversignTransaction", back_populates="sync_logs")
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
|
|
@ -287,7 +257,6 @@ class UniversignConfig(Base):
|
||||||
api_url = Column(String(500), nullable=False)
|
api_url = Column(String(500), nullable=False)
|
||||||
api_key = Column(String(500), nullable=False, comment="À chiffrer")
|
api_key = Column(String(500), nullable=False, comment="À chiffrer")
|
||||||
|
|
||||||
# === OPTIONS ===
|
|
||||||
webhook_url = Column(String(500), nullable=True)
|
webhook_url = Column(String(500), nullable=True)
|
||||||
webhook_secret = Column(String(255), nullable=True)
|
webhook_secret = Column(String(255), nullable=True)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue