SYMBOL INDEX (810 symbols across 194 files) FILE: app.js constant JSON_BODY_LIMIT (line 298) | const JSON_BODY_LIMIT = process.env.JSON_BODY_LIMIT || '500KB'; constant WEBHOOK_BODY_LIMIT (line 301) | const WEBHOOK_BODY_LIMIT = process.env.WEBHOOK_BODY_LIMIT || '5mb'; FILE: channels/channelManager.js class ChannelManager (line 23) | class ChannelManager { method use (line 25) | use(app) { method useUnderProjects (line 58) | useUnderProjects(app) { method listen (line 62) | listen() { FILE: channels/chat21/chat21Event.js class Chat21Event (line 3) | class Chat21Event extends EventEmitter {} FILE: channels/chat21/chat21Handler.js class Chat21Handler (line 53) | class Chat21Handler { method typing (line 56) | typing(message, timestamp) { method listen (line 74) | listen() { FILE: channels/chat21/chat21Util.js class Chat21Util (line 5) | class Chat21Util { method getButtonFromText (line 7) | getButtonFromText(message, bot, qna) { method findSplits (line 98) | findSplits(result) { method parseReply (line 141) | parseReply(text) { FILE: channels/chat21/firebaseService.js class FirebaseService (line 6) | class FirebaseService { method createCustomToken (line 8) | createCustomToken(uid) { method createCustomTokenWithAttribute (line 21) | createCustomTokenWithAttribute(uid, customAttributes) { FILE: channels/chat21/tiledesk-util.js class TiledeskUtil (line 7) | class TiledeskUtil { method findSplits (line 20) | findSplits(text) { method parseReply (line 58) | parseReply(text) { FILE: config/kb/prompt/rag/PromptManager.js class PromptManager (line 26) | class PromptManager { method constructor (line 28) | constructor(basePath) { method getPrompt (line 33) | getPrompt(name) { FILE: config/winston-mt-multilogger.js function getLogger (line 9) | function getLogger(moduleName) { function createNewLogger (line 24) | function createNewLogger(moduleName) { FILE: event/authEvent.js class AuthEvent (line 4) | class AuthEvent extends EventEmitter { method constructor (line 5) | constructor() { FILE: event/botEvent.js class BotEvent (line 11) | class BotEvent extends EventEmitter { method constructor (line 13) | constructor() { method listen (line 20) | listen() { function getBotFromParticipants (line 189) | function getBotFromParticipants(participants) { function getBotId (line 212) | function getBotId(message) { FILE: event/connectionEvent.js class ConnectionEvent (line 3) | class ConnectionEvent extends EventEmitter {} FILE: event/departmentEvent.js class DepartmentEvent (line 3) | class DepartmentEvent extends EventEmitter {} FILE: event/emailEvent.js class EmailEvent (line 7) | class EmailEvent extends EventEmitter { method constructor (line 8) | constructor() { method listen (line 13) | listen() { FILE: event/faqBotEvent.js class FaqBotEvent (line 3) | class FaqBotEvent extends EventEmitter {} FILE: event/groupEvent.js class GroupEvent (line 3) | class GroupEvent extends EventEmitter {} FILE: event/integrationEvent.js class IntegrationEvent (line 5) | class IntegrationEvent extends EventEmitter { method constructor (line 6) | constructor() { FILE: event/labelEvent.js class LabelEvent (line 3) | class LabelEvent extends EventEmitter {} FILE: event/leadEvent.js class LeadEvent (line 3) | class LeadEvent extends EventEmitter { method constructor (line 4) | constructor() { FILE: event/message2Event.js class Message2Event (line 10) | class Message2Event extends EventEmitter2 {} FILE: event/messageEvent.js class MessageEvent (line 14) | class MessageEvent extends EventEmitter { method constructor (line 15) | constructor() { function emitCompleteMessage (line 25) | function emitCompleteMessage(message) { function populateMessageCreate (line 42) | function populateMessageCreate(message) { function populateMessageUpdate (line 45) | function populateMessageUpdate(message) { function populateMessageWithRequest (line 53) | function populateMessageWithRequest(message, eventPrefix) { FILE: event/messagePromiseEvent.js class MessagePromiseEvent (line 3) | class MessagePromiseEvent extends EventEmitter {} FILE: event/projectEvent.js class ProjectEvent (line 3) | class ProjectEvent extends EventEmitter {} FILE: event/projectUserEvent.js class ProjectUserEvent (line 5) | class ProjectUserEvent extends EventEmitter { method constructor (line 6) | constructor() { method registerListeners (line 11) | registerListeners() { FILE: event/requestEvent.js class RequestEvent (line 7) | class RequestEvent extends EventEmitter { method constructor (line 8) | constructor() { FILE: event/roleEvent.js class RoleEvent (line 3) | class RoleEvent extends EventEmitter {} FILE: event/subscriptionEvent.js class SubscriptionEvent (line 3) | class SubscriptionEvent extends EventEmitter {} FILE: jobs.js function main (line 66) | async function main() function panic (line 124) | function panic(error) FILE: jobsManager.js class JobsManager (line 4) | class JobsManager { method constructor (line 5) | constructor(jobWorkerEnabled, geoService, botEvent, subscriptionNotifi... method listen (line 29) | listen() { method listenEmailNotification (line 50) | listenEmailNotification(emailNotification) { method listenRoutingQueue (line 59) | listenRoutingQueue(routingQueue) { method listenScheduler (line 68) | listenScheduler(scheduler) { method listenActivityArchiver (line 77) | listenActivityArchiver(activityArchiver) { method listenWhatsappQueue (line 86) | listenWhatsappQueue(whatsappQueue) { method listenMultiWorker (line 96) | listenMultiWorker(multiWorkerQueue) { FILE: middleware/file-type.js constant TEXT_MIME_TYPES (line 5) | const TEXT_MIME_TYPES = [ function areMimeTypesEquivalent (line 19) | function areMimeTypesEquivalent(mimeType1, mimeType2) { constant MAGIC_SIGNATURES (line 52) | const MAGIC_SIGNATURES = { function magicMatches (line 63) | function magicMatches(buf, mimetype) { constant BASE64_REGEX (line 78) | const BASE64_REGEX = /^[A-Za-z0-9+/]+=*$/; function ensureBuffer (line 87) | function ensureBuffer(buffer) { function verifyFileContent (line 115) | async function verifyFileContent(buffer, mimetype) { FILE: middleware/has-role.js class RoleChecker (line 6) | class RoleChecker { method constructor (line 10) | constructor() { method isType (line 24) | isType(type) { method isTypeAsFunction (line 39) | isTypeAsFunction(type, user) { method isTypesAsFunction (line 62) | isTypesAsFunction(types, user) { method hasPermission (line 88) | hasPermission(permission) { method hasRole (line 161) | hasRole(role) { method hasRoleOrTypes (line 165) | hasRoleOrTypes(role, types, permission) { FILE: middleware/ipFilter.js class IPFilter (line 44) | class IPFilter { method constructor (line 48) | constructor() { method projectIpFilter (line 59) | projectIpFilter (req, res, next) { method projectIpFilterDeny (line 98) | projectIpFilterDeny (req, res, next) { method projectBanUserFilter (line 136) | projectBanUserFilter(req, res, next) { method decodeJwt (line 193) | decodeJwt(req, res, next) { FILE: middleware/passport.js constant JWT_HISTORY_ENABLED (line 89) | let JWT_HISTORY_ENABLED = false; FILE: middleware/recaptcha.js constant RECAPTCHA_ENABLED (line 11) | let RECAPTCHA_ENABLED = false; FILE: migrations/1601628781595-project_users_presence.js function up (line 7) | async function up () { function down (line 23) | async function down () { FILE: migrations/1602847963299-message-channel_type-and-channel-fields-added--autosync.js function up (line 8) | async function up () { function down (line 21) | async function down () { FILE: migrations/1603797978971-project_users-status-field-added--autosync.js function up (line 7) | async function up () { function down (line 23) | async function down () { FILE: migrations/1603955232377-requests-channel-outbound-fields--autosync.js function up (line 8) | async function up () { function down (line 21) | async function down () { FILE: migrations/1603955232378-requests-channel-fields--autosync.js function up (line 8) | async function up () { function down (line 21) | async function down () { FILE: migrations/1604082287722-labels-data-default-fields--autosync.js function up (line 8) | async function up () { function down (line 60) | async function down () { FILE: migrations/1604082288723-labels-waiting_time-added_suffix_reply_time--autosync.js function up (line 8) | async function up () { function down (line 66) | async function down () { FILE: migrations/1611576399823-project-settings-max_agent_assigned_renamed--autosync.js function up (line 7) | async function up () { function down (line 25) | async function down () { FILE: migrations/1611576534533-project_user-max_assigned_chat-renamed--autosync.js function up (line 7) | async function up () { function down (line 26) | async function down () { FILE: migrations/1615214914082-faq-intent_id-intent_display_name-fields-added--autosync.js function up (line 8) | async function up () { function down (line 33) | async function down () { FILE: migrations/1616685902635-request_agents_to_snapshot_agents--autosync.js function up (line 9) | async function up () { function down (line 56) | async function down () { FILE: migrations/1616687831941-trigger_availableAgentsCount_to_snapshot_agents--autosync.js function up (line 10) | async function up () { function down (line 57) | async function down () { FILE: migrations/1616687831941-trigger_availableAgentsCount_to_snapshot_agents-key--autosync.js function up (line 10) | async function up () { function down (line 58) | async function down () { FILE: migrations/1619185894304-request-remove-duplicated-request-by-request_id--autosync.js function up (line 7) | async function up () { function down (line 61) | async function down () { FILE: migrations/1752742733903-namespace-engine-migration.js function up (line 4) | async function up () { FILE: migrations/1757601159298-project_user_role_type.js constant BATCH_SIZE (line 4) | const BATCH_SIZE = 100; constant PROGRESS_LOG_EVERY_BATCHES (line 6) | const PROGRESS_LOG_EVERY_BATCHES = 10; constant WITHOUT_ROLE_TYPE (line 9) | const WITHOUT_ROLE_TYPE = { constant AGENT_ROLES_FILTER (line 13) | const AGENT_ROLES_FILTER = { constant USER_ROLES_FILTER (line 27) | const USER_ROLES_FILTER = { function batchSetRoleType (line 31) | async function batchSetRoleType(filter, roleType, phaseLabel) { function up (line 83) | async function up() { function down (line 99) | async function down() { FILE: migrations/1771844588961-phone-channels-migration.js constant VOICE_TWILIO_CHANNEL_NAMES (line 5) | const VOICE_TWILIO_CHANNEL_NAMES = ['voice_twilio', 'voice-twilio']; constant VOICE_VXML_CHANNEL_NAMES (line 6) | const VOICE_VXML_CHANNEL_NAMES = ['voice-vxml', 'voice-vxml-enghouse']; constant BATCH_SIZE (line 7) | const BATCH_SIZE = 100; function getPhoneFromVoiceTwilioCreatedBy (line 9) | function getPhoneFromVoiceTwilioCreatedBy(createdBy) { function updateManyWithNormalizedPhone (line 16) | async function updateManyWithNormalizedPhone(filter, getPhoneFromDoc) { function up (line 47) | async function up() { FILE: models/faq_kb.js function generateSlug (line 264) | function generateSlug(name) { FILE: models/kb_setting.js constant DEFAULT_UNANSWERED_TTL_SEC (line 5) | const DEFAULT_UNANSWERED_TTL_SEC = 7 * 24 * 60 * 60; constant DEFAULT_ANSWERED_TTL_SEC (line 6) | const DEFAULT_ANSWERED_TTL_SEC = 7 * 24 * 60 * 60; function ttlSecondsFromEnv (line 8) | function ttlSecondsFromEnv(raw, fallbackSec) { FILE: models/permissionConstants.js constant OWNER_ROLE (line 1) | const OWNER_ROLE = [ constant ADMIN_ROLE (line 4) | const ADMIN_ROLE = [ constant AGENT_ROLE (line 7) | const AGENT_ROLE= [ FILE: models/projectf.js class Project (line 46) | class Project { method constructor (line 49) | constructor(project) { method save (line 87) | save(c) { method findOne (line 94) | static findOne(q,c) { method cll (line 108) | static cll(q, c) { FILE: public/wstest/TB.js function createInstance (line 5) | function createInstance() { FILE: public/wstest/tilebase.js class Tilebase (line 1) | class Tilebase { method constructor (line 4) | constructor(url, onCreate, onUpdate) { method send (line 33) | send (message) { method start (line 37) | start(initialMessage) { method isArray (line 131) | isArray(what) { FILE: pubmodules/activities/activityArchiver.js class ActivityArchiver (line 6) | class ActivityArchiver { method listen (line 8) | listen() { method save (line 418) | save(activity) { FILE: pubmodules/activities/routes/activity.js function translateString (line 306) | function translateString(string, lang) { function buildMsg_REQUEST_CREATE (line 416) | function buildMsg_REQUEST_CREATE(lang, activity) { function buildMsg_PROJECT_USER_INVITE (line 420) | function buildMsg_PROJECT_USER_INVITE(actor_name, target_fullname, lang,... function buildMsg_PROJECT_USER_DELETE (line 451) | function buildMsg_PROJECT_USER_DELETE(actor_name, target_fullname, lang) { function buildMsg_PROJECT_USER_UPDATE (line 459) | function buildMsg_PROJECT_USER_UPDATE(actor_name, target_fullname, lang,... function buildCsv (line 571) | function buildCsv(activities, lang) { FILE: pubmodules/apps/listener.js class Listener (line 17) | class Listener { method listen (line 19) | listen(config) { FILE: pubmodules/cache/mongoose-cachegoose-fn.js function del (line 23) | async function del(client, key, callback) { function listen (line 55) | function listen(client) { FILE: pubmodules/chatbotTemplates/listener.js class Listener (line 5) | class Listener { method listen (line 7) | listen(config) { FILE: pubmodules/dialogflow/listener.js constant BOT_DIALOGFLOW_ENDPOINT (line 9) | const BOT_DIALOGFLOW_ENDPOINT = process.env.BOT_DIALOGFLOW_ENDPOINT || "... class Listener (line 22) | class Listener { method listen (line 24) | listen(config) { FILE: pubmodules/emailNotification/requestNotification.js function getPooledEmailCache (line 46) | function getPooledEmailCache() { constant POOLED_EMAIL_THROTTLE_TTL (line 59) | const POOLED_EMAIL_THROTTLE_TTL = Number(process.env.POOLED_EMAIL_THROTT... class RequestNotification (line 61) | class RequestNotification { method constructor (line 63) | constructor() { method setTdCache (line 75) | setTdCache(tdCache) { method listen (line 82) | listen() { method sendToUserEmailChannelEmail (line 297) | sendToUserEmailChannelEmail(projectid, message) { method notifyFollowers (line 415) | async notifyFollowers(savedRequest, project, message) { method sendToFollower (line 480) | sendToFollower(projectid, message) { method sendToAgentEmailChannelEmail (line 519) | sendToAgentEmailChannelEmail(projectid, message) { method sendEmailChannelTakingNotification (line 691) | sendEmailChannelTakingNotification(projectid, request) { method sendUserEmail (line 730) | sendUserEmail(projectid, message) { method sendAgentEmail (line 885) | sendAgentEmail(projectid, savedRequest) { method sendTranscriptByEmail (line 1102) | sendTranscriptByEmail(sendTo, request_id, id_project, project) { FILE: pubmodules/entityEraser/eraserInterceptor.js class EntityInterceptor (line 9) | class EntityInterceptor { method listen (line 14) | listen() { FILE: pubmodules/events/event2Event.js class Event2Event (line 7) | class Event2Event extends EventEmitter2 {} FILE: pubmodules/events/eventEvent.js class EventEvent (line 3) | class EventEvent extends EventEmitter {} FILE: pubmodules/events/eventService.js class EventService (line 9) | class EventService { method emit (line 43) | emit(name, attributes, id_project, project_user, createdBy, status, us... FILE: pubmodules/kaleyra/listener.js class Listener (line 8) | class Listener { method listen (line 10) | listen(config) { FILE: pubmodules/messageActions/event/messageActionEvent.js class MessageActionEvent (line 3) | class MessageActionEvent extends EventEmitter {} FILE: pubmodules/messageActions/messageActionsInterceptor.js class MessageActionsInterceptor (line 12) | class MessageActionsInterceptor { method listen (line 17) | listen() { FILE: pubmodules/messageTransformer/messageHandlebarsTransformerInterceptor.js class MessageHandlebarsTransformerInterceptor (line 9) | class MessageHandlebarsTransformerInterceptor { method listen (line 14) | listen() { FILE: pubmodules/messageTransformer/messageTransformerInterceptor.js class MessageTransformerInterceptor (line 11) | class MessageTransformerInterceptor { method listen (line 16) | listen() { FILE: pubmodules/messageTransformer/microLanguageAttributesTransformerInterceptor.js class MicroLanguageTransformerInterceptor (line 8) | class MicroLanguageTransformerInterceptor { method listen (line 13) | listen() { FILE: pubmodules/messageTransformer/microLanguageTransformerInterceptor.js class MicroLanguageTransformerInterceptor (line 8) | class MicroLanguageTransformerInterceptor { method listen (line 13) | listen() { FILE: pubmodules/messenger/listener.js class Listener (line 11) | class Listener { method listen (line 13) | listen(config) { FILE: pubmodules/mqttTest/listener.js class Listener (line 8) | class Listener { method listen (line 10) | listen(config) { FILE: pubmodules/pubModulesManager.js class PubModulesManager (line 8) | class PubModulesManager { method constructor (line 10) | constructor() { method use (line 81) | use(app) { method useUnderProjects (line 138) | useUnderProjects(app) { method init (line 174) | init(config) { method start (line 600) | start() { FILE: pubmodules/queue/reconnect.js function start (line 38) | function start() { function whenConnected (line 61) | function whenConnected() { function startPublisher (line 82) | function startPublisher() { function publish (line 102) | function publish(exchange, routingKey, content) { function startWorker (line 122) | function startWorker() { function work (line 238) | function work(msg, cb) { function closeOnErr (line 347) | function closeOnErr(err) { function listen (line 361) | function listen() { FILE: pubmodules/queue/reconnectFanout.js function start (line 20) | function start() { function whenConnected (line 43) | function whenConnected() { function startPublisher (line 50) | function startPublisher() { function publish (line 70) | function publish(exchange, routingKey, content) { function startWorker (line 92) | function startWorker() { function work (line 158) | function work(msg, cb) { function closeOnErr (line 197) | function closeOnErr(err) { function listen (line 216) | function listen() { FILE: pubmodules/rasa/listener.js constant BOT_RASA_ENDPOINT (line 9) | const BOT_RASA_ENDPOINT = process.env.BOT_RASA_ENDPOINT || "http://local... class Listener (line 21) | class Listener { method listen (line 23) | listen(config) { FILE: pubmodules/routing-queue/listener.js class Listener (line 22) | class Listener { method constructor (line 25) | constructor() { method nextOperator (line 33) | nextOperator(array, index) { method listen (line 53) | listen() { FILE: pubmodules/routing-queue/listenerQueued.js class Listener (line 29) | class Listener { method constructor (line 32) | constructor() { method updateProjectUser (line 45) | updateProjectUser(id_user, id_project, operation) { method _updateProjectUser (line 93) | _updateProjectUser(id_user, id_project, operation) { method updateParticipatingProjectUsers (line 126) | updateParticipatingProjectUsers(request, operation) { method listen (line 139) | listen() { FILE: pubmodules/rules/appRules.js class AppRules (line 5) | class AppRules { method start (line 7) | start() { FILE: pubmodules/rules/conciergeBot.js class ConciergeBot (line 14) | class ConciergeBot { method listen (line 17) | listen() { method welcomeAgentOnJoin (line 320) | welcomeAgentOnJoin(request, member) { FILE: pubmodules/s/stripe/index.js function getSubByIdAndCheckoutSessionCompletedEvnt (line 1) | function getSubByIdAndCheckoutSessionCompletedEvnt(_0x430853){return new... function getSubscritionById (line 1) | function getSubscritionById(_0xb497f4){return new Promise(function(_0x4d... function updateProjectProfile (line 1) | function updateProjectProfile(_0x26b5d9,_0x36c121,_0xf15e2d){Project[_0x... function saveOnDB (line 1) | function saveOnDB(_0x462571,_0x47f4eb,_0x696fb9,_0x51275d,_0x27b4c5,_0x4... function saveFirstInvoicePaymentSucceeded (line 1) | function saveFirstInvoicePaymentSucceeded(_0x19242c,_0x27ead3,_0x37ca2c)... function detachPaymentFunc (line 1) | async function detachPaymentFunc(_0x5c72a1,_0x5379eb){winston[_0x15b1('0... FILE: pubmodules/scheduler/taskRunner.js class TaskRunner (line 9) | class TaskRunner { method constructor (line 11) | constructor() { method start (line 15) | start() { FILE: pubmodules/scheduler/tasks/closeAgentUnresponsiveRequestTask.js class CloseAgentUnresponsiveRequestTask (line 13) | class CloseAgentUnresponsiveRequestTask { method constructor (line 15) | constructor() { method run (line 33) | run() { method scheduleUnresponsiveRequests (line 45) | scheduleUnresponsiveRequests() { method findUnresponsiveRequests (line 63) | findUnresponsiveRequests() { method scheduleRequestClosures (line 113) | scheduleRequestClosures(requests) { method closeRequest (line 129) | closeRequest(request) { FILE: pubmodules/scheduler/tasks/closeBotUnresponsiveRequestTask.js class CloseBotUnresponsiveRequestTask (line 13) | class CloseBotUnresponsiveRequestTask { method constructor (line 15) | constructor() { method run (line 32) | run() { method scheduleUnresponsiveRequests (line 45) | scheduleUnresponsiveRequests() { method findUnresponsiveRequests (line 71) | findUnresponsiveRequests() { method scheduleRequestClosures (line 120) | scheduleRequestClosures(requests) { method closeRequest (line 136) | closeRequest(request) { FILE: pubmodules/scheduler/tasks/requestTaskSchedulerAgenda.js class RequestTaskScheduler (line 17) | class RequestTaskScheduler { method constructor (line 19) | constructor() { method run (line 24) | run() { method scheduleUnresponsiveRequests (line 31) | scheduleUnresponsiveRequests() { method findUnresponsiveRequests (line 56) | findUnresponsiveRequests() { FILE: pubmodules/sms/listener.js class Listener (line 11) | class Listener { method listen (line 13) | listen(config) { FILE: pubmodules/telegram/listener.js class Listener (line 11) | class Listener { method listen (line 13) | listen(config) { FILE: pubmodules/tilebot/listener.js constant TILEBOT_ENDPOINT (line 8) | let TILEBOT_ENDPOINT = "http://localhost:" + port + "/modules/tilebot/ex... class Listener (line 25) | class Listener { method listen (line 27) | listen(config) { FILE: pubmodules/trigger/event/actionEventEmitter.js class ActionEventEmitter (line 3) | class ActionEventEmitter extends EventEmitter {} FILE: pubmodules/trigger/event/flowEventEmitter.js class FlowEventEmitter (line 3) | class FlowEventEmitter extends EventEmitter {} FILE: pubmodules/trigger/event/triggerEventEmitter.js class TriggerEventEmitter (line 3) | class TriggerEventEmitter extends EventEmitter {} FILE: pubmodules/trigger/rulesTrigger.js constant TILEBOT_ENDPOINT (line 36) | let TILEBOT_ENDPOINT = "http://localhost:" + port + "/modules/tilebot/ex... class RulesTrigger (line 42) | class RulesTrigger { method constructor (line 44) | constructor() { method listen (line 54) | listen(success, error) { method runAction (line 129) | runAction() { method delayedFunction (line 1198) | delayedFunction(action,triggerEvent, waitTime) { method createEngine (line 1206) | createEngine() { method exec (line 1210) | exec(event, eventKey,successCall,errorCall) { FILE: pubmodules/trigger/start.js function saveTrigger (line 10) | function saveTrigger(trigger) { FILE: pubmodules/voice-twilio/listener.js class Listener (line 11) | class Listener { method listen (line 13) | async listen(config) { FILE: pubmodules/voice/listener.js class Listener (line 11) | class Listener { method listen (line 13) | listen(config) { FILE: pubmodules/whatsapp/listener.js class Listener (line 11) | class Listener { method listen (line 13) | listen(config) { FILE: routes/answered.js function validateNamespace (line 214) | async function validateNamespace(id_project, namespace_id) { FILE: routes/campaigns.js function sleep (line 256) | function sleep(ms) { FILE: routes/faq.js constant MAX_UPLOAD_FILE_SIZE (line 24) | let MAX_UPLOAD_FILE_SIZE = process.env.MAX_UPLOAD_FILE_SIZE; function myrequest (line 681) | async function myrequest(options, callback) { FILE: routes/faq_kb.js constant MAX_UPLOAD_FILE_SIZE (line 26) | let MAX_UPLOAD_FILE_SIZE = process.env.MAX_UPLOAD_FILE_SIZE; FILE: routes/files.js constant MAX_UPLOAD_FILE_SIZE (line 23) | let MAX_UPLOAD_FILE_SIZE = process.env.MAX_UPLOAD_FILE_SIZE; FILE: routes/filesp.js constant MAX_UPLOAD_FILE_SIZE (line 25) | let MAX_UPLOAD_FILE_SIZE = process.env.MAX_UPLOAD_FILE_SIZE || 1024000; function getMimeTypes (line 99) | function getMimeTypes(allowed_extension) { function areMimeTypesEquivalent (line 112) | function areMimeTypesEquivalent(mimeType1, mimeType2) { FILE: routes/images.js constant MAX_UPLOAD_FILE_SIZE (line 39) | let MAX_UPLOAD_FILE_SIZE = process.env.MAX_UPLOAD_FILE_SIZE; FILE: routes/kb.js constant AMQP_MANAGER_URL (line 25) | const AMQP_MANAGER_URL = process.env.AMQP_MANAGER_URL; constant JOB_TOPIC_EXCHANGE (line 26) | const JOB_TOPIC_EXCHANGE = process.env.JOB_TOPIC_EXCHANGE_TRAIN || 'tile... constant JOB_TOPIC_EXCHANGE_HYBRID (line 27) | const JOB_TOPIC_EXCHANGE_HYBRID = process.env.JOB_TOPIC_EXCHANGE_TRAIN_H... constant KB_WEBHOOK_TOKEN (line 28) | const KB_WEBHOOK_TOKEN = process.env.KB_WEBHOOK_TOKEN || 'kbcustomtoken'; constant PINECONE_RERANKING (line 29) | const PINECONE_RERANKING = process.env.PINECONE_RERANKING === true || pr... constant MAX_UPLOAD_FILE_SIZE (line 33) | let MAX_UPLOAD_FILE_SIZE = process.env.MAX_UPLOAD_FILE_SIZE; constant RAG_CONTEXT_ENV_OVERRIDES (line 90) | const RAG_CONTEXT_ENV_OVERRIDES = { function getRagContextTemplate (line 106) | function getRagContextTemplate(modelName) { function normalizeEmbedding (line 117) | function normalizeEmbedding(embedding) { function normalizeSituatedContext (line 124) | function normalizeSituatedContext() { function extractContent (line 475) | function extractContent(obj) { function normalizeKbQaPayload (line 486) | function normalizeKbQaPayload(obj) { function isMetadataPayload (line 494) | function isMetadataPayload(obj, streamedContent) { function isKbStreamCompletedSummary (line 506) | function isKbStreamCompletedSummary(obj) { function forwardSsePayload (line 513) | function forwardSsePayload(payload) { FILE: routes/llm.js constant MAX_UPLOAD_FILE_SIZE (line 10) | let MAX_UPLOAD_FILE_SIZE = process.env.MAX_UPLOAD_FILE_SIZE; FILE: routes/request.js constant AMQP_MANAGER_URL (line 42) | const AMQP_MANAGER_URL = process.env.AMQP_MANAGER_URL; function scheduleTags (line 2451) | async function scheduleTags(id_project, tags) { FILE: routes/unanswered.js function validateNamespace (line 256) | async function validateNamespace(id_project, namespace_id) { FILE: routes/webhook.js constant TILEBOT_ENDPOINT (line 15) | let TILEBOT_ENDPOINT = "http://localhost:" + port + "/modules/tilebot/"; constant KB_WEBHOOK_TOKEN (line 21) | const KB_WEBHOOK_TOKEN = process.env.KB_WEBHOOK_TOKEN || 'kbcustomtoken'; constant AMQP_MANAGER_URL (line 22) | const AMQP_MANAGER_URL = process.env.AMQP_MANAGER_URL; constant JOB_TOPIC_EXCHANGE (line 23) | const JOB_TOPIC_EXCHANGE = process.env.JOB_TOPIC_EXCHANGE_TRAIN || 'tile... FILE: services/BotSubscriptionNotifier.js class BotSubscriptionNotifier (line 20) | class BotSubscriptionNotifier { method notify (line 23) | notify(bot,secret, payload) { method start (line 94) | start() { FILE: services/QuoteManager.js constant PLANS_LIST (line 17) | const PLANS_LIST = { class QuoteManager (line 38) | class QuoteManager { method constructor (line 40) | constructor(config) { method incrementRequestsCount (line 56) | async incrementRequestsCount(project, request) { method incrementMessagesCount (line 67) | async incrementMessagesCount(project, message) { method incrementEmailCount (line 77) | async incrementEmailCount(project, email) { method incrementTokenCount (line 88) | async incrementTokenCount(project, data) { // ?? cosa passo? il messag... method incrementVoiceDurationCount (line 106) | async incrementVoiceDurationCount(project, request) { method generateKey (line 127) | async generateKey(object, type) { method getCurrentQuote (line 209) | async getCurrentQuote(project, object, type) { method getAllQuotes (line 221) | async getAllQuotes(project, obj) { method checkQuote (line 243) | async checkQuote(project, object, type) { method checkQuoteForAlert (line 269) | async checkQuoteForAlert(project, object, type) { method sendEmailIfQuotaExceeded (line 291) | async sendEmailIfQuotaExceeded(project, object, type, key) { method percentageCalculator (line 328) | async percentageCalculator(limit, quote) { method invalidateCheckpointKeys (line 341) | async invalidateCheckpointKeys(project, obj) { method generateQuotesObject (line 369) | async generateQuotesObject(quotes, limits) { method getPlanLimits (line 388) | async getPlanLimits(project) { method getCurrentSlot (line 461) | async getCurrentSlot(project) { method start (line 508) | start() { FILE: services/RateManager.js class RateManager (line 4) | class RateManager { method constructor (line 6) | constructor(config) { method canExecute (line 36) | async canExecute(projectOrId, id, type) { method getRateConfig (line 64) | async getRateConfig(project, type) { method setBucket (line 82) | async setBucket(key, bucket) { method getBucket (line 87) | async getBucket(key, type, project) { method createBucket (line 96) | async createBucket(type, project) { method loadProject (line 104) | async loadProject(id_project) { FILE: services/Scheduler.js class Scheduler (line 6) | class Scheduler { method constructor (line 8) | constructor(config) { method trainSchedule (line 21) | trainSchedule(data, callback) { method tagSchedule (line 32) | tagSchedule(data, callback) { FILE: services/aiManager.js constant KB_WEBHOOK_TOKEN (line 13) | const KB_WEBHOOK_TOKEN = process.env.KB_WEBHOOK_TOKEN || 'kbcustomtoken'; constant AMQP_MANAGER_URL (line 14) | const AMQP_MANAGER_URL = process.env.AMQP_MANAGER_URL || 'amqp://localho... constant JOB_TOPIC_EXCHANGE (line 15) | const JOB_TOPIC_EXCHANGE = process.env.JOB_TOPIC_EXCHANGE_TRAIN || 'tile... constant JOB_TOPIC_EXCHANGE_HYBRID (line 16) | const JOB_TOPIC_EXCHANGE_HYBRID = process.env.JOB_TOPIC_EXCHANGE_TRAIN_H... class AiManager (line 55) | class AiManager { method constructor (line 57) | constructor() { } method addMultipleUrls (line 59) | async addMultipleUrls(namespace, urls, options) { method scheduleSitemap (line 132) | async scheduleSitemap(namespace, sitemap_content, options) { method updateSitemap (line 161) | async updateSitemap(id_project, namespace, old_sitemap, new_sitemap) { method shouldStop (line 215) | shouldStop(oldObj, newObj, fieldsToCheck) { method checkNamespace (line 228) | async checkNamespace(id_project, namespace_id) { method resolveLLMConfig (line 248) | async resolveLLMConfig(id_project, provider = 'openai', model) { method checkQuotaAvailability (line 285) | async checkQuotaAvailability(quoteManager, project, ncontents) { method fetchSitemap (line 309) | async fetchSitemap(sitemapUrl) { method foundSitemapChanges (line 331) | async foundSitemapChanges(existingKbs, urls) { method generateFilename (line 348) | async generateFilename(name) { method getKeyFromIntegrations (line 360) | async getKeyFromIntegrations(project_id) { method removeMultipleContents (line 376) | async removeMultipleContents(namespace, kbs) { method saveBulk (line 410) | async saveBulk(operations, kbs, project_id, namespace) { method setDefaultScrapeOptions (line 430) | setDefaultScrapeOptions() { method scheduleScrape (line 438) | async scheduleScrape(resources, hybrid) { method startScrape (line 488) | async startScrape(data) { method statusConverter (line 517) | async statusConverter(status) { method updateStatus (line 541) | async updateStatus(id, status, error) { method normalizeSituatedContext (line 570) | normalizeSituatedContext() { FILE: services/aiReindexService.js class AiReindexService (line 5) | class AiReindexService { method constructor (line 7) | constructor() { method delete (line 29) | async delete(content_id) { method findScheduler (line 65) | async findScheduler(id) { method offlineScheduler (line 90) | async offlineScheduler(id) { method offlineWorkflow (line 107) | async offlineWorkflow(code) { method deleteWorkflow (line 129) | async deleteWorkflow(code) { FILE: services/aiService.js class AiService (line 14) | class AiService { method completions (line 17) | completions(data, gptkey) { method transcription (line 41) | transcription(buffer, gptkey) { method askllm (line 69) | askllm(data) { method singleScrape (line 155) | singleScrape(data) { method scrapeStatus (line 180) | scrapeStatus(data) { method askNamespace (line 201) | askNamespace(data) { method askStream (line 233) | askStream(data) { method getContentChunks (line 252) | getContentChunks(namespace_id, content_id, engine, hybrid) { method deleteIndex (line 274) | deleteIndex(data) { method deleteNamespace (line 295) | deleteNamespace(data) { FILE: services/banUserNotifier.js class BanUserNotifier (line 8) | class BanUserNotifier { method listen (line 10) | listen() { FILE: services/bootDataLoader.js class BootDataLoader (line 9) | class BootDataLoader { method create (line 12) | create() { FILE: services/cacheEnabler.js class CacheEnabler (line 2) | class CacheEnabler { method constructor (line 3) | constructor() { FILE: services/chatbotService.js class ChatbotService (line 5) | class ChatbotService { method constructor (line 7) | constructor() {} method fork (line 9) | async fork(id_faq_kb, api_url, token, project_id) { method getBotById (line 30) | async getBotById(id_faq_kb, published, api_url, chatbot_templates_api_... method createBot (line 74) | async createBot(api_url, token, chatbot, project_id) { method importFaqs (line 96) | async importFaqs(api_url, id_faq_kb, token, chatbot, project_id) { method setModified (line 117) | async setModified(chatbot_id, modified) { FILE: services/departmentService.js class DepartmentService (line 14) | class DepartmentService { method createDefault (line 16) | createDefault(project_id, createdBy) { method create (line 20) | create(name, id_project, routing, createdBy, isdefault) { method nextOperator (line 48) | nextOperator (array, index) { method roundRobin (line 68) | roundRobin(operatorSelectedEvent) { method getOperators (line 186) | getOperators(departmentid, projectid, nobot, disableWebHookCall, conte... method findProjectUsersAllAndAvailableWithOperatingHours (line 355) | findProjectUsersAllAndAvailableWithOperatingHours(projectid, departmen... method findProjectUsersAllAndAvailableWithOperatingHours_group (line 374) | findProjectUsersAllAndAvailableWithOperatingHours_group(projectid, dep... method findProjectUsersAllAndAvailableWithOperatingHours_nogroup (line 449) | findProjectUsersAllAndAvailableWithOperatingHours_nogroup(projectid, d... method getAvailableOperatorsWithOperatingHours (line 527) | getAvailableOperatorsWithOperatingHours(project_users, projectid) { method getAvailableOperator (line 566) | getAvailableOperator(project_users) { method getDefaultDepartment (line 579) | getDefaultDepartment(projectid) { method getRandomAvailableOperator (line 604) | getRandomAvailableOperator(project_users_available) { method isGroupInProjectDepartment (line 639) | async isGroupInProjectDepartment(projectId, groupId) { FILE: services/emailService.js constant MESSAGE_ID_DOMAIN (line 55) | const MESSAGE_ID_DOMAIN = "tiledesk.com"; class EmailService (line 59) | class EmailService { method constructor (line 61) | constructor() { method readTemplate (line 152) | readTemplate(templateName, settings, environmentVariableKey) { method readTemplateFile (line 209) | readTemplateFile(templateName) { method getTransport (line 227) | getTransport(configEmail) { method send (line 284) | async send(mail, quoteEnabled, project, quoteManager) { method sendTest (line 365) | async sendTest(to, configEmail, callback) { method sendNewAssignedRequestNotification (line 385) | async sendNewAssignedRequestNotification(to, request, project) { method sendNewAssignedAgentMessageEmailNotification (line 538) | async sendNewAssignedAgentMessageEmailNotification(to, request, projec... method sendNewPooledRequestNotification (line 682) | async sendNewPooledRequestNotification(to, request, project) { method sendNewPooledMessageEmailNotification (line 811) | async sendNewPooledMessageEmailNotification(to, request, project, mess... method sendNewMessageNotification (line 956) | async sendNewMessageNotification(to, message, project, tokenQueryStrin... method sendEmailChannelNotification (line 1081) | async sendEmailChannelNotification(to, message, project, tokenQueryStr... method sendFollowerNotification (line 1258) | async sendFollowerNotification(to, message, project) { method sendEmailDirect (line 1465) | async sendEmailDirect(to, text, project, request_id, subject, tokenQue... method sendPasswordResetRequestEmail (line 1558) | async sendPasswordResetRequestEmail(to, resetPswRequestId, userFirstna... method sendYourPswHasBeenChangedEmail (line 1588) | async sendYourPswHasBeenChangedEmail(to, userFirstname, userLastname) { method sendYouHaveBeenInvited (line 1624) | async sendYouHaveBeenInvited(to, currentUserFirstname, currentUserLast... method sendInvitationEmail_UserNotRegistered (line 1662) | async sendInvitationEmail_UserNotRegistered(to, currentUserFirstname, ... method sendVerifyEmailAddress (line 1695) | async sendVerifyEmailAddress(to, savedUser, code) { method sendRequestTranscript (line 1735) | async sendRequestTranscript(to, messages, request, project) { method sendEmailRedirectOnDesktop (line 1814) | async sendEmailRedirectOnDesktop(to, token, project_id, chatbot_id, na... method sendEmailQuotaCheckpointReached (line 1850) | async sendEmailQuotaCheckpointReached(to, firstname, project_name, res... method parseText (line 1888) | parseText(text, payload) { method formatText (line 1913) | formatText(templateName, defaultText, payload, settings) { method getTemplate (line 1946) | getTemplate(templateName, settings) { FILE: services/faqBotHandler.js class FaqBotHandler (line 19) | class FaqBotHandler { method is_command (line 21) | static is_command(text) { method listen (line 72) | listen() { FILE: services/faqBotSupport.js class FaqBotSupport (line 22) | class FaqBotSupport { method getMessage (line 27) | getMessage(key, lang, labelsObject) { method parseMicrolanguage (line 54) | parseMicrolanguage(text, message, bot, faq, disableWebHook, json) { method getParsedMessage (line 222) | getParsedMessage(text, message, bot, faq) { method getBotMessage (line 338) | getBotMessage(botAnswer, projectid, bot, message, threshold) { FILE: services/faqService.js class FaqService (line 9) | class FaqService { method create (line 11) | create(id_project, id_user, data) { method #resolveTemplate (line 70) | #resolveTemplate(subtype, template) { method createGreetingsAndOperationalsFaqs (line 79) | createGreetingsAndOperationalsFaqs(faq_kb_id, created_by, projectid, t... method getAll (line 118) | getAll(faq_kb_id) { FILE: services/fileGridFsService.js class FileGridFsService (line 16) | class FileGridFsService extends FileService { method constructor (line 18) | constructor(bucketName) { method createRetentionIndex (line 72) | createRetentionIndex(name) { method createFile (line 91) | async createFile ( filename, data, path, contentType, options) { method find (line 114) | async find(filename) { method deleteFile (line 125) | async deleteFile(filename) { method getFileDataAsStream (line 144) | getFileDataAsStream (filename) { method getFileDataAsBuffer (line 157) | getFileDataAsBuffer (filename) { method getStorage (line 189) | getStorage(folderName) { method getStorageFixFolder (line 254) | getStorageFixFolder(folderName) { method getStorageAvatar (line 333) | getStorageAvatar(folderName) { method getStorageAvatarFiles (line 445) | getStorageAvatarFiles(folderName) { method getStorageProjectAssets (line 517) | getStorageProjectAssets(folderName) { FILE: services/fileService.js class FileService (line 1) | class FileService { method constructor (line 3) | constructor() {} method createFile (line 5) | createFile ( fileName, data, contentType, options) {} method getFileData (line 6) | getFileData (filename) {} method deleteFile (line 7) | deleteFile(fileName) {} FILE: services/filesystemService.js class FilesystemService (line 2) | class FilesystemService extends FileService { FILE: services/geoService.js class GeoService (line 11) | class GeoService { method constructor (line 13) | constructor() { method listen (line 26) | listen() { FILE: services/integrationService.js class IntegrationService (line 4) | class IntegrationService { method getIntegration (line 8) | async getIntegration(id_project, integration_name) { method getKeyFromIntegration (line 27) | async getKeyFromIntegration(id_project, integration_name = 'openai') { FILE: services/labelService-no-default.js class LabelService (line 9) | class LabelService { method fetchPivotDefault (line 12) | fetchPivotDefault() { method fetchDefault (line 25) | fetchDefault() { method get (line 44) | async get(id_project, language, key) { method getByLanguageAndKey (line 56) | getByLanguageAndKey(id_project, language, key) { method getAllByLanguage (line 75) | async getAllByLanguage(id_project, language) { method getAllByLanguageNoPivot (line 94) | getAllByLanguageNoPivot(id_project, language) { method getAllMerged (line 112) | getAllMerged(id_project) { method getAll (line 157) | getAll(id_project) { FILE: services/labelService.js class LabelService (line 9) | class LabelService { method constructor (line 11) | constructor() { method get (line 18) | async get(id_project, language, key) { method getLanguage (line 26) | async getLanguage(id_project, language) { method getAll (line 64) | getAll(id_project) { method fetchPivotDefault (line 101) | fetchPivotDefault() { method fetchDefault (line 114) | fetchDefault() { FILE: services/leadService.js class LeadService (line 12) | class LeadService { method findByEmail (line 15) | findByEmail(email, id_project) { method createIfNotExists (line 36) | createIfNotExists(fullname, email, id_project, createdBy, attributes, ... method create (line 53) | create(fullname, email, id_project, createdBy, attributes, status) { method createIfNotExistsWithLeadId (line 59) | createIfNotExistsWithLeadId(lead_id, fullname, email, id_project, crea... method updateStatusWitId (line 90) | updateStatusWitId(lead_id, id_project, status) { method updateWitId (line 115) | updateWitId(lead_id, fullname, email, id_project, status, phone) { method createWitId (line 153) | createWitId(lead_id, fullname, email, id_project, createdBy, attribute... FILE: services/logsService.js class LogsService (line 8) | class LogsService { method getLastRows (line 10) | async getLastRows(id, limit, logLevel, queryField = 'request_id') { method getOlderRows (line 31) | async getOlderRows(id, limit, logLevel, timestamp, queryField = 'reque... method getNewerRows (line 52) | async getNewerRows(id, limit, logLevel, timestamp, queryField = 'reque... FILE: services/mcpService.js class MCPService (line 11) | class MCPService { method constructor (line 13) | constructor() { method parseSSEResponse (line 25) | parseSSEResponse(sseData) { method sendJSONRPCRequest (line 48) | async sendJSONRPCRequest(url, request, auth, sessionId) { method getCacheKey (line 133) | getCacheKey(url, projectId) { method initializeServer (line 142) | async initializeServer(serverConfig) { method listTools (line 209) | async listTools(serverConfig) { method removeConnection (line 266) | removeConnection(url, projectId) { method clearConnections (line 274) | clearConnections() { FILE: services/messageService.js class MessageService (line 15) | class MessageService { method send (line 17) | send(sender, senderFullname, recipient, text, id_project, createdBy, a... method upsert (line 21) | upsert(id, sender, senderFullname, recipient, text, id_project, create... method create (line 30) | create(sender, senderFullname, recipient, text, id_project, createdBy,... method save (line 49) | save(message) { method emitMessage (line 203) | emitMessage(message) { method changeStatus (line 224) | changeStatus(message_id, newstatus) { method getTranscriptByRequestId (line 246) | getTranscriptByRequestId(requestid, id_project) { method getAudioTranscription (line 297) | getAudioTranscription(id_project, audio_url) { FILE: services/modulesManager.js class ModulesManager (line 30) | class ModulesManager { method constructor (line 32) | constructor() { method injectBefore (line 47) | injectBefore(app) { method injectAfter (line 68) | injectAfter(httpServer,app,port) { method use (line 78) | use(app) { method useUnderProjects (line 95) | useUnderProjects(app) { method init (line 127) | init(config) { method start (line 267) | start() { FILE: services/mongoose-cache.js class MongooseCache (line 4) | class MongooseCache { method constructor (line 6) | constructor(mongoose, option) { FILE: services/operatingHoursService.js class OperatingHoursService (line 9) | class OperatingHoursService { method projectIsOpenNow (line 11) | projectIsOpenNow(projectId, callback) { method slotIsOpenNow (line 178) | slotIsOpenNow(projectId, slot_id, callback) { function slotCheck (line 261) | function slotCheck(currentTime, tzname, slot) { function addOrSubstractProjcTzOffsetFromDateNow (line 275) | function addOrSubstractProjcTzOffsetFromDateNow(prjcTimezoneName) { function checkDay (line 342) | function checkDay(operatingHoursPars, dayNowAtPrjctTz) { function checkTimes (line 357) | function checkTimes(operatingHoursPars, dayNowAtPrjctTz, timeNowAtPrjctT... FILE: services/pendingInvitationService.js class Pending_Invitation (line 9) | class Pending_Invitation { method saveInPendingInvitation (line 12) | saveInPendingInvitation(project_id, project_name, invited_user_email, ... method checkNewUserInPendingInvitationAndSavePrcjUser (line 68) | checkNewUserInPendingInvitationAndSavePrcjUser(newUserEmail, newUserId) { method removePendingInvitation (line 123) | removePendingInvitation(pendingInvitationId) { FILE: services/projectService.js class ProjectService (line 13) | class ProjectService { method createAndReturnProjectAndProjectUser (line 15) | createAndReturnProjectAndProjectUser(name, createdBy, settings) { method create (line 67) | create(name, createdBy, settings) { method getCachedProject (line 78) | async getCachedProject(id_project) { FILE: services/projectUserService.js class ProjectUserService (line 10) | class ProjectUserService { method checkAgentsAvailablesWithSmartAssignment (line 12) | checkAgentsAvailablesWithSmartAssignment(project, available_agents) { method getWithPermissions (line 45) | async getWithPermissions(id_user, id_project, user_sub) { method getPermissions (line 65) | async getPermissions(role, id_project) { method get (line 86) | async get(id_user, id_project, user_sub) { FILE: services/requestService.js constant TILEBOT_ENDPOINT (line 24) | let TILEBOT_ENDPOINT = "http://localhost:" + port + "/modules/tilebot/ex... class RequestService (line 37) | class RequestService { method constructor (line 39) | constructor() { method listen (line 43) | listen() { method getAvailableAgentsCount (line 144) | getAvailableAgentsCount(agents) { method routeInternal (line 163) | routeInternal(request, departmentid, id_project, nobot) { method route (line 248) | async route(request_id, departmentid, id_project, nobot, no_populate) { method reroute (line 397) | reroute(request_id, id_project, nobot) { method createWithRequester (line 446) | createWithRequester(project_user_id, lead_id, id_project, first_text, ... method createWithIdAndRequester (line 454) | createWithIdAndRequester(request_id, project_user_id, lead_id, id_proj... method create (line 465) | async create(request) { method createWithId (line 935) | createWithId(request_id, requester_id, id_project, first_text, departm... method changeStatusByRequestId (line 1060) | changeStatusByRequestId(request_id, id_project, newstatus) { method changeFirstTextAndPreflightByRequestId (line 1092) | changeFirstTextAndPreflightByRequestId(request_id, id_project, first_t... method changeFirstTextByRequestId (line 1133) | changeFirstTextByRequestId(request_id, id_project, first_text) { method changePreflightByRequestId (line 1166) | changePreflightByRequestId(request_id, id_project, preflight) { method setClosedAtByRequestId (line 1195) | setClosedAtByRequestId(request_id, id_project, created_at, closed_at, ... method incrementMessagesCountByRequestId (line 1238) | incrementMessagesCountByRequestId(request_id, id_project) { method updateWaitingTimeByRequestId (line 1257) | updateWaitingTimeByRequestId(request_id, id_project, enable_populate) { method closeRequestByRequestId (line 1324) | closeRequestByRequestId(request_id, id_project, skipStatsUpdate, notif... method reopenRequestByRequestId (line 1417) | reopenRequestByRequestId(request_id, id_project) { method updateTrascriptByRequestId (line 1493) | updateTrascriptByRequestId(request_id, id_project, transcript) { method findByRequestId (line 1512) | findByRequestId(request_id, id_project) { method setParticipantsByRequestId (line 1526) | setParticipantsByRequestId(request_id, id_project, newparticipants) { method addParticipantByRequestId (line 1686) | addParticipantByRequestId(request_id, id_project, member) { method removeParticipantByRequestId (line 1795) | removeParticipantByRequestId(request_id, id_project, member) { method updateAttributesByRequestId (line 1950) | updateAttributesByRequestId(request_id, id_project, attributes) { method addTagByRequestId (line 2010) | addTagByRequestId(request_id, id_project, tag) { method removeTagByRequestId (line 2073) | removeTagByRequestId(request_id, id_project, tag) { method addFollowerByRequestId (line 2152) | addFollowerByRequestId(request_id, id_project, member) { method setFollowersByRequestId (line 2244) | setFollowersByRequestId(request_id, id_project, newfollowers) { method removeFollowerByRequestId (line 2339) | removeFollowerByRequestId(request_id, id_project, member) { method getRequestParametersFromChatbot (line 2435) | async getRequestParametersFromChatbot(request_id) { method getConversationsCount (line 2458) | async getConversationsCount(id_project, status, preflight, hasBot, sta... method emitParticipantsEvents (line 2485) | emitParticipantsEvents(beforeRequest, requestComplete, oldParticipants) { FILE: services/schemaMigrationService.js class SchamaMigrationService (line 9) | class SchamaMigrationService { method isEmptyObject (line 12) | isEmptyObject(obj) { method checkSchemaMigration (line 21) | async checkSchemaMigration(currentSchamaVersion) { FILE: services/settingDataLoader.js class SettingDataLoader (line 9) | class SettingDataLoader { method save (line 12) | save() { FILE: services/subscriptionNotifier.js class SubscriptionNotifier (line 41) | class SubscriptionNotifier { method findSubscriber (line 45) | findSubscriber(event, id_project) { method notify (line 63) | notify(subscriptions, payload, callback) { method decorate (line 171) | decorate(model, modelName) { method start (line 203) | start() { method subscribe (line 530) | subscribe(eventName, payload, callback ) { FILE: services/subscriptionNotifierQueued.js class SubscriptionNotifierQueued (line 10) | class SubscriptionNotifierQueued { method start (line 12) | start() { FILE: services/testWsService.js class TestWsService (line 5) | class TestWsService { method init (line 11) | init(server) { FILE: services/trainingService.js class TrainingService (line 12) | class TrainingService { method train (line 15) | async train(eventName, id_faq_kb, webhook_enabled) { method start (line 112) | start() { FILE: services/updateLeadQueued.js class UpdateLeadQueued (line 9) | class UpdateLeadQueued { method constructor (line 11) | constructor() { method listen (line 15) | listen() { method updateSnapshotLead (line 24) | updateSnapshotLead() { method sendMessageUpdateLead (line 72) | sendMessageUpdateLead() { FILE: services/updateRequestSnapshotQueued.js class UpdateRequestSnapshotQueued (line 7) | class UpdateRequestSnapshotQueued { method constructor (line 9) | constructor() { method listen (line 13) | listen() { method updateRequestSnapshot (line 18) | updateRequestSnapshot() { FILE: services/userService.js class UserService (line 6) | class UserService { method signup (line 8) | signup ( email, password, firstname, lastname, emailverified, phone) { FILE: services/webhookService.js constant TILEBOT_ENDPOINT (line 10) | let TILEBOT_ENDPOINT = "http://localhost:" + port + "/modules/tilebot/"; class WebhookService (line 16) | class WebhookService { method run (line 18) | async run(webhook, payload, dev, redis_client) { method generateChatbotToken (line 76) | async generateChatbotToken(chatbot) { FILE: test/faqkbRoute.js class chatbot_service (line 621) | class chatbot_service { method getBotById (line 622) | async getBotById(id, published, api_url, chatbot_templates_api_url, to... method createBot (line 626) | async createBot(api_url, token, chatbot, project_id) { method importFaqs (line 630) | async importFaqs(api_url, id_faq_kb, token, chatbot, project_id) { method getBotById (line 687) | async getBotById(id, published, api_url, chatbot_templates_api_url, to... method createBot (line 693) | async createBot(api_url, token, chatbot, project_id) { method importFaqs (line 697) | async importFaqs(api_url, id_faq_kb, token, chatbot, project_id) { method getBotById (line 755) | async getBotById(id, published, api_url, chatbot_templates_api_url, to... method createBot (line 759) | async createBot(api_url, token, chatbot, project_id) { method importFaqs (line 763) | async importFaqs(api_url, id_faq_kb, token, chatbot, project_id) { class chatbot_service (line 686) | class chatbot_service { method getBotById (line 622) | async getBotById(id, published, api_url, chatbot_templates_api_url, to... method createBot (line 626) | async createBot(api_url, token, chatbot, project_id) { method importFaqs (line 630) | async importFaqs(api_url, id_faq_kb, token, chatbot, project_id) { method getBotById (line 687) | async getBotById(id, published, api_url, chatbot_templates_api_url, to... method createBot (line 693) | async createBot(api_url, token, chatbot, project_id) { method importFaqs (line 697) | async importFaqs(api_url, id_faq_kb, token, chatbot, project_id) { method getBotById (line 755) | async getBotById(id, published, api_url, chatbot_templates_api_url, to... method createBot (line 759) | async createBot(api_url, token, chatbot, project_id) { method importFaqs (line 763) | async importFaqs(api_url, id_faq_kb, token, chatbot, project_id) { class chatbot_service (line 754) | class chatbot_service { method getBotById (line 622) | async getBotById(id, published, api_url, chatbot_templates_api_url, to... method createBot (line 626) | async createBot(api_url, token, chatbot, project_id) { method importFaqs (line 630) | async importFaqs(api_url, id_faq_kb, token, chatbot, project_id) { method getBotById (line 687) | async getBotById(id, published, api_url, chatbot_templates_api_url, to... method createBot (line 693) | async createBot(api_url, token, chatbot, project_id) { method importFaqs (line 697) | async importFaqs(api_url, id_faq_kb, token, chatbot, project_id) { method getBotById (line 755) | async getBotById(id, published, api_url, chatbot_templates_api_url, to... method createBot (line 759) | async createBot(api_url, token, chatbot, project_id) { method importFaqs (line 763) | async importFaqs(api_url, id_faq_kb, token, chatbot, project_id) { FILE: test/fileFilter.test.js function getMimeTypes (line 9) | function getMimeTypes(allowed_extension) { FILE: test/mock/tdCacheMock.js class MockTdCache (line 2) | class MockTdCache { method constructor (line 4) | constructor() { method set (line 8) | async set(k, v) { method incr (line 15) | async incr(k) { method get (line 31) | async get(k) { method del (line 38) | async del(k) { FILE: test/quoteManager.js function test (line 171) | async function test(date) { FILE: test/webhookRoute.js class chatbot_service (line 546) | class chatbot_service { method fork (line 547) | async fork(id_faq_kb, api_url, token, project_id) { method setModified (line 552) | async setModified(chatbot_id, modified) { function send (line 662) | async function send(i) { FILE: utils/TdCache.js class TdCache (line 3) | class TdCache { method constructor (line 5) | constructor(config) { method connect (line 12) | async connect(callback) { method set (line 41) | async set(key, value, options) { method setNX (line 83) | async setNX(key, value, ttlSeconds) { method incr (line 95) | async incr(key) { method incrby (line 110) | async incrby(key, increment) { method incrbyfloat (line 123) | async incrbyfloat(key, increment) { method hset (line 135) | async hset(dict_key, key, value, options) { method hdel (line 171) | async hdel(dict_key, key, options) { method setJSON (line 205) | async setJSON(key, value, options) { method get (line 210) | async get(key, callback) { method hgetall (line 226) | async hgetall(dict_key, callback) { method hget (line 246) | async hget(dict_key, key, callback) { method getJSON (line 266) | async getJSON(key, callback) { method del (line 271) | async del(key, callback) { method getClient (line 282) | getClient() { FILE: utils/UIDGenerator.js class UIDGenerator (line 4) | class UIDGenerator { method generate (line 6) | generate() { FILE: utils/aiUtils.js function loadMultiplier (line 10) | function loadMultiplier() { FILE: utils/arrayUtil.js function arraysEqual (line 2) | function arraysEqual(a, b) { function parseStringArrayField (line 22) | function parseStringArrayField(field) { FILE: utils/botFromParticipant.js class BotFromParticipant (line 4) | class BotFromParticipant { method getBotFromParticipants (line 7) | getBotFromParticipants(participants) { method getBotId (line 29) | getBotId(message) { FILE: utils/commons/extend-query.js function hydrateModel (line 88) | function hydrateModel(constructor) { FILE: utils/commons/q1.js function wait (line 60) | function wait () { FILE: utils/commons/testperformance.js function wait (line 40) | function wait () { FILE: utils/connectionUtil.js class ConnnectionUtil (line 2) | class ConnnectionUtil { method constructor (line 4) | constructor(connection) { method get (line 8) | get() { method set (line 12) | set(connection) { FILE: utils/datesUtil.js class DatesUtil (line 3) | class DatesUtil { method parseDate (line 13) | parseDate(dateString, timezone) { method hasTimeComponent (line 70) | hasTimeComponent(dateString) { method convertLocalDatesToUTC (line 83) | convertLocalDatesToUTC(startDate, endDate, timezone) { method createDateRangeQuery (line 143) | createDateRangeQuery(startDate, endDate, timezone, fieldName = 'create... FILE: utils/fileUtils.js class FileUtils (line 3) | class FileUtils { method downloadFromUrl (line 5) | async downloadFromUrl(url) { FILE: utils/httpUtil.js class HttpUtil (line 14) | class HttpUtil { method call (line 16) | call(url, headers, json, method) { method post (line 34) | async post(url, payload, customHeaders, auth) { FILE: utils/i8nUtil.js class I8nUtil (line 6) | class I8nUtil { method getMessage (line 9) | getMessage(key, lang, labelsObject) { FILE: utils/jobs-worker-queue-manager/JobManagerV2.js class JobManager (line 3) | class JobManager { method constructor (line 4) | constructor(queueUrl, options) { method connectAndStartPublisher (line 20) | connectAndStartPublisher(callback) { method diconnectPublisher (line 59) | diconnectPublisher(callback) { method connectAndStartWorker (line 73) | connectAndStartWorker() { method publish (line 87) | publish(payload, callback) { method schedule (line 117) | schedule(fn, payload) { method run (line 136) | run(callback) { FILE: utils/jobs-worker-queue-manager/queueManagerClassV2.js class QueueManager (line 6) | class QueueManager { method constructor (line 8) | constructor(url, options) { method connect (line 42) | connect(callback) { method close (line 82) | close(callback) { method whenConnected (line 90) | whenConnected(callback) { method startPublisher (line 98) | startPublisher(callback) { method publish (line 126) | publish(exchange, routingKey, content, callback) { method startWorker (line 160) | startWorker(callback) { method processMsg2 (line 222) | processMsg2(msg) { method closeOnErr (line 327) | closeOnErr(err) { method sendJson (line 334) | sendJson(data, topic, callback) { method send (line 343) | send(string, topic) { method on (line 348) | on(fn) { FILE: utils/orgUtil.js class OrgUtil (line 11) | class OrgUtil { method constructor (line 13) | constructor() { method getOrg (line 28) | getOrg(req) { FILE: utils/phoneUtil.js function normalizePhone (line 6) | function normalizePhone(phone) { FILE: utils/project_userUtil.js class ProjectUserUtil (line 2) | class ProjectUserUtil { method isBusy (line 4) | isBusy(project_user, project_max_assigned_chat) { FILE: utils/promiseUtil.js class PromiseUtil (line 1) | class PromiseUtil { method doAllSequentually (line 3) | async doAllSequentually(promises) { FILE: utils/recipientEmailUtil.js class RecipientEmailUtil (line 6) | class RecipientEmailUtil { method iterateProjectUser (line 8) | iterateProjectUser(project_users) { method process (line 21) | async process(to, projectid) { FILE: utils/requestUtil.js class RequestUtil (line 2) | class RequestUtil { method getToken (line 4) | getToken(headers) { method getProjectIdFromRequestId (line 17) | getProjectIdFromRequestId(request_id) { method arraysEqual (line 33) | arraysEqual (a, b) { FILE: utils/segment2mongoConverter.js class Segment2MongoConverter (line 2) | class Segment2MongoConverter { method convert (line 4) | convert(query, segment) { method convertEqualsOperatorFilter (line 63) | convertEqualsOperatorFilter(query, filter) { method convertNotEqualsOperatorFilter (line 67) | convertNotEqualsOperatorFilter(query, filter) { method convertGreaterThanOperatorFilter (line 71) | convertGreaterThanOperatorFilter(query, filter) { method convertGreaterThanOrEqualOperatorFilter (line 74) | convertGreaterThanOrEqualOperatorFilter(query, filter) { method convertStartWithOperatorFilter (line 78) | convertStartWithOperatorFilter(query, filter) { method convertStartWithOperatorFilter (line 81) | convertStartWithOperatorFilter(query, filter) { method convertContainsOperatorFilter (line 84) | convertContainsOperatorFilter(query, filter) { method convertIsUndefinedOperatorFilter (line 87) | convertIsUndefinedOperatorFilter(query, filter) { method convertExistsOperatorFilter (line 90) | convertExistsOperatorFilter(query, filter) { FILE: utils/sendEmailUtil.js class SendEmailUtil (line 6) | class SendEmailUtil { method sendEmailDirect (line 7) | async sendEmailDirect(to, text, id_project, recipient, subject, messag... FILE: utils/sendMessageUtil.js class SendMessageUtil (line 10) | class SendMessageUtil { method send (line 12) | async send(sender, senderFullname, recipient, text, id_project, create... FILE: utils/stringUtil.js class StringUtil (line 2) | class StringUtil { method replaceAll (line 4) | replaceAll(string, characterToReplace, replacement) { FILE: utils/userUtil.js class UserUtil (line 2) | class UserUtil { method decorateUser (line 4) | decorateUser(user) { FILE: utils/winston-mongodb/helpers.js function cloneMeta (line 28) | function cloneMeta(node, opt_parents) { FILE: utils/winston-mongodb/winston-mongodb.d.ts type Transports (line 17) | interface Transports extends WinstonMongoDBTransports {} type MongoDBTransportInstance (line 21) | interface MongoDBTransportInstance extends transports.StreamTransportIns... type WinstonMongoDBTransports (line 26) | interface WinstonMongoDBTransports { type MongoDBConnectionOptions (line 36) | interface MongoDBConnectionOptions { FILE: utils/winston-mongodb/winston-mongodb.js function setupDatabaseAndEmptyQueue (line 90) | function setupDatabaseAndEmptyQueue(db) { function processOpQueue (line 101) | function processOpQueue() { function createCollection (line 106) | function createCollection(db) { function connectToDatabase (line 135) | function connectToDatabase(logger) { function next (line 406) | function next() { FILE: websocket/pubsub.js class PubSub (line 17) | class PubSub { method constructor (line 19) | constructor (wss, callbacksArg) { method load (line 40) | load() { method ping (line 118) | ping(ws) { method handleAddSubscription (line 143) | handleAddSubscription (topic, clientId) { method handleUnsubscribe (line 172) | handleUnsubscribe (topic, clientId) { method handlePublishMessage (line 233) | handlePublishMessage (topic, message, from, isBroadcast = false, metho... method handlePublishMessageToClientId (line 275) | handlePublishMessageToClientId (topic, message, clientId, method) { method handleReceivedClientMessage (line 294) | async handleReceivedClientMessage (clientId, message, req) { method stringToJson (line 476) | stringToJson (message) { method addClient (line 491) | addClient (client) { method removeClient (line 505) | removeClient (id) { method getClient (line 514) | getClient (id) { method autoId (line 523) | autoId () { method send (line 531) | send (clientId, message) { FILE: websocket/subscription.js class Subscription (line 6) | class Subscription { method constructor (line 8) | constructor () { method get (line 17) | get (id) { method add (line 28) | add (topic, clientId, type = 'ws') { method remove (line 58) | remove (id) { method clear (line 66) | clear () { method getSubscriptions (line 76) | getSubscriptions (predicate = null) { method autoId (line 87) | autoId () { FILE: websocket/webSocketServer.js function logInvalidToken (line 41) | function logInvalidToken(req, err) { class WebSocketServer (line 81) | class WebSocketServer { method constructor (line 83) | constructor() { method init (line 90) | init(server) {