mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-18 14:27:10 +00:00
fix: cloud wip
This commit is contained in:
parent
f521e0ede8
commit
5c1b74bfb1
7 changed files with 226 additions and 7 deletions
|
|
@ -64,6 +64,43 @@ export class LowDBToolsStorage extends ChaiteStorage {
|
|||
return list.map(item => new ToolDTO({}).fromString(JSON.stringify(item)))
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {Record<string, unknown>} filter
|
||||
* @returns {Promise<import('chaite').ToolDTO[]>}
|
||||
*/
|
||||
async listItemsByEqFilter (filter) {
|
||||
const allList = await this.listItems()
|
||||
return allList.filter(item => {
|
||||
for (const key in filter) {
|
||||
if (item[key] !== filter[key]) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {Array<{
|
||||
* field: string;
|
||||
* values: unknown[];
|
||||
* }>} query
|
||||
* @returns {Promise<import('chaite').ToolDTO[]>}
|
||||
*/
|
||||
async listItemsByInQuery (query) {
|
||||
const allList = await this.listItems()
|
||||
return allList.filter(item => {
|
||||
for (const { field, values } of query) {
|
||||
if (!values.includes(item[field])) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
async clear () {
|
||||
await this.collection.deleteAll()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue