Files
AiThingy/notes.md

88 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'
]
},
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