
    núhb                    "   d dl mZ d dlmZmZmZmZ d dlmZ d dlm	Z	m
Z
mZ d dlmZ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 d dlmZ d d	lm	Z	m
Z
 d d
lmZmZmZmZmZmZmZ d dlm Z   G d de       Z! G d de       Z" G d de       Z#y)    )annotations)datetimedatetimetimezone)Optional)Mappedmapped_columnrelationship)
BigIntegerIntegerStringTextDateDateTimeJSON
ForeignKeyUniqueConstraintColumnFloat)ConnectedAccount)CalendarPostType)MasterAccount)r	   r
   )r   r   r   r   Booleanr   r   )Basec                     e Zd ZU dZ eedd      Z ee ed      d      Z	 ee
d      Z eed      Z eed      Z eed      Z eed      Z eed      Z eed      Z eed      Z eed      Z eed      Z eed      Z eed      Z eed      Z eed      Z eed      Z e       Zded<   y)	PostMetricsDailypost_metrics_dailyTprimary_keyindexzcalendar_post_types.idnullablezMapped[PostType]	post_typeN)__name__
__module____qualname____tablename__r   r   idr   r   post_type_idr   metric_dateimpressionsreachlikescommentssharessaveslink_clicksvideo_viewsvideo_completions	unfollowshidesreportsr   external_post_id	permalinkr   r$   __annotations__     A/var/www/html/hubwallet-dev/src/marketing/apps/Analytics/model.pyr   r      s    (M	T	6B*j1I&JUYZL-K 40K7T*E7T*Eg-HGd+F7T*E40K40Kw6w.I7T*EWt,GdT2td+I"..I0r<   r   c                      e Zd ZU dZ eedd      Z ee ed      d      Z	 ee
d      Z eed      Z eed      Z eed      Z eed      Z eed      Z eed      Z e       Zded<   y)	AccountMetricsDailyaccount_metrics_dailyTr   zconnected_accounts.idr"   zMapped[ConnectedAccount]connected_accountN)r%   r&   r'   r(   r   r   r)   r   r   connected_account_idr   r+   	followersnew_followersr,   profile_visitsmessages_receivedr   median_response_minutesr   rA   r:   r;   r<   r=   r?   r?   .   s    +M	T	6B!*j9P.Q\`a-Kw.I7T2M40KGd3Nw6$UT:2>./@r<   r?   c                  B   e Zd ZU dZdZ eed      Zded<    eedd      Z	ded	<    eedd      Z
d
ed<    eed      Zded<    eed      Zded<    eed      Zded<    eed      Zded<    eed      Zded<    eed      Zded<    eed      Zded<    eed      Zded<    eed      Zded<    eed      Zded<    eed      Zded<    eed      Zded<    eed       Zded<    eed        Zded!<    eedd"#      Zd$ed%<   d& Zy')(StorePerformanceScorez8Model for storing monthly performance scores for stores.store_performance_scoresT)r    zMapped[int]r)   F)r#   r!   store_idzMapped[Optional[int]]	branch_idr"   zMapped[float]overall_scoreengagement_ratereach_efficiencyposting_consistencyzMapped[Optional[str]]platform_scoresr   )defaulttotal_poststotal_engagementtotal_impressionstotal_followersconnected_accounts_countscore_month
score_yearc                 H    t        j                  t        j                        S Nr   nowr   utcr;   r<   r=   <lambda>zStorePerformanceScore.<lambda>[       8<<X`XdXdKe r<   zMapped[datetime]
created_atc                 H    t        j                  t        j                        S r[   r\   r;   r<   r=   r_   zStorePerformanceScore.<lambda>\   r`   r<   
updated_attrue)rR   server_defaultzMapped[bool]	is_activec           	     p    d| j                    d| j                   d| j                   d| j                   d	S )Nz <StorePerformanceScore(store_id=z, score=z, month=/z)>)rK   rM   rX   rY   )selfs    r=   __repr__zStorePerformanceScore.__repr___   sW    1$--I[I[H\\deieueudvvwx|  yH  yH  xI  IK  L  	Lr<   N) r%   r&   r'   __doc__r(   r
   r   r)   r:   rK   rL   r   rM   rN   rO   rP   r   rQ   r   rS   rT   rU   rV   rW   rX   rY   r   ra   rc   r   rf   rj   r;   r<   r=   rI   rI   >   s_   B.M#JDABA)*uDQHkQ'4Z$VZ'[I$[ $1#GM=G%255%IO]I&3EE&JmJ)6uu)MM .;4$-OO*O  -Wa@K@$1*a$HkH%2:q%I{I#0Q#GO[G,9'1,MkM  -WuEKE+GeDJD $1Ce#fJ f#0Ce#fJ f+GTRXYI|YLr<   rI   N)$
__future__r   r   r   r   r   typingr   sqlalchemy.ormr	   r
   r   
sqlalchemyr   r   r   r   r   r   r   r   r   r   r    src.marketing.apps.Account.modelr   src.marketing.apps.post.modelr   PostTyper   r   src.utils.dbr   r   r?   rI   r;   r<   r=   <module>rt      sc    " 3 3  > > z z z z = F : 0 R R R 1t 12A$ A "LD "Lr<   