Sindbad~EG File Manager

Current Path : /home/numerotech/flutter-api.numerotech.com/flutter_api_v1/core/controller/
Upload File :
Current File : //home/numerotech/flutter-api.numerotech.com/flutter_api_v1/core/controller/FlutterAPIController.py

from flask import Flask, request, Blueprint, jsonify, redirect, url_for,flash, render_template,session
from core.model.FlutterAPIModel import FlutterAPIModel
from random import randint
import datetime
from datetime import timedelta,date,datetime
import  json
from flask import session, app

import hashlib
from .. import config,Helper,EMAIL
from urllib.parse import unquote
import html
from html import unescape
import time


app=Blueprint('f_api',__name__)

@app.route('/api/get/f_data/<conf_id>/<table_name>/<conf_schema>', methods = ["GET", "POST"])
@app.route('/api/get/f_data', methods = ["GET", "POST"])
def GetAPIData(conf_id=None,table_name=None,conf_schema=None):
	sync_data = []
	sync_data = FlutterAPIModel().getDelegate(conf_id,table_name,conf_schema)
	return json.dumps(sync_data,default=str)

@app.route('/api/get/f_data_v1/<conf_id>/<table_name>/<conf_schema>', methods = ["GET", "POST"])
@app.route('/api/get/f_data_v1', methods = ["GET", "POST"])
def GetAPIDataV1(conf_id=None,table_name=None,conf_schema=None):
	sync_data = []
	sync_data = FlutterAPIModel().getDelegate_v1(conf_id,table_name,conf_schema)
	return json.dumps(sync_data,default=str)


@app.route('/api/get/session_data/<conf_id>/<table_name>/<conf_schema>',methods=['POST','GET'])
@app.route('/api/get/session_data',methods=['POST','GET'])
def SessionData(conf_id,table_name=None,conf_schema=None):
	ses_data=[]
	ses_data=FlutterAPIModel().getFCSessionData(conf_id,table_name,conf_schema)
	return json.dumps(ses_data,default=str)
	

@app.route('/api/get/fc_delegates_sessions/<conf_id>/<table_name>/<conf_schema>',methods=['POST','GET'])
@app.route('/api/get/fc_delegates_sessions',methods=['POST','GET'])
def fc_delegates_sessions(conf_id,table_name=None,conf_schema=None):
	ses_data=[]
	ses_data=FlutterAPIModel().getFCSessionData(conf_id,table_name,conf_schema)
	return json.dumps(ses_data,default=str)


@app.route('/api/get/conference/<conf_id>/<table_name>/<conf_schema>',methods=['POST','GET'])
@app.route('/api/get/conference',methods=['POST','GET'])
def get_conference_data(conf_id,table_name=None,conf_schema=None):
	conf=[]
	conf=FlutterAPIModel().getConferenceData(conf_id,table_name,conf_schema)
	return json.dumps(conf,default=str)

@app.route('/api/get/system_wise/<conf_id>/<table_name>/<conf_schema>',methods=['POST','GET'])
@app.route('/api/get/system_wise',methods=['POST','GET'])
def system_wise(conf_id,table_name=None,conf_schema=None):
	conf=[]
	conf=FlutterAPIModel().getSystemWiseData(conf_id,table_name,conf_schema)
	return json.dumps(conf,default=str)

@app.route('/api/get/check_conf',methods=['POST','GET'])
def check_confe(username=None,conf_key=None):
	username = request.values.get('username')
	conf_key = request.values.get('conf_key')
	conf=[]
	conf=FlutterAPIModel().check_conf_data(username,conf_key)
	return json.dumps(conf,default=str)

@app.route('/api/get/updated_delegates/<conf_id>/<table_name>/<conf_schema>',methods=['POST','GET'])
def get_last_updates_delegate(conf_id,table_name=None,conf_schema=None,):
	last_sync=request.values.get('last_sync') or None
	print(last_sync)
	last_sync_data=[]
	last_sync_data=FlutterAPIModel().get_last_updates_dele(conf_id,table_name,conf_schema,last_sync)
	return json.dumps(last_sync_data,default=str)

