Ë
    ×4—j§!  ã                   óÊ  — d Z ddlmZ ddlmZmZmZ ddlmZm	Z	 ddl
mZmZmZmZ  G d„ dej                  «      Z G d„ d	ej                  «      Z G d
„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Zy)u¶   
DRF Serializers â€“ migrated from Laravel controllers (validation + serialisation logic)

Each serializer corresponds to a Laravel Controller that validates and returns model data.
é    )Úserializers)ÚUserÚReuMietVÚReuEigentuemer)Ú
RealEstateÚRealEstateUnit)ÚVISysVerbrauchRahmenÚVISysVerbrauchsDSÚVISysRefVerbrauchRahmenÚVISysRefVerbrauchsDSc                   óV   — e Zd Z ej                  ddd¬«      Z G d„ d«      Zd„ Zd„ Zy)	ÚUserApiSerializerÚ
last_loginT)ÚsourceÚ
allow_nullÚ	read_onlyc                   ó4   — e Zd ZeZg d¢ZddddœddiddidœZy)úUserApiSerializer.Meta)Ú
PersonenIDÚlastnameÚ	firstnameÚcompanynameÚemailÚpasswordÚVISysEMailPreferenceÚSalutationIDÚSaAnschriftÚSaAnredeÚSaBriefkopfÚlast_login_atÚlast_login_ipTF)Ú
write_onlyÚrequiredr   r#   )r   r   r   N)Ú__name__Ú
__module__Ú__qualname__r   ÚmodelÚfieldsÚextra_kwargs© ó    ú,/var/www/html/vportal/app_api/serializers.pyÚMetar      s1   „ Øˆò
ˆð (,¸ÈdÑSØ% tÐ,Ø  $Ð'ñ
‰r+   r-   c                 óÐ   — dd l }|j                  dd «      }t        di |¤Ž}|r|j                  |«       n |j                  |j	                  d«      «       |j                  «        |S )Nr   r   é   r*   )ÚsecretsÚpopr   Úset_passwordÚ	token_hexÚsave)ÚselfÚvalidated_datar0   r   Úusers        r,   ÚcreatezUserApiSerializer.create$   s\   € ÛØ!×%Ñ% j°$Ó7ˆÜÑ%�nÑ%ˆÙØ×Ñ˜hÕ'à×Ñ˜g×/Ñ/°Ó3Ô4Ø�	‰	ŒØˆr+   c                 óº   — |j                  dd «      }|j                  «       D ]  \  }}t        |||«       Œ |r|j                  |«       |j	                  «        |S )Nr   )r1   ÚitemsÚsetattrr2   r4   )r5   Úinstancer6   r   ÚattrÚvalues         r,   ÚupdatezUserApiSerializer.update/   s[   € Ø!×%Ñ% j°$Ó7ˆØ)×/Ñ/Ó1ò 	+‰KˆD�%Ü�H˜d EÕ*ð	+áØ×!Ñ! (Ô+Ø�‰ŒØˆr+   N)	r$   r%   r&   r   ÚDateTimeFieldr    r-   r8   r?   r*   r+   r,   r   r      s-   „ Ø-�K×-Ñ-°\ÈdÐ^bÔc€M÷
ñ 
ò	ór+   r   c                   ó    — e Zd Z G d„ d«      Zy)ÚRealEstateSerializerc                   ó<   — e Zd ZeZg d¢Zdg iddiddiddiddidœZy)úRealEstateSerializer.Meta)ÚREIDÚStreetÚHouseNumberÚ
PostalCodeÚCityÚ
validatorsr#   T)rE   rF   rG   rI   rH   N)r$   r%   r&   r   r'   r(   r)   r*   r+   r,   r-   rD   F   s;   „ ØˆÚHˆà! 2Ð&Ø! 4Ð(Ø&¨Ð-Ø Ð&Ø% tÐ,ñ
‰r+   r-   N©r$   r%   r&   r-   r*   r+   r,   rB   rB   E   ó   „ ÷	
ò 	
r+   rB   c                   ó    — e Zd Z G d„ d«      Zy)ÚRealEstateUnitSerializerc                   ó6   — e Zd ZeZg d¢Zdg iddiddiddidœZy)úRealEstateUnitSerializer.Meta)ÚREUIDrE   ÚREUDescÚREUCIDrJ   r#   TN)r$   r%   r&   r   r'   r(   r)   r*   r+   r,   r-   rP   V   s3   „ ØˆÚ7ˆà" BÐ'Ø Ð&Ø" DÐ)Ø! 4Ð(ñ	
‰r+   r-   NrK   r*   r+   r,   rN   rN   U   ó   „ ÷
ò 
r+   rN   c                   ó    — e Zd Z G d„ d«      Zy)ÚReuMietVSerializerc                   ó6   — e Zd ZeZg d¢Zdg iddiddiddidœZy)úReuMietVSerializer.Meta)ÚMietVIDrQ   ÚMieterIDÚContractValidFromÚContractValidUntilrJ   r#   T)rY   rZ   rQ   r[   N)r$   r%   r&   r   r'   r(   r)   r*   r+   r,   r-   rX   e   s3   „ ØˆÚ\ˆà$ bÐ)Ø# TÐ*Ø  $Ð'Ø",¨dÐ!3ñ	
‰r+   r-   NrK   r*   r+   r,   rV   rV   d   rT   r+   rV   c                   ó    — e Zd Z G d„ d«      Zy)ÚReuEigentuemerSerializerc                   ó6   — e Zd ZeZg d¢Zdg iddiddiddidœZy)úReuEigentuemerSerializer.Meta)Ú
EigentumIDrQ   ÚEigentuemerIDÚ	ValidFromÚ
ValidUntilrJ   r#   T)ra   rb   rQ   rc   N)r$   r%   r&   r   r'   r(   r)   r*   r+   r,   r-   r`   u   s3   „ ØˆÚTˆà'¨Ð,Ø(¨$Ð/Ø  $Ð'Ø$ dÐ+ñ	
‰r+   r-   NrK   r*   r+   r,   r^   r^   t   s   „ ÷

