# 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