Sindbad~EG File Manager

Current Path : /home/numerotech/hs.numerotech.com/scan_v1/core/model/__pycache__/
Upload File :
Current File : //home/numerotech/hs.numerotech.com/scan_v1/core/model/__pycache__/FirebaseModel.cpython-310.pyc

o

[(�e-3�@s�ddlmZddlmZmZmZddlmZmZmZm	Z	m
Z
ddlmZm
Z
ddlZddlmZeejddd	d
�Zeejddd	d
�Zeejddd	d
�ZGd
d�d�ZdS)�)�session)�request�	Blueprint�jsonify)�
create_engine�select�MetaData�Table�text)�and_�or_N)�app�DATABASE_URITi)�
pool_pre_ping�pool_recycle�DATABASE_URI_FK�DATABASE_URI_CONFc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/S)0�
FirebaseModelc
Cs�z+t�|_td|jtd�|_td|jtd�|_td|jtd�|_td|jtd�|_WdStyB}zt	|�WYd}~dSd}~ww)N�fb_users)�
autoload_with�fb_notification�notification_logs�
fb_reports)
r�metar	�engine_confrrrr�	Exception�print)�self�e�r�Y/home/numerote/conference.numerotech.com/food_kit_scan_badges/core/model/FirebaseModel.py�__init__s��zFirebaseModel.__init__cCsdt���$}tdt|�d�}|�|�}|��}|rt|j�ndWd�S1s+wYdS)Nz*select * from conference  where conf_id = z
  limit 1;)�engine�connectr
�str�execute�one_or_none�dict�_mapping�r�conf_id�conn�stmt�resultrrr �GetConfFirebaseModels

$�z"FirebaseModel.GetConfFirebaseModelc
Cs�i}z=t���.}|�|j��|�}|��|jr dd�|jD�nd}|d|d<d|d<Wd�W|S1s8wYW|StyX}z
t|�|d<WYd}~|Sd}~ww)NcSsg|]}|�qSrr��.0�rrrr �
<listcomp>*sz/FirebaseModel.insertFCMData.<locals>.<listcomp>r�
fb_user_id�success�msg)	rr#r%r�insert�commit�inserted_primary_keyrr$)r�data�return_datar+r-�pk_idrrrr �
insertFCMData#s"

�����zFirebaseModel.insertFCMDatac
Cs�i}z<t���-}|j���|jjj�|g���|�}|�	|�|�
�||d<d|d<Wd�W|S1s7wYW|StyW}z
t|�|d<WYd}~|Sd}~ww)Nr3r4r5)
rr#r�update�where�cr3�in_�valuesr%r7rr$)rr9r3r:r+r,rrrr �
UpdateFCMData3s"
$

�	�	���zFirebaseModel.UpdateFCMDatacCslt���(}td|dt|�d�}|�|�}|��}|r#t|j�ndWd�S1s/wYdS)Nz*SELECT * FROM fb_users where fcm_token = 'z' and conf_id = �	 limit 1 �rr#r
r$r%�fetchoner'r(�rr*�	fcm_tokenr+r,r-rrr �getUserDataByTokenAs

$�z FirebaseModel.getUserDataByTokencC�Jt���}|�|j��|�}|��|Wd�S1swYdS�N)rr#r%rr6r7)r�insert_datar+r-rrr �insert_fb_notificationI�

