+
    ,i                        ^ RI H t Ht ^ RIHt ^ RIHtHtHtHtH	t	H
t
HtHt ^ RIHtHtHtHt R R lt ! R R]4      t ! R	 R
]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )    )datetimetimezone)Optional)BooleanDateTime
ForeignKeyIntegerJSONStringTextUniqueConstraint)DeclarativeBaseMappedmapped_columnrelationshipc                $    V ^8  d   QhR\         /# )   return)r   )formats   "server/app/models.py__annotate__r      s     & & &    c                  J    \         P                  ! \        P                  4      # )N)r   nowr   utc r   r   utcnowr      s    <<%%r   c                       ] tR t^tRtR# )Baser   N)__name__
__module____qualname____firstlineno____static_attributes__r   r   r   r   r      s    r   r   c                      a  ] tR t^t o Rt]! RR7      t]! ]! ^@4      RRR7      t]! ]! ^4      4      t	]! ]
! RR7      ]R7      tV 3R ltRtV tR	# )
AdminadminsTprimary_keyuniqueindexr   defaultc                   < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   # )r   idusernamepassword_hash
created_at)r   intstrr   )r   __classdict__s   "r   r   Admin.__annotate__   sH     s5  SkN  #;;	 
 x Y r   r   N)r    r!   r"   r#   __tablename__r   r1   r   r2   r3   r   r   r4   __annotate_func__r$   __classdictcell__r7   s   @r   r&   r&      sM     M#5B)&*TNH!.vc{!;M#041HRX#YJ  r   r&   c                      a  ] tR t^!t o Rt]! RR7      t]! ]! ^4      RRR7      t]! ]	RR7      t
]! ]! RR7      ]R7      t]! RRR	R
7      tV 3R ltRtV tR# )GroupgroupsTr(   r*    r.   r-   agent_groupsselectin	secondaryback_populateslazyc                   < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[R,          ,          ;R&   # )r   r1   namedescriptionr4   Agentmembers)r   r5   r6   r   list)r   r7   s   "r   r   Group.__annotate__!   s`     s5  +K  >	 
 x Y  DM"  r   r   N)r    r!   r"   r#   r9   r   r1   r   rH   r   rI   r   r   r4   r   rK   r:   r$   r;   r<   s   @r   r>   r>   !   s\     M#5B%fSk$dKD,T2>K#041HRX#YJ%1 
