
    	]j6                        d Z ddlZddlmZ ddlmZmZ ddlmZ ddl	m
Z
 ddlmZmZ ddlmZ dd	lmZ  G d
 dej$                        Z G d dej$                        Z G d de      Z G d dej$                        Z G d de      Zy)zThis file and its contents are licensed under the Apache License 2.0. Please see the included NOTICE for copyright information and LICENSE for a copy of the license.
    N)settings)ExportStorageImportStorage)serializers)Task)AnnotationSerializerTaskSerializer)User)	load_funcc                        e Zd Z ej                  ej                  j                  ej                  j                  e	                  Z
 ej                  dd      Z fdZ G d d      Z xZS )ImportStorageSerializerdefaultFTrequiredr   c                     t         t        |   |      }t        j                  r"t        t        j                        } || |      }|S )N)superr   validater   "IMPORT_STORAGE_SERIALIZER_VALIDATEr   )selfdatavalidate_func	__class__s      N/root/env/lib/python3.12/site-packages/label_studio/io_storages/serializers.pyr   z ImportStorageSerializer.validate   s?    ,d<TB66%h&Q&QRM t,D    c                       e Zd ZeZdZy)ImportStorageSerializer.Meta__all__N)__name__
__module____qualname__r   modelfields r   r   Metar          r   r%   )r   r    r!   r   ReadOnlyFieldospathbasenamedirname__file__typeBooleanFieldsynchronizabler   r%   __classcell__r   s   @r   r   r      sT    $;$$RWW-=-=bggooh>W-XYD-[--udKN r   r   c                       e Zd Z ej                  ej                  j                  ej                  j                  e	                  Z
 ej                  dd      Z G d d      Zy)ExportStorageSerializerr   FTr   c                       e Zd ZeZdZy)ExportStorageSerializer.Metar   N)r   r    r!   r   r"   r#   r$   r   r   r%   r5   #   r&   r   r%   N)r   r    r!   r   r'   r(   r)   r*   r+   r,   r-   r.   r/   r%   r$   r   r   r3   r3      sN    $;$$RWW-=-=bggooh>W-XYD-[--udKN r   r3   c                   2     e Zd Z fdZ G d d      Z xZS )StorageTaskSerializerc                 2    ddi|d<   t        |   |i | y )Nresolve_uriFcontext)r   __init__)r   argskwargsr   s      r   r;   zStorageTaskSerializer.__init__)   s$    *E2y$)&)r   c                       e Zd ZeZdZy)StorageTaskSerializer.Metar   N)r   r    r!   r   r"   r#   r$   r   r   r%   r?   .   s    r   r%   )r   r    r!   r;   r%   r0   r1   s   @r   r7   r7   (   s    *
 r   r7   c                        e Zd Z G d d      Zy)StorageCompletedBySerializerc                       e Zd ZeZdZy)!StorageCompletedBySerializer.Meta)id
first_name	last_nameemailN)r   r    r!   r
   r"   r#   r$   r   r   r%   rC   4   s    ;r   r%   N)r   r    r!   r%   r$   r   r   rA   rA   3   s    < <r   rA   c                   4    e Zd Z eddg      Z ed      Zy)StorageAnnotationSerializerTannotations)	read_onlyomit)rK   N)r   r    r!   r7   taskrA   completed_byr$   r   r   rI   rI   9   s     4}oFD/$?Lr   rI   )__doc__r(   django.confr   io_storages.base_modelsr   r   rest_frameworkr   tasks.modelsr   tasks.serializersr   r	   users.modelsr
   label_studio.core.utils.commonr   ModelSerializerr   r3   r7   rA   rI   r$   r   r   <module>rX      ss    	   @ &  B  4k99  k99 N <;#>#> <@"6 @r   