chatdocs / models /tables.py
shivvamm
Deploy ChatDocs main server (single-container demo)
b496a3b
Raw
History Blame Contribute Delete
2.87 kB
from config.db import Base
from datetime import datetime
from sqlalchemy import Integer, Column, Boolean, String , DateTime,ForeignKey,Text, JSON
from sqlalchemy.orm import relationship
class Users(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
email = Column(String(255), unique=True)
username = Column(String(255), unique=True)
first_name = Column(String(50))
last_name = Column(String(50))
hashed_password = Column(String(255))
is_active = Column(Boolean, default=True)
role = Column(String(50))
class Company(Base):
__tablename__ = "companies"
id = Column(Integer, primary_key=True, index=True)
email = Column(String(255), unique=True)
company_name = Column(String(255))
company_key = Column(String(255))
base_url = Column(String(255), unique=True,nullable=True)
input_tokens = Column(Integer)
output_tokens = Column(Integer)
created_date = Column(DateTime, default=datetime.now())
class Chatbot_stats(Base):
__tablename__ = "chatbots"
id = Column(Integer,index=True)
chatbot_id = Column(String(255),primary_key=True)
chatbot_name = Column(String(255))
chatbot_prompt = Column(Text)
company_id = Column(Integer, ForeignKey("companies.id"))
origin_url = Column(String(255))
company_name = Column(String(255))
total_input_tokens = Column(Integer)
total_output_tokens= Column(Integer)
total_queries = Column(Integer)
last_query_time = Column(DateTime)
class Queries(Base):
__tablename__ = "queries"
id = Column(Integer,index=True,primary_key=True)
company_id = Column(Integer, ForeignKey("companies.id"))
chatbot_id = Column(String(255),ForeignKey("chatbots.chatbot_id"))
session_id = Column(String(255),index=True)
query_text_bot = Column(Text)
query_text_user = Column(Text)
query_context = Column(Text)
input_tokens = Column(String(255))
output_tokens = Column(String(255))
query_time = Column(DateTime)
origin_url = Column(String(255))
class QueryUsers(Base):
__tablename__ = "query_users"
id = Column(Integer, primary_key=True, index=True)
session_id = Column(String(255))
chatbot_id = Column(String(255))
ip_address = Column(String(100))
origin_url = Column(String(255))
timezone = Column(String(50), nullable=True)
language = Column(String(10), nullable=True)
is_mobile = Column(Boolean, nullable=True)
user_agent = Column(Text, nullable=True)
platform = Column(String(255), nullable=True)
referrer = Column(String(255), nullable=True)
location = Column(JSON, nullable=True)
network_type = Column(String(50), nullable=True)
email = Column(String(255), nullable=True)
phone_number = Column(String(255),nullable=True)