@waylis/core / JSONDatabase
Class: JSONDatabase
Defined in: database/json/json.ts:12
Simple JSON file–based database implementation.
Implements
Constructors
Constructor
new JSONDatabase(filepath: string): JSONDatabase;Defined in: database/json/json.ts:27
Create a new JSONDatabase instance.
Parameters
filepath
string = "./db.json"
Path to the JSON file (defaults to "db.json").
Returns
JSONDatabase
Properties
| Property | Type | Default value | Defined in |
|---|---|---|---|
isOpen | boolean | false | database/json/json.ts:13 |
Methods
addChat()
addChat(chat: Chat): Promise<void>;Defined in: database/json/json.ts:76
Add a new chat to the database.
Parameters
chat
Chat object to store.
Returns
Promise<void>
Implementation of
addConfirmedStep()
addConfirmedStep(step: ConfirmedStep): Promise<void>;Defined in: database/json/json.ts:181
Store a confirmed step.
Parameters
step
Step to add.
Returns
Promise<void>
Implementation of
addFile()
addFile(data: FileMeta): Promise<void>;Defined in: database/json/json.ts:199
Add file metadata to the database.
Parameters
data
File metadata to store.
Returns
Promise<void>
Implementation of
addMessage()
addMessage(msg: Message): Promise<void>;Defined in: database/json/json.ts:130
Add a new message to the database.
Parameters
msg
Message to store.
Returns
Promise<void>
Implementation of
close()
close(): Promise<void>;Defined in: database/json/json.ts:71
Returns
Promise<void>
Implementation of
countChatsByCreatorID()
countChatsByCreatorID(creatorID: string): Promise<number>;Defined in: database/json/json.ts:100
Count how many chats were created by a user.
Parameters
creatorID
string
User identifier.
Returns
Promise<number>
Implementation of
Database.countChatsByCreatorID
deleteChatByID()
deleteChatByID(id: string): Promise<null | Chat>;Defined in: database/json/json.ts:120
Remove a chat by ID.
Parameters
id
string
Chat identifier.
Returns
Promise<null | Chat>
Deleted chat or null if not found.
Implementation of
deleteFileByID()
deleteFileByID(id: string): Promise<null | FileMeta>;Defined in: database/json/json.ts:216
Delete file metadata by ID.
Parameters
id
string
File identifier.
Returns
Promise<null | FileMeta>
Deleted metadata or null if not found.
Implementation of
deleteMessagesByChatID()
deleteMessagesByChatID(chatID: string): Promise<number>;Defined in: database/json/json.ts:167
Delete all messages belonging to a chat.
Parameters
chatID
string
Chat identifier.
Returns
Promise<number>
Number of deleted messages.
Implementation of
Database.deleteMessagesByChatID
deleteOldConfirmedSteps()
deleteOldConfirmedSteps(maxDate: Date): Promise<number>;Defined in: database/json/json.ts:190
Delete all confirmed steps created before a given date.
Parameters
maxDate
Date
Cutoff date.
Returns
Promise<number>
Number of deleted steps.
Implementation of
Database.deleteOldConfirmedSteps
deleteOldFiles()
deleteOldFiles(maxDate: Date): Promise<string[]>;Defined in: database/json/json.ts:225
Delete all files created before a given date.
Parameters
maxDate
Date
Cutoff date.
Returns
Promise<string[]>
List of deleted file IDs.
Implementation of
deleteOldMessages()
deleteOldMessages(maxDate: Date): Promise<number>;Defined in: database/json/json.ts:160
Delete all messages created before a given date.
Parameters
maxDate
Date
Cutoff date.
Returns
Promise<number>
Number of deleted messages.
Implementation of
editChatByID()
editChatByID(id: string, updated: Partial<Chat>): Promise<null | Chat>;Defined in: database/json/json.ts:104
Update a chat by ID.
Parameters
id
string
Chat identifier.
updated
Partial<Chat>
Partial fields to update.
Returns
Promise<null | Chat>
Updated chat or null if not found.
Implementation of
getChatByID()
getChatByID(id: string): Promise<null | Chat>;Defined in: database/json/json.ts:85
Retrieve a chat by its ID.
Parameters
id
string
Chat identifier.
Returns
Promise<null | Chat>
Chat if found, otherwise null.
Implementation of
getChatsByCreatorID()
getChatsByCreatorID(
creatorID: string,
offset: number,
limit: number): Promise<Chat[]>;Defined in: database/json/json.ts:90
Retrieve chats created by a specific user.
Parameters
creatorID
string
User identifier.
offset
number
Skip this many results.
limit
number
Maximum number of results.
Returns
Promise<Chat[]>
Implementation of
getConfirmedStepsByThreadID()
getConfirmedStepsByThreadID(threadID: string): Promise<ConfirmedStep[]>;Defined in: database/json/json.ts:176
Retrieve all confirmed steps belonging to a thread.
Parameters
threadID
string
Thread identifier.
Returns
Promise<ConfirmedStep[]>
Implementation of
Database.getConfirmedStepsByThreadID
getFileByID()
getFileByID(id: string): Promise<null | FileMeta>;Defined in: database/json/json.ts:208
Retrieve file metadata by ID.
Parameters
id
string
File identifier.
Returns
Promise<null | FileMeta>
Metadata if found, otherwise null.
Implementation of
getFilesByIDs()
getFilesByIDs(ids: string[]): Promise<FileMeta[]>;Defined in: database/json/json.ts:212
Retrieve multiple files by IDs.
Parameters
ids
string[]
List of file identifiers.
Returns
Promise<FileMeta[]>
Implementation of
getMessageByID()
getMessageByID(id: string): Promise<null | Message>;Defined in: database/json/json.ts:139
Retrieve a message by its ID.
Parameters
id
string
Message identifier.
Returns
Promise<null | Message>
Message if found, otherwise null.
Implementation of
getMessagesByChatID()
getMessagesByChatID(
chatID: string,
offset: number,
limit: number): Promise<Message[]>;Defined in: database/json/json.ts:149
Retrieve messages from a chat.
Parameters
chatID
string
Chat identifier.
offset
number
Skip this many results.
limit
number
Maximum number of results.
Returns
Promise<Message[]>
Implementation of
getMessagesByIDs()
getMessagesByIDs(ids: string[]): Promise<Message[]>;Defined in: database/json/json.ts:144
Retrieve multiple messages by IDs.
Parameters
ids
string[]
List of message identifiers.
Returns
Promise<Message[]>
Implementation of
open()
open(): Promise<void>;Defined in: database/json/json.ts:66
Returns
Promise<void>