@yrpri/api 9.0.139 → 9.0.141

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/agents/assistants/agentAssistant.js +4 -3
  2. package/agents/assistants/baseAssistant.js +72 -71
  3. package/agents/assistants/baseAssistantWithVoice.js +6 -5
  4. package/agents/assistants/modes/agentDirectConnection.js +8 -7
  5. package/agents/assistants/modes/agentSelectionMode.js +2 -1
  6. package/agents/assistants/modes/baseAssistantMode.js +3 -2
  7. package/agents/assistants/modes/tools/agentTools.js +11 -10
  8. package/agents/assistants/modes/tools/loginTools.js +7 -6
  9. package/agents/assistants/modes/tools/models/agents.js +6 -5
  10. package/agents/assistants/modes/tools/models/subscriptions.js +7 -6
  11. package/agents/assistants/modes/tools/navigationTools.js +7 -6
  12. package/agents/assistants/modes/tools/subscriptionTools.js +12 -11
  13. package/agents/assistants/modes/tools/workflowConverstationTools.js +7 -6
  14. package/agents/assistants/voiceAssistant.js +45 -44
  15. package/agents/controllers/agentProductController.js +8 -7
  16. package/agents/controllers/agentSubscriptionController.js +13 -12
  17. package/agents/controllers/assistantsController.js +45 -44
  18. package/agents/controllers/policySynthAgents.js +33 -32
  19. package/agents/managers/emailInvitesManager.js +4 -3
  20. package/agents/managers/newAiModelSetup.js +46 -45
  21. package/agents/managers/notificationAgentQueueManager.js +55 -54
  22. package/agents/managers/subscriptionManager.js +24 -23
  23. package/agents/models/agentProduct.js +2 -1
  24. package/agents/models/agentProductBoosterPurchase.js +2 -1
  25. package/agents/models/testData/createEvolyAgentProduct.js +7 -6
  26. package/agents/models/testData/old/updateAgentWorkflowConfiguration.js +5 -4
  27. package/agents/models/testData/updateAgentWorkflowConfiguration.js +5 -4
  28. package/agents/tools/setTemplateWorkflowCommunityId.js +6 -5
  29. package/app.d.ts +2 -1
  30. package/app.js +60 -34
  31. package/authorization.cjs +4 -4
  32. package/controllers/allOurIdeas.js +45 -44
  33. package/controllers/groups.cjs +4 -9
  34. package/controllers/images.cjs +8 -8
  35. package/controllers/index.cjs +1 -1
  36. package/controllers/points.cjs +1 -1
  37. package/controllers/posts.cjs +3 -3
  38. package/deleteUnwantedDeclerations.cjs +6 -5
  39. package/models/community.cjs +1 -1
  40. package/models/domain.cjs +7 -7
  41. package/models/image.cjs +2 -2
  42. package/models/index.cjs +8 -4
  43. package/models/post.cjs +10 -10
  44. package/models/user.cjs +1 -1
  45. package/models/video.cjs +4 -4
  46. package/package.json +5 -5
  47. package/scripts/addRatingUsersToGroup.js +1 -1
  48. package/scripts/addUserToOrganization.js +8 -8
  49. package/scripts/agents/changeModelForWorkflowGroupTemplate.js +13 -12
  50. package/scripts/agents/generateAgentWorkflowTemplateFromAgentClass.js +5 -4
  51. package/scripts/analyseRatingsForCommunity.js +2 -2
  52. package/scripts/analyzeAndFixBrokenPointUsers.js +3 -3
  53. package/scripts/analyzeEndorsementsByCountry.js +7 -7
  54. package/scripts/analyzePostsForCommunity.js +1 -1
  55. package/scripts/bulkStatusUpdates/listUpdates.js +2 -2
  56. package/scripts/bulkStatusUpdates/mergeLatestPostsToUpdate.js +5 -5
  57. package/scripts/bulkStatusUpdates/performUpdate.js +9 -9
  58. package/scripts/bulkStatusUpdates/performUpdateForGroup.cjs +12 -11
  59. package/scripts/bulkStatusUpdates/performUpdateForStatus.js +15 -15
  60. package/scripts/change/changeVideoAspectTo.js +3 -3
  61. package/scripts/change/setUseNewVersion.cjs +5 -4
  62. package/scripts/changeCommunityGroupcount.js +3 -3
  63. package/scripts/changeCommunityPostCount.js +3 -3
  64. package/scripts/changeGroupPostCount.js +3 -3
  65. package/scripts/changeLanguage.js +4 -4
  66. package/scripts/changeOfficalStatus.js +3 -3
  67. package/scripts/cleanups/deleteAnonNotifications.cjs +8 -7
  68. package/scripts/cleanups/deleteLinkGroupsWithDeletedCommunities.js +8 -8
  69. package/scripts/cleanups/deleteYearOldNotifications.cjs +6 -5
  70. package/scripts/cleanups/removeAllUsersFromHiddenPublicGroup.js +5 -5
  71. package/scripts/clearAllEndorsementInGroup.js +5 -5
  72. package/scripts/cloning/clearUsersForCommunitiesFromUrl.js +3 -3
  73. package/scripts/cloning/cloneFromUrlScript.js +4 -4
  74. package/scripts/cloning/cloneWBFromUrlScriptAndCreateLinks.js +6 -6
  75. package/scripts/cloning/cloneWBFromUrlScriptNoUsersOrPoints.js +6 -6
  76. package/scripts/cloning/cloneWBSerbianFromUrlScriptAndCreateLinks.js +6 -6
  77. package/scripts/cloning/copyCommunityConfigAndTranslationsFromURL.js +3 -3
  78. package/scripts/cloning/copyCommunityOneGroupToDomainNoUsersNoEndorsements.js +2 -2
  79. package/scripts/cloning/copyCommunityToDomainNoUsersNoEndorsements.js +2 -2
  80. package/scripts/cloning/copyCommunityToDomainWithEverything.js +2 -2
  81. package/scripts/cloning/copyCommunityToDomainWithOnlyGroups.js +3 -3
  82. package/scripts/cloning/copyGroupConfigAndTranslationsFromURL.js +3 -3
  83. package/scripts/cloning/copyPostToGroupOld.js +12 -12
  84. package/scripts/cloning/copyPostVideosFromURL.js +3 -3
  85. package/scripts/cloning/copyPostWithOutAnyVotingOrActivities.js +2 -2
  86. package/scripts/cloning/deepCloneSerbianWBFromUrlScriptAndCreateLinks.js +7 -7
  87. package/scripts/cloning/deepCloneWBFromUrlScriptAndCreateLinks.js +6 -6
  88. package/scripts/cloning/setAdminsFromURL.js +5 -5
  89. package/scripts/cloning/setExternalIdsFromURL.js +3 -3
  90. package/scripts/countCommunity.js +11 -11
  91. package/scripts/countCommunityUsers.js +4 -4
  92. package/scripts/countDelayedNotifications.js +3 -3
  93. package/scripts/countGroup.js +11 -11
  94. package/scripts/countStuff.js +3 -3
  95. package/scripts/countUniqueVotersInAGroup.js +3 -3
  96. package/scripts/createInvitesAndShow.js +2 -2
  97. package/scripts/database/sync_database.js +2 -2
  98. package/scripts/database/sync_dev_database.js +3 -3
  99. package/scripts/debugNotifications.js +5 -5
  100. package/scripts/deleteAllNewsFeeds.js +2 -2
  101. package/scripts/deleteCategory.js +1 -1
  102. package/scripts/deleteOldAppActivities.js +5 -4
  103. package/scripts/deletePostContactDataForCommunity.js +5 -4
  104. package/scripts/destroy/destroy_all_but_one_domain.js +59 -59
  105. package/scripts/displayAuthorForPost.js +1 -1
  106. package/scripts/domains/createDomain.js +5 -4
  107. package/scripts/domains/importDomainsFromXls.js +7 -6
  108. package/scripts/endorsementFraudDetection/analyseEndorsementsForCommunity.js +2 -2
  109. package/scripts/endorsementFraudDetection/bulkDeleteDuplicateEndorsmentsFromUrl.js +9 -9
  110. package/scripts/exportAllStatusChanges.js +5 -5
  111. package/scripts/exportEndorsementsForCommunity.js +5 -5
  112. package/scripts/exportPointQualitiesForCommunity.js +5 -5
  113. package/scripts/exportPostsAndPointsForCommunity.js +9 -9
  114. package/scripts/exportPostsDataSetForDomain.js +12 -12
  115. package/scripts/exportPostsForGroup.js +7 -7
  116. package/scripts/exportRatingsForPost.js +2 -2
  117. package/scripts/exportUserEndorsementsWithUserAnalysis.js +6 -6
  118. package/scripts/exportUsersForCommunity.js +3 -3
  119. package/scripts/exportUsersForDomain.js +3 -3
  120. package/scripts/exportUsersForGroup.js +3 -3
  121. package/scripts/exports/ratingDistribution.js +6 -6
  122. package/scripts/exports/whoEndorsedWhatByCommunity.js +2 -2
  123. package/scripts/findUnusedClientImports.js +2 -2
  124. package/scripts/fixAllPostPointCounts.js +1 -1
  125. package/scripts/fixAnonNotificationsSettings.js +5 -5
  126. package/scripts/fixCountKopavogur.js +1 -1
  127. package/scripts/fixEndorsementsAfterCopyPostToGroup.js +10 -10
  128. package/scripts/fixExternalUserId.js +2 -2
  129. package/scripts/fixGroupAccess.js +3 -3
  130. package/scripts/fixGroupIdeasAndPointsCount.js +2 -2
  131. package/scripts/fixNotificationSettings.js +4 -4
  132. package/scripts/fixSurveyRadioBakedInSubCodes.js +6 -6
  133. package/scripts/fixWrongUserIdForStatusUpdates.js +6 -5
  134. package/scripts/gallery/exportGalleryData.js +2 -2
  135. package/scripts/gallery/importGalleryForCommunity.js +14 -14
  136. package/scripts/gallery/readJsonAndDownloadImagesVersion2.js +6 -6
  137. package/scripts/gallery/refreshAcApiPostIdsForCommunity.js +5 -5
  138. package/scripts/genderAnalysis.js +10 -10
  139. package/scripts/genderAnalysisByStatus.js +4 -4
  140. package/scripts/importAllLocalesFromLocalFolders.js +7 -7
  141. package/scripts/importDomain.js +131 -131
  142. package/scripts/keys/addOidcToDomain.cjs +10 -9
  143. package/scripts/landUseGame/export3Ddata.js +15 -15
  144. package/scripts/listLanguagesForGroup.js +6 -6
  145. package/scripts/loadTestCreateDummyContentForGroup.js +2 -2
  146. package/scripts/makeRecursiveMapData.js +4 -4
  147. package/scripts/mapping/community_map_csv.js +5 -5
  148. package/scripts/moveCommunityToDomain.js +3 -3
  149. package/scripts/moveGroupToCommunity.js +3 -3
  150. package/scripts/movePostToGroup.js +5 -5
  151. package/scripts/movePostsToGroupsRecountGroupFromUrl.js +6 -6
  152. package/scripts/oldMovePostToGroup.js +9 -9
  153. package/scripts/processCsvForPdfUrls.js +2 -2
  154. package/scripts/processCsvForTranslationAndToxicity.js +10 -10
  155. package/scripts/recount/recount_recursive_communities.js +6 -6
  156. package/scripts/recountALLCommunityGroupCounts.js +4 -4
  157. package/scripts/recountAll.js +3 -3
  158. package/scripts/recountCommunitesFromUrl.js +3 -3
  159. package/scripts/recountCommunity.js +2 -2
  160. package/scripts/recountGroup.js +5 -5
  161. package/scripts/recountGroupNoUserChange.js +5 -5
  162. package/scripts/resetAllEndorsementsForGroup.js +3 -3
  163. package/scripts/resetEnTranslationForGroup.js +5 -5
  164. package/scripts/setAdminOnAll.cjs +15 -14
  165. package/scripts/setDomainAdmin.cjs +7 -6
  166. package/scripts/setDomainLocales.js +2 -2
  167. package/scripts/setEarlQuestionIdOnGroup.cjs +5 -4
  168. package/scripts/setLanguageOnGroupCommunitesFromUrl.js +3 -3
  169. package/scripts/setMemberOfAll.js +14 -14
  170. package/scripts/setNewUserForContentOfCommunity.js +9 -9
  171. package/scripts/setOfficialStatusOnAllPostsForCommunity.js +1 -1
  172. package/scripts/setUserOnAll.js +14 -14
  173. package/scripts/showCategoryForGroup.js +1 -1
  174. package/scripts/showOldActivityTypes.js +3 -3
  175. package/scripts/showPostsMissingCategoryForGroup.js +2 -2
  176. package/scripts/showStatuses.js +4 -4
  177. package/scripts/showUniqueVotersInCommunity.js +4 -4
  178. package/scripts/showUserAgentsAndIpsForEmails.js +4 -4
  179. package/scripts/simpleExportForGroupsForCommunity.js +5 -5
  180. package/scripts/simpleExportForPointsForCommunity.js +5 -5
  181. package/scripts/simpleExportForPostsForCommunity.js +5 -5
  182. package/scripts/testForEndorsments.js +4 -4
  183. package/scripts/undeleteGroupAndAllContent.js +8 -8
  184. package/scripts/undeletePost.js +7 -7
  185. package/scripts/unlinkSsn.js +4 -4
  186. package/scripts/updateFromAlthingi.js +8 -8
  187. package/scripts/users/createUserAddDomain.js +6 -5
  188. package/scripts/users/importUsersForDomainsFromXls.js +4 -3
  189. package/scripts/users/listDomainUsersWithSsn.js +6 -5
  190. package/scripts/users/removeUserFromDomain.js +6 -5
  191. package/scripts/users/updatePasswordFromSsn.js +5 -4
  192. package/scripts/users/updateUserSsnFromEmail.js +5 -4
  193. package/services/controllers/activities.cjs +1 -1
  194. package/services/controllers/news_feeds.cjs +1 -1
  195. package/services/controllers/notifications.cjs +1 -1
  196. package/services/controllers/recommendations.cjs +1 -1
  197. package/services/engine/allOurIdeas/aiHelper.js +10 -9
  198. package/services/engine/analytics/export_anon_community_activities.js +3 -3
  199. package/services/engine/analytics/importer.js +10 -10
  200. package/services/engine/analytics/plausible/manager.cjs +4 -4
  201. package/services/engine/analytics/statsCalc.cjs +1 -1
  202. package/services/engine/analytics/utils.cjs +11 -10
  203. package/services/engine/marketing/campaign.cjs +1 -0
  204. package/services/engine/moderation/fraud/CreateFraudAuditReport.cjs +2 -1
  205. package/services/engine/moderation/fraud/FraudBase.cjs +3 -2
  206. package/services/engine/moderation/fraud/FraudDeleteBase.cjs +5 -4
  207. package/services/engine/moderation/fraud/FraudGetBase.cjs +2 -1
  208. package/services/engine/moderation/fraud/FraudGetEndorsements.cjs +2 -1
  209. package/services/engine/moderation/fraud/FraudGetPointQualities.cjs +2 -1
  210. package/services/engine/moderation/fraud/FraudGetPoints.cjs +2 -1
  211. package/services/engine/moderation/fraud/FraudGetPosts.cjs +2 -1
  212. package/services/engine/moderation/fraud/FraudGetRatings.cjs +2 -1
  213. package/services/engine/moderation/fraud/FraudScannerNotifier.cjs +10 -9
  214. package/services/engine/moderation/get_moderation_items.cjs +1 -1
  215. package/services/engine/moderation/image_labeling/ImageLabelingBase.cjs +1 -1
  216. package/services/engine/moderation/process_moderation_items.cjs +1 -1
  217. package/services/engine/moderation/toxicity_analysis.cjs +1 -1
  218. package/services/engine/news_feeds/generate_dynamically.cjs +1 -1
  219. package/services/engine/news_feeds/generate_from_notifications.cjs +1 -1
  220. package/services/engine/notifications/emails_utils.cjs +2 -2
  221. package/services/engine/notifications/generate_point_notifications.cjs +1 -1
  222. package/services/engine/notifications/generate_post_notifications.cjs +1 -1
  223. package/services/engine/notifications/process_delayed_notifications.cjs +38 -38
  224. package/services/engine/notifications/process_general_notifications.cjs +1 -0
  225. package/services/engine/old/exporters/categories_dataset.js +11 -11
  226. package/services/engine/old/exporters/sentiment_dataset.js +12 -12
  227. package/services/engine/recommendations/events_importer.cjs +5 -5
  228. package/services/engine/recommendations/events_manager.cjs +1 -1
  229. package/services/engine/reports/add_points_to_sheet.cjs +3 -2
  230. package/services/engine/reports/commonUtils.js +3 -2
  231. package/services/engine/reports/common_utils.cjs +8 -8
  232. package/services/engine/reports/docx_group_report.cjs +1 -1
  233. package/services/engine/reports/xlsAllOurIdeasExport.js +16 -15
  234. package/services/engine/reports/xls_community_users_report.cjs +2 -2
  235. package/services/engine/reports/xls_group_report.cjs +1 -1
  236. package/services/llms/baseChatBot.js +12 -11
  237. package/services/llms/imageGeneration/chatGptImageGenerator.js +3 -2
  238. package/services/llms/imageGeneration/collectionImageGenerator.js +7 -6
  239. package/services/llms/imageGeneration/dalleImageGenerator.js +6 -5
  240. package/services/llms/imageGeneration/fluxImageGenerator.js +5 -4
  241. package/services/llms/imageGeneration/imageProcessorService.js +2 -1
  242. package/services/llms/imageGeneration/imagenImageGenerator.js +8 -7
  243. package/services/llms/imageGeneration/s3Service.js +12 -11
  244. package/services/llms/llmTranslation.js +30 -29
  245. package/services/models/ac_activity.cjs +1 -1
  246. package/services/models/ac_notification.cjs +1 -1
  247. package/services/models/ac_translation_cache.cjs +11 -11
  248. package/services/scripts/analytics/setup_all_plausible_goals.cjs +3 -2
  249. package/services/scripts/fix_old_delayed_notifications.js +3 -3
  250. package/services/scripts/kue_status.js +11 -11
  251. package/services/scripts/kue_watch_stuck_jobs.js +6 -6
  252. package/services/scripts/translation_clear_language.js +21 -21
  253. package/services/scripts/translation_delete.js +4 -4
  254. package/services/scripts/translation_replace_text_from_url.js +4 -4
  255. package/services/scripts/translation_update.js +4 -4
  256. package/services/scripts/translations_list.js +5 -5
  257. package/services/utils/airbrake.cjs +2 -1
  258. package/services/utils/redisConnection.cjs +6 -5
  259. package/services/utils/translation_helpers.cjs +3 -2
  260. package/services/utils/updateAllLocalesFromEn.js +20 -19
  261. package/services/utils/updateLocaleFolders.js +7 -6
  262. package/services/workers/activity.cjs +1 -1
  263. package/services/workers/anonymizations.cjs +1 -1
  264. package/services/workers/bulk_status_update.cjs +2 -2
  265. package/services/workers/delayed_jobs.cjs +1 -1
  266. package/services/workers/deletions.cjs +1 -1
  267. package/services/workers/email.cjs +1 -1
  268. package/services/workers/fraud_management.cjs +3 -3
  269. package/services/workers/generativeAi.js +6 -5
  270. package/services/workers/main.cjs +1 -1
  271. package/services/workers/marketing.cjs +1 -1
  272. package/services/workers/moderation.cjs +1 -1
  273. package/services/workers/notification_delivery.cjs +1 -1
  274. package/services/workers/notification_news_feed.cjs +1 -1
  275. package/services/workers/queue.cjs +2 -2
  276. package/services/workers/recount.cjs +1 -1
  277. package/services/workers/reports.cjs +1 -1
  278. package/services/workers/similarities.cjs +4 -2
  279. package/services/workers/speech_to_text.cjs +1 -1
  280. package/utils/airbrake.cjs +2 -1
  281. package/utils/cjsCodeReview.js +7 -6
  282. package/utils/community_mapping_tools.cjs +3 -2
  283. package/utils/copy_utils.cjs +32 -31
  284. package/utils/export_utils.cjs +7 -7
  285. package/utils/generateDocumentation.js +10 -9
  286. package/utils/logger.cjs +2 -23
  287. package/utils/logger.d.cts +1 -1
  288. package/utils/loggerAirbrakeTransport.cjs +52 -0
  289. package/utils/loggerAirbrakeTransport.d.cts +15 -0
  290. package/utils/loggerAirbrakeTransportTs.d.ts +15 -0
  291. package/utils/loggerAirbrakeTransportTs.js +45 -0
  292. package/utils/loggerCore.cjs +29 -0
  293. package/utils/loggerCore.d.cts +2 -0
  294. package/utils/loggerCoreTs.d.ts +2 -0
  295. package/utils/loggerCoreTs.js +23 -0
  296. package/utils/loggerTs.d.ts +1 -2
  297. package/utils/loggerTs.js +2 -25
  298. package/utils/manifest_generator.cjs +1 -0
  299. package/utils/recount_utils.cjs +6 -5
  300. package/utils/seedModels.js +50 -49
  301. package/utils/sitemap_generator.cjs +4 -4
  302. package/utils/ypLanguages.js +2 -2
  303. package/webSockets.js +8 -7
  304. package/services/utils/logger.cjs +0 -25
  305. package/services/utils/logger.d.cts +0 -2
  306. package/src/agents/assistants/assistant.d.ts +0 -156
  307. package/src/controllers/audios.d.ts +0 -5
  308. package/src/controllers/categories.d.ts +0 -5
  309. package/src/controllers/communities.d.ts +0 -5
  310. package/src/controllers/domains.d.ts +0 -5
  311. package/src/controllers/groups.d.ts +0 -5
  312. package/src/controllers/images.d.ts +0 -5
  313. package/src/controllers/points.d.ts +0 -5
  314. package/src/controllers/posts.d.ts +0 -5
  315. package/src/controllers/ratings.d.ts +0 -5
  316. package/src/controllers/users.d.ts +0 -5
  317. package/src/controllers/videos.d.ts +0 -5
  318. package/src/models/index.d.ts +0 -84
  319. package/src/services/controllers/activities.d.ts +0 -5
  320. package/src/services/controllers/notifications.d.ts +0 -5
  321. package/src/utils/copy_utils.d.ts +0 -4
  322. package/src/utils/manifest_generator.d.ts +0 -18
