
    l^$h>              
          S SK J r   S SKJrJr  S SKJrJrJrJr  S SK	J
r
  SSKJr  SSKJr  S SKJr   " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r\" S\S9r " S S\
\\   5      r " S S\\5      r " S S\5      r " S S\5      r " S S \5      r " S! S"\5      r\\\\\\\\\S#.	rS$\4S% jr g&)'    )datetime)	BaseModelField)OptionalListTypeVarGeneric)GenericModel   )
CommonBase)SaaSInvoices)Enumc                       \ rS rSr% \" SSS9r\\S'   \" SSS9r\	\S'   \" SS	S9r
\\S
'   \" SSS9r\\   \S'   \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r\\   \S'   Srg)FeatureBase   .zName of the feature)descriptionnameTz1Flag to indicate if the feature should be visibledisplayzURL for the featureurlNz'API URL for the feature (if applicable)apiurlzIcon identifier for the featureiconz3Category of the feature (e.g. 'saas' or 'platform')categoryzDescription of the featurer    )__name__
__module____qualname____firstlineno__r   r   str__annotations__r   boolr   r   r   r   r   r   __static_attributes__r       EC:\Suresh\moveshuttle\MDcreated\moveengine\app\v1\models\crudmodel.pyr   r      s    c'<=D#=$,_`GT`S&;<C<!$4]^FHSM^c'HID#I#+`aHca!&t9U!VK#Vr"   r   c                   >    \ rS rSr% \\S'   Sr\\   \S'   \\S'   Srg)DummyCities   r   Nstatecountryr   )	r   r   r   r   r   r   r'   r   r!   r   r"   r#   r%   r%      s    
IE8C=Lr"   r%   c                   \    \ rS rSr% \\S'   Sr\\   \S'   Sr	\\   \S'   Sr
\\   \S'   Srg)DVehicleCategory   r   Nrateunit	base_rater   )r   r   r   r   r   r   r,   r   floatr-   r.   r!   r   r"   r#   r*   r*      s1    
I D(5/ D(3-!%Ix%r"   r*   c                   f    \ rS rSr% \\S'   Sr\\   \S'   \\S'   Sr\\	   \S'   Sr
\\   \S'   Srg)	DummyPriceType#   r   Nstatuscurrencycitypricing_filer   )r   r   r   r   r   r   r3   r   r5   intr6   r!   r   r"   r#   r1   r1   #   s6    
I FHSM MD(3-"&L(3-&r"   r1   c                   f    \ rS rSr% \\S'   \\S'   Sr\\   \S'   Sr	\\   \S'   Sr
\\   \S'   Srg)	LocationsBase,   r   addressNlatitude	longitudetyper   )r   r   r   r   r   r   r<   r   r/   r=   r>   r!   r   r"   r#   r9   r9   ,   s6    
IL $Hhuo$!%Ix%D(3-r"   r9   c                   Z    \ rS rSr% Sr\\   \S'   \" \	R                  S9r\\	   \S'   Srg)CommonUpdate4   Nuser_id)default_factoryupdated_dater   )r   r   r   r   rB   r   r   r   r   r   utcnowrD   r!   r   r"   r#   r@   r@   4   s(    !GXc]!',X__'ML(8$Mr"   r@   	ModelType)boundc                   0    \ rS rSr% \\S'   \\   \S'   Srg)
CommonList:   total_countitemsr   N)	r   r   r   r   r7   r   r   rF   r!   r   r"   r#   rI   rI   :   s    	?r"   rI   c                        \ rS rSrSrSrSrSrg)Status>   activeinactivemaintenancer   N)r   r   r   r   ACTIVEINACTIVEMAINTENANCEr!   r   r"   r#   rN   rN   >   s    FHKr"   rN   c                   J    \ rS rSr% \\S'   \" \R                  S9r	\\S'   Sr
g)	PriceTypeD   pricing_typedefaultr3   r   Nr   r   r   r   r   r   r   rN   rS   r3   r!   r   r"   r#   rW   rW   D   s    6==1FF1r"   rW   c                   J    \ rS rSr% \\S'   \" \R                  S9r	\\S'   Sr
g)SkillsH   r   rZ   r3   r   Nr\   r   r"   r#   r^   r^   H       
I6==1FF1r"   r^   c                   J    \ rS rSr% \\S'   \" \R                  S9r	\\S'   Sr
g)	ChecklistL   r   rZ   r3   r   Nr\   r   r"   r#   rb   rb   L   r`   r"   rb   c                   J    \ rS rSr% \\S'   \" \R                  S9r	\\S'   Sr
g)AddonsP   r   rZ   r3   r   Nr\   r   r"   r#   re   re   P   r`   r"   re   )	featuresdummycitiesdummypricetypedummyvehiclecategorysaasinvoicespricing_typesskills	checklistaddonscollection_namec                 p    [         R                  U R                  5       5      nUc  [        SU  S35      eU$ )zm
Resolve the collection name to a Pydantic model using the mapping.
This function is called by your routers.
zModel for collection 'z' not found.)MODEL_MAPPINGgetlower
ValueError)rp   model_classs     r#   get_model_for_collectionrw   b   s?    
  ##O$9$9$;<K1/1B,OPPr"   N)!r   pydanticr   r   typingr   r   r   r	   pydantic.genericsr
   	basemodelr   saas.subscriptionsr   enumr   r   r%   r*   r1   r9   r@   rF   rI   r   rN   rW   r^   rb   re   rr   rw   r   r"   r#   <module>r~      s     % 3 3 * ! , W* W* &z &'Z 'J N9 N
 Ky1	wy1  S$  2
 22Z 22
 22Z 2 $, c r"   