Skip to content

@waylis/core


@waylis/core / JSONDatabase

Class: JSONDatabase ​

Defined in: database/json/json.ts:12

Simple JSON file–based database implementation.

Implements ​

Constructors ​

Constructor ​

ts
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 ​

PropertyTypeDefault valueDefined in
isOpenbooleanfalsedatabase/json/json.ts:13

Methods ​

addChat() ​

ts
addChat(chat: Chat): Promise<void>;

Defined in: database/json/json.ts:76

Add a new chat to the database.

Parameters ​

chat ​

Chat

Chat object to store.

Returns ​

Promise<void>

Implementation of ​

Database.addChat


addConfirmedStep() ​

ts
addConfirmedStep(step: ConfirmedStep): Promise<void>;

Defined in: database/json/json.ts:181

Store a confirmed step.

Parameters ​

step ​

ConfirmedStep

Step to add.

Returns ​

Promise<void>

Implementation of ​

Database.addConfirmedStep


addFile() ​

ts
addFile(data: FileMeta): Promise<void>;

Defined in: database/json/json.ts:199

Add file metadata to the database.

Parameters ​

data ​

FileMeta

File metadata to store.

Returns ​

Promise<void>

Implementation of ​

Database.addFile


addMessage() ​

ts
addMessage(msg: Message): Promise<void>;

Defined in: database/json/json.ts:130

Add a new message to the database.

Parameters ​

msg ​

Message

Message to store.

Returns ​

Promise<void>

Implementation of ​

Database.addMessage


close() ​

ts
close(): Promise<void>;

Defined in: database/json/json.ts:71

Returns ​

Promise<void>

Implementation of ​

Database.close


countChatsByCreatorID() ​

ts
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() ​

ts
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 ​

Database.deleteChatByID


deleteFileByID() ​

ts
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 ​

Database.deleteFileByID


deleteMessagesByChatID() ​

ts
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() ​

ts
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() ​

ts
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 ​

Database.deleteOldFiles


deleteOldMessages() ​

ts
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 ​

Database.deleteOldMessages


editChatByID() ​

ts
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 ​

Database.editChatByID


getChatByID() ​

ts
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 ​

Database.getChatByID


getChatsByCreatorID() ​

ts
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 ​

Database.getChatsByCreatorID


getConfirmedStepsByThreadID() ​

ts
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() ​

ts
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 ​

Database.getFileByID


getFilesByIDs() ​

ts
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 ​

Database.getFilesByIDs


getMessageByID() ​

ts
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 ​

Database.getMessageByID


getMessagesByChatID() ​

ts
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 ​

Database.getMessagesByChatID


getMessagesByIDs() ​

ts
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 ​

Database.getMessagesByIDs


open() ​

ts
open(): Promise<void>;

Defined in: database/json/json.ts:66

Returns ​

Promise<void>

Implementation of ​

Database.open

Released under the MIT License.