
    wg                     f    d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	  G d de          Z
defdZd	S )
    )Iterable)DocumentInterfaceDocumentPatternInterface)DocumentRepositoryInterface)DocumentDocumentFormatPatternc                   X    e Zd Zdededz  fdZdedee         fdZdee         fdZ	dS )DocumentRepositorydocument_slugreturnNc                 p    	 t           j                            |          S # t           j        $ r Y d S w xY w)N)slug)r   objectsgetDoesNotExistselfr   s     P/var/www/html/cms/infrastructure/persistence/repositories/document_repository.pyr   zDocumentRepository.get	   sF    	#'']';;;$ 	 	 	44	s   " 55c                 B    t           j                            |          S )N)document__slug)r   r   filterr   s     r   get_document_patternsz(DocumentRepository.get_document_patterns   s    $,33=3QQQ    c                 f    t           j                            dd                                          S )Ntitler   )r   r   valuesall)r   s    r   r   zDocumentRepository.all   s'    &&w77;;===r   )
__name__
__module____qualname__strr   r   r   r   r   r    r   r   r
   r
      s         ):T)A    R3 R8D\;] R R R R>X/0 > > > > > >r   r
   r   c                      t                      S )N)r
   r"   r   r   get_document_repositoryr$      s    r   N)collections.abcr   domain.materials.documentr   r   domain.materials.repositoryr   +infrastructure.persistence.models.materialsr   r   r
   r$   r"   r   r   <module>r)      s    $ $ $ $ $ $ Q Q Q Q Q Q Q Q C C C C C C W W W W W W W W> > > > >4 > > > !<            r   