
    mi                    z   d Z ddlmZ ddlmZ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dS )u  
Nom du fichier : milestones.py
Chemin : /var/www/html/gitlab-bridge/app/schemas/milestones.py
Description : Schémas Pydantic liés aux milestones GitLab pour le bridge OpenWebUI.
Auteur : Sylvain SCATTOLINI
Date de création / modification : 2026-04-02
Version : 1.1
    )annotations)	BaseModel
ConfigDictFieldc                  ~    e Zd ZU  ed          Zded<   dZded<   ded	<   dZd
ed<   ded<   dZd
ed<   dZ	d
ed<   dS )MilestoneItemforbidextraintidN
int | Noneiidstrtitle
str | Nonedescriptionstatedue_dateweb_url)
__name__
__module____qualname__r   model_config__annotations__r   r   r   r        5/var/www/html/gitlab-bridge/app/schemas/milestones.pyr   r      s         :H---LGGGCJJJ"K""""JJJHGr   r   c                     e Zd ZU  ed          Z eddd          Zded<    ed	d
          Zded<    edd          Z	ded<    ed          Z
ded<    ed	d
          Zded<    eddd          Zded<   dS )MilestoneAssistantListRequestr	   r
   .      
min_length
max_lengthr   project_hint defaultr%   	root_hintallz^(all|active|closed)$r)   patternr   Fr)   boolconfirmresolved_project_pathd      r)   geler   limitN)r   r   r   r   r   r   r&   r   r*   r   r0   r1   r7   r   r   r   r    r       s         :H---LcaC@@@L@@@@U2#666I6666u.EFFFEFFFFE%(((G((((!&rc!B!B!BBBBBsqS111E111111r   r    c                      e Zd ZU  ed          ZdZded<   ded<   ded<   d	Zd
ed<    ee	          Z
ded<    ee	          Zded<   d	S )MilestoneAssistantListResponser	   r
   Tr/   successr   statusmessageNdict | Noneprojectdefault_factoryzlist[MilestoneItem]
milestones
list[dict]candidate_projects)r   r   r   r   r   r:   r   r>   r   listrA   rC   r   r   r   r9   r9   '   s         :H---LGKKKLLLG&+eD&A&A&AJAAAA%*U4%@%@%@@@@@@@r   r9   c                  &   e Zd ZU  ed          Z eddd          Zded<    eddd          Zded	<    ed
d          Z	ded<    ed
d          Z
ded<    ed
d          Zded<    ed          Zded<    ed
d          Zded<   dS )MilestoneAssistantCreateRequestr	   r
   .r!   r"   r#   r   r&   r   r'   i'  r(   r   
   r   r*   Fr.   r/   r0   r1   N)r   r   r   r   r   r   r&   r   r   r   r   r*   r0   r1   r   r   r   rF   rF   2   s        :H---LcaC@@@L@@@@sqS999E9999uRE:::K::::E"444H4444U2#666I6666E%(((G((((!&rc!B!B!BBBBBBBr   rF   c                      e Zd ZU  ed          ZdZded<   ded<   ded<   d	Zd
ed<   d	Zded<    e	e
          Zded<   d	S ) MilestoneAssistantCreateResponser	   r
   Tr/   r:   r   r;   r<   Nr=   r>   MilestoneItem | None	milestoner?   rB   rC   )r   r   r   r   r   r:   r   r>   rK   r   rD   rC   r   r   r   rI   rI   >   s         :H---LGKKKLLLG&*I****%*U4%@%@%@@@@@@@r   rI   c                  r   e Zd ZU  ed          Z eddd          Zded<    eddd          Zded	<    eddd          Z	ded
<    edd          Z
ded<    ed          Zded<    edd          Zded<    edd          Zded<    edd          Zded<    eddd          Zded<   dS )$MilestoneAssistantAssignIssueRequestr	   r
   .r!   r"   r#   r   r&   
issue_hintmilestone_hintr'   r(   r*   Fr.   r/   r0   r1   r   r)   r5   r   resolved_issue_iidresolved_milestone_id   r2   r4   r7   N)r   r   r   r   r   r   r&   r   rN   rO   r*   r0   r1   rQ   rR   r7   r   r   r   rM   rM   I   sM        :H---LcaC@@@L@@@@eCA#>>>J>>>>%cBBBNBBBBU2#666I6666E%(((G((((!&rc!B!B!BBBBB#eA!4444444!&qQ!7!7!77777raC000E000000r   rM   c                  z    e Zd ZU  ed          Zded<   dZded<   ded	<   ded
<   dZded<   dZded<   ded<   dS )MilestoneCandidateItemr	   r
   r   r   Nr   r   r   r   r   r   r   r   score)	r   r   r   r   r   r   r   r   r   r   r   r   rU   rU   W   sy         :H---LGGGCJJJJJJHGJJJJJr   rU   c                      e Zd ZU  ed          ZdZded<   ded<   ded<   d	Zd
ed<   d	Zd
ed<   d	Z	ded<    e
e          Zded<    e
e          Zded<    e
e          Zded<   d	S )%MilestoneAssistantAssignIssueResponser	   r
   Tr/   r:   r   r;   r<   Nr=   r>   issuerJ   rK   r?   rB   rC   candidate_issueslist[MilestoneCandidateItem]candidate_milestones)r   r   r   r   r   r:   r   r>   rY   rK   r   rD   rC   rZ   r\   r   r   r   rX   rX   c   s         :H---LGKKKLLLGE&*I****%*U4%@%@%@@@@@#(5#>#>#>>>>>9>t9T9T9TTTTTTTr   rX   c                  L   e Zd ZU  ed          Z eddd          Zded<    eddd          Zded	<    ed
d          Z	ded<    edd          Z
ded<    ed          Zded<    ed
d          Zded<    edd          Zded<    eddd          Zded<   dS )#MilestoneAssistantListIssuesRequestr	   r
   .r!   r"   r#   r   r&   rO   r'   r(   r*   r+   z^(all|opened|closed)$r,   r   Fr.   r/   r0   r1   r   rP   r   rR   r2   r3   r4   r7   N)r   r   r   r   r   r   r&   r   rO   r*   r   r0   r1   rR   r7   r   r   r   r^   r^   p   s+        :H---LcaC@@@L@@@@%cBBBNBBBBU2#666I6666u.EFFFEFFFFE%(((G((((!&rc!B!B!BBBBB!&qQ!7!7!77777sqS111E111111r   r^   c                      e Zd ZU  ed          ZdZded<   ded<   ded<   d	Zd
ed<   d	Zded<    e	e
          Zded<    e	e
          Zded<    e	e
          Zded<   d	S )$MilestoneAssistantListIssuesResponser	   r
   Tr/   r:   r   r;   r<   Nr=   r>   rJ   rK   r?   rB   issuesrC   r[   r\   )r   r   r   r   r   r:   r   r>   rK   r   rD   ra   rC   r\   r   r   r   r`   r`   }   s         :H---LGKKKLLLG&*I****t444F4444%*U4%@%@%@@@@@9>t9T9T9TTTTTTTr   r`   c                  (   e Zd ZU  ed          Z eddd          Zded<    eddd          Zded	<    ed
d          Z	ded<    ed          Z
ded<    ed
d          Zded<    edd          Zded<    eddd          Zded<   dS )!MilestoneAssistantProgressRequestr	   r
   .r!   r"   r#   r   r&   rO   r'   r(   r*   Fr.   r/   r0   r1   r   rP   r   rR   r3   i  r4   r7   N)r   r   r   r   r   r   r&   r   rO   r*   r0   r1   rR   r7   r   r   r   rc   rc      s
        :H---LcaC@@@L@@@@%cBBBNBBBBU2#666I6666E%(((G((((!&rc!B!B!BBBBB!&qQ!7!7!77777sqS111E111111r   rc   c                      e Zd ZU  ed          ZdZded<   ded<   ded<   d	Zd
ed<   d	Zded<   dZ	ded<   dZ
ded<   dZded<   dZded<    ee          Zded<    ee          Zded<   d	S )"MilestoneAssistantProgressResponser	   r
   Tr/   r:   r   r;   r<   Nr=   r>   rJ   rK   r   r   totalopenedclosedprogress_percentr?   rB   rC   r[   r\   )r   r   r   r   r   r:   r   r>   rK   rf   rg   rh   ri   r   rD   rC   r\   r   r   r   re   re      s         :H---LGKKKLLLG&*I****ENNNNFOOOOFOOOO%*U4%@%@%@@@@@9>t9T9T9TTTTTTTr   re   N)__doc__
__future__r   pydanticr   r   r   r   r    r9   rF   rI   rM   rU   rX   r^   r`   rc   re   r   r   r   <module>rm      su    # " " " " " 1 1 1 1 1 1 1 1 1 1	 	 	 	 	I 	 	 	2 2 2 2 2I 2 2 2A A A A AY A A A	C 	C 	C 	C 	Ci 	C 	C 	CA A A A Ay A A A1 1 1 1 19 1 1 1	 	 	 	 	Y 	 	 	U U U U UI U U U
2 
2 
2 
2 
2) 
2 
2 
2
U 
U 
U 
U 
U9 
U 
U 
U	2 	2 	2 	2 	2	 	2 	2 	2U U U U U U U U U Ur   