
    (8i                     l    d dl mZ d dlmZ d dlmZmZ d dlmZmZm	Z	  G d de      Z
 G d de
      Zy	)
    )Decimal)datetime)OptionalUnion)	BaseModelFieldfield_validatorc                   l
   e Zd ZU  edd      Zee   ed<    edd      Zee	   ed<    edd      Z
ee	   ed<    edd	      Zee	   ed
<    edd      Zee	   ed<    edd      Zee   ed<    edd      Zee   ed<    edd      Zee	   ed<    edd      Zee	   ed<    edd      Zee	   ed<    edd      Zee	   ed<    edd      Zee	   ed<    edd      Zee	   ed<    edd      Zee	   ed<    edd      Zee	   ed<    edd      Zee   ed <    edd!      Zee	   ed"<    edd#      Zee	   ed$<    edd%      Zee	   ed&<    edd'      Zee	   ed(<    edd)      Zee	   ed)<    edd*      Zee	   ed*<    edd+      Zee	   ed,<    edd-      Zee	   ed-<    edd.      Z ee	   ed/<    edd0      Z!ee	   ed1<    edd2      Z"ee	   ed3<    edd4      Z#ee   ed5<    edd6      Z$ee%   ed7<    edd8      Z&ee%   ed8<    edd9      Z'ee   ed:<    edd;      Z(ee   ed<<    edd=      Z)ee*   ed><    edd?      Z+ee   ed@<    eddA      Z,ee*   edB<    eddC      Z-ee%   edD<    eddE      Z.ee%   edF<    eddG      Z/ee	   edH<    eddI      Z0ee	   edJ<    eddK      Z1ee	   edL<    eddM      Z2ee	   edN<    eddO      Z3ee%   edP<    eddQ      Z4ee   edR<    eddS      Z5ee   edT<    eddU      Z6ee   edV<    eddW      Z7ee   edX<    eddY      Z8ee   edZ<    edd[      Z9ee:   ed\<    edd]      Z;ee*   ed^<    edd_      Z<ee   ed`<    edda      Z=ee   edb<    eddc      Z>ee:   edd<    edde      Z?ee:   edf<    eddg      Z@ee   edh<    eddi      ZAee	   edj<    eddk      ZBee   edl<    eddm      ZCee	   edn<    eddo      ZDee	   edp<    eddq      ZEee	   edr<    edds      ZFee	   eds<    eddt      ZGee	   edt<    eddu      ZHee*   edv<    eddw      ZIee	   edx<    eddy      ZJee   edz<    edd{      ZKee	   ed|<    edd}      ZLee	   ed~<    edd      ZMee   ed<    edd      ZNee   ed<    edd      ZOee	   ed<    edd      ZPee	   ed<    edd      ZQee	   ed<    edd      ZRee   ed<    eSdd      eTd               ZU G d d      ZVy)ClienteBaseNzID do cliente)descriptionIdzToken do clienteTokenu   Razão socialRazaoSocialzNome fantasiaNomeFantasiaCNPJCnpju   ID do regime tributárioIdRegimeTributariozID do estadoIdEstadozContato operacionalContatoOperacionalzEmail operacionalEmailOperacionalzTelefone operacionalTelefoneOperacionalzCelular operacionalCelularOperacionalzContato financeiroContatoFinanceirou   Email de cobrançaEmailCobrancaTelefoneCelularu   Número de lojasNumeroLojasu	   EndereçoEnderecou   Número do endereçoEnderecoNumerou   Complemento do endereçoEnderecoComplementoCEPCepBairroCidadeu   Inscrição estadualInscricaoEstadualSitezNome da redeNomeRedezContato da redeContatoRedezTelefone da redeTelefoneRedezID da retaguardaIdRetaguardau   Prospecção
ProspeccaoParceirozID do segmento do clienteIdSegmentoClienteu5   ID do usuário do último download de revisão fiscal$IdUsuarioUltimoDownloadRevisaoFiscalu+   Data do último download de revisão fiscalDataUltimoDownloadRevisaoFiscalu?   ID do usuário do último download de revisão fiscal cancelado-IdUsuarioUltimoDownloadRevisaoFiscalCanceladou5   Data do último download de revisão fiscal cancelado(DataUltimoDownloadRevisaoFiscalCanceladou'   Baixar revisão somente código interno!BaixarRevisaoSomenteCodigoInternou8   Ocultar descrições de produtos no download de revisão(OcultarDescricoesProdutosDownloadRevisaou   Nome do proprietárioNomeProprietariou   Email do proprietárioEmailProprietariou   Telefone do proprietárioTelefoneProprietarioz	Email CPDEmailCpdzRevisado manualmenteRevisadoManualmentezID do contador
IdContadoru?   Limite de consulta de itens semanal diário WS clientes antigos1LimiteConsultaItensSemanalDiarioWsClientesAntigosu5   Limite de consulta de itens diário WS clientes novos(LimiteConsultaItensDiarioWsClientesNovosu&   ID do usuário de suporte responsávelIdUsuarioSuporteResponsavelzID do vendedor
IdVendedorzPercentual de custo operacionalPercentualCustoOperacionalu"   Data de expiração da calculadoraDataExpiracaoCalculadorau   Número de checkoutNumeroCheckoutu   Número de funcionáriosNumeroFuncionarioszFaturamento mensalFaturamentoMensalzMetros quadrados da lojaMetrosQuadradosLojazID do cliente CRMIdClienteCrmu   Mesorregião do endereçoMesorregiaoEnderecozID do grupo empresarialIdGrupoEmpresarialu   Email do responsável da redeEmailResponsavelRedeu   CNAE primárioCnaePrimariou   CNAE secundárioCnaeSecundario	InstagramFacebooku!   Data de criação da prospecçãoDataCriacaoProspeccaou   ObservaçõesObservacoeszID da filial retaguardaIdFilialRetaguardazToken atacadoTokenAtacadou   Token indústriaTokenIndustriazID da origem do cadastroIdOrigemCadastrozID do status do clienteIdStatusClientezToken varejoTokenVarejou   IntegraçãoIntegrationTipozID do regime especialIdRegimeEspecialbefore)modec                 N    |yt        |t        t        f      rt        |      S |S )u/   Converte Tipo de int para string se necessárioN)
isinstanceintfloatstr)clsvs     -/srv/www/app-alerta/schemas/alerta_cliente.pyconvert_tipo_to_stringz"ClienteBase.convert_tipo_to_stringP   s(     9a#u&q6M    c                       e Zd ZdZdZy)ClienteBase.ConfigTN)__name__
__module____qualname__from_attributesvalidate_assignment rb   r`   Configrd   Z   s    "rb   rk   )Wre   rf   rg   r   r   r   r[   __annotations__r   r]   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   boolr,   r-   r.   r/   r   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   r	   classmethodra   rk   rj   rb   r`   r   r      s   d@B@ 3EFE8C=F!&t!IK#I"'/"JL(3-J&9D(3-9(-d@Z([[#DnEHhsmE(-d@U(VV&+D>Q&RhsmR).tAW)X#X(-d@U(VV',T?S'Tx}T#(;O#PM8C=P#DjAHhsmA"4Y?GXc]?!&t9K!LK#L#DkBHhsmB$)$<R$SNHSMS).tA[)\#\t7C#7!$H=FHSM=!$H=FHSM=',T?U'Vx}V&9D(3-9#DnEHhsmE!&t9J!KK#K"':L"ML(3-M"':L"ML(3-M!&t!HJH$TzBHhtnB',T?Z'[x}[:?  SJ  ;K((3-  K:?R  ;A#Xh%7  ACH  \]  D^18C=  ^CH  \S  DT,hx.@  T8=dPy8z%x~z?DT  XR  @S,htn  S&+D>U&VhsmV',T?W'Xx}X*/B]*^(3-^#DkBHhsmB*/BX*Y$Y %d8H IJIGLT  `a  Hb5x}  b>CD  WN  ?O,hsm  O16tIq1r#r %d8H IJI49$Lm4n 1n38Ko3phx0p$)$<Q$RNHSMR(-d@Z([[+0CW+Xx(X-24E_-`'*`"':M"NL(3-N).tA\)]#](-d@Y(ZZ*/Ba*b(3-b"':J"KL(3-K$)$<N$ONHSMO$T{CIx}C#DjAHhsmA05dHk0l8H-l!&t!IK#I(-d@Y(ZZ"'/"JL(3-J$)$<N$ONHSMO&+D>X&YhsmY%*4=V%WOXc]W!&t!HK#H!&t!HK#H&9D(3-9&+D>U&VhsmVV(+  ,# #rb   r   c                       e Zd Zy)ClienteResponseN)re   rf   rg   rj   rb   r`   rp   rp   ^   s    rb   rp   N)decimalr   r   typingr   r   pydanticr   r   r	   r   rp   rj   rb   r`   <module>rt      s/      " 6 6V#) V#p	k 	rb   