
    /cj
                         d Z ddlmZ ddlmZmZmZmZmZmZ ddl	m
Z
 ddlmZ  G d de          Z G d d	e          Z G d
 de          Z G d de          ZdS )u  SQLAlchemy ORM models — matches the table spec exactly.

  product   ── 1:N ──>   system   ── 1:N ──>   support
                            │
                            └────────── referenced by ────────── ticket

A product has many systems.
A system has many support contacts (people responsible for it).
A ticket references both system and product; on create, the support email
registered for the system is used as the Azure DevOps AssignedTo.
    )datetime)ColumnIntegerStringText
ForeignKeyDateTime)relationship)Basec                       e Zd ZdZ e ed          dd          Z e ed          d          Z eddd	
          Z	dS )Productproduct2   Tprimary_keyindex   FnullableSystemall, delete-orphanback_populatescascadeN)
__name__
__module____qualname____tablename__r   r   product_codeproduct_namer
   systems     N/home/m1-ai/DEPLOYMENTS/AI-PHONE/ZACK-UPDATE/fixing_leaked/DEVOPSAPI/models.pyr   r      sk        M6&&**$dCCCL6&&++666Ll4H  GGGr#   r   c                       e Zd ZdZ e ed          dd          Z e ed          d          Z e ed           ed          dd	          Z	 e
d
d          Z e
ddd          ZdS )r   systemr   Tr   r   Fr   product.product_coder   r   r   r!   r   Supportr   r   N)r   r   r   r   r   r   system_codesystem_namer   r   r
   r   supportsr"   r#   r$   r   r      s        M&TBBBK&u555K6r

JJ566d  L l9Y???G|(4H  HHHr#   r   c                       e Zd ZdZ eedd          Z e ed          dd          Z e ed           e	d          dd          Z
 ed	d
          ZdS )r*   supportTr   autoincrementr   Fr(   r   system.system_coder   r-   r)   N)r   r   r   r   r   r   idr   support_emailr   r+   r
   r&   r"   r#   r$   r*   r*   -   s        M	T	>	>	>BF66#;;dCCCM&r

JJ344uD  K \(:>>>FFFr#   r*   c                      e Zd ZdZ eedd          Z e ed          d          Z e ed          d          Z	 e ed          d          Z
 e ed           ed          dd	          Z e ed           ed
          dd	          Z eed          Z eedd	          Z e ed          d          Z e ed          d          Z eeej        d          ZdS )TicketticketTr0   r   Fr   r   r2   r(   r'   i  )defaultr   N)r   r   r   r   r   r   r3   r   customer_companycustomer_namecustomer_mobilephoner   r+   r   r   issuedevops_work_item_id
devops_urlassigned_tor	   r   utcnow
created_atr"   r#   r$   r6   r6   9   sh       M	T	>	>	>B vffSkkE:::F66#;;777M!6&&**u=== &r

JJ344uD  K 6r

JJ566d  L
 F4%(((E !&4tDDDsd333J&t444K(/EJJJJJJr#   r6   N)__doc__r   
sqlalchemyr   r   r   r   r   r	   sqlalchemy.ormr
   databaser   r   r   r*   r6   r"   r#   r$   <module>rF      s3  
 
       J J J J J J J J J J J J J J J J ' ' ' ' ' '          d       T   	? 	? 	? 	? 	?d 	? 	? 	?K K K K KT K K K K Kr#   