From d05f79e24d217536de76061a5810c6596a87f197 Mon Sep 17 00:00:00 2001 From: Clairton Rodrigo Heinzen Date: Wed, 19 Jul 2023 22:25:09 -0300 Subject: [PATCH] add IGNORE_DATA_STORE --- README.md | 1 + package.json | 2 +- src/services/config.ts | 2 ++ src/services/config_by_env.ts | 2 ++ src/services/store_file.ts | 18 ++++++++++-------- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 10478792..20106a15 100644 --- a/README.md +++ b/README.md @@ -201,6 +201,7 @@ REJECT_CALLS=message to send when receive a call, default is empty and not rejec REJECT_CALLS_WEBHOOK=message to send webook when receive a call, default is empty and not send SEND_CONNECTION_STATUS=true to send all connection status to webhook, false to send only important messages, default is true UNOAPI_BASE_STORE=dir where save sessions, medias and stores. Defaul is ./data +IGNORE_DATA_STORE=ignore save/retrieve data(message, contacts, groups...) ``` ## Examples diff --git a/package.json b/package.json index e0660b9f..1c633957 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "unoapi-cloud", - "version": "0.28.0", + "version": "0.29.0-dev", "description": "Unoapi Cloud", "main": "./dist/index.js", "types": "./dist/index.d.ts", diff --git a/src/services/config.ts b/src/services/config.ts index 464656f2..283a0706 100644 --- a/src/services/config.ts +++ b/src/services/config.ts @@ -56,6 +56,7 @@ export type Config = { webhooks: Webhook[] logLevel: string getGroupMetadata: GetGroupMetadata + ignoreDataStore: boolean } export const defaultConfig: Config = { @@ -86,6 +87,7 @@ export const defaultConfig: Config = { }, ], getGroupMetadata: ignoreGetGroupMetadata, + ignoreDataStore: false, } export interface getConfig { diff --git a/src/services/config_by_env.ts b/src/services/config_by_env.ts index aa3bf614..7c380094 100644 --- a/src/services/config_by_env.ts +++ b/src/services/config_by_env.ts @@ -17,6 +17,7 @@ const { WEBHOOK_TOKEN, WEBHOOK_HEADER, COMPOSING_MESSAGE, + IGNORE_DATA_STORE, } = process.env let config: Config @@ -32,6 +33,7 @@ export const getConfigByEnv: getConfig = async (phone: string): Promise config.ignoreBroadcastStatuses = IGNORE_BROADCAST_STATUSES === _undefined ? true : IGNORE_BROADCAST_STATUSES == 'true' config.ignoreBroadcastMessages = IGNORE_BROADCAST_MESSAGES === _undefined ? false : IGNORE_OWN_MESSAGES == 'true' config.ignoreHistoryMessages = IGNORE_HISTORY_MESSAGES === _undefined ? false : IGNORE_HISTORY_MESSAGES == 'true' + config.ignoreDataStore = IGNORE_DATA_STORE === _undefined ? false : IGNORE_DATA_STORE == 'true' config.ignoreYourselfMessages = IGNORE_YOURSELF_MESSAGES === _undefined ? false : IGNORE_YOURSELF_MESSAGES == 'true' config.ignoreOwnMessages = IGNORE_OWN_MESSAGES === _undefined ? true : IGNORE_OWN_MESSAGES == 'true' config.sendConnectionStatus = SEND_CONNECTION_STATUS === _undefined ? true : SEND_CONNECTION_STATUS == 'true' diff --git a/src/services/store_file.ts b/src/services/store_file.ts index 68701413..303d9197 100644 --- a/src/services/store_file.ts +++ b/src/services/store_file.ts @@ -59,18 +59,20 @@ const storeFile: store = async (phone: string, config: Config): Promise = rmSync(dataFile) } } - try { - dataStore.readFromFile(dataFile) - } catch (error) { - console.debug(`Try read ${dataFile} again....`) + if (!config.ignoreDataStore) { try { dataStore.readFromFile(dataFile) } catch (error) { - console.error(`Error on read data store`, error) + console.debug(`Try read ${dataFile} again....`) + try { + dataStore.readFromFile(dataFile) + } catch (error) { + console.error(`Error on read data store`, error) + } } + setInterval(() => { + dataStore.writeToFile(dataFile), 10_0000 + }) } - setInterval(() => { - dataStore.writeToFile(dataFile), 10_0000 - }) return { state, saveCreds, dataStore, mediaStore } }