File size: 2,334 Bytes
ad87194
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
from pydantic import BaseModel,EmailStr
from typing import List, Optional




## ---------------------------------- Chatbot API Models ----------------------------------

class AddTextRequest(BaseModel):
    vectorstore: str
    text: str


class AddWebsiteRequest(BaseModel):
    website_urls: List[str]
    vectorstore: str
    source: str


class AnswerQueryRequest(BaseModel):
    query: str
    vectorstore: str
    llm_model: str = "llama3-70b-8192"

class GetLinksRequest(BaseModel):
    url: str



class WebsiteUrlTextExtractionRequest(BaseModel):
    url: str


class WebsiteUrlTextExtractionListRequest(BaseModel):
    urls: List[str]


class GetCurrentCountRequest(BaseModel):
    vectorstore: str


class ListChatbotsRequest(BaseModel):
    username: str


class GetChatHistoryRequest(BaseModel):
    vectorstore: str


class ChatHistoryItem(BaseModel):
    timestamp: str
    question: str
    response: str


class DeleteChatbotRequest(BaseModel):
    vectorstore: str


class TrainChatbotRequest(BaseModel):
    vectorstore: str
    urls: list[str]


class LoadPDFRequest(BaseModel):
    vectorstore: str


class LoadEditedJson(BaseModel):
    vectorstore: str
    data_source_name: str
    source_endpoint: str
    json_data: dict


class PublicPrivateCheckRequest(BaseModel):
    vectorstore: str
    mode: str | None = None


class DeleteChatbotSourceRequest(BaseModel):
    vectorstore: str
    data_source_name: str


## ---------------------------------- User Management API Models ----------------------------------

class UserSignupRequest(BaseModel):
    username: str
    email:EmailStr
    password: str


class UserSigninRequest(BaseModel):
    username:str
    email:EmailStr

    password: str


class CheckSessionRequest(BaseModel):
    user_id: str


class GetUserDataRequest(BaseModel):
    access_token: str


class RefreshSessionRequest(BaseModel):
    refresh_token: str


class LoginWithAccessTokenRequest(BaseModel):
    access_token: str
    refresh_token: str


class UsernameCreationOauthRequest(BaseModel):
    username: str
    email: str
    user_id: str



class SetSessionDataRequest(BaseModel):
    access_token: str
    refresh_token: str
    user_id: str


class SignOutRequest(BaseModel):
    user_id: str


class NewChatbotRequest(BaseModel):
    chatbot_name: str
    username: str