$�z$FirebaseModel.insert_fb_notificationc	Cs�t���7}|r|dkrtdt|�d�}n
tdt|�d�}|�|���}|r0dd�|D�nd}|Wd�S1s>wYdS)Nrz� SELECT f.fb_user_id,u.prefix,u.full_name,u.email,u.mobile,u.membership_no,u.user_id,f.conf_id, f.user_id,f.app_name,f.device_type,f.fcm_token from fb_users f  inner join numerote_primary_db.users u  on u.user_id = f.user_id  where f.conf_id = z3 and f.is_test_user  = 1 order by fb_user_id desc ;z` SELECT fb_user_id,conf_id,user_id,app_name,device_type,fcm_token from fb_users where conf_id = z/ and is_test_user = 1  order by fb_user_id desccS�g|]}t|j��qSr�r'r(r/rrr r2d�z/FirebaseModel.getFBUserData.<locals>.<listcomp>�rr#r
r$r%�all)	rr*�device_type�is_all_user�is_loggedin_user�is_commitment_userr+�get_stmt�resultsrrr �
getFBUserDataXs
��$�zFirebaseModel.getFBUserDatacCspt���*}tdt|�dt|�d�}|�|�}|��}|r%t|j�ndWd�S1s1wYdS)Nz6SELECT * FROM fb_notification where notification_id = � and conf_id = rCrD)rr*�notification_idr+r,r-rrr �getFBNotificationByIDis
 
$�z#FirebaseModel.getFBNotificationByIDcCstt�d���}|��}d}zy|�|�|��d}g}|D]?}|�d|d�d|d�d|d�d|d	�d|d
�d|d�d|d�d|d
�d|d�d|d�d|d�d��q|d�|�d}|�|�}	|��|��|	r}WWd�dSWWd�dStjy�}
zt	d|
���|�
�d|
��WYd}
~
Wd�Sd}
~
ww1s�wYdS)N�fc_sessions_v1.dbzDELETE FROM notification_logsz�insert into notification_logs ( fb_user_id,notification_id, fcm_token, conf_id, notification_title, notification_content, send_user, device_type, send_at, fb_message, created_at) valuesz('r3z','r[rGr*�notification_title�notification_content�	send_userrS�send_at�
fb_message�
created_atz')�,�;r4�failed�SQLite error: )�sqlite3r#�cursorr%r7�append�join�close�Errorr�rollback)rr9�sqlite_conn�
sqlite_cursor�delete_queryZ
head_queryZ
item_query�rowr,rXrrrr �insert_demo_del_sqliteps6
|
�����z$FirebaseModel.insert_demo_del_sqlitecC�dt���$}tdt|�d�}|�|���}|rdd�|D�ndWd�S1s+wYdS)Nz/select *  from fb_notification where conf_id = recSrNrrOr/rrr r2�rPz5FirebaseModel.get_fb_notification.<locals>.<listcomp>rQr)rrr �get_fb_notification�s

$�z!FirebaseModel.get_fb_notificationcCs�t���A}z"tdt|�d�}|�|���}|rt|j�ndWWd�StyD}zt|�WYd}~Wd�Sd}~ww1sHwYdS)Nz�select notification_id, notification_type, notification_title, notification_content, image, send_user, sent_at, schedule_at from fb_notification where notification_id = re)	rr#r
r$r%r&r'r(r)rr[r+r,r-rrrr �get_fb_notification_by_id�s
����z'FirebaseModel.get_fb_notification_by_idcCsnt���)}|j���|jjj�|g���|�}|�	|�}|�
�|r$dndWd�S1s0wYdS)Nr4�fail)rr#rr=r>r?r[r@rAr%r7)rr[�update_datar+r,r-rrr �update_fb_notification�s
$

$�z$FirebaseModel.update_fb_notificationcCrIrJ�rr#r%rr6r7)r�insert_logs_datar+r-rrr �insert_notification_logs�rMz&FirebaseModel.insert_notification_logscCs�t���7}d}|rdt|�d}nd}dt|�d}t||�}|�|���}|r2dd�|D�ndWd�S1s>wYdS)N�� and fcm_token = '�' z1select *  from notification_logs where conf_id = � cSrNrrOr/rrr r2�rPz7FirebaseModel.get_notification_logs.<locals>.<listcomp>)rr#r$r
r%rR)rr*rGr+�	where_conr,rWr-rrr �get_notification_logs�s
$�z#FirebaseModel.get_notification_logscs�t�d��=}|��}dt|�d}|�|�dd�|jD���fdd�|��D�}|��|r9|Wd�S	Wd�dS1sEwYdS)Nr]z�SELECT fb_user_id, notification_id, fcm_token, conf_id, notification_title, notification_content, send_user, device_type, send_at, fb_message, created_at, updated_at FROM notification_logs where conf_id = z ; cS�g|]}|d�qS�rr)r0�colrrr r2��z8FirebaseModel.get_del_data_in_sqlite.<locals>.<listcomp>csg|]	}tt�|���qSr)r'�zip)r0rr��columnsrr r2�s)rhr#rir$r%�description�fetchallr7)rr*ror?r,rXrr�r �get_del_data_in_sqlite�s
�
$�z$FirebaseModel.get_del_data_in_sqlitecCsHt���}|�|j��|�}|��Wd�dS1swYdSrJrz�rr*r9r+r-rrr �saveNotificationLogsMysql�s

"�z'FirebaseModel.saveNotificationLogsMysqlcCs�t���5}|rtdt|�d|d�}n
tdt|�d�}|�|���}|r0dd�|D�ndWd�S1s<wYdS)Nz1 SELECT * FROM notification_logs where conf_id = r~z' order by send_at DESCz order by send_at DESCcSrNrrOr/rrr r2�rPz:FirebaseModel.GetNotificationLogsMysql.<locals>.<listcomp>rQrFrrr �GetNotificationLogsMysql�s
$�z&FirebaseModel.GetNotificationLogsMysqlcCs�t�d��K}|��}dt|�d}z|�|�|��Wn*tjyG}ztd|���|��d|��WYd}~Wd�Sd}~wwWd�dS1sSwYdS)Nr]z.DELETE FROM notification_logs where conf_id = z  ;rg)	rhr#rir$r%r7rmrrn)rr*rorprqrrrr �deleteSqliteNotificationLogs�s
���"�z*FirebaseModel.deleteSqliteNotificationLogscCsxt���.}tdt|�dt|�dt|�d�}|�|���}|r)t|j�ndWd�S1s5wYdS)Nz+ SELECT * FROM fb_users where fb_user_id = z and user_id = rZrCrD)rr3�user_idr*r+r,r-rrr �checkFBUser�s

,$�zFirebaseModel.checkFBUsercCrt)NaPselect c.user_id,fbu.fb_user_id,concat( ifnull(u.prefix,''), ' ' ,u.full_name) as full_name ,c.fb_commitments as notification_content,  c.conf_id,fbu.device_type,fbu.fcm_token from fb_commitments c  inner join  numerote_primary_db.users u on u.user_id = c.user_id  inner join  fb_users fbu on fbu.user_id = c.user_id  where c.conf_id = z" and c.fb_commitments is not null;cSrNrrOr/rrr r2�rPz5FirebaseModel.getFBCommitmentUser.<locals>.<listcomp>rQr)rrr �getFBCommitmentUser�s
��$�z!FirebaseModel.getFBCommitmentUsercCsJt���}|�|j��|�}|��	Wd�dS1swYdS)Nr4)rr#r%rr6r7r�rrr �saveNotificationReports�rMz%FirebaseModel.saveNotificationReportscCs�g}zdt��}|��}|�d|pd|pd|pdg�	dd�|jD�}g}	|��}	|	dur/n
tt||	��}
|�|
�q&|�t	|��|�
�durJn|jdurPnqW|��|��|SW|��|��|S|��|��w)NZusp_firebase_notification_index�cSr�r�r)r0r?rrr r2
r�z<FirebaseModel.get_usp_notification_index.<locals>.<listcomp>)
r�raw_connectionri�callprocr�rEr'r�rj�list�nextsetr7rl)rr*r[r3�sets�
connectionri�names�set_�row_rawrrrrr �get_usp_notification_indexs>
�
���
z(FirebaseModel.get_usp_notification_indexc	
Cs�z\t���M}td�}|�|�}td|d|ddt|�d�}|�|�}|��tdt|�d|d	�}|�|���}|rHt|j�ndWd�WS1sUwYWdSt	yr}z
t|�WYd}~Sd}~ww)
NzSET SQL_SAFE_UPDATES = 0 z�Update fb_users fb inner join numerote_primary_db.users u on u.user_id = fb.user_id  set fb.full_name = concat(u.prefix,' ', u.full_name) , fb.name_updated_at ='z' ,fb.updated_at ='rzH where fb.full_name is null and fb.user_id is not null and fb.conf_id = r�zsselect count(fb.fb_user_id) as total_updated_count from fb_users fb  where fb.user_id is not null and fb.conf_id = z and fb.name_updated_at= '�')
rr#r
r%r$r7rEr'r(r)	rr*�curr_dtr+�safe_updater-r,rWrrrr �update_fbuser_name'sJ

�������
����(���z FirebaseModel.update_fbuser_nameN)�__name__�
__module__�__qualname__r!r.r<rBrHrLrYr\rsrurvryr|r�r�r�r�r�r�r�r�r�r�rrrr r
s0

	
"r)�flaskrrrr�
sqlalchemyrrrr	r
Zsqlalchemy.sqlrrrh�corer
�configr"�	engine_fkrrrrrr �<module>s

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists