89 lines
1.9 KiB
Markdown
89 lines
1.9 KiB
Markdown
# Notes
|
|
The notes for my aiFrontend project
|
|
|
|
## Database
|
|
aiFrontend uses mongoDB as a database, this is used to store previous chats
|
|
|
|
### Chats
|
|
A chat document should be formatted like this:
|
|
```
|
|
{
|
|
"name":"demoName",
|
|
"model": "demoModel",
|
|
"permissions": {
|
|
"demoUserUUID":[
|
|
'owner',
|
|
'view',
|
|
'message',
|
|
'edit'
|
|
]
|
|
},
|
|
messages: [
|
|
{
|
|
"role": "user",
|
|
"content": "demoQuestion",
|
|
"images": ["demoBase64EncodedImage (This line is optional)"]
|
|
},
|
|
{
|
|
"role": "assistant",
|
|
"content": "demoResponse",
|
|
"tool_calls": [
|
|
{
|
|
"function": {
|
|
"name": "demo_function_name",
|
|
"arguments": {
|
|
"demoArg":"demoArgInput"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
```
|
|
MongoDB will add an object ID automatically
|
|
|
|
### Users
|
|
A user should be formatted like this:
|
|
```
|
|
{
|
|
"_id": ObjectId(),
|
|
"name":"demoName",
|
|
"username":"demousername",
|
|
"email":"demoemail@example.com",
|
|
"permissions":[
|
|
"admin",
|
|
"createChat",
|
|
"banUser",
|
|
"unbanUser",
|
|
"createUser",
|
|
"deleteUser",
|
|
"editPermissions",
|
|
"seeUsers"
|
|
],
|
|
"role":"user",
|
|
"password":"demoPasswordHash",
|
|
"passkeys": [
|
|
{
|
|
"passkey":"demoPasskey1",
|
|
"name":"demoPasskeyName1"
|
|
},
|
|
{
|
|
"passkey":"demoPasskey2",
|
|
"name":"demoPasskeyName2"
|
|
}
|
|
],
|
|
"tokens": [
|
|
{
|
|
"token":"demoToken1",
|
|
"expiry":"unixTimecode"
|
|
},
|
|
{
|
|
"token":"demoToken2",
|
|
"expiry":"unixTimecode"
|
|
}
|
|
],
|
|
"creation_date": "unixTimecode"
|
|
}
|
|
```
|
|
The username and email should always be in lowercase |