module Redis::RedisKeys ## Inbox Keys # Array storing the ordered ids for agent round robin assignment ROUND_ROBIN_AGENTS = 'ROUND_ROBIN_AGENTS:%d'.freeze ## Conversation keys # Detect whether to send an email reply to the conversation CONVERSATION_MAILER_KEY = 'CONVERSATION::%d'.freeze # Whether a conversation is muted ? CONVERSATION_MUTE_KEY = 'CONVERSATION::%d::MUTED'.freeze ## User Keys # SSO Auth Tokens USER_SSO_AUTH_TOKEN = 'USER_SSO_AUTH_TOKEN::%d::%s'.freeze ## Online Status Keys # hash containing user_id key and status as value ONLINE_STATUS = 'ONLINE_STATUS::%d'.freeze # sorted set storing online presense of account contacts ONLINE_PRESENCE_CONTACTS = 'ONLINE_PRESENCE::%d::CONTACTS'.freeze # sorted set storing online presense of account users ONLINE_PRESENCE_USERS = 'ONLINE_PRESENCE::%d::USERS'.freeze ## Authorization Status Keys # Used to track token expiry and such issues for facebook slack integrations etc AUTHORIZATION_ERROR_COUNT = 'AUTHORIZATION_ERROR_COUNT:%s:%d'.freeze REAUTHORIZATION_REQUIRED = 'REAUTHORIZATION_REQUIRED:%s:%d'.freeze ## Internal Installation related keys CHATWOOT_INSTALLATION_ONBOARDING = 'CHATWOOT_INSTALLATION_ONBOARDING'.freeze LATEST_CHATWOOT_VERSION = 'LATEST_CHATWOOT_VERSION'.freeze # Check if a message create with same source-id is in progress? MESSAGE_SOURCE_KEY = 'MESSAGE_SOURCE_KEY::%s'.freeze CUSTOM_FILTER_RECORDS_COUNT_KEY = 'CUSTOM_FILTER::%d::%d::%d'.freeze OPENAI_CONVERSATION_KEY = 'OPEN_AI_CONVERSATION_KEY::%s::%d::%d'.freeze ## Sempahores / Locks # We don't want to process messages from the same sender concurrently to prevent creating double conversations FACEBOOK_MESSAGE_MUTEX = 'FB_MESSAGE_CREATE_LOCK::%s::%s'.freeze end