lokesh341's picture
Update app.py
1aa8118 verified
raw
history blame
3.44 kB
import torch
from flask import Flask, render_template, request, jsonify, redirect, session
import json
import os
from transformers import pipeline
from gtts import gTTS
from pydub import AudioSegment
from pydub.silence import detect_nonsilent
from transformers import AutoConfig
import time
from waitress import serve
from simple_salesforce import Salesforce
import requests
# Initialize Flask app
app = Flask(__name__)
app.secret_key = os.urandom(24) # For session handling
# βœ… Salesforce Connection Setup
try:
print("Attempting to connect to Salesforce...")
sf = Salesforce(username='[email protected]',
password='Sati@1020',
security_token='sSSjyhInIsUohKpG8sHzty2q')
print("βœ… Connected to Salesforce successfully!")
except Exception as e:
print(f"❌ Failed to connect to Salesforce: {str(e)}")
# βœ… REGISTER API: Create a new Customer in Salesforce
@app.route("/register", methods=["POST"])
def register():
data = request.json
name = data.get("name")
email = data.get("email")
phone_number = data.get("phone")
if not name or not email or not phone_number:
return jsonify({"error": "Missing required fields"}), 400
try:
new_customer = sf.Customer_Login__c.create({
'Name': name,
'Email__c': email,
'Phone_Number__c': phone_number
})
return jsonify({"success": True, "message": "Registration successful", "customer_id": new_customer["id"]})
except Exception as e:
return jsonify({"error": f"Failed to register: {str(e)}"}), 500
# βœ… LOGIN API: Validate user credentials
@app.route("/login", methods=["POST"])
def login():
data = request.json
email = data.get("email")
phone_number = data.get("phone")
if not email or not phone_number:
return jsonify({"error": "Missing email or phone"}), 400
try:
query = f"SELECT Id, Name FROM Customer_Login__c WHERE Email__c = '{email}' AND Phone_Number__c = '{phone_number}'"
result = sf.query(query)
if result["totalSize"] > 0:
user = result["records"][0]
session["customer_id"] = user["Id"] # Store in session
return jsonify({"success": True, "message": "Login successful", "customer_id": user["Id"], "name": user["Name"]})
else:
return jsonify({"error": "Invalid login credentials"}), 401
except Exception as e:
return jsonify({"error": f"Login failed: {str(e)}"}), 500
# βœ… MENU API: Fetch menu items from Salesforce
@app.route("/menu", methods=["GET"])
def get_menu():
try:
query = "SELECT Name, Price__c, Ingredients__c, Category__c FROM Menu_Item__c"
result = sf.query(query)
menu_items = []
for item in result["records"]:
menu_items.append({
"name": item["Name"],
"price": item["Price__c"],
"ingredients": item["Ingredients__c"],
"category": item["Category__c"]
})
return jsonify({"success": True, "menu": menu_items})
except Exception as e:
return jsonify({"error": f"Failed to fetch menu: {str(e)}"}), 500
# βœ… DASHBOARD ROUTE
@app.route("/dashboard", methods=["GET"])
def dashboard():
return render_template("dashboard.html")
# βœ… START PRODUCTION SERVER
if __name__ == "__main__":
serve(app, host="0.0.0.0", port=7860)