@app.route('/api/get/updated_delegates_v1/<conf_id>/<table_name>/<conf_schema>',methods=['POST','GET'])
def get_last_updates_delegate_v1(conf_id,table_name=None,conf_schema=None,):
	last_sync=request.values.get('last_sync') or None
	print(last_sync)
	last_sync_data=[]
	last_sync_data=FlutterAPIModel().get_last_updates_dele_v1(conf_id,table_name,conf_schema,last_sync)
	return json.dumps(last_sync_data,default=str)

@app.route('/api/get/updated_delegates_map/<conf_id>/<table_name>/<conf_schema>',methods=['POST','GET'])
def get_last_updates_delegate_map(conf_id,table_name=None,conf_schema=None,):
	last_sync=request.values.get('last_sync') or None
	print(last_sync)
	last_sync_data=[]
	last_sync_data=FlutterAPIModel().get_last_updates_dele_map(conf_id,table_name,conf_schema,last_sync)
	return json.dumps(last_sync_data,default=str)

@app.route('/api/get/get_tshirt_data/<conf_id>/<table_name>/<conf_schema>', methods = ["GET", "POST"])
@app.route('/api/get/get_tshirt_data', methods = ["GET", "POST"])
def GetTShirtData(conf_id=None,table_name=None,conf_schema=None):
	sync_data = []
	sync_data = FlutterAPIModel().getDelegate_tshirt(conf_id,table_name,conf_schema)
	return json.dumps(sync_data,default=str)


@app.route('/api/get/delete_map_delegate/<conf_id>/<table_name>/<conf_schema>/<sess_key>', methods = ["GET", "POST"])
@app.route('/api/get/delete_map_delegate', methods = ["GET", "POST"])
def DeleteMapDelegate(conf_id=None,table_name=None,conf_schema=None,sess_key=None):
	sync_data = FlutterAPIModel().delete_map_delegates(conf_id,table_name,conf_schema,sess_key)
	return json.dumps(sync_data,default=str)


@app.route('/api/get/updated_delegates_tshirt/<conf_id>/<table_name>/<conf_schema>',methods=['POST','GET'])
def get_last_updates_delegate_tshirt(conf_id,table_name=None,conf_schema=None,):
	last_sync=request.values.get('last_sync') or None
	jsonData        = [] 
	content_type = request.headers.get('Content-Type')
	if (content_type == 'application/json'):
		jsonData = request.get_json(silent=True)
#       return jsonify(jsonData)

#   return jsonify(jsonData)            
	print(jsonData)
	for i in jsonData:
		i['updated_at']= datetime.now()
	print(jsonData)	
	if jsonData!=[]:
		update_sign=FlutterAPIModel().updateTshirtScanData(jsonData,table_name,conf_schema)
	
	last_sync_data=[]
	last_sync_data=FlutterAPIModel().get_last_updates_dele_tshirt(conf_id,table_name,conf_schema,last_sync)
	return json.dumps(last_sync_data,default=str)


@app.route('/api/sync/fc_entry_data/<conf_id>/<session_id>/<table_name>/<conf_schema>',methods=['POST','GET'])
def fc_sync_entry_data(conf_id,session_id,table_name=None,conf_schema=None):
	last_sync_at    = request.values.get('last_sync_at') or None
	sync_key        = Helper.id_generator()
	
# 	return sync_key
	
#   return last_sync_at
	jsonData        = [] 
	content_type = request.headers.get('Content-Type')
	if (content_type == 'application/json'):
		jsonData = request.get_json(silent=True)
#       return jsonify(jsonData)

#   return jsonify(jsonData)            
	if jsonData:    
		for j in jsonData:
# 			j['sync_at'] = datetime.now()
			j['sync_key']=sync_key
#       return jsonify(jsonData)            
		FlutterAPIModel().insertSessionEntry(jsonData,table_name,conf_schema)
		now=datetime.now()
		
		FlutterAPIModel().UpdateSessionEntry(table_name,conf_schema,now,sync_key)

	synced_data = FlutterAPIModel().getSyncedEntryData(conf_id,table_name,conf_schema,session_id,last_sync_at)
# 	time.sleep(2)
# 	print(synced_data)
	return json.dumps(synced_data,default=str)  

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