
    _?i}	                        d dl Z d dlmZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZ ddlmZ g d	Z G d
 dee      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d dee      Z G d dee      Zy)    N)
ArrayField)	AggregateBooleanField	JSONField)	StringAgg)Value)RemovedInDjango70Warning   )_DeprecatedOrdering)ArrayAggBitAndBitOrBitXorBoolAndBoolOrJSONBAggr   c                   (    e Zd ZdZdZdZed        Zy)r   	ARRAY_AGGTc                 F    t        | j                  d   j                        S )Nr   )r   source_expressionsoutput_field)selfs    |/home/cursorai/projects/django-cronjob-utils/venv/lib/python3.12/site-packages/django/contrib/postgres/aggregates/general.pyr   zArrayAgg.output_field   s    $11!4AABB    N)__name__
__module____qualname__functionallow_distinctallow_order_bypropertyr    r   r   r   r      s%    HNNC Cr   r   c                       e Zd ZdZy)r   BIT_ANDNr   r   r   r   r"   r   r   r   r   #       Hr   r   c                       e Zd ZdZy)r   BIT_ORNr%   r"   r   r   r   r   '   s    Hr   r   c                       e Zd ZdZy)r   BIT_XORNr%   r"   r   r   r   r   +   r&   r   r   c                       e Zd ZdZ e       Zy)r   BOOL_ANDNr   r   r   r   r   r   r"   r   r   r   r   /   s    H>Lr   r   c                       e Zd ZdZ e       Zy)r   BOOL_ORNr-   r"   r   r   r   r   4   s    H>Lr   r   c                   &    e Zd ZdZdZdZ e       Zy)r   	JSONB_AGGTN)r   r   r   r   r   r    r   r   r"   r   r   r   r   ;   s    HNN;Lr   r   c                        e Zd Z fdZ xZS )r   c                     t        |t              r+t        j                  d|dt        d       t        |      }t        j                  dt        d       t        |   ||fi | y )Nzvdelimiter: str will be resolved as a field reference instead of a string literal on Django 7.0. Pass `delimiter=Value(z%)` to preserve the previous behavior.   )category
stacklevelzlThe PostgreSQL specific StringAgg function is deprecated. Use django.db.models.aggregates.StringAgg instead.)
isinstancestrwarningswarnr	   r   super__init__)r   
expression	delimiterextra	__class__s       r   r<   zStringAgg.__init__G   sm    i%MM$$-=0UW 2 i(I=-		
 	Y8%8r   )r   r   r   r<   __classcell__)r@   s   @r   r   r   E   s    9 9r   r   )r9   django.contrib.postgres.fieldsr   django.db.modelsr   r   r   r   
_StringAggr   django.utils.deprecationr	   mixinsr   __all__r   r   r   r   r   r   r   r"   r   r   <module>rH      s     5 ? ? 4 " = '	C"I CY I Y "i "
"Y ""I 9#Z 9r   