
# !page: user_information_dealer
# !latest updated: 27Sep2022

from flask import Flask, render_template, request, session, redirect, url_for, flash, Blueprint, jsonify
from functions.form_validation_functions import emailExistValidation
from functions.mail_functions import otpMail
from modules.database_modules import db_connect
import secrets
from functions.date_time_functions import upload_time
from functions.code_generat_functions import otpGenerate


# ? export blueprint section #################################################################################################################################

user_register_phone = Blueprint("user_register_phone", __name__, static_folder="static",
                                template_folder="templates")

# ! Data base connection ######################################################################################################################
# * Copy the following three lines into all of the database connection required py files


# * function section #########################################################################################################################################


# * route section *******************************************************************************************************************************************
@user_register_phone.route("/", methods=['POST'])
def googleRegister():
    header = request.headers
    authKey = header.get('Authorization')
    serverAuth = '88d464b2c2f13bcd7d1d648126e0e8aa5abeb5b1a209639f4e53d994696a422587b403fd69e1baa27b21deb03c2020fd3303e5cdc3ded8e0bc686b5dbbcd37ae'

    if request.method == 'POST' and authKey == serverAuth:
        con = db_connect()
        cur = con.cursor()
        phone = request.form['phone']
        account_type = 'mobile'
        datetime = upload_time()
        cur.execute('select id from user_account where phone=%s', (phone,))
        userID = cur.fetchone()
        if userID == None:
            cur.execute('insert into user_account (phone, account_type, create_date) values (%s,%s,%s)',
                        (phone, account_type, datetime))
            con.commit()
            cur.execute('select id from user_account where phone=%s', (phone,))
            userID = cur.fetchone()
            con.disconnect()
            return jsonify({'userID': userID[0], 'message': 'Login successful', 'status': 'success'}), 200
        con.disconnect()
        return jsonify({'userID': userID[0], 'message': 'Account already registered', 'status': 'success'}), 200
        # return jsonify({'email': email, 'message': 'Email already exist. Please login!', 'status': 'fail'}), 409
    return jsonify({'message': 'unauthorized access'}), 401


# *************************************************************************************************************************************************
