
    Ji                     v    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 dde
ded	edz  fd
Zde
ded	edz  fdZy)    )Session)and_)VkGroup)get_settings)decrypt_tokenN	tenant_iddbreturnc                    K   |2ddl m}  |       }	 t        | |       d{   |j                          S t        | |       d{   S 7 (# |j                          w xY w7 w)ue  
    Получить токен VK группы для отправки сообщений
    
    Args:
        tenant_id: ID тенанта
        db: Optional database session. If None, creates a new one.
    
    Returns:
        str: Токен VK группы для отправки
        None: Если нет доступных групп
    Nr   )SessionLocal)app.db.sessionr   _get_vk_token_implclose)r   r	   r   s      0/var/www/notifications/app/services/vk_sender.pyget_vk_tokenr      sU      
z/^	+Ir::HHJ'	2666	 ;HHJ6s7   A$A AA  A$A"A$A AA$c                 B  K   t               }|j                  t              j                  t	        t        j
                  | k(  t        j                  dk(              j                         }|rt        |j                        }|r|S |j                  r|j                  S yw)uL   Внутренняя реализация получения VK токенаactiveN)r   queryr   filterr   r   statusfirstr   access_token_encVK_GROUP_TOKEN)r   r	   settingsvk_groupdecrypted_tokens        r   r   r      s     ~H xx ''*NNh&	

 eg  '(A(AB"" &&&s   BB)N)sqlalchemy.ormr   
sqlalchemyr   app.db.modelsr   app.core.configr   app.utils.encryptionr   intstrr   r        r   <module>r&      sP    "  ! ( .7# 77 7cDj 7.  S4Z r%   