@@ -1,4 +1,5 @@
1
1
  import { OpenAI } from "openai";
2
+ import log from "../../../utils/loggerTs.js";
2
3
  export class AiHelper {
3
4
  constructor(wsClientSocket = undefined) {
4
5
  this.modelName = "gpt-4o";
@@ -26,7 +27,7 @@ Only output: PASSES or FAILS`;
26
27
  content: this.moderationUserPrompt(question, answerToModerate),
27
28
  },
28
29
  ];
29
- console.log(JSON.stringify(messages, null, 2));
30
+ log.info(JSON.stringify(messages, null, 2));
30
31
  const response = await this.openaiClient.chat.completions.create({
31
32
  model: this.modelName,
32
33
  messages,
@@ -38,7 +39,7 @@ Only output: PASSES or FAILS`;
38
39
  response.choices[0] &&
39
40
  response.choices[0].message &&
40
41
  response.choices[0].message.content) {
41
- console.log("Moderation response:", response.choices[0].message.content);
42
+ log.info("Moderation response:", response.choices[0].message.content);
42
43
  return ["PASSES", "PASS"].includes(response.choices[0].message.content.toUpperCase())
43
44
  ? true
44
45
  : false;
@@ -83,7 +84,7 @@ Only output: PASSES or FAILS`;
83
84
  }
84
85
  }
85
86
  catch (error) {
86
- console.error(error);
87
+ log.error(error);
87
88
  this.sendToClient("bot", "There has been an error, please retry", "error");
88
89
  reject();
89
90
  }
@@ -98,11 +99,11 @@ Only output: PASSES or FAILS`;
98
99
  const moderationResponse = await this.openaiClient.moderations.create({
99
100
  input: question,
100
101
  });
101
- console.log("Moderation response:", moderationResponse);
102
+ log.info("Moderation response:", moderationResponse);
102
103
  const flagged = moderationResponse.results[0].flagged;
103
- console.log("Flagged:", flagged);
104
+ log.info("Flagged:", flagged);
104
105
  if (flagged) {
105
- console.error("Flagged:", question);
106
+ log.error("Flagged:", question);
106
107
  return null;
107
108
  }
108
109
  else {
@@ -135,7 +136,7 @@ Only output: PASSES or FAILS`;
135
136
  }
136
137
  }
137
138
  catch (error) {
138
- console.error("Error in getAnswerIdeas:", error);
139
+ log.error("Error in getAnswerIdeas:", error);
139
140
  this.sendToClient("bot", "There has been an error, please retry", "error");
140
141
  return null;
141
142
  }
@@ -175,7 +176,7 @@ Only output: PASSES or FAILS`;
175
176
  });
176
177
  const flagged = moderationResponse.results[0].flagged;
177
178
  if (flagged) {
178
- console.error("Flagged:", answersText);
179
+ log.error("Flagged:", answersText);
179
180
  return;
180
181
  }
181
182
  else {
@@ -197,7 +198,7 @@ Only output: PASSES or FAILS`;
197
198
  }
198
199
  }
199
200
  catch (error) {
200
- console.error("Error in getAiAnalysis:", error);
201
+ log.error("Error in getAiAnalysis:", error);
201
202
  this.sendToClient("bot", "There has been an error, please retry", "error");
202
203
  }
203
204
  }
@@ -7,14 +7,14 @@ const fs = require('fs');
7
7
  //const request = require('request');
8
8
  const request = {
9
9
  post: (data, done) => {
10
- console.log(JSON.stringify(data, null, 4));
10
+ log.info(JSON.stringify(data, null, 4));
11
11
  done();
12
12
  }
13
13
  };
14
14
  const clean = (text) => {
15
- //console.log("Before: "+ text);
15
+ //log.info("Before: "+ text);
16
16
  var newText = text.replace('"', "'").replace('\n', '').replace('\r', '').replace(/(\r\n|\n|\r)/gm, "").replace(/"/gm, "'").replace(/,/, ';').trim();
17
- //console.log("After:" + newText);
17
+ //log.info("After:" + newText);
18
18
  return newText.replace(/´/g, '');
19
19
  };
20
20
  const getEncryptedId = (id, key, iv) => {
@@ -31,7 +31,7 @@ const importAllDomains = (done) => {
31
31
  async.eachOfLimit(domains, updateAsyncLimit, (domain, index, callback) => {
32
32
  importDomain(domain, callback);
33
33
  }, () => {
34
- console.log("Finished updating domains");
34
+ log.info("Finished updating domains");
35
35
  done();
36
36
  });
37
37
  }).catch(function (error) {
@@ -57,7 +57,7 @@ const importAllCommunities = (done) => {
57
57
  async.eachOfLimit(communities, updateAsyncLimit, (community, index, callback) => {
58
58
  importCommunity(community, callback);
59
59
  }, () => {
60
- console.log("Finished updating communities");
60
+ log.info("Finished updating communities");
61
61
  done();
62
62
  });
63
63
  }).catch(function (error) {
@@ -90,7 +90,7 @@ const importAllGroups = (done) => {
90
90
  async.eachOfLimit(groups, updateAsyncLimit, (group, index, callback) => {
91
91
  importGroup(group, callback);
92
92
  }, () => {
93
- console.log("Finished updating communities");
93
+ log.info("Finished updating communities");
94
94
  done();
95
95
  });
96
96
  }).catch(function (error) {
@@ -177,7 +177,7 @@ const importAllPosts = (done) => {
177
177
  async.eachOfLimit(posts, updateAsyncLimit, (post, index, callback) => {
178
178
  importPost(post, callback);
179
179
  }, () => {
180
- console.log("Finished updating posts");
180
+ log.info("Finished updating posts");
181
181
  done();
182
182
  });
183
183
  }).catch(function (error) {
@@ -244,7 +244,7 @@ const importAllPoints = (done) => {
244
244
  async.eachOfLimit(points, updateAsyncLimit, (point, index, callback) => {
245
245
  importPoint(point, callback);
246
246
  }, () => {
247
- console.log("Finished updating posts");
247
+ log.info("Finished updating posts");
248
248
  done();
249
249
  });
250
250
  }).catch(function (error) {
@@ -279,9 +279,9 @@ const importAll = (done) => {
279
279
  });
280
280
  }
281
281
  ], (error) => {
282
- console.log("Finished importing all");
282
+ log.info("Finished importing all");
283
283
  if (error)
284
- console.error(error);
284
+ log.error(error);
285
285
  done();
286
286
  });
287
287
  };
@@ -290,19 +290,19 @@ if (process.env["AC_ANALYTICS_KEY"] && process.env["AC_ANALYTICS_BASE_URL"]) {
290
290
  if (process.argv[2] && process.argv[2] === "onlyUpdatePosts") {
291
291
  updateAsyncLimit = 5;
292
292
  importAllPosts(() => {
293
- console.log("Done updating posts");
293
+ log.info("Done updating posts");
294
294
  process.exit();
295
295
  });
296
296
  }
297
297
  else {
298
298
  importAll(() => {
299
- console.log("Done importing all");
299
+ log.info("Done importing all");
300
300
  process.exit();
301
301
  });
302
302
  }
303
303
  }
304
304
  else {
305
- console.error("NO AC_ANALYTICS_KEY");
305
+ log.error("NO AC_ANALYTICS_KEY");
306
306
  process.exit();
307
307
  }
308
308
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const models = require("../../../../models/index.cjs");
3
- const log = require("../../../utils/logger.cjs");
3
+ const log = require("../../../../utils/logger.cjs");
4
4
  const request = require("request");
5
5
  const moment = require("moment");
6
6
  // This SQL is needed to allow the site API
@@ -255,7 +255,7 @@ async function getPlausibleStats(statsParams) {
255
255
  reject(content.statusCode);
256
256
  }
257
257
  else if (content) {
258
- console.log(content.body);
258
+ log.info(content.body);
259
259
  resolve(content.body);
260
260
  }
261
261
  else {
@@ -294,7 +294,7 @@ async function addPlausibleGoal(eventName) {
294
294
  },
295
295
  method: "PUT",
296
296
  };
297
- console.log(`${JSON.stringify(options)}`);
297
+ log.info(`${JSON.stringify(options)}`);
298
298
  request(options, (error, content) => {
299
299
  if (content && content.statusCode != 200) {
300
300
  log.error(error);
@@ -302,7 +302,7 @@ async function addPlausibleGoal(eventName) {
302
302
  reject(content.statusCode);
303
303
  }
304
304
  else if (content) {
305
- console.log(content.body);
305
+ log.info(content.body);
306
306
  resolve(content.body);
307
307
  }
308
308
  else {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const models = require("../../../models/index.cjs");
3
- const log = require('../../utils/logger.cjs');
3
+ const log = require('../../../utils/logger.cjs');
4
4
  const moment = require('moment');
5
5
  const _ = require('lodash');
6
6
  const getPointDomainIncludes = (id) => {
@@ -2,12 +2,13 @@
2
2
  const _ = require('lodash');
3
3
  const request = require('request');
4
4
  const models = require('../../../models/index.cjs');
5
+ const log = require('../../../utils/logger.cjs');
5
6
  const convertToString = (integer, type) => {
6
7
  if (integer) {
7
8
  return integer.toString();
8
9
  }
9
10
  else {
10
- console.error("Cant find integer to string for: " + type);
11
+ log.error("Cant find integer to string for: " + type);
11
12
  }
12
13
  };
13
14
  const importDomain = (domain, done) => {
@@ -113,11 +114,11 @@ const importPost = (post, done) => {
113
114
  }
114
115
  catch (error) {
115
116
  description += `${answers[i].value}`;
116
- console.warn(`Error trimming answer to description: ${answers[i].value}`);
117
+ log.warn(`Error trimming answer to description: ${answers[i].value}`);
117
118
  }
118
119
  }
119
120
  else {
120
- console.error(`No value for answer in adding to description: ${answers[i]}`);
121
+ log.error(`No value for answer in adding to description: ${answers[i]}`);
121
122
  }
122
123
  }
123
124
  }
@@ -149,7 +150,7 @@ const importPost = (post, done) => {
149
150
  else if (_hasCoverMediaType(post, "audio") && post.Audios && post.Audios.length > 0) {
150
151
  audioUrl = _getAudioURL(post.Audios);
151
152
  }
152
- console.log("Image URL before: " + imageUrl);
153
+ log.info("Image URL before: " + imageUrl);
153
154
  if (!imageUrl) {
154
155
  if (post.Group.GroupLogoImages && post.Group.GroupLogoImages.length > 0) {
155
156
  formats = JSON.parse(post.Group.GroupLogoImages[0].formats);
@@ -160,9 +161,9 @@ const importPost = (post, done) => {
160
161
  imageUrl = formats[0];
161
162
  }
162
163
  }
163
- console.log("Image URL after: " + imageUrl);
164
- console.log("Language: " + language);
165
- console.log(description);
164
+ log.info("Image URL after: " + imageUrl);
165
+ log.info("Language: " + language);
166
+ log.info(description);
166
167
  //TODO: Add endorsements up and down for ratings for 3d maps
167
168
  //TODO: Add English translation if there and make train english maps for all items
168
169
  properties = _.merge(properties, {
@@ -250,8 +251,8 @@ const importPoint = (point, done) => {
250
251
  if (point.PointAudios && point.PointAudios.length > 0) {
251
252
  audioUrl = _getAudioURL(point.PointAudios);
252
253
  }
253
- console.log("Language: " + language);
254
- console.log(point.id);
254
+ log.info("Language: " + language);
255
+ log.info(point.id);
255
256
  //TODO: Add endorsements up and down for ratings for 3d maps
256
257
  //TODO: Add English translation if there and make train english maps for all items
257
258
  properties = _.merge(properties, {
@@ -349,7 +350,7 @@ const _getImageFormatUrl = function (images, formatId) {
349
350
  };
350
351
  const _hasCoverMediaType = function (post, mediaType) {
351
352
  if (!post) {
352
- console.info("No post for " + mediaType);
353
+ log.info("No post for " + mediaType);
353
354
  return false;
354
355
  }
355
356
  else {
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  const models = require("../../../models/index.cjs");
3
3
  const async = require('async');
4
+ const log = require("../../../utils/logger.cjs");
4
5
  const sendSmsToUser = (twilioClient, listUser, campaign, configuration, done) => {
5
6
  /*const body = campaign.message + " "+ campaign.data.baseUrl+"?yu="+listUser.id+"&yc="+campaign.id;
6
7
  twilioClient.messages.create({
@@ -6,6 +6,7 @@ const Excel = require("exceljs");
6
6
  const setJobError = require("../../reports/common_utils.cjs").setJobError;
7
7
  const uploadToS3 = require("../../reports/common_utils.cjs").uploadToS3;
8
8
  const sanitizeFilename = require("sanitize-filename");
9
+ const log = require("../../../../utils/logger.cjs");
9
10
  const formatWorksheet = (worksheet) => {
10
11
  worksheet.getRow(1).font = { bold: true };
11
12
  // worksheet.properties.defaultRowHeight = 20;
@@ -288,7 +289,7 @@ class FraudAuditReport {
288
289
  }
289
290
  }
290
291
  catch (error) {
291
- console.error(error);
292
+ log.error(error);
292
293
  setJobError(this.workPackage.jobId, "errorFraudAuditReportGeneration", error, (dbError) => {
293
294
  reject(dbError || error);
294
295
  });
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  const _ = require("lodash");
3
3
  const moment = require("moment");
4
+ const log = require("../../../../utils/logger.cjs");
4
5
  class FraudBase {
5
6
  constructor(workPackage) {
6
7
  this.workPackage = workPackage;
@@ -12,11 +13,11 @@ class FraudBase {
12
13
  ;
13
14
  }
14
15
  getTopItems() {
15
- console.error("Should be implemented in a sub class");
16
+ log.error("Should be implemented in a sub class");
16
17
  return null;
17
18
  }
18
19
  async getAllItems() {
19
- console.error("Should be implemented in a sub class");
20
+ log.error("Should be implemented in a sub class");
20
21
  return null;
21
22
  }
22
23
  getPostIdsFromItems(topItems) {
@@ -3,6 +3,7 @@ const _ = require("lodash");
3
3
  const moment = require("moment");
4
4
  const models = require("../../../../models/index.cjs");
5
5
  const FraudBase = require('./FraudBase.cjs');
6
+ const log = require("../../../../utils/logger.cjs");
6
7
  const recountCommunity = require('../../../../utils/recount_utils.cjs').recountCommunity;
7
8
  const recountPosts = require('../../../../utils/recount_utils.cjs').recountPosts;
8
9
  const recountPoints = require('../../../../utils/recount_utils.cjs').recountPoints;
@@ -23,11 +24,11 @@ class FraudDeleteBase extends FraudBase {
23
24
  }
24
25
  async getItemsById() {
25
26
  // this.job.internal_data.idsToDelete
26
- console.error("Should be implemented in a sub class");
27
+ log.error("Should be implemented in a sub class");
27
28
  return null;
28
29
  }
29
30
  async destroyChunkItems(chunks) {
30
- console.error("Should be implemented in a sub class");
31
+ log.error("Should be implemented in a sub class");
31
32
  }
32
33
  getAllItemsExceptOne(items) {
33
34
  if (items.length === 1 && this.getAllowedSingleDelete()) {
@@ -179,7 +180,7 @@ class FraudDeleteBase extends FraudBase {
179
180
  }
180
181
  async deleteItems() {
181
182
  return await new Promise(async (resolve, reject) => {
182
- console.log(`Delete data ${JSON.stringify(this.workPackage)}`);
183
+ log.info(`Delete data ${JSON.stringify(this.workPackage)}`);
183
184
  try {
184
185
  this.job = await models.AcBackgroundJob.findOne({
185
186
  where: {
@@ -202,7 +203,7 @@ class FraudDeleteBase extends FraudBase {
202
203
  }
203
204
  catch (error) {
204
205
  await models.AcBackgroundJob.updateErrorAsync(this.workPackage.jobId, error.toString());
205
- console.error(error);
206
+ log.error(error);
206
207
  reject(error);
207
208
  }
208
209
  });
@@ -4,6 +4,7 @@ const moment = require("moment");
4
4
  const FraudBase = require('./FraudBase.cjs');
5
5
  const models = require("../../../../models/index.cjs");
6
6
  const ColorHash = require('color-hash').default;
7
+ const log = require("../../../../utils/logger.cjs");
7
8
  class FraudGetBase extends FraudBase {
8
9
  constructor(workPackage) {
9
10
  super(workPackage);
@@ -114,7 +115,7 @@ class FraudGetBase extends FraudBase {
114
115
  async processAndGetFraudItems() {
115
116
  return await new Promise(async (resolve, reject) => {
116
117
  try {
117
- console.log(`Get Fraud ${JSON.stringify(this.workPackage)}`);
118
+ log.info(`Get Fraud ${JSON.stringify(this.workPackage)}`);
118
119
  this.items = await this.getAllItems();
119
120
  this.setupDataToProcess();
120
121
  this.setBackgroundColorsFromKey();
@@ -2,6 +2,7 @@
2
2
  const _ = require("lodash");
3
3
  const FraudGetBase = require('./FraudGetBase.cjs');
4
4
  const models = require("../../../../models/index.cjs");
5
+ const log = require("../../../../utils/logger.cjs");
5
6
  //TODO: Change to native JS instead of lodash
6
7
  class FraudGetEndorsements extends FraudGetBase {
7
8
  async getAllModelItems(model, getGroup) {
@@ -177,7 +178,7 @@ class FraudGetEndorsements extends FraudGetBase {
177
178
  return out;
178
179
  }
179
180
  else {
180
- console.warn("Wrong type for e fraud check");
181
+ log.warn("Wrong type for e fraud check");
181
182
  return [];
182
183
  }
183
184
  }
@@ -2,6 +2,7 @@
2
2
  const _ = require("lodash");
3
3
  const FraudGetBase = require('./FraudGetBase.cjs');
4
4
  const models = require("../../../../models/index.cjs");
5
+ const log = require("../../../../utils/logger.cjs");
5
6
  //TODO: Change to native JS instead of lodash
6
7
  class FraudGetPointQualities extends FraudGetBase {
7
8
  async getAllItems() {
@@ -176,7 +177,7 @@ class FraudGetPointQualities extends FraudGetBase {
176
177
  return out;
177
178
  }
178
179
  else {
179
- console.warn(`Wrong type for e fraud check: ${type}`);
180
+ log.warn(`Wrong type for e fraud check: ${type}`);
180
181
  return [];
181
182
  }
182
183
  }
@@ -2,6 +2,7 @@
2
2
  const _ = require("lodash");
3
3
  const FraudGetBase = require('./FraudGetBase.cjs');
4
4
  const models = require("../../../../models/index.cjs");
5
+ const log = require("../../../../utils/logger.cjs");
5
6
  //TODO: Change to native JS instead of lodash
6
7
  class FraudGetPointQualities extends FraudGetBase {
7
8
  async getAllItems() {
@@ -162,7 +163,7 @@ class FraudGetPointQualities extends FraudGetBase {
162
163
  return out;
163
164
  }
164
165
  else {
165
- console.warn("Wrong type for e fraud check");
166
+ log.warn("Wrong type for e fraud check");
166
167
  return [];
167
168
  }
168
169
  }
@@ -2,6 +2,7 @@
2
2
  const _ = require("lodash");
3
3
  const FraudGetBase = require('./FraudGetBase.cjs');
4
4
  const models = require("../../../../models/index.cjs");
5
+ const log = require("../../../../utils/logger.cjs");
5
6
  class FraudGetPoints extends FraudGetBase {
6
7
  async getAllItems() {
7
8
  return await new Promise(async (resolve, reject) => {
@@ -101,7 +102,7 @@ class FraudGetPoints extends FraudGetBase {
101
102
  return out;
102
103
  }
103
104
  else {
104
- console.warn("Wrong type for e fraud check");
105
+ log.warn("Wrong type for e fraud check");
105
106
  return [];
106
107
  }
107
108
  }
@@ -2,6 +2,7 @@
2
2
  const _ = require("lodash");
3
3
  const FraudGetEndorsements = require('./FraudGetEndorsements.cjs');
4
4
  const models = require("../../../../models/index.cjs");
5
+ const log = require("../../../../utils/logger.cjs");
5
6
  class FraudGetRatings extends FraudGetEndorsements {
6
7
  constructor(workPackage) {
7
8
  super(workPackage);
@@ -132,7 +133,7 @@ class FraudGetRatings extends FraudGetEndorsements {
132
133
  return out;
133
134
  }
134
135
  else {
135
- console.warn("Wrong type for e fraud check");
136
+ log.warn("Wrong type for e fraud check");
136
137
  return [];
137
138
  }
138
139
  }
@@ -3,6 +3,7 @@ const _ = require("lodash");
3
3
  const models = require("../../../../models/index.cjs");
4
4
  const i18n = require('../../../utils/i18n.cjs');
5
5
  const deepEqual = require('deep-equal');
6
+ const log = require("../../../../utils/logger.cjs");
6
7
  const FraudGetEndorsements = require("./FraudGetEndorsements");
7
8
  const FraudGetPointQualities = require("./FraudGetPointQualities");
8
9
  const FraudGetRatings = require("./FraudGetRatings");
@@ -51,7 +52,7 @@ class FraudScannerNotifier {
51
52
  }
52
53
  }
53
54
  else {
54
- console.error("No domain name for community");
55
+ log.error("No domain name for community");
55
56
  return "";
56
57
  }
57
58
  }
@@ -70,7 +71,7 @@ class FraudScannerNotifier {
70
71
  }
71
72
  }
72
73
  else {
73
- console.error(`No job data for ${collectionType}`);
74
+ log.error(`No job data for ${collectionType}`);
74
75
  }
75
76
  }
76
77
  capitalizeFirstLetter(string) {
@@ -127,7 +128,7 @@ class FraudScannerNotifier {
127
128
  }
128
129
  }
129
130
  else {
130
- console.error("No community admins found");
131
+ log.error("No community admins found");
131
132
  return;
132
133
  }
133
134
  }
@@ -176,7 +177,7 @@ class FraudScannerNotifier {
176
177
  await this.currentCommunity.save();
177
178
  }
178
179
  else {
179
- console.log("Not resending same numbers");
180
+ log.info("Not resending same numbers");
180
181
  }
181
182
  }
182
183
  }
@@ -227,15 +228,15 @@ class FraudScannerNotifier {
227
228
  ]
228
229
  });
229
230
  for (let i = 0; i < communities.length; i++) {
230
- console.log("Processing community: " + communities[i].name);
231
+ log.info("Processing community: " + communities[i].name);
231
232
  this.currentCommunity = communities[i];
232
233
  try {
233
234
  await this.scan();
234
235
  await this.notify();
235
236
  }
236
237
  catch (error) {
237
- console.error("Error processing community: " + communities[i].name);
238
- console.error(error);
238
+ log.error("Error processing community: " + communities[i].name);
239
+ log.error(error);
239
240
  reject(error);
240
241
  return;
241
242
  }
@@ -268,11 +269,11 @@ i18n
268
269
  try {
269
270
  const scanner = new FraudScannerNotifier();
270
271
  await scanner.scanAndNotify();
271
- console.log("Fraud Scanning Complete");
272
+ log.info("Fraud Scanning Complete");
272
273
  process.exit();
273
274
  }
274
275
  catch (error) {
275
- console.error(error);
276
+ log.error(error);
276
277
  process.exit();
277
278
  }
278
279
  })();
@@ -4,7 +4,7 @@ const models = require("../../../models/index.cjs");
4
4
  const i18n = require('../../utils/i18n.cjs');
5
5
  const async = require('async');
6
6
  const moment = require('moment');
7
- const log = require('../../utils/logger.cjs');
7
+ const log = require('../../../utils/logger.cjs');
8
8
  const _ = require('lodash');
9
9
  const domainIncludes = (domainId) => {
10
10
  return [
@@ -3,7 +3,7 @@ const vision = require('@google-cloud/vision');
3
3
  const models = require("../../../../models/index.cjs");
4
4
  var downloadFile = require('download-file');
5
5
  const fs = require("fs");
6
- const log = require('../../../utils/logger.cjs');
6
+ const log = require('../../../../utils/logger.cjs');
7
7
  class ImageLabelingBase {
8
8
  constructor(workPackage) {
9
9
  this.workPackage = workPackage;
@@ -2,7 +2,7 @@
2
2
  const queue = require('../../workers/queue.cjs');
3
3
  const models = require("../../../models/index.cjs");
4
4
  const async = require('async');
5
- const log = require('../../utils/logger.cjs');
5
+ const log = require('../../../utils/logger.cjs');
6
6
  const _ = require('lodash');
7
7
  const getAnonymousUser = require('../../utils/get_anonymous_system_user.cjs');
8
8
  const domainIncludes = require('./get_moderation_items.cjs').domainIncludes;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  const models = require("../../../models/index.cjs");
3
3
  const async = require("async");
4
- const log = require("../../utils/logger.cjs");
4
+ const log = require("../../../utils/logger.cjs");
5
5
  const TOXICITY_THRESHOLD = 0.5;
6
6
  const TOXICITY_EMAIL_THRESHOLD = 0.75;
7
7
  const Perspective = require("./perspective_api_client.cjs");
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var models = require("../../../models/index.cjs");
3
3
  var async = require('async');
4
- var log = require('../../utils/logger.cjs');
4
+ var log = require('../../../utils/logger.cjs');
5
5
  var _ = require('lodash');
6
6
  var getRecommendationFor = require('../recommendations/events_manager.cjs').getRecommendationFor;
7
7
  var getProcessedRange = require('./news_feeds_utils.cjs').getProcessedRange;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var models = require("../../../models/index.cjs");
3
3
  var async = require('async');
4
- var log = require('../../utils/logger.cjs');
4
+ var log = require('../../../utils/logger.cjs');
5
5
  var _ = require('lodash');
6
6
  var toJson = require('../../utils/to_json.cjs');
7
7
  var airbrake = null;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  var DEBUG_EMAILS_TO_TEMP_FIlE = false;
3
- var log = require("../../utils/logger.cjs");
3
+ var log = require("../../../utils/logger.cjs");
4
4
  var async = require("async");
5
5
  var path = require("path");
6
6
  var nodemailer = require("nodemailer");
@@ -212,7 +212,7 @@ const processNotification = (notification, user, template, subject, callback) =>
212
212
  }
213
213
  }
214
214
  else {
215
- console.warn("Can't find email for user");
215
+ log.warn("Can't find email for user");
216
216
  callback();
217
217
  }
218
218
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const models = require("../../../models/index.cjs");
3
- const log = require('../../utils/logger.cjs');
3
+ const log = require('../../../utils/logger.cjs');
4
4
  const async = require('async');
5
5
  const getModelAndUsersByType = require('./notifications_utils.cjs').getModelAndUsersByType;
6
6
  const addNotificationsForUsers = require('./notifications_utils.cjs').addNotificationsForUsers;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const models = require("../../../models/index.cjs");
3
- const log = require("../../utils/logger.cjs");
3
+ const log = require("../../../utils/logger.cjs");
4
4
  const async = require("async");
5
5
  const getModelAndUsersByType = require("./notifications_utils.cjs").getModelAndUsersByType;
6
6
  const addNotificationsForUsers = require("./notifications_utils.cjs").addNotificationsForUsers;