o
    "i	                     @   s   d Z ddlmZmZmZ ddlmZ ddlmZmZ G dd deZ	G dd deZ
G d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZdS )z
Annotation Task schemas
    )OptionalDictAny)datetime)	BaseModelFieldc                   @   s   e Zd ZU eed< eed< eed< eed< dZee ed< dZee ed< dZ	ee
 ed	< dZee
 ed
< dZeeeef  ed< dS )
TaskCreatetitledescriptioncontent	task_typemediumpriorityNdeadlineassigned_to
created_by	meta_data)__name__
__module____qualname__str__annotations__r   r   r   r   r   intr   r   r   r    r   r   B/lsinfo/ai/hellotax_ai/training_center/backend/app/schemas/task.pyr   	   s   
 r   c                   @   s>   e Zd ZU dZee ed< dZee ed< dZ	ee ed< dS )
TaskUpdateNstatusr   r   )
r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s   
 r   c                   @   s  e Zd ZU eed< eed< ee ed< eed< eed< eed< eed< ee ed< ee ed	< ee ed
< ee ed< ee ed< ee ed< ee ed< ee ed< ee ed< ee ed< ee	ee
f  ed< e	ee
f ed< ee ed< ee ed< G dd dZdS )TaskResponseidr	   r
   r   r   r   r   r   r   assigned_byr   completed_atreviewed_atreviewed_byquality_scoreapprovedreviewer_feedbackannotation_datar   
created_at
updated_atc                   @      e Zd ZdZdS )zTaskResponse.ConfigTNr   r   r   from_attributesr   r   r   r   Config2       r,   N)r   r   r   r   r   r   r   floatboolr   r   r,   r   r   r   r   r      s.   
 r   c                   @   s&   e Zd ZU eed< eeef ed< dS )AnnotationCreatetask_idr&   N)r   r   r   r   r   r   r   r   r   r   r   r   r0   6   s   
 r0   c                   @   sd   e Zd ZU eed< eed< eed< eeef ed< eed< ee	 ed< ee ed< G dd	 d	Z
d
S )AnnotationResponser   r1   annotator_idr&   r   r#   r'   c                   @   r)   )zAnnotationResponse.ConfigTNr*   r   r   r   r   r,   D   r-   r,   N)r   r   r   r   r   r   r   r   r   r.   r,   r   r   r   r   r2   ;   s   
 r2   c                   @   s8   e Zd ZU eddddZeed< eed< dZe	ed< d	S )

TaskReview.r      geler#   feedbackTr$   N)
r   r   r   r   r#   r.   r   r   r$   r/   r   r   r   r   r4   H   s   
 r4   c                   @   s   e Zd ZU eed< eed< dS )BatchAssignItemr1   r   N)r   r   r   r   r   r   r   r   r   r:   N   s   
 r:   c                   @   s   e Zd ZU ee ed< dS )BatchAssignResponseassignedN)r   r   r   listr:   r   r   r   r   r   r;   S   s   
 r;   c                   @   sD   e Zd ZU ee ed< eddddZeed< e	ed< dZ
eed	< d
S )BatchReviewRequesttask_ids.r   r5   r6   r#   r9   Tr$   N)r   r   r   r=   r   r   r   r#   r.   r   r$   r/   r   r   r   r   r>   W   s
   
 r>   c                   @   s&   e Zd ZU ee ed< ee ed< dS )WorkloadAssignRequestr?   reviewer_idsN)r   r   r   r=   r   r   r   r   r   r   r@   ^   s   
 r@   c                   @   sR   e Zd ZU eeef ed< eeef ed< eeeef  ed< eeef ed< dS )ReviewAnalyticsResponsequality_metricsefficiency_metricsreviewer_rankingdistributionN)r   r   r   r   r   r   r   r=   r   r   r   r   rB   c   s
   
 rB   N)__doc__typingr   r   r   r   pydanticr   r   r   r   r   r0   r2   r4   r:   r;   r>   r@   rB   r   r   r   r   <module>   s    