o
    Df                     @  s   d Z ddlmZ ddlZddlmZmZmZmZm	Z	m
Z
mZmZmZmZ ddlmZ ddlmZ z
ddlmZmZ W n eyK   ddlmZmZ Y nw i Ze ZeeedZG d	d
 d
ZG dd dZdS )z6Kombu transport using SQLAlchemy as the message store.    )annotationsN)
BooleanColumnDateTime
ForeignKeyIndexIntegerSequenceSmallIntegerStringTextrelationship)MetaData)declarative_basedeclared_attr)metadataclass_registryc                   @  sZ   e Zd ZdZdddZeeeddddZee	dddZ
d	d
 Zdd Zedd ZdS )QueuezThe queue class.TInnoDBsqlite_autoincrementmysql_enginequeue_id_sequenceprimary_keyautoincrement   )uniquec                 C  s
   || _ d S Nname)selfr!    r#   Z/home/ubuntu/webapp/venv/lib/python3.10/site-packages/kombu/transport/sqlalchemy/models.py__init__       
zQueue.__init__c                 C  s   d| j  dS )Nz<Queue(z)>r    r"   r#   r#   r$   __str__#   s   zQueue.__str__c                 C  s   t ddddS )NMessagequeuenoload)backreflazyr   )clsr#   r#   r$   messages&   s   zQueue.messagesN)__name__
__module____qualname____doc____table_args__r   r   r	   idr   r!   r%   r(   r   r/   r#   r#   r#   r$   r      s    
r   c                   @  s   e Zd ZdZeddddddfZeeedddd	Z	ee
ddd
ZededdejjdZeeddZeedddZdeiZdd Zdd Zedd ZdS )r)   zThe message class.ix_kombu_message_timestamp_id	timestampr5   Tr   r   message_id_sequencer   )defaultindex)nullabler:   onupdateF)r;      )r;   r9   version_id_colc                 C  s   || _ || _d S r   )payloadr*   )r"   r?   r*   r#   r#   r$   r%   =   s   
zMessage.__init__c                 C  s
   d | S )Nz/<Message: {0.sent_at} {0.payload} {0.queue_id}>)formatr'   r#   r#   r$   r(   A   r&   zMessage.__str__c                 C  s   t ttdtd j ddS )Nz%s.idr   FK_kombu_message_queuer    )r   r   r   r   __tablename__r'   r#   r#   r$   queue_idD   s   zMessage.queue_idN)r0   r1   r2   r3   r   r4   r   r   r	   r5   r   visibler   datetimenowsent_atr   r?   r
   version__mapper_args__r%   r(   r   rC   r#   r#   r#   r$   r)   +   s&    


r)   )r3   
__future__r   rE   
sqlalchemyr   r   r   r   r   r   r	   r
   r   r   sqlalchemy.ormr   sqlalchemy.schemar   r   r   ImportErrorsqlalchemy.ext.declarativer   r   	ModelBaser   r)   r#   r#   r#   r$   <module>   s     0