&G  r   r>   c                     a  ] tR t^,t o Rt]! RR7      t]! ]! ^@4      RRR7      t]! ]! ^4      RR7      t	]! ]
! RR7      ]R7      t]! ]
! RR7      RR7      t]! ]R	R7      t]! ]! R
4      RR7      t]! RR7      tV 3R ltRtV tR# )EnrollmentTokenenrollment_tokensTr(   r*   r@   r.   r-   nullableF	groups.idjoined)rF   c                *  < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[S[,          ,          ;R&   S[ S[,          ;R&   S[ S[S[,          ,          ;R&   S[ S[S[,          ,          ;R&   # )	r   r1   tokenlabelr4   
expires_atrevokeddefault_group_iddefault_group)r   r5   r6   r   r   boolr>   )r   r7   s   "r   r   EnrollmentToken.__annotate__,   s     s5  #;K  #;?	 
 x Y  x)*b  D\A  Xc]+c  (5/*H r   r   N)r    r!   r"   r#   r9   r   r1   r   rV   rW   r   r   r4   rX   r   rY   r   rZ   r   r[   r:   r$   r;   r<   s   @r   rO   rO   ,   s     'M#5B&vbz$dKE&vc{B?E#041HRX#YJ-:8T;R]a-bJ)'5AG.;J{<S^b.c-9x-HM  r   rO   c                     a  ] tR t^8t o Rt]! RR7      t]! ]! ^@4      RRR7      t]! ]! ^4      4      t	]! ]! ^4      RR7      t
]! ]! RR7      ]R7      t]! ]! RR7      RR7      t]! ]! ^4      RR7      t]! ]! ^4      RR7      t]! ]! ^4      RR7      t]! ]! ^ 4      RR7      t]! ]! ^4      RR7      t]! ]^ R7      t]! R	R7      t]! ]^ R7      t]! ]^ R7      t]! ]^ R7      t]! ]^ R7      t]! ]^ R7      t]! ]! ^@4      RR7      t]! ]! ^ 4      RR7      t]! ]! ^@4      RR7      t]! R
RRR7      t ]! RRR7      t!V 3R lt"Rt#V t$R# )rJ   agentsTr(   r*   r@   r.   r-   rQ   g        rA   rK   rB   rC   agentzall, delete-orphan)rE   cascadec                  < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[S[,          ,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R	&   S[ S[,          ;R
&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[S[,          ,          ;R&   S[ S[R,          ,          ;R&   # )r   r1   agent_id
token_hashhostnameenrolled_at	last_seenos_name
os_versionkernelarch	cpu_model	cpu_corescpu_percentmem_total_mbmem_used_mbdisk_total_gbdisk_used_gbuptime_seconds
ip_addressagent_versionlogged_in_userr?   Tasktasks)r   r5   r6   r   r   floatrL   r>   )r   r7   s   "r   r   Agent.__annotate__8   s    s5  SkN  s8	 
 SkB  !Z  hx()a  C[A  sD  3K@  +=  c{C  c{>  ;   +A! " @# $ #;B% & +A' ( 3KC) * sC+ , #;F- . 3KG/ 2 4; 3 8 $v,d9 r   r   N)%r    r!   r"   r#   r9   r   r1   r   rc   rd   re   r   r   rf   rg   rh   ri   rj   rk   rl   r	   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   r   r?   rx   r:   r$   r;   r<   s   @r   rJ   rJ   8   sa    M#5B)&*TNH+F3K8J)&+rBH$1(D2ISY$ZK,9(D:Q\`,aI(bAG+F3KDJ'sR@F%fRj"=D*6#;CI*7A>I!.s!;K -gq AL,Wa@K!.w!BM -gq AL"/"CN+F2JCJ!.vbz2!FM"/r
B"GN". #F #/gOc"dE9  r   rJ   c                      a  ] tR t^Wt o Rt]! ]! RRR7      RR7      t]! ]! RRR7      RR7      t]	! RR	4      3t
V 3R
 ltRtV tR# )
AgentGrouprA   	agents.idCASCADEondeleteTr(   rS   rc   group_idc                R   < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   # )r   rc   r   )r   r5   )r   r7   s   "r   r   AgentGroup.__annotate__W   s%     Skh  Skh r   r   N)r    r!   r"   r#   r9   r   r   rc   r   r   __table_args__r:   r$   r;   r<   s   @r   r|   r|   W   sH     "M)*[9*UcghH)*[9*UcghH&z:>@N	  r   r|   c                     a  ] tR t^^t o Rt]! RR7      t]! ]! RRR7      RR7      t]! ]	! ^ 4      RR7      t
]! ]]R7      t]! ]	! ^4      R	RR
7      t]! ]! RR7      ]R7      t]! ]! RR7      RR7      t]! ]! RR7      RR7      t]! ]RR7      t]! ]RR7      t]! ]RR7      t]! ]	! ^@4      RR7      t]! ]	! ^@4      RRR7      t]! ]	! ^4      RR7      t]! RRR7      tV 3R ltRtV t R# )rw   rx   Tr(   r}   r~   r   )r,   r.   pending)r/   r,   r-   rQ   r@   )rR   r,   rT   )rE   rF   c                  < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[S[,          ,          ;R&   S[ S[S[,          ,          ;R&   S[ S[S[,          ,          ;R	&   S[ S[,          ;R
&   S[ S[,          ;R&   S[ S[,          ;R&   S[ S[S[,          ,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   # )r   r1   agent_pktypepayloadstatusr4   dispatched_atcompleted_at	exit_codestdoutstderr
created_bybatch_idtitler`   )r   r5   r6   dictr   r   rJ   )r   r7   s   "r   r   Task.__annotate__^   s    s5  Skb  +=	 
 D\=  3KR  x Y  (8,-e  (+,d  hsm$L  3K9  3K9  sC  Xc]#Z  #;? " %=N# r   r   N)!r    r!   r"   r#   r9   r   r1   r   r   r   r   r
   r   r   r   r   r   r4   r   r   r	   r   r   r   r   r   r   r   r   r`   r:   r$   r;   r<   s   @r   rw   rw   ^   s     M#5B)*[9*U]abH%fRj=D)$=G'r
ITRF#041HRX#YJ0=hPT>U`d0eM/<Xt=T_c/dL'4Wt'LI'b9F'b9F+F2JCJ&3F2JUY&ZH&vc{B?E'wXNE#  r   rw   N)r   r   typingr   
sqlalchemyr   r   r   r	   r
   r   r   r   sqlalchemy.ormr   r   r   r   r   r   r&   r>   rO   rJ   r|   rw   r   r   r   <module>r      s    ' 	 	 	 P O&	? 	ZD ZD 	Id 	IeD e>A AO4 Or   