+
    `Øj~	  ã            
       ó  € ^ RI HtHtHtHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHtHt ^ RIHt ^RIHt ^RIHtHtHt ^R	IHt ]! 4       t]P5                  R
]],          R7      ]! RRR7      ]! ^^^dR7      ]! ]4      ]! ]! RR4      4      3R R ll4       t]P5                  R]R7      ]! ]4      ]! ]! . ROR4      4      3R R ll4       t]P5                  R]R7      ]! ]4      ]! ]! RR4      4      3R R ll4       tR# )é    )Ú	APIRouterÚDependsÚQueryÚHTTPException)ÚAsyncSession)ÚListÚOptional)Úget_db)Úrequire_permissionÚrequire_permission_any)Ú
LoginUsers)ÚChassisTrackerService)ÚChassisSearchResultÚChassisLifecycleResponseÚChassisOrderSpecOut©Ú$get_chassis_order_spec_by_identifierz/search)Úresponse_modelNz0Search term for chassis number, model, or dealer)Údescription)ÚgeÚleÚCHASSIS_TRACKERÚviewc                ó^   € V ^8„  d   QhR\         \        ,          R\        R\        R\        /# )é   ÚqÚlimitÚdbÚuser)r	   ÚstrÚintr   r   )Úformats   "ÚD/var/www/html/audi_dev/backend/app/modules/chassis_tracker/routes.pyÚ__annotate__r$      s4   € ÷ >ñ >Ü”…}ð>äð>ô 	ð>ô ñ	>ó    c              ƒ  ón   "  € \        V4      pTP                  T ;'       g    RVR7      G Rj  x€L
 #  L5i)z�
Search and autocomplete chassis by number, model name, or customer name.
Guarded by CHASSIS_TRACKER view permission in the permission matrix.
Ú )r   N)r   Úsearch_chassis)r   r   r   r   Úservices   &&&& r#   r(   r(      s3   é € ô $ BÓ'€GØ×'Ñ'¨¯¨¨R°uÐ'Ó=×=Ð=Ñ=ùs   ‚,5®3¯5z /{chassis_identifier}/order-specc                ó<   € V ^8„  d   QhR\         R\        R\        /# ©r   Úchassis_identifierr   r   ©r    r   r   )r"   s   "r#   r$   r$       s+   € ÷ 	Nñ 	NÜð	Näð	Nô ñ	Nr%   c              ƒ  ó4   "  € \        W4      G Rj  x€L
 #  L5i)zÀ
Fetch complete manufacturing order details, build specifications, and special features for a chassis.
Available to users with CHASSIS_TRACKER, Sales, Production, QA, or Yard view permission.
Nr   )r,   r   r   s   &&&r#   Úget_chassis_order_specr/      s   é € ô 6°bÓM×MÐMÑMùs   ‚‘’z/{chassis_identifier}/lifecyclec                ó<   € V ^8„  d   QhR\         R\        R\        /# r+   r-   )r"   s   "r#   r$   r$   -   s+   € ÷ Cñ CÜðCäðCô ñCr%   c              ƒ  óV   "  € \        V4      pVP                  V 4      G Rj  x€L
 #  L5i)zä
Fetch comprehensive end-to-end lifecycle history, visual timeline milestones,
and auto-generated client update messages (WhatsApp/Email) for a given chassis.
Guarded by CHASSIS_TRACKER view permission in the permission matrix.
N)r   Úget_chassis_lifecycle)r,   r   r   r)   s   &&& r#   r2   r2   ,   s)   é € ô $ BÓ'€GØ×.Ñ.Ð/AÓB×BÐBÑBùs   ‚ )¢'£))r   ÚSALESÚ
PRODUCTIONÚQAÚYARD)Úfastapir   r   r   r   Úsqlalchemy.ext.asyncior   Útypingr   r	   Úapp.core.databaser
   Úapp.core.securityr   r   Úapp.models.core_modelsr   r)   r   Úschemasr   r   r   Úorder_spec_servicer   ÚrouterÚgetr(   r/   r2   © r%   r#   Ú<module>rB      s  ðç <Ó <Ý /ß !å $ß HÝ -Ý *ß WÑ WÝ Dá	‹€ð ‡�ˆI dÐ+>Õ&?€Ó@á˜TÐ/aÔbÙ�r˜a CÔ(Ù˜v“ÙÑ1Ð2CÀVÓLÓMö	>ó Að>ð ‡�Ð.Ð?R€ÓSñ ˜v“ÙÑ5Ò6nÐpvÓwÓxö	Nó Tð	Nð ‡�Ð-Ð>V€ÓWñ ˜v“ÙÑ1Ð2CÀVÓLÓMöCó XòCr%   