ò 

r+   r^   c                   ó    — e Zd Z G d„ d«      Zy)Ú!VISysRefVerbrauchRahmenSerializerc                   ó8   — e Zd ZeZg d¢Zg ddœddiddiddidœZy)ú&VISysRefVerbrauchRahmenSerializer.Meta)ÚVISysRefVerbrIDrE   ÚJahrÚVISysVerbrauchsArtIDF©rJ   r   r#   TN)r$   r%   r&   r   r'   r(   r)   r*   r+   r,   r-   rh   †   s3   „ Ø'ˆÚLˆà.0¸uÑEØ Ð&Ø Ð&Ø%/°Ð$6ñ	
‰r+   r-   NrK   r*   r+   r,   rf   rf   …   rT   r+   rf   c                   ó    — e Zd Z G d„ d«      Zy)ÚVISysRefVerbrauchsDSSerializerc                   ó<   — e Zd ZeZg d¢Zdg iddiddiddiddidœZy)ú#VISysRefVerbrauchsDSSerializer.Meta)ÚRefVerBrDatIDÚ
RefVerBrSDÚ
RefVerBrEDÚRefVerBrWertÚ
RefVerBrIDÚRefVerBrWertNormArJ   r#   T)rq   rr   rs   rt   ru   N)r$   r%   r&   r   r'   r(   r)   r*   r+   r,   r-   rp   •   s;   „ Ø$ˆÚqˆà*¨BÐ/Ø% tÐ,Ø% tÐ,Ø'¨Ð.Ø% tÐ,ñ
‰r+   r-   NrK   r*   r+   r,   rn   rn   ”   rL   r+   rn   c                   ó&   — e Zd Z G d„ d«      Zd„ Zy)ÚVISysVerbrauchRahmenSerializerc                   óH   — e Zd ZeZg d¢Zg ddœddidddœdddœddiddidœZy)ú#VISysVerbrauchRahmenSerializer.Meta)ÚVISysVerbrauchsIDrY   r   rQ   rj   rk   Frl   r#   T)r#   r   N)r$   r%   r&   r	   r'   r(   r)   r*   r+   r,   r-   rz   ¥   sC   „ Ø$ˆÚhˆà02ÀÑ!GØ" EÐ*Ø',¸DÑAØ"'°tÑ<Ø Ð&Ø%/°Ð$6ñ
‰r+   r-   c                 ó†   — |j                  d«      }|j                  d«      }|d u |d u k7  rt        j                  d«      ‚|S )Nr   rQ   z=PersonenID and REUID must either both be set or both be null.)Úgetr   ÚValidationError)r5   ÚattrsÚpersonen_idÚreuids       r,   Úvalidatez'VISysVerbrauchRahmenSerializer.validate±   sL   € à—i‘i Ó-ˆØ—	‘	˜'Ó"ˆØ˜4Ð U¨d ]Ò3Ü×-Ñ-ØOóð ð ˆr+   N)r$   r%   r&   r-   r‚   r*   r+   r,   rx   rx   ¤   s   „ ÷

ñ 

ór+   rx   c                   ó    — e Zd Z G d„ d«      Zy)ÚVISysVerbrauchsDSSerializerc                   ó<   — e Zd ZeZg d¢Zdg iddiddiddiddidœZy)ú VISysVerbrauchsDSSerializer.Meta)Ú
VerBrDatIDÚVerBrSDÚVerBrEDÚ	VerBrWertÚVerBrIDÚVerBrWertNormArJ   r#   T)r‡   rˆ   r‰   rŠ   r‹   N)r$   r%   r&   r
   r'   r(   r)   r*   r+   r,   r-   r†   Ã   s;   „ Ø!ˆÚ_ˆà'¨Ð,Ø" DÐ)Ø" DÐ)Ø$ dÐ+Ø" DÐ)ñ
‰r+   r-   NrK   r*   r+   r,   r„   r„   Â   rL   r+   r„   N)Ú__doc__Úrest_frameworkr   Úapp_nutzer.modelsr   r   r   Úapp_real_estate.modelsr   r   Úapp_verbrauch.modelsr	   r
   r   r   ÚModelSerializerr   rB   rN   rV   r^   rf   rn   rx   r„   r*   r+   r,   ú<module>r“      sÅ   ðñõ 'ß <Ñ <ß =÷ó ô"˜×3Ñ3ô "ôb

˜;×6Ñ6ô 

ô 	
˜{×:Ñ:ô 	
ô	
˜×4Ñ4ô 	
ô 
˜{×:Ñ:ô 
ô"	
¨×(CÑ(Cô 	
ô

 [×%@Ñ%@ô 

ô  [×%@Ñ%@ô ô<

 +×"=Ñ"=õ 

r+   