Ë
    Ksjñ  ã                   ó8   — d Z ddlZddlmZ ddlmZ dedefd„Zy)zk
Utility to ensure upload directories exist with correct permissions
before saving files (KYC, POD, etc.).
é    N)ÚPath)ÚsettingsÚrelative_pathÚreturnc                 ó¶  — t        t        j                  «      }|| z  j                  «       }	 |j	                  «       s*|j                  dd¬«       	 t        j                  |d«       |dz  }	 |j                  dd¬«       |j                  d¬«       |S # t        $ r Y Œ8w xY w# t        $ r}t        d	|› d
|› d|› d|› �«      |‚d}~ww xY w# t        $ r ‚ w xY w)a   
    Ensure the upload directory exists. Create it (and parent dirs) with
    permissions if not available. Returns the full path.

    relative_path: path relative to MEDIA_ROOT (e.g. 'kyc/2026/03/19')

    On PermissionError: media dir may not be writable by the web process
    (often www-data). Fix on the server, e.g.:

        sudo mkdir -p /var/www/html/truck-me/media
        sudo chown -R www-data:www-data /var/www/html/truck-me/media
        sudo chmod -R u+rwX,g+rwX /var/www/html/truck-me/media
    T)ÚparentsÚexist_okiý  z.write_probeÚ zutf-8)Úencoding)Ú
missing_okz Cannot write to media directory z.. Ensure the web server user owns MEDIA_ROOT (zG) and can create files there. Example: sudo chown -R www-data:www-data z && sudo chmod -R u+rwX,g+rwX N)r   r   Ú
MEDIA_ROOTÚresolveÚexistsÚmkdirÚosÚchmodÚOSErrorÚ
write_textÚunlinkÚPermissionError)r   Ú
media_rootÚ	full_pathÚprobeÚexcs        ú+/var/www/html/truck-me/api/storage_utils.pyÚensure_upload_dirr      s
  € ô ”h×)Ñ)Ó*€JØ˜mÑ+×4Ñ4Ó6€IðØ×ÑÔ!Ø�O‰O D°4ˆOÔ8ðÜ—‘˜ EÔ*ð ˜NÑ*ˆð
	Ø×Ñ˜R¨'ÐÔ2Ø�L‰L DˆLÔ)ð Ðøô% ò Ùðûô ò 	Ü!Ø2°9°+ð >à�<ð  <Ø<F¸<ð H0Ø0:¨|ð	=óð ðûð	ûô ò ØðúsM   ®#C ÁB Á(C Á.%B$ Â	B!ÂC Â B!Â!C Â$	C
Â-CÃC
Ã
C ÃC)Ú__doc__r   Úpathlibr   Údjango.confr   Ústrr   © ó    r   ú<module>r#      s(   ðñó 
Ý å  ð( Sð (¨Tô (r"   