
    h                        d dl mZmZ d dlmZmZmZmZmZ d dl	m
Z
m	Z	  G d de      Z G d de      Z G d d	e      Z G d
 de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d  d!e      Z G d" d#e      Z G d$ d%e      Z G d& d'e      Z G d( d)e      Z G d* d+e      Z G d, d-e      Zy.)/    )	BaseModelField)OptionalListDictAnyUnion)datedatetimec                       e Zd ZU eed<   eed<   eed<   dZee   ed<   eed<   eed<   eed<   eed	<   eed
<   eed<   eed<   eed<   e	e
eef      ed<   y)TwitterAccountMetrics
account_idaccount_nameusernameNprofile_image
start_dateend_date	followerstotal_impressionstotal_new_followerstotal_profile_visitsavg_impressionsavg_engagement_ratemetrics_by_date)__name__
__module____qualname__int__annotations__strr   r   floatr   r   r        B/var/www/html/hubwallet-dev/src/marketing/apps/Analytics/schema.pyr   r   	   s`    OM#'M8C='OMN$sCx.))r#   r   c                   6    e Zd ZU eed<   eed<   dZee   ed<   y)TwitterAccountMetricsResponsesuccessmessageNdata)	r   r   r   boolr   r    r)   r   r   r"   r#   r$   r&   r&      s    ML,0D((
)0r#   r&   c                   |    e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed	<   eed
<   eed<   y)TwitterPostMetricspost_idexternal_post_id	permalinkcontent	posted_atimpressionslikescommentssharesengagement_rate	has_mediaN)r   r   r   r   r   r    r!   r*   r"   r#   r$   r,   r,      s<    LNLNJMKOr#   r,   c                   2    e Zd ZU eed<   eed<   ee   ed<   y)TwitterPostMetricsResponser'   r(   r)   N)r   r   r   r*   r   r    r   r,   r"   r#   r$   r9   r9   *   s    ML
!
""r#   r9   c                   `    e Zd ZU eed<   ee   ed<   eee	f   ed<   eee	f   ed<   ee   ed<   y)TwitterAnalyticsReportaccount_metrics	top_postsaudience_datagrowth_metricsrecommendationsN)
r   r   r   r   r   r   r,   r   r    r   r"   r#   r$   r;   r;   1   s:    **&''S>!cN"#Yr#   r;   c                   6    e Zd ZU eed<   eed<   dZee   ed<   y)TwitterAnalyticsReportResponser'   r(   Nr)   )	r   r   r   r*   r   r    r)   r   r;   r"   r#   r$   rB   rB   8   s    ML-1D()
*1r#   rB   c                   P    e Zd ZU  edd      Zeed<    edd      Zee   ed<   y)DateRangeRequest.z#Start date for metrics (YYYY-MM-DD))descriptionr   Nz4End date for metrics (YYYY-MM-DD), defaults to todayr   )	r   r   r   r   r   r
   r   r   r   r"   r#   r$   rD   rD   >   s*    S.STJT$T7mnHhtnnr#   rD   c                   <    e Zd ZU ee   ed<   eed<   dZee   ed<   y)MetricsReportRequestaccount_idsr   Nr   )	r   r   r   r   r   r   r
   r   r   r"   r#   r$   rG   rG   D   s     c#Hhtn#r#   rG   c                   T    e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   eed<   y)	SocialNetworkMetricsnetworkposts	reactionsr4   r5   r2   r6   Nr   r   r   r    r   r   r!   r"   r#   r$   rJ   rJ   J   s'    LJNMKr#   rJ   c                   @    e Zd ZU eed<   eeef   ed<   eeef   ed<   y)DailyMetricsDatar
   twitterfacebook_pageN)r   r   r   r    r   r   r   r"   r#   r$   rP   rP   S   s#    
I#s(^S>!r#   rP   c                   D    e Zd ZU eed<   eed<   eed<   eed<   dZeed<   y)OverallMetricsGaugetotal_poststotal_reactionstotal_commentstotal_sharesg        percentage_changeN)r   r   r   r   r   rY   r!   r"   r#   r$   rT   rT   X   s%    "u"r#   rT   c                   ^    e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed<   y	)
TopTweetDatar0   r1   r2   rM   r4   r5   r6   r/   NrN   r"   r#   r$   r[   r[   _   s,    LNNMKNr#   r[   c                   P    e Zd ZU eed<   eed<   eed<   eed<   eeee	f      ed<   y)EngagementMetricsPanelpost_impressionspost_retweetspost_engagementspost_engagement_ratemedia_engagementsN
r   r   r   r   r   r!   r   r   r    r   r"   r#   r$   r]   r]   i   -    DcN++r#   r]   c                   R    e Zd ZU eed<   ee   ed<   ee   ed<   eed<   ee	   ed<   y)SocialMediaAnalyticsDashboardoverall_metricsdaily_metrics
top_tweetsengagement_metricssocial_networksN)
r   r   r   rT   r   r   rP   r[   r]   rJ   r"   r#   r$   rf   rf   p   s1    ((())\""...//r#   rf   c                   6    e Zd ZU eed<   eed<   dZee   ed<   y)SocialMediaAnalyticsResponser'   r(   Nr)   )	r   r   r   r*   r   r    r)   r   rf   r"   r#   r$   rm   rm   w   s    ML48D(0
18r#   rm   c                   ,    e Zd ZU eed<   eed<   eed<   y)AccountInfoidr   platformN)r   r   r   r   r   r    r"   r#   r$   ro   ro   }   s    GMMr#   ro   c                   j    e Zd ZU eed<   ee   ed<   eed<   eed<   eed<   eed<   eed<   ee   ed<   y	)
TopTweetDataAccountr0   r1   r2   rM   r4   r5   r6   r/   N)r   r   r   r    r   r   r   r!   r"   r#   r$   rs   rs      s6    L}NMK}r#   rs   c                   P    e Zd ZU eed<   eed<   eed<   eed<   eeee	f      ed<   y)EngagementMetricsAccountr^   r_   r`   ra   rb   Nrc   r"   r#   r$   ru   ru      rd   r#   ru   c                   6    e Zd ZU eed<   eed<   eed<   eed<   y)TotalMetricsAccountrU   total_likesrW   rX   N)r   r   r   r   r   r"   r#   r$   rw   rw      s    r#   rw   c                   L    e Zd ZU eed<   ee   ed<   eed<   eed<   ee	   ed<   y)AccountSpecificAnalyticsaccount_infori   rj   total_metricsoverall_engagement_ratesN)
r   r   r   ro   r   r   rs   ru   rw   r!   r"   r#   r$   rz   rz      s*    ())00&&"5k)r#   rz   c                   ,    e Zd ZU eed<   dZee   ed<   y) AccountSpecificAnalyticsResponser'   Nr)   )r   r   r   r*   r   r)   r   rz   r"   r#   r$   r   r      s    M/3D(+
,3r#   r   N) pydanticr   r   typingr   r   r   r   r	   r   r
   r   r&   r,   r9   r;   rB   rD   rG   rJ   rP   rT   r[   r]   rf   rm   ro   rs   ru   rw   rz   r   r"   r#   r$   <module>r      s   % 3 3 #
*I *1I 1
 # #Y 2Y 2oy o$9 $9 "y "
#) #9 ,Y ,0I 099 9) 
) ,y ,) *y *4y 4r#   