@yrpri/api 9.0.103 → 9.0.104
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.
- package/package.json +1 -1
- package/dist/active-citizen/controllers/activities.cjs +0 -174
- package/dist/active-citizen/controllers/news_feeds.cjs +0 -96
- package/dist/active-citizen/controllers/notifications.cjs +0 -243
- package/dist/active-citizen/controllers/recommendations.cjs +0 -280
- package/dist/active-citizen/engine/allOurIdeas/aiHelper.js +0 -204
- package/dist/active-citizen/engine/allOurIdeas/explainAnswersAssistant.js +0 -66
- package/dist/active-citizen/engine/allOurIdeas/iconGenerator.js +0 -38
- package/dist/active-citizen/engine/analytics/export_anon_community_activities.js +0 -334
- package/dist/active-citizen/engine/analytics/importer.js +0 -308
- package/dist/active-citizen/engine/analytics/manager.cjs +0 -377
- package/dist/active-citizen/engine/analytics/plausible/manager.cjs +0 -500
- package/dist/active-citizen/engine/analytics/statsCalc.cjs +0 -194
- package/dist/active-citizen/engine/analytics/utils.cjs +0 -369
- package/dist/active-citizen/engine/marketing/campaign.cjs +0 -90
- package/dist/active-citizen/engine/moderation/fraud/CreateFraudAuditReport.cjs +0 -313
- package/dist/active-citizen/engine/moderation/fraud/FraudBase.cjs +0 -239
- package/dist/active-citizen/engine/moderation/fraud/FraudDeleteBase.cjs +0 -211
- package/dist/active-citizen/engine/moderation/fraud/FraudDeleteEndorsements.cjs +0 -120
- package/dist/active-citizen/engine/moderation/fraud/FraudDeletePointQualities.cjs +0 -114
- package/dist/active-citizen/engine/moderation/fraud/FraudDeletePoints.cjs +0 -101
- package/dist/active-citizen/engine/moderation/fraud/FraudDeletePosts.cjs +0 -84
- package/dist/active-citizen/engine/moderation/fraud/FraudDeleteRatings.cjs +0 -15
- package/dist/active-citizen/engine/moderation/fraud/FraudGetBase.cjs +0 -133
- package/dist/active-citizen/engine/moderation/fraud/FraudGetEndorsements.cjs +0 -185
- package/dist/active-citizen/engine/moderation/fraud/FraudGetPointQualities.cjs +0 -184
- package/dist/active-citizen/engine/moderation/fraud/FraudGetPoints.cjs +0 -170
- package/dist/active-citizen/engine/moderation/fraud/FraudGetPosts.cjs +0 -109
- package/dist/active-citizen/engine/moderation/fraud/FraudGetRatings.cjs +0 -140
- package/dist/active-citizen/engine/moderation/fraud/FraudScannerNotifier.cjs +0 -279
- package/dist/active-citizen/engine/moderation/get_moderation_items.cjs +0 -386
- package/dist/active-citizen/engine/moderation/image_labeling/CommunityLabeling.cjs +0 -49
- package/dist/active-citizen/engine/moderation/image_labeling/GroupLabeling.cjs +0 -68
- package/dist/active-citizen/engine/moderation/image_labeling/ImageLabelingBase.cjs +0 -288
- package/dist/active-citizen/engine/moderation/image_labeling/PointLabeling.cjs +0 -33
- package/dist/active-citizen/engine/moderation/image_labeling/PostLabeling.cjs +0 -56
- package/dist/active-citizen/engine/moderation/perspective_api_client.cjs +0 -106
- package/dist/active-citizen/engine/moderation/process_moderation_items.cjs +0 -344
- package/dist/active-citizen/engine/moderation/toxicity_analysis.cjs +0 -810
- package/dist/active-citizen/engine/news_feeds/activity_and_item_index_definitions.cjs +0 -15
- package/dist/active-citizen/engine/news_feeds/generate_dynamically.cjs +0 -362
- package/dist/active-citizen/engine/news_feeds/generate_from_notifications.cjs +0 -268
- package/dist/active-citizen/engine/news_feeds/news_feeds_utils.cjs +0 -439
- package/dist/active-citizen/engine/notifications/emails_utils.cjs +0 -569
- package/dist/active-citizen/engine/notifications/generate_point_notifications.cjs +0 -233
- package/dist/active-citizen/engine/notifications/generate_post_notifications.cjs +0 -118
- package/dist/active-citizen/engine/notifications/generate_post_status_change_notifications.cjs +0 -41
- package/dist/active-citizen/engine/notifications/notifications_utils.cjs +0 -148
- package/dist/active-citizen/engine/notifications/point_delivery.cjs +0 -54
- package/dist/active-citizen/engine/notifications/post_delivery.cjs +0 -31
- package/dist/active-citizen/engine/notifications/process_delayed_notifications.cjs +0 -471
- package/dist/active-citizen/engine/notifications/process_general_notifications.cjs +0 -212
- package/dist/active-citizen/engine/old/exporters/categories_dataset.js +0 -153
- package/dist/active-citizen/engine/old/exporters/dataset_tools.js +0 -80
- package/dist/active-citizen/engine/old/exporters/sentiment_dataset.js +0 -157
- package/dist/active-citizen/engine/recommendations/events_importer.cjs +0 -139
- package/dist/active-citizen/engine/recommendations/events_manager.cjs +0 -212
- package/dist/active-citizen/engine/reports/add_points_to_sheet.cjs +0 -83
- package/dist/active-citizen/engine/reports/commonUtils.js +0 -75
- package/dist/active-citizen/engine/reports/common_utils.cjs +0 -740
- package/dist/active-citizen/engine/reports/docx_group_report.cjs +0 -596
- package/dist/active-citizen/engine/reports/xlsAllOurIdeasExport.js +0 -232
- package/dist/active-citizen/engine/reports/xls_community_users_report.cjs +0 -277
- package/dist/active-citizen/engine/reports/xls_group_report.cjs +0 -718
- package/dist/active-citizen/llms/baseChatBot.js +0 -183
- package/dist/active-citizen/llms/imageGeneration/chatGptImageGenerator.js +0 -56
- package/dist/active-citizen/llms/imageGeneration/collectionImageGenerator.js +0 -109
- package/dist/active-citizen/llms/imageGeneration/dalleImageGenerator.js +0 -84
- package/dist/active-citizen/llms/imageGeneration/fluxImageGenerator.js +0 -49
- package/dist/active-citizen/llms/imageGeneration/iImageGenerator.js +0 -1
- package/dist/active-citizen/llms/imageGeneration/imageProcessorService.js +0 -64
- package/dist/active-citizen/llms/imageGeneration/imagenImageGenerator.js +0 -107
- package/dist/active-citizen/llms/imageGeneration/s3Service.js +0 -110
- package/dist/active-citizen/llms/llmTranslation.js +0 -472
- package/dist/active-citizen/models/ac_activity.cjs +0 -216
- package/dist/active-citizen/models/ac_background_job.cjs +0 -109
- package/dist/active-citizen/models/ac_campaign.cjs +0 -97
- package/dist/active-citizen/models/ac_client_activity.cjs +0 -23
- package/dist/active-citizen/models/ac_delayed_notification.cjs +0 -43
- package/dist/active-citizen/models/ac_following.cjs +0 -43
- package/dist/active-citizen/models/ac_list.cjs +0 -68
- package/dist/active-citizen/models/ac_list_users.cjs +0 -19
- package/dist/active-citizen/models/ac_mute.cjs +0 -27
- package/dist/active-citizen/models/ac_news_feed_item.cjs +0 -57
- package/dist/active-citizen/models/ac_news_feed_processed_range.cjs +0 -59
- package/dist/active-citizen/models/ac_notification.cjs +0 -292
- package/dist/active-citizen/models/ac_translation_cache.cjs +0 -750
- package/dist/active-citizen/models/ac_watching.cjs +0 -31
- package/dist/active-citizen/scripts/analytics/setup_all_plausible_goals.cjs +0 -13
- package/dist/active-citizen/scripts/fix_old_delayed_notifications.js +0 -63
- package/dist/active-citizen/scripts/kue_status.js +0 -31
- package/dist/active-citizen/scripts/kue_watch_stuck_jobs.js +0 -24
- package/dist/active-citizen/scripts/translation_clear_language.js +0 -117
- package/dist/active-citizen/scripts/translation_delete.js +0 -27
- package/dist/active-citizen/scripts/translation_replace_text_from_url.js +0 -180
- package/dist/active-citizen/scripts/translation_update.js +0 -28
- package/dist/active-citizen/scripts/translations_list.js +0 -27
- package/dist/active-citizen/utils/airbrake.cjs +0 -17
- package/dist/active-citizen/utils/get_anonymous_system_user.cjs +0 -21
- package/dist/active-citizen/utils/i18n.cjs +0 -3
- package/dist/active-citizen/utils/logger.cjs +0 -25
- package/dist/active-citizen/utils/redisConnection.cjs +0 -29
- package/dist/active-citizen/utils/to_json.cjs +0 -9
- package/dist/active-citizen/utils/translation_cloning.cjs +0 -171
- package/dist/active-citizen/utils/translation_helpers.cjs +0 -534
- package/dist/active-citizen/utils/truncate_text.cjs +0 -21
- package/dist/active-citizen/utils/updateAllLocalesFromEn.js +0 -253
- package/dist/active-citizen/utils/updateLocaleFolders.js +0 -34
- package/dist/active-citizen/workers/activity.cjs +0 -189
- package/dist/active-citizen/workers/anonymizations.cjs +0 -734
- package/dist/active-citizen/workers/bulk_status_update.cjs +0 -458
- package/dist/active-citizen/workers/delayed_jobs.cjs +0 -244
- package/dist/active-citizen/workers/deletions.cjs +0 -1911
- package/dist/active-citizen/workers/email.cjs +0 -9
- package/dist/active-citizen/workers/fraud_management.cjs +0 -109
- package/dist/active-citizen/workers/generativeAi.js +0 -56
- package/dist/active-citizen/workers/main.cjs +0 -89
- package/dist/active-citizen/workers/marketing.cjs +0 -25
- package/dist/active-citizen/workers/moderation.cjs +0 -73
- package/dist/active-citizen/workers/notification_delivery.cjs +0 -368
- package/dist/active-citizen/workers/notification_news_feed.cjs +0 -142
- package/dist/active-citizen/workers/queue.cjs +0 -99
- package/dist/active-citizen/workers/recount.cjs +0 -74
- package/dist/active-citizen/workers/reports.cjs +0 -42
- package/dist/active-citizen/workers/similarities.cjs +0 -21
- package/dist/active-citizen/workers/speech_to_text.cjs +0 -482
- package/dist/agents/assistants/agentAssistant.js +0 -88
- package/dist/agents/assistants/baseAssistant.js +0 -888
- package/dist/agents/assistants/baseAssistantWithVoice.js +0 -150
- package/dist/agents/assistants/modes/agentDirectConnection.js +0 -84
- package/dist/agents/assistants/modes/agentSelectionMode.js +0 -44
- package/dist/agents/assistants/modes/baseAssistantMode.js +0 -54
- package/dist/agents/assistants/modes/tools/agentTools.js +0 -447
- package/dist/agents/assistants/modes/tools/baseTools.js +0 -58
- package/dist/agents/assistants/modes/tools/loginTools.js +0 -156
- package/dist/agents/assistants/modes/tools/models/agents.js +0 -146
- package/dist/agents/assistants/modes/tools/models/subscriptions.js +0 -332
- package/dist/agents/assistants/modes/tools/models/users.js +0 -11
- package/dist/agents/assistants/modes/tools/navigationTools.js +0 -166
- package/dist/agents/assistants/modes/tools/subscriptionTools.js +0 -323
- package/dist/agents/assistants/modes/tools/workflowConverstationTools.js +0 -112
- package/dist/agents/assistants/voiceAssistant.js +0 -619
- package/dist/agents/controllers/agentProductController.js +0 -103
- package/dist/agents/controllers/agentSubscriptionController.js +0 -261
- package/dist/agents/controllers/assistantsController.js +0 -511
- package/dist/agents/controllers/policySynthAgents.js +0 -395
- package/dist/agents/managers/agentProductManager.js +0 -91
- package/dist/agents/managers/emailInvitesManager.js +0 -55
- package/dist/agents/managers/emailTemplateRenderer.js +0 -362
- package/dist/agents/managers/newAiModelSetup.js +0 -650
- package/dist/agents/managers/notificationAgentQueueManager.js +0 -510
- package/dist/agents/managers/subscriptionManager.js +0 -535
- package/dist/agents/managers/workflowConversationManager.js +0 -79
- package/dist/agents/models/agentProduct.js +0 -116
- package/dist/agents/models/agentProductBoosterPurchase.js +0 -58
- package/dist/agents/models/agentProductBundle.js +0 -68
- package/dist/agents/models/agentProductRun.js +0 -52
- package/dist/agents/models/discount.js +0 -88
- package/dist/agents/models/subscription.js +0 -79
- package/dist/agents/models/subscriptionPlan.js +0 -46
- package/dist/agents/models/subscriptionUser.js +0 -27
- package/dist/agents/models/testData/createEvolyAgentProduct.js +0 -477
- package/dist/agents/models/testData/old/updateAgentWorkflowConfiguration.js +0 -230
- package/dist/agents/models/testData/setupEvolyAgentProductConfig.js +0 -233
- package/dist/agents/models/testData/updateAgentWorkflowConfiguration.js +0 -230
- package/dist/agents/models/workflowConversation.js +0 -53
- package/dist/agents/tools/setTemplateWorkflowCommunityId.js +0 -46
- package/dist/app.js +0 -943
- package/dist/authorization.cjs +0 -1860
- package/dist/bot_control.js +0 -1930
- package/dist/config/config.cjs +0 -14
- package/dist/config/config.js +0 -14
- package/dist/controllers/allOurIdeas.js +0 -696
- package/dist/controllers/audios.cjs +0 -100
- package/dist/controllers/bulkStatusUpdates.cjs +0 -202
- package/dist/controllers/categories.cjs +0 -199
- package/dist/controllers/communities.cjs +0 -2996
- package/dist/controllers/domains.cjs +0 -1341
- package/dist/controllers/externalIds.cjs +0 -223
- package/dist/controllers/groups.cjs +0 -4309
- package/dist/controllers/images.cjs +0 -499
- package/dist/controllers/index.cjs +0 -449
- package/dist/controllers/legacyPages.cjs +0 -35
- package/dist/controllers/legacyPosts.cjs +0 -56
- package/dist/controllers/legacyUsers.cjs +0 -36
- package/dist/controllers/nonSpa.cjs +0 -574
- package/dist/controllers/organizations.cjs +0 -250
- package/dist/controllers/points.cjs +0 -1137
- package/dist/controllers/posts.cjs +0 -2036
- package/dist/controllers/ratings.cjs +0 -234
- package/dist/controllers/users.cjs +0 -2255
- package/dist/controllers/videos.cjs +0 -226
- package/dist/deleteUnwantedDeclerations.cjs +0 -55
- package/dist/migrations/agentAuditLogs.cjs +0 -46
- package/dist/migrations/agentClasses.cjs +0 -60
- package/dist/migrations/agentConnectorClasses.cjs +0 -61
- package/dist/migrations/agentConnectors.cjs +0 -50
- package/dist/migrations/agentEvals.cjs +0 -45
- package/dist/migrations/agentRegistries.cjs +0 -40
- package/dist/migrations/agents.cjs +0 -54
- package/dist/migrations/aiModels.cjs +0 -49
- package/dist/migrations/apiUsage.cjs +0 -47
- package/dist/migrations/apis.cjs +0 -49
- package/dist/migrations/groupPrivateData.cjs +0 -30
- package/dist/migrations/modelUsage.cjs +0 -60
- package/dist/migrations/oldMigrations/2019/20181030020612-AddActivitiesIndex.js +0 -23
- package/dist/migrations/oldMigrations/2019/20181102210612-AddFirstVideoFeatures.js +0 -360
- package/dist/migrations/oldMigrations/2019/20181212210612-ModerationFeatures.js +0 -29
- package/dist/migrations/oldMigrations/2019/2019010610612-CommunityFolders.js +0 -43
- package/dist/migrations/oldMigrations/2019/20190117020612-AddMissingIndexes.js +0 -24
- package/dist/migrations/oldMigrations/2019/20190117020612-RemoveUnusedIndexes.js +0 -29
- package/dist/migrations/oldMigrations/2019/20190127020612-RemoveUnusedIndexesPartThree.js +0 -22
- package/dist/migrations/oldMigrations/2019/20190127020612-RemoveUnusedIndexesPartTwo.js +0 -23
- package/dist/migrations/oldMigrations/2019/20190223020612-AddPrivateProfileDataToUsers.js +0 -18
- package/dist/migrations/oldMigrations/2019/20190706210612-AddCustomRatings.js +0 -43
- package/dist/migrations/oldMigrations/2019/20190829210612-AddGeneralStore.js +0 -36
- package/dist/migrations/oldMigrations/2019/20192811210612-AddAcClientActivities.js +0 -41
- package/dist/migrations/oldMigrations/2020/20190527020612-WorkOnIndexes.js +0 -88
- package/dist/migrations/oldMigrations/2020/20200409020612-AddBackgroundJob.js +0 -33
- package/dist/migrations/oldMigrations/2020/20200716210612-AddDataToCollections.js +0 -38
- package/dist/migrations/oldMigrations/2022/20220215100612-AddDataToEndorsements.js +0 -19
- package/dist/migrations/oldMigrations/2022/20220220100612-AddDataForFraudDetection.js +0 -19
- package/dist/migrations/oldMigrations/2022/20220903100612-AddPromotionFeatures.js +0 -127
- package/dist/migrations/oldMigrations/2022/onHold/20200527020612-AddCampaigns.js +0 -68
- package/dist/migrations/oldMigrations/2024/20241304175112-AddMediaSupportForHtmlGroups.cjs +0 -63
- package/dist/migrations/oldMigrations/older/20160511172514-AddNotificationFeatures.js +0 -14
- package/dist/migrations/oldMigrations/older/20161030020612-AddBulkStatusUpdate.js +0 -71
- package/dist/migrations/oldMigrations/older/20170514035258-add-metadata-to-invites.js +0 -12
- package/dist/migrations/oldMigrations/older/20180216020612-AddTranslationCaches.js +0 -46
- package/dist/migrations/oldMigrations/older/20180218210612-AddTranslationAndLanguages.js +0 -46
- package/dist/migrations/privateAccessStore.cjs +0 -55
- package/dist/migrations/zzz_associations.cjs +0 -154
- package/dist/migrations/zzzz_createUsersAndAdminsForClasses.cjs +0 -100
- package/dist/migrations/zzzzz_create_agent_runs.cjs +0 -606
- package/dist/migrations/zzzzzz_create_agent_runs_fix.cjs +0 -11
- package/dist/migrations/zzzzzzz_create_trees.cjs +0 -81
- package/dist/models/audio.cjs +0 -430
- package/dist/models/bulk_status_update.cjs +0 -58
- package/dist/models/campaign.cjs +0 -78
- package/dist/models/category.cjs +0 -94
- package/dist/models/community.cjs +0 -337
- package/dist/models/domain.cjs +0 -486
- package/dist/models/endorsement.cjs +0 -39
- package/dist/models/general_data_store.cjs +0 -20
- package/dist/models/group.cjs +0 -728
- package/dist/models/image.cjs +0 -579
- package/dist/models/index.cjs +0 -186
- package/dist/models/invite.cjs +0 -48
- package/dist/models/iso_country.cjs +0 -16
- package/dist/models/organization.cjs +0 -122
- package/dist/models/page.cjs +0 -273
- package/dist/models/point.cjs +0 -622
- package/dist/models/point_quality.cjs +0 -39
- package/dist/models/point_revision.cjs +0 -47
- package/dist/models/post.cjs +0 -680
- package/dist/models/post_revision.cjs +0 -38
- package/dist/models/post_status_change.cjs +0 -35
- package/dist/models/promotion.cjs +0 -34
- package/dist/models/rating.cjs +0 -51
- package/dist/models/relationship.cjs +0 -19
- package/dist/models/request_to_join.cjs +0 -20
- package/dist/models/user.cjs +0 -604
- package/dist/models/user_legacy_password.cjs +0 -13
- package/dist/models/video.cjs +0 -1137
- package/dist/publish.js +0 -40
- package/dist/repack.js +0 -53
- package/dist/scripts/addRatingUsersToGroup.js +0 -51
- package/dist/scripts/addUserToOrganization.js +0 -71
- package/dist/scripts/analyseRatingsForCommunity.js +0 -150
- package/dist/scripts/analyzeAndFixBrokenPointUsers.js +0 -28
- package/dist/scripts/analyzeEndorsementsByCountry.js +0 -70
- package/dist/scripts/analyzePostsForCommunity.js +0 -185
- package/dist/scripts/bulkStatusUpdates/listUpdates.js +0 -14
- package/dist/scripts/bulkStatusUpdates/mergeLatestPostsToUpdate.js +0 -110
- package/dist/scripts/bulkStatusUpdates/performUpdate.js +0 -116
- package/dist/scripts/bulkStatusUpdates/performUpdateForGroup.cjs +0 -124
- package/dist/scripts/bulkStatusUpdates/performUpdateForStatus.js +0 -141
- package/dist/scripts/change/changeVideoAspectTo.js +0 -34
- package/dist/scripts/change/setUseNewVersion.cjs +0 -22
- package/dist/scripts/changeCommunityGroupcount.js +0 -30
- package/dist/scripts/changeCommunityPostCount.js +0 -30
- package/dist/scripts/changeGroupPostCount.js +0 -30
- package/dist/scripts/changeLanguage.js +0 -50
- package/dist/scripts/changeOfficalStatus.js +0 -30
- package/dist/scripts/cleanups/deleteAnonNotifications.cjs +0 -91
- package/dist/scripts/cleanups/deleteLinkGroupsWithDeletedCommunities.js +0 -62
- package/dist/scripts/cleanups/deleteYearOldNotifications.cjs +0 -72
- package/dist/scripts/cleanups/removeAllUsersFromHiddenPublicGroup.js +0 -43
- package/dist/scripts/clearAllEndorsementInGroup.js +0 -50
- package/dist/scripts/cloning/clearUsersForCommunitiesFromUrl.js +0 -129
- package/dist/scripts/cloning/cloneFromUrlScript.js +0 -65
- package/dist/scripts/cloning/cloneWBFromUrlScriptAndCreateLinks.js +0 -140
- package/dist/scripts/cloning/cloneWBFromUrlScriptNoUsersOrPoints.js +0 -140
- package/dist/scripts/cloning/cloneWBSerbianFromUrlScriptAndCreateLinks.js +0 -131
- package/dist/scripts/cloning/copyCommunityConfigAndTranslationsFromURL.js +0 -173
- package/dist/scripts/cloning/copyCommunityOneGroupToDomainNoUsersNoEndorsements.js +0 -18
- package/dist/scripts/cloning/copyCommunityToDomainNoUsersNoEndorsements.js +0 -17
- package/dist/scripts/cloning/copyCommunityToDomainWithEverything.js +0 -17
- package/dist/scripts/cloning/copyCommunityToDomainWithOnlyGroups.js +0 -26
- package/dist/scripts/cloning/copyGroupConfigAndTranslationsFromURL.js +0 -205
- package/dist/scripts/cloning/copyPostToGroupOld.js +0 -397
- package/dist/scripts/cloning/copyPostVideosFromURL.js +0 -236
- package/dist/scripts/cloning/copyPostWithOutAnyVotingOrActivities.js +0 -17
- package/dist/scripts/cloning/deepCloneSerbianWBFromUrlScriptAndCreateLinks.js +0 -131
- package/dist/scripts/cloning/deepCloneWBFromUrlScriptAndCreateLinks.js +0 -139
- package/dist/scripts/cloning/setAdminsFromURL.js +0 -161
- package/dist/scripts/cloning/setExternalIdsFromURL.js +0 -129
- package/dist/scripts/countCommunity.js +0 -291
- package/dist/scripts/countCommunityUsers.js +0 -152
- package/dist/scripts/countDelayedNotifications.js +0 -18
- package/dist/scripts/countGroup.js +0 -246
- package/dist/scripts/countStuff.js +0 -67
- package/dist/scripts/countUniqueVotersInAGroup.js +0 -48
- package/dist/scripts/createInvitesAndShow.js +0 -75
- package/dist/scripts/database/sync_database.js +0 -14
- package/dist/scripts/database/sync_dev_database.js +0 -17
- package/dist/scripts/debugNotifications.js +0 -58
- package/dist/scripts/deleteAllNewsFeeds.js +0 -10
- package/dist/scripts/deleteCategory.js +0 -13
- package/dist/scripts/deleteOldAppActivities.js +0 -40
- package/dist/scripts/deletePostContactDataForCommunity.js +0 -53
- package/dist/scripts/destroy/destroy_all_but_one_domain.js +0 -1026
- package/dist/scripts/displayAuthorForPost.js +0 -16
- package/dist/scripts/endorsementFraudDetection/analyseEndorsementsForCommunity.js +0 -183
- package/dist/scripts/endorsementFraudDetection/bulkDeleteDuplicateEndorsmentsFromUrl.js +0 -208
- package/dist/scripts/exportAllStatusChanges.js +0 -36
- package/dist/scripts/exportClientAcitivity.js +0 -36
- package/dist/scripts/exportEndorsementsForCommunity.js +0 -79
- package/dist/scripts/exportPointQualitiesForCommunity.js +0 -84
- package/dist/scripts/exportPostsAndPointsForCommunity.js +0 -147
- package/dist/scripts/exportPostsDataSetForDomain.js +0 -244
- package/dist/scripts/exportPostsForGroup.js +0 -173
- package/dist/scripts/exportRatingsForPost.js +0 -15
- package/dist/scripts/exportUserEndorsementsWithUserAnalysis.js +0 -123
- package/dist/scripts/exportUsersForCommunity.js +0 -24
- package/dist/scripts/exportUsersForDomain.js +0 -24
- package/dist/scripts/exportUsersForGroup.js +0 -24
- package/dist/scripts/exports/ratingDistribution.js +0 -71
- package/dist/scripts/exports/whoEndorsedWhatByCommunity.js +0 -56
- package/dist/scripts/findUnusedClientImports.js +0 -56
- package/dist/scripts/fixAllPostPointCounts.js +0 -22
- package/dist/scripts/fixAnonNotificationsSettings.js +0 -48
- package/dist/scripts/fixCountKopavogur.js +0 -9
- package/dist/scripts/fixEndorsementsAfterCopyPostToGroup.js +0 -190
- package/dist/scripts/fixExternalUserId.js +0 -24
- package/dist/scripts/fixGroupAccess.js +0 -16
- package/dist/scripts/fixGroupIdeasAndPointsCount.js +0 -49
- package/dist/scripts/fixNotificationSettings.js +0 -39
- package/dist/scripts/fixSurveyRadioBakedInSubCodes.js +0 -64
- package/dist/scripts/fixWrongUserIdForStatusUpdates.js +0 -49
- package/dist/scripts/gallery/exportGalleryData.js +0 -40
- package/dist/scripts/gallery/importGalleryForCommunity.js +0 -168
- package/dist/scripts/gallery/readJsonAndDownloadImagesVersion2.js +0 -55
- package/dist/scripts/gallery/refreshAcApiPostIdsForCommunity.js +0 -58
- package/dist/scripts/genderAnalysis.js +0 -63
- package/dist/scripts/genderAnalysisByStatus.js +0 -62
- package/dist/scripts/importAllLocalesFromLocalFolders.js +0 -55
- package/dist/scripts/importDomain.js +0 -1652
- package/dist/scripts/keys/addOidcToDomain.cjs +0 -61
- package/dist/scripts/landUseGame/export3Ddata.js +0 -162
- package/dist/scripts/listLanguagesForGroup.js +0 -54
- package/dist/scripts/loadTestCreateDummyContentForGroup.js +0 -27
- package/dist/scripts/makeRecursiveMapData.js +0 -103
- package/dist/scripts/mapping/community_map_csv.js +0 -145
- package/dist/scripts/moveCommunityToDomain.js +0 -22
- package/dist/scripts/moveGroupToCommunity.js +0 -23
- package/dist/scripts/movePostToGroup.js +0 -101
- package/dist/scripts/movePostsToGroupsRecountGroupFromUrl.js +0 -297
- package/dist/scripts/oldMovePostToGroup.js +0 -153
- package/dist/scripts/processCsvForPdfUrls.js +0 -37
- package/dist/scripts/processCsvForTranslationAndToxicity.js +0 -125
- package/dist/scripts/recount/recount_recursive_communities.js +0 -125
- package/dist/scripts/recountALLCommunityGroupCounts.js +0 -37
- package/dist/scripts/recountAll.js +0 -97
- package/dist/scripts/recountCommunitesFromUrl.js +0 -58
- package/dist/scripts/recountCommunity.js +0 -19
- package/dist/scripts/recountGroup.js +0 -218
- package/dist/scripts/recountGroupNoUserChange.js +0 -219
- package/dist/scripts/resetAllEndorsementsForGroup.js +0 -57
- package/dist/scripts/resetEnTranslationForGroup.js +0 -45
- package/dist/scripts/setAdminOnAll.cjs +0 -107
- package/dist/scripts/setDomainAdmin.cjs +0 -43
- package/dist/scripts/setDomainLocales.js +0 -33
- package/dist/scripts/setEarlQuestionIdOnGroup.cjs +0 -29
- package/dist/scripts/setLanguageOnGroupCommunitesFromUrl.js +0 -86
- package/dist/scripts/setMemberOfAll.js +0 -101
- package/dist/scripts/setNewUserForContentOfCommunity.js +0 -189
- package/dist/scripts/setOfficialStatusOnAllPostsForCommunity.js +0 -35
- package/dist/scripts/setUserOnAll.js +0 -101
- package/dist/scripts/showCategoryForGroup.js +0 -18
- package/dist/scripts/showOldActivityTypes.js +0 -14
- package/dist/scripts/showPostsMissingCategoryForGroup.js +0 -17
- package/dist/scripts/showStatuses.js +0 -17
- package/dist/scripts/showUniqueVotersInCommunity.js +0 -61
- package/dist/scripts/showUserAgentsAndIpsForEmails.js +0 -66
- package/dist/scripts/simpleExportForGroupsForCommunity.js +0 -46
- package/dist/scripts/simpleExportForPointsForCommunity.js +0 -82
- package/dist/scripts/simpleExportForPostsForCommunity.js +0 -61
- package/dist/scripts/testForEndorsments.js +0 -21
- package/dist/scripts/undeleteGroupAndAllContent.js +0 -151
- package/dist/scripts/undeletePost.js +0 -135
- package/dist/scripts/unlinkSsn.js +0 -23
- package/dist/scripts/updateFromAlthingi.js +0 -303
- package/dist/server.js +0 -3
- package/dist/utils/airbrake.cjs +0 -17
- package/dist/utils/cjsCodeReview.js +0 -99
- package/dist/utils/community_mapping_tools.cjs +0 -124
- package/dist/utils/copy_utils.cjs +0 -1399
- package/dist/utils/docx_utils.cjs +0 -464
- package/dist/utils/export_utils.cjs +0 -491
- package/dist/utils/i18n.cjs +0 -17
- package/dist/utils/is_valid_db_id.cjs +0 -28
- package/dist/utils/logger.cjs +0 -25
- package/dist/utils/loggerTs.js +0 -26
- package/dist/utils/manifest_generator.cjs +0 -104
- package/dist/utils/parse_domain.cjs +0 -16
- package/dist/utils/recount_utils.cjs +0 -415
- package/dist/utils/sharing_parameters.cjs +0 -111
- package/dist/utils/sitemap_generator.cjs +0 -286
- package/dist/utils/to_json.cjs +0 -14
- package/dist/utils/ypLanguages.js +0 -747
- package/dist/webSockets.js +0 -77
|
@@ -1,1026 +0,0 @@
|
|
|
1
|
-
const models = require('../../models/index.cjs');
|
|
2
|
-
const _ = require('lodash');
|
|
3
|
-
const https = require("https");
|
|
4
|
-
const fs = require("fs");
|
|
5
|
-
const moment = require("moment");
|
|
6
|
-
const domainIdToKeep = 1338; //process.argv[2];
|
|
7
|
-
const minioDataPath = "/home/robert/Scratch/minio_data"; //process.argv[2];
|
|
8
|
-
const minioBaseUrlPath = "https://www.junges.wien";
|
|
9
|
-
let communityIdsToKeep = [];
|
|
10
|
-
let groupIdsToKeep = [];
|
|
11
|
-
let categoryIdsToKeep = [];
|
|
12
|
-
let pageIdsToKeep = [];
|
|
13
|
-
let postIdsToKeep = [];
|
|
14
|
-
let endorsementIdsToKeep = [];
|
|
15
|
-
let pointIdsToKeep = [];
|
|
16
|
-
let pointRevisionIdsToKeep = [];
|
|
17
|
-
let qualityIdsToKeep = [];
|
|
18
|
-
let imageIdsToKeep = [];
|
|
19
|
-
let videoIdsToKeep = [];
|
|
20
|
-
let audioIdsToKeep = [];
|
|
21
|
-
let activityIdsToKeep = [];
|
|
22
|
-
let userIdsToKeep = [];
|
|
23
|
-
const addUsers = (users) => {
|
|
24
|
-
const userIds = users.map(u => u.id);
|
|
25
|
-
userIdsToKeep = userIdsToKeep.concat(userIds);
|
|
26
|
-
userIdsToKeep = _.uniq(userIdsToKeep);
|
|
27
|
-
//console.log(userIdsToKeep.length);
|
|
28
|
-
};
|
|
29
|
-
const addUsersIds = (userIds) => {
|
|
30
|
-
if (userIds.indexOf(56884) > -1) {
|
|
31
|
-
console.log("adding 56884");
|
|
32
|
-
}
|
|
33
|
-
userIdsToKeep = userIdsToKeep.concat(userIds);
|
|
34
|
-
userIdsToKeep = _.uniq(userIdsToKeep);
|
|
35
|
-
//console.log(userIdsToKeep.length);
|
|
36
|
-
};
|
|
37
|
-
const addImages = (images) => {
|
|
38
|
-
const imageIds = images.map(i => i.id);
|
|
39
|
-
imageIdsToKeep = imageIdsToKeep.concat(imageIds);
|
|
40
|
-
imageIdsToKeep = _.uniq(imageIdsToKeep);
|
|
41
|
-
};
|
|
42
|
-
const addVideos = (videos) => {
|
|
43
|
-
const videosIds = videos.map(v => v.id);
|
|
44
|
-
videoIdsToKeep = videoIdsToKeep.concat(videosIds);
|
|
45
|
-
videoIdsToKeep = _.uniq(videoIdsToKeep);
|
|
46
|
-
};
|
|
47
|
-
const addAudios = (audios) => {
|
|
48
|
-
const audiosIds = audios.map(a => a.id);
|
|
49
|
-
audioIdsToKeep = audioIdsToKeep.concat(audiosIds);
|
|
50
|
-
audioIdsToKeep = _.uniq(audioIdsToKeep);
|
|
51
|
-
};
|
|
52
|
-
async function getDomain() {
|
|
53
|
-
return await new Promise(async (resolve, reject) => {
|
|
54
|
-
const domain = await models.Domain.findOne({
|
|
55
|
-
where: {
|
|
56
|
-
id: domainIdToKeep
|
|
57
|
-
},
|
|
58
|
-
attributes: ['id'],
|
|
59
|
-
include: [
|
|
60
|
-
{
|
|
61
|
-
model: models.User,
|
|
62
|
-
as: 'DomainUsers',
|
|
63
|
-
attributes: ['id'],
|
|
64
|
-
required: false
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
model: models.User,
|
|
68
|
-
as: 'DomainAdmins',
|
|
69
|
-
attributes: ['id'],
|
|
70
|
-
required: false
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
model: models.Image,
|
|
74
|
-
as: 'DomainLogoImages',
|
|
75
|
-
attributes: ['id'],
|
|
76
|
-
required: false
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
model: models.Image,
|
|
80
|
-
as: 'DomainHeaderImages',
|
|
81
|
-
attributes: ['id'],
|
|
82
|
-
required: false
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
model: models.Video,
|
|
86
|
-
as: 'DomainLogoVideos',
|
|
87
|
-
attributes: ['id'],
|
|
88
|
-
required: false
|
|
89
|
-
},
|
|
90
|
-
]
|
|
91
|
-
});
|
|
92
|
-
resolve(domain);
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
async function getCommunities() {
|
|
96
|
-
return await new Promise(async (resolve, reject) => {
|
|
97
|
-
const communities = await models.Community.findAll({
|
|
98
|
-
where: {
|
|
99
|
-
domain_id: domainIdToKeep
|
|
100
|
-
},
|
|
101
|
-
attributes: ['id', 'user_id'],
|
|
102
|
-
include: [
|
|
103
|
-
{
|
|
104
|
-
model: models.User,
|
|
105
|
-
as: 'CommunityUsers',
|
|
106
|
-
attributes: ['id'],
|
|
107
|
-
required: false
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
model: models.User,
|
|
111
|
-
as: 'CommunityAdmins',
|
|
112
|
-
attributes: ['id'],
|
|
113
|
-
required: false
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
model: models.Image,
|
|
117
|
-
as: 'CommunityLogoImages',
|
|
118
|
-
attributes: ['id'],
|
|
119
|
-
required: false
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
model: models.Image,
|
|
123
|
-
as: 'CommunityHeaderImages',
|
|
124
|
-
attributes: ['id'],
|
|
125
|
-
required: false
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
model: models.Video,
|
|
129
|
-
as: 'CommunityLogoVideos',
|
|
130
|
-
attributes: ['id'],
|
|
131
|
-
required: false
|
|
132
|
-
},
|
|
133
|
-
]
|
|
134
|
-
});
|
|
135
|
-
resolve(communities);
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
async function getGroups() {
|
|
139
|
-
return await new Promise(async (resolve, reject) => {
|
|
140
|
-
const groups = await models.Group.findAll({
|
|
141
|
-
where: {
|
|
142
|
-
community_id: {
|
|
143
|
-
$in: communityIdsToKeep
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
attributes: ['id'],
|
|
147
|
-
include: [
|
|
148
|
-
{
|
|
149
|
-
model: models.User,
|
|
150
|
-
as: 'GroupUsers',
|
|
151
|
-
attributes: ['id'],
|
|
152
|
-
required: false
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
model: models.User,
|
|
156
|
-
as: 'GroupAdmins',
|
|
157
|
-
attributes: ['id'],
|
|
158
|
-
required: false
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
model: models.Image,
|
|
162
|
-
as: 'GroupLogoImages',
|
|
163
|
-
attributes: ['id'],
|
|
164
|
-
required: false
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
model: models.Image,
|
|
168
|
-
as: 'GroupHeaderImages',
|
|
169
|
-
attributes: ['id'],
|
|
170
|
-
required: false
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
model: models.Video,
|
|
174
|
-
as: 'GroupLogoVideos',
|
|
175
|
-
attributes: ['id'],
|
|
176
|
-
required: false
|
|
177
|
-
}
|
|
178
|
-
]
|
|
179
|
-
});
|
|
180
|
-
resolve(groups);
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
async function getPosts() {
|
|
184
|
-
return await new Promise(async (resolve, reject) => {
|
|
185
|
-
const posts = await models.Post.unscoped().findAll({
|
|
186
|
-
where: {
|
|
187
|
-
group_id: {
|
|
188
|
-
$in: groupIdsToKeep
|
|
189
|
-
}
|
|
190
|
-
},
|
|
191
|
-
attributes: ['id', 'user_id'],
|
|
192
|
-
include: [
|
|
193
|
-
{
|
|
194
|
-
model: models.Image,
|
|
195
|
-
as: 'PostImages',
|
|
196
|
-
attributes: ['id'],
|
|
197
|
-
required: false
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
model: models.Image,
|
|
201
|
-
as: 'PostHeaderImages',
|
|
202
|
-
attributes: ['id'],
|
|
203
|
-
required: false
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
model: models.Image,
|
|
207
|
-
as: 'PostImages',
|
|
208
|
-
attributes: ['id'],
|
|
209
|
-
required: false
|
|
210
|
-
},
|
|
211
|
-
{
|
|
212
|
-
model: models.Video,
|
|
213
|
-
as: 'PostVideos',
|
|
214
|
-
attributes: ['id'],
|
|
215
|
-
required: false
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
model: models.Audio,
|
|
219
|
-
as: 'PostAudios',
|
|
220
|
-
attributes: ['id'],
|
|
221
|
-
required: false
|
|
222
|
-
}
|
|
223
|
-
]
|
|
224
|
-
});
|
|
225
|
-
resolve(posts);
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
async function getEndorsements() {
|
|
229
|
-
return await new Promise(async (resolve, reject) => {
|
|
230
|
-
const endorsement = await models.Endorsement.unscoped().findAll({
|
|
231
|
-
where: {
|
|
232
|
-
post_id: {
|
|
233
|
-
$in: postIdsToKeep
|
|
234
|
-
}
|
|
235
|
-
},
|
|
236
|
-
attributes: ['id', 'user_id']
|
|
237
|
-
});
|
|
238
|
-
resolve(endorsement);
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
async function getQualities() {
|
|
242
|
-
return await new Promise(async (resolve, reject) => {
|
|
243
|
-
const qualities = await models.PointQuality.findAll({
|
|
244
|
-
where: {
|
|
245
|
-
point_id: {
|
|
246
|
-
$in: pointIdsToKeep
|
|
247
|
-
}
|
|
248
|
-
},
|
|
249
|
-
attributes: ['id', 'user_id']
|
|
250
|
-
});
|
|
251
|
-
resolve(qualities);
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
async function getPointRevisions() {
|
|
255
|
-
return await new Promise(async (resolve, reject) => {
|
|
256
|
-
const revisions = await models.PointRevision.findAll({
|
|
257
|
-
where: {
|
|
258
|
-
point_id: {
|
|
259
|
-
$in: pointIdsToKeep
|
|
260
|
-
}
|
|
261
|
-
},
|
|
262
|
-
attributes: ['id', 'user_id']
|
|
263
|
-
});
|
|
264
|
-
resolve(revisions);
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
async function getCategories() {
|
|
268
|
-
return await new Promise(async (resolve, reject) => {
|
|
269
|
-
const categories = await models.Category.findAll({
|
|
270
|
-
where: {
|
|
271
|
-
group_id: {
|
|
272
|
-
$in: groupIdsToKeep
|
|
273
|
-
}
|
|
274
|
-
},
|
|
275
|
-
attributes: ['id']
|
|
276
|
-
});
|
|
277
|
-
resolve(categories);
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
async function getPages() {
|
|
281
|
-
return await new Promise(async (resolve, reject) => {
|
|
282
|
-
const pages = await models.Page.findAll({
|
|
283
|
-
where: {
|
|
284
|
-
group_id: {
|
|
285
|
-
$in: groupIdsToKeep
|
|
286
|
-
}
|
|
287
|
-
},
|
|
288
|
-
attributes: ['id']
|
|
289
|
-
});
|
|
290
|
-
resolve(pages);
|
|
291
|
-
});
|
|
292
|
-
}
|
|
293
|
-
async function getPoints() {
|
|
294
|
-
return await new Promise(async (resolve, reject) => {
|
|
295
|
-
const points = await models.Point.unscoped().findAll({
|
|
296
|
-
where: {
|
|
297
|
-
post_id: {
|
|
298
|
-
$in: postIdsToKeep
|
|
299
|
-
}
|
|
300
|
-
},
|
|
301
|
-
attributes: ['id', 'user_id'],
|
|
302
|
-
include: [
|
|
303
|
-
{
|
|
304
|
-
model: models.Video,
|
|
305
|
-
as: 'PointVideos',
|
|
306
|
-
attributes: ['id'],
|
|
307
|
-
required: false
|
|
308
|
-
},
|
|
309
|
-
{
|
|
310
|
-
model: models.Audio,
|
|
311
|
-
as: 'PointAudios',
|
|
312
|
-
attributes: ['id'],
|
|
313
|
-
required: false
|
|
314
|
-
}
|
|
315
|
-
]
|
|
316
|
-
});
|
|
317
|
-
resolve(points);
|
|
318
|
-
});
|
|
319
|
-
}
|
|
320
|
-
async function getUsers() {
|
|
321
|
-
return await new Promise(async (resolve, reject) => {
|
|
322
|
-
const users = await models.User.unscoped().findAll({
|
|
323
|
-
where: {
|
|
324
|
-
id: {
|
|
325
|
-
$in: userIdsToKeep
|
|
326
|
-
}
|
|
327
|
-
},
|
|
328
|
-
attributes: ['id'],
|
|
329
|
-
include: [
|
|
330
|
-
{
|
|
331
|
-
model: models.Image,
|
|
332
|
-
as: 'UserHeaderImages',
|
|
333
|
-
attributes: ['id'],
|
|
334
|
-
required: false
|
|
335
|
-
},
|
|
336
|
-
{
|
|
337
|
-
model: models.Image,
|
|
338
|
-
as: 'UserProfileImages',
|
|
339
|
-
attributes: ['id'],
|
|
340
|
-
required: false
|
|
341
|
-
}
|
|
342
|
-
]
|
|
343
|
-
});
|
|
344
|
-
resolve(users);
|
|
345
|
-
});
|
|
346
|
-
}
|
|
347
|
-
async function getVideos() {
|
|
348
|
-
return await new Promise(async (resolve, reject) => {
|
|
349
|
-
const videos = await models.Video.unscoped().findAll({
|
|
350
|
-
where: {
|
|
351
|
-
id: {
|
|
352
|
-
$in: videoIdsToKeep
|
|
353
|
-
}
|
|
354
|
-
},
|
|
355
|
-
attributes: ['id'],
|
|
356
|
-
include: [
|
|
357
|
-
{
|
|
358
|
-
model: models.Image,
|
|
359
|
-
as: 'VideoImages',
|
|
360
|
-
attributes: ['id'],
|
|
361
|
-
required: false
|
|
362
|
-
}
|
|
363
|
-
]
|
|
364
|
-
});
|
|
365
|
-
resolve(videos);
|
|
366
|
-
});
|
|
367
|
-
}
|
|
368
|
-
async function getActivities() {
|
|
369
|
-
return await new Promise(async (resolve, reject) => {
|
|
370
|
-
const activities = await models.AcActivity.findAll({
|
|
371
|
-
where: {
|
|
372
|
-
$or: [
|
|
373
|
-
{
|
|
374
|
-
community_id: {
|
|
375
|
-
$in: communityIdsToKeep
|
|
376
|
-
}
|
|
377
|
-
},
|
|
378
|
-
{
|
|
379
|
-
group_id: {
|
|
380
|
-
$in: groupIdsToKeep
|
|
381
|
-
}
|
|
382
|
-
},
|
|
383
|
-
{
|
|
384
|
-
domain_id: domainIdToKeep,
|
|
385
|
-
},
|
|
386
|
-
{
|
|
387
|
-
post_id: {
|
|
388
|
-
$in: postIdsToKeep
|
|
389
|
-
}
|
|
390
|
-
},
|
|
391
|
-
{
|
|
392
|
-
point_id: {
|
|
393
|
-
$in: pointIdsToKeep
|
|
394
|
-
}
|
|
395
|
-
},
|
|
396
|
-
{
|
|
397
|
-
user_id: {
|
|
398
|
-
$in: pointIdsToKeep
|
|
399
|
-
}
|
|
400
|
-
},
|
|
401
|
-
]
|
|
402
|
-
},
|
|
403
|
-
attributes: ['id', 'user_id', 'domain_id', 'community_id', 'group_id', 'post_id', 'point_id'],
|
|
404
|
-
});
|
|
405
|
-
resolve(activities);
|
|
406
|
-
});
|
|
407
|
-
}
|
|
408
|
-
async function setupIdsToKeep() {
|
|
409
|
-
return await new Promise(async (resolve, reject) => {
|
|
410
|
-
try {
|
|
411
|
-
console.log("Setup domain");
|
|
412
|
-
const domain = await getDomain();
|
|
413
|
-
addUsers(domain.DomainUsers);
|
|
414
|
-
addUsers(domain.DomainAdmins);
|
|
415
|
-
addImages(domain.DomainLogoImages);
|
|
416
|
-
addImages(domain.DomainHeaderImages);
|
|
417
|
-
addVideos(domain.DomainLogoVideos);
|
|
418
|
-
console.log("Setup community");
|
|
419
|
-
const communities = await getCommunities();
|
|
420
|
-
communityIdsToKeep = communities.map(c => c.id);
|
|
421
|
-
for (let i = 0; i < communities.length; i++) {
|
|
422
|
-
//addUsersIds([communities[i].user_id]);
|
|
423
|
-
addUsers(communities[i].CommunityUsers);
|
|
424
|
-
addUsers(communities[i].CommunityAdmins);
|
|
425
|
-
addImages(communities[i].CommunityLogoImages);
|
|
426
|
-
addImages(communities[i].CommunityHeaderImages);
|
|
427
|
-
addVideos(communities[i].CommunityLogoVideos);
|
|
428
|
-
}
|
|
429
|
-
console.log("Setup group");
|
|
430
|
-
const groups = await getGroups();
|
|
431
|
-
groupIdsToKeep = groups.map(c => c.id);
|
|
432
|
-
for (let i = 0; i < groups.length; i++) {
|
|
433
|
-
//addUsersIds([groups[i].user_id]);
|
|
434
|
-
addUsers(groups[i].GroupUsers);
|
|
435
|
-
addUsers(groups[i].GroupAdmins);
|
|
436
|
-
addImages(groups[i].GroupLogoImages);
|
|
437
|
-
addImages(groups[i].GroupHeaderImages);
|
|
438
|
-
addVideos(groups[i].GroupLogoVideos);
|
|
439
|
-
}
|
|
440
|
-
const categories = await getCategories();
|
|
441
|
-
categoryIdsToKeep = categories.map(c => c.id);
|
|
442
|
-
const pages = await getPages();
|
|
443
|
-
pageIdsToKeep = pages.map(p => p.id);
|
|
444
|
-
console.log("Setup posts");
|
|
445
|
-
const posts = await getPosts();
|
|
446
|
-
postIdsToKeep = posts.map(p => p.id);
|
|
447
|
-
for (let i = 0; i < posts.length; i++) {
|
|
448
|
-
if (posts[i].user_id == null) {
|
|
449
|
-
console.error(`User id null for ${posts[i].id}`);
|
|
450
|
-
}
|
|
451
|
-
else {
|
|
452
|
-
addUsersIds([posts[i].user_id]);
|
|
453
|
-
addImages(posts[i].PostImages);
|
|
454
|
-
addImages(posts[i].PostHeaderImages);
|
|
455
|
-
addVideos(posts[i].PostVideos);
|
|
456
|
-
addAudios(posts[i].PostAudios);
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
console.log("Setup points");
|
|
460
|
-
const points = await getPoints();
|
|
461
|
-
pointIdsToKeep = points.map(p => p.id);
|
|
462
|
-
for (let i = 0; i < points.length; i++) {
|
|
463
|
-
addUsersIds([points[i].user_id]);
|
|
464
|
-
addVideos(points[i].PointVideos);
|
|
465
|
-
addAudios(points[i].PointAudios);
|
|
466
|
-
}
|
|
467
|
-
const endorsements = await getEndorsements();
|
|
468
|
-
endorsementIdsToKeep = endorsements.map(p => p.id);
|
|
469
|
-
for (let i = 0; i < endorsements.length; i++) {
|
|
470
|
-
addUsersIds([endorsements[i].user_id]);
|
|
471
|
-
}
|
|
472
|
-
const qualities = await getQualities();
|
|
473
|
-
qualityIdsToKeep = qualities.map(p => p.id);
|
|
474
|
-
for (let i = 0; i < qualities.length; i++) {
|
|
475
|
-
addUsersIds([qualities[i].user_id]);
|
|
476
|
-
}
|
|
477
|
-
const pointRevisions = await getPointRevisions();
|
|
478
|
-
pointRevisionIdsToKeep = pointRevisions.map(p => p.id);
|
|
479
|
-
console.log("Setup activities");
|
|
480
|
-
const activities = await getActivities();
|
|
481
|
-
activityIdsToKeep = activities.map(a => a.id);
|
|
482
|
-
for (let i = 0; i < activities.length; i++) {
|
|
483
|
-
if (activities[i].user_id)
|
|
484
|
-
addUsersIds([activities[i].user_id]);
|
|
485
|
-
else
|
|
486
|
-
console.warn(`No user_id for activity ${activities[i].id}`);
|
|
487
|
-
}
|
|
488
|
-
const users = await getUsers();
|
|
489
|
-
for (let i = 0; i < users.length; i++) {
|
|
490
|
-
addImages(users[i].UserProfileImages);
|
|
491
|
-
addImages(users[i].UserHeaderImages);
|
|
492
|
-
}
|
|
493
|
-
const videos = await getVideos();
|
|
494
|
-
for (let i = 0; i < videos.length; i++) {
|
|
495
|
-
addVideos(videos[i].VideoImages);
|
|
496
|
-
}
|
|
497
|
-
resolve();
|
|
498
|
-
}
|
|
499
|
-
catch (error) {
|
|
500
|
-
reject(error);
|
|
501
|
-
}
|
|
502
|
-
});
|
|
503
|
-
}
|
|
504
|
-
async function deleteVideos() {
|
|
505
|
-
return await new Promise(async (resolve, reject) => {
|
|
506
|
-
console.log("Destroying videos images");
|
|
507
|
-
const videos = await models.Video.unscoped().findAll({
|
|
508
|
-
attributes: ['id'],
|
|
509
|
-
where: {
|
|
510
|
-
id: {
|
|
511
|
-
[models.Sequelize.Op.notIn]: videoIdsToKeep
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
|
-
});
|
|
515
|
-
for (let i = 0; i < videos.length; i++) {
|
|
516
|
-
await videos[i].setVideoImages([]);
|
|
517
|
-
}
|
|
518
|
-
console.log("Destroying videos");
|
|
519
|
-
await models.Video.unscoped().destroy({ where: {
|
|
520
|
-
id: {
|
|
521
|
-
[models.Sequelize.Op.notIn]: videoIdsToKeep
|
|
522
|
-
}
|
|
523
|
-
} });
|
|
524
|
-
resolve();
|
|
525
|
-
});
|
|
526
|
-
}
|
|
527
|
-
async function deletePointAssociations() {
|
|
528
|
-
return await new Promise(async (resolve, reject) => {
|
|
529
|
-
console.log("Destroying PointAssociations ");
|
|
530
|
-
const points = await models.Point.unscoped().findAll({
|
|
531
|
-
attributes: ['id'],
|
|
532
|
-
where: {
|
|
533
|
-
id: {
|
|
534
|
-
[models.Sequelize.Op.notIn]: pointIdsToKeep
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
});
|
|
538
|
-
for (let i = 0; i < points.length; i++) {
|
|
539
|
-
await points[i].setPointVideos([]);
|
|
540
|
-
await points[i].setPointAudios([]);
|
|
541
|
-
}
|
|
542
|
-
resolve();
|
|
543
|
-
});
|
|
544
|
-
}
|
|
545
|
-
async function deletePostAssociations() {
|
|
546
|
-
return await new Promise(async (resolve, reject) => {
|
|
547
|
-
console.log("Destroying PostAssociations ");
|
|
548
|
-
const posts = await models.Post.unscoped().findAll({
|
|
549
|
-
attributes: ['id'],
|
|
550
|
-
where: {
|
|
551
|
-
id: {
|
|
552
|
-
[models.Sequelize.Op.notIn]: postIdsToKeep
|
|
553
|
-
}
|
|
554
|
-
}
|
|
555
|
-
});
|
|
556
|
-
for (let i = 0; i < posts.length; i++) {
|
|
557
|
-
await posts[i].setPostVideos([]);
|
|
558
|
-
await posts[i].setPostAudios([]);
|
|
559
|
-
await posts[i].setPostImages([]);
|
|
560
|
-
await posts[i].setPostHeaderImages([]);
|
|
561
|
-
}
|
|
562
|
-
resolve();
|
|
563
|
-
});
|
|
564
|
-
}
|
|
565
|
-
async function deleteUserAssociations() {
|
|
566
|
-
return await new Promise(async (resolve, reject) => {
|
|
567
|
-
console.log("Destroying UserAssociations ");
|
|
568
|
-
const users = await models.User.unscoped().findAll({
|
|
569
|
-
attributes: ['id'],
|
|
570
|
-
where: {
|
|
571
|
-
id: {
|
|
572
|
-
[models.Sequelize.Op.notIn]: userIdsToKeep
|
|
573
|
-
}
|
|
574
|
-
}
|
|
575
|
-
});
|
|
576
|
-
for (let i = 0; i < users.length; i++) {
|
|
577
|
-
await users[i].setUserProfileImages([]);
|
|
578
|
-
await users[i].setUserHeaderImages([]);
|
|
579
|
-
await users[i].setGroupUsers([]);
|
|
580
|
-
await users[i].setCommunityUsers([]);
|
|
581
|
-
await users[i].setDomainUsers([]);
|
|
582
|
-
await users[i].setDomainAdmins([]);
|
|
583
|
-
await users[i].setCommunityAdmins([]);
|
|
584
|
-
await users[i].setGroupAdmins([]);
|
|
585
|
-
await users[i].setOrganizationAdmins([]);
|
|
586
|
-
}
|
|
587
|
-
resolve();
|
|
588
|
-
});
|
|
589
|
-
}
|
|
590
|
-
async function deleteGroupAssociations() {
|
|
591
|
-
return await new Promise(async (resolve, reject) => {
|
|
592
|
-
console.log("Destroying GroupAssociations ");
|
|
593
|
-
const groups = await models.Group.unscoped().findAll({
|
|
594
|
-
attributes: ['id'],
|
|
595
|
-
where: {
|
|
596
|
-
id: {
|
|
597
|
-
[models.Sequelize.Op.notIn]: groupIdsToKeep
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
});
|
|
601
|
-
for (let i = 0; i < groups.length; i++) {
|
|
602
|
-
await groups[i].setGroupLogoVideos([]);
|
|
603
|
-
await groups[i].setGroupLogoImages([]);
|
|
604
|
-
await groups[i].setGroupHeaderImages([]);
|
|
605
|
-
await groups[i].setGroupUsers([]);
|
|
606
|
-
await groups[i].setGroupAdmins([]);
|
|
607
|
-
}
|
|
608
|
-
resolve();
|
|
609
|
-
});
|
|
610
|
-
}
|
|
611
|
-
async function deleteCommunityAssociations() {
|
|
612
|
-
return await new Promise(async (resolve, reject) => {
|
|
613
|
-
console.log("Destroying CommunityAssociations ");
|
|
614
|
-
const communities = await models.Community.unscoped().findAll({
|
|
615
|
-
attributes: ['id'],
|
|
616
|
-
where: {
|
|
617
|
-
id: {
|
|
618
|
-
[models.Sequelize.Op.notIn]: communityIdsToKeep
|
|
619
|
-
}
|
|
620
|
-
}
|
|
621
|
-
});
|
|
622
|
-
for (let i = 0; i < communities.length; i++) {
|
|
623
|
-
await communities[i].setCommunityLogoVideos([]);
|
|
624
|
-
await communities[i].setCommunityLogoImages([]);
|
|
625
|
-
await communities[i].setCommunityHeaderImages([]);
|
|
626
|
-
await communities[i].setCommunityUsers([]);
|
|
627
|
-
await communities[i].setCommunityAdmins([]);
|
|
628
|
-
}
|
|
629
|
-
resolve();
|
|
630
|
-
});
|
|
631
|
-
}
|
|
632
|
-
async function deleteDomainAssociations() {
|
|
633
|
-
return await new Promise(async (resolve, reject) => {
|
|
634
|
-
console.log("Destroying DomainAssociations ");
|
|
635
|
-
const domains = await models.Domain.unscoped().findAll({
|
|
636
|
-
attributes: ['id'],
|
|
637
|
-
where: {
|
|
638
|
-
id: {
|
|
639
|
-
[models.Sequelize.Op.notIn]: [domainIdToKeep]
|
|
640
|
-
}
|
|
641
|
-
}
|
|
642
|
-
});
|
|
643
|
-
for (let i = 0; i < domains.length; i++) {
|
|
644
|
-
await domains[i].setDomainLogoVideos([]);
|
|
645
|
-
await domains[i].setDomainLogoImages([]);
|
|
646
|
-
await domains[i].setDomainHeaderImages([]);
|
|
647
|
-
await domains[i].setDomainUsers([]);
|
|
648
|
-
await domains[i].setDomainAdmins([]);
|
|
649
|
-
}
|
|
650
|
-
resolve();
|
|
651
|
-
});
|
|
652
|
-
}
|
|
653
|
-
async function deleteActivityAssociations() {
|
|
654
|
-
return await new Promise(async (resolve, reject) => {
|
|
655
|
-
console.log("Destroying ActivitiesAssociations ");
|
|
656
|
-
const activities = await models.AcActivity.unscoped().findAll({
|
|
657
|
-
attributes: ['id']
|
|
658
|
-
});
|
|
659
|
-
for (let i = activities.length - 1; i > 1000000; i--) {
|
|
660
|
-
await activities[i].setUsers([]);
|
|
661
|
-
await activities[i].setAcActivities([]);
|
|
662
|
-
}
|
|
663
|
-
resolve();
|
|
664
|
-
});
|
|
665
|
-
}
|
|
666
|
-
async function deleteNotificationAssociations() {
|
|
667
|
-
return await new Promise(async (resolve, reject) => {
|
|
668
|
-
console.log("Destroying NoitficationAssociations ");
|
|
669
|
-
const notifications = await models.AcNotification.unscoped().findAll({
|
|
670
|
-
attributes: ['id'],
|
|
671
|
-
});
|
|
672
|
-
for (let i = 0; i < notifications.length; i++) {
|
|
673
|
-
await notifications[i].setUsers([]);
|
|
674
|
-
await notifications[i].setAcActivities([]);
|
|
675
|
-
await notifications[i].setAcDelayedNotifications([]);
|
|
676
|
-
}
|
|
677
|
-
resolve();
|
|
678
|
-
});
|
|
679
|
-
}
|
|
680
|
-
async function deleteImageAssociations() {
|
|
681
|
-
return await new Promise(async (resolve, reject) => {
|
|
682
|
-
console.log("Destroying ImageAssociations ");
|
|
683
|
-
const images = await models.Image.unscoped().findAll({
|
|
684
|
-
attributes: ['id'],
|
|
685
|
-
where: {
|
|
686
|
-
id: {
|
|
687
|
-
[models.Sequelize.Op.notIn]: imageIdsToKeep
|
|
688
|
-
}
|
|
689
|
-
},
|
|
690
|
-
});
|
|
691
|
-
for (let i = 0; i < images.length; i++) {
|
|
692
|
-
await images[i].setVideoImages([]);
|
|
693
|
-
}
|
|
694
|
-
resolve();
|
|
695
|
-
});
|
|
696
|
-
}
|
|
697
|
-
async function deleteInChunks(model, where) {
|
|
698
|
-
return await new Promise(async (resolve, reject) => {
|
|
699
|
-
try {
|
|
700
|
-
let haveItemsToDelete = true;
|
|
701
|
-
let offset = 0;
|
|
702
|
-
while (haveItemsToDelete) {
|
|
703
|
-
const items = await model.unscoped().findAll({
|
|
704
|
-
where,
|
|
705
|
-
attributes: ['id'],
|
|
706
|
-
order: ['id'],
|
|
707
|
-
offset: offset,
|
|
708
|
-
limit: 2500
|
|
709
|
-
});
|
|
710
|
-
if (items.length > 0) {
|
|
711
|
-
const modelIds = items.map(n => { return n.id; });
|
|
712
|
-
offset += 2500;
|
|
713
|
-
console.log(`offset: ${offset}`);
|
|
714
|
-
const destroyResults = await model.unscoped().destroy({
|
|
715
|
-
where: {
|
|
716
|
-
id: {
|
|
717
|
-
[models.Sequelize.Op.in]: modelIds
|
|
718
|
-
}
|
|
719
|
-
}
|
|
720
|
-
});
|
|
721
|
-
const a = destroyResults;
|
|
722
|
-
}
|
|
723
|
-
else {
|
|
724
|
-
haveItemsToDelete = false;
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
resolve();
|
|
728
|
-
}
|
|
729
|
-
catch (error) {
|
|
730
|
-
reject(error);
|
|
731
|
-
}
|
|
732
|
-
});
|
|
733
|
-
}
|
|
734
|
-
function sleep(ms) {
|
|
735
|
-
return new Promise(resolve => setTimeout(resolve, ms));
|
|
736
|
-
}
|
|
737
|
-
async function deleteAll() {
|
|
738
|
-
return await new Promise(async (resolve, reject) => {
|
|
739
|
-
try {
|
|
740
|
-
//Only needs to run once
|
|
741
|
-
//await deletePointAssociations();
|
|
742
|
-
//await deletePostAssociations();
|
|
743
|
-
//await deleteUserAssociations();
|
|
744
|
-
//await deleteGroupAssociations();
|
|
745
|
-
//await deleteCommunityAssociations();
|
|
746
|
-
//await deleteDomainAssociations();
|
|
747
|
-
//await deleteActivityAssociations();
|
|
748
|
-
//await deleteNotificationAssociations();
|
|
749
|
-
//await deleteImageAssociations();
|
|
750
|
-
console.log("Destroying points");
|
|
751
|
-
await deleteInChunks(models.Point.unscoped(), {
|
|
752
|
-
id: {
|
|
753
|
-
[models.Sequelize.Op.notIn]: pointIdsToKeep
|
|
754
|
-
}
|
|
755
|
-
});
|
|
756
|
-
console.log("Destroying point qualities");
|
|
757
|
-
await deleteInChunks(models.PointQuality.unscoped(), {
|
|
758
|
-
id: {
|
|
759
|
-
[models.Sequelize.Op.notIn]: qualityIdsToKeep
|
|
760
|
-
}
|
|
761
|
-
});
|
|
762
|
-
console.log("Destroying point revision");
|
|
763
|
-
await deleteInChunks(models.PointRevision.unscoped(), {
|
|
764
|
-
id: {
|
|
765
|
-
[models.Sequelize.Op.notIn]: pointRevisionIdsToKeep
|
|
766
|
-
}
|
|
767
|
-
});
|
|
768
|
-
console.log("Destroying post revision");
|
|
769
|
-
await deleteInChunks(models.PostRevision.unscoped(), {
|
|
770
|
-
post_id: null
|
|
771
|
-
});
|
|
772
|
-
console.log("Destroying temp data and not used 1");
|
|
773
|
-
//await models.AcNewsFeedItem.unscoped().destroy({ truncate: true });
|
|
774
|
-
console.log("Destroying temp data and not used 2");
|
|
775
|
-
//await models.AcNewsFeedProcessedRange.unscoped().destroy({ truncate: true });
|
|
776
|
-
console.log("Destroying temp data and not used 3");
|
|
777
|
-
//await models.AcDelayedNotification.unscoped().destroy({ truncate: true });
|
|
778
|
-
console.log("Destroying temp data and not used 4");
|
|
779
|
-
// You will need to temporarily disable some foreign key constraints
|
|
780
|
-
//await models.AcNotification.unscoped().destroy({ truncate: true });
|
|
781
|
-
console.log("Destroying temp data and not used 5");
|
|
782
|
-
// You will need to temporarily disable some foreign key constraints
|
|
783
|
-
//await models.AcActivity.unscoped().destroy({ truncate: true });
|
|
784
|
-
console.log("Destroying temp data and not used 6");
|
|
785
|
-
//await models.AcBackgroundJob.unscoped().destroy({ truncate: true });
|
|
786
|
-
console.log("Destroying temp data and not used 7");
|
|
787
|
-
//await models.AcClientActivity.unscoped().destroy({ truncate: true });
|
|
788
|
-
console.log("Destroying temp data and not used 8");
|
|
789
|
-
//await models.AcTranslationCache.unscoped().destroy({ truncate: true });
|
|
790
|
-
console.log("Destroying temp data and not used 9");
|
|
791
|
-
//await models.GeneralDataStore.unscoped().destroy({ truncate: true });
|
|
792
|
-
console.log("Destroying temp data and not used 10");
|
|
793
|
-
await deleteInChunks(models.Invite.unscoped(), {});
|
|
794
|
-
console.log("Destroying temp data and not used 11");
|
|
795
|
-
await deleteInChunks(models.PostStatusChange.unscoped(), {});
|
|
796
|
-
await deleteInChunks(models.BulkStatusUpdate.unscoped(), {});
|
|
797
|
-
console.log("Destroying temp data and not used 12");
|
|
798
|
-
//await deleteInChunks(models.PostRevision.unscoped(), {
|
|
799
|
-
//});
|
|
800
|
-
console.log("Destroying temp data and not used 13");
|
|
801
|
-
//await models.Rating.unscoped().destroy({ truncate: true });
|
|
802
|
-
console.log("Destroying temp data and not used 14");
|
|
803
|
-
await models.UserLegacyPassword.unscoped().destroy({ truncate: true });
|
|
804
|
-
console.log("Destroying temp data and not used 15");
|
|
805
|
-
console.log("Destroying posts");
|
|
806
|
-
await deleteInChunks(models.Post.unscoped(), {
|
|
807
|
-
id: {
|
|
808
|
-
[models.Sequelize.Op.notIn]: postIdsToKeep
|
|
809
|
-
}
|
|
810
|
-
});
|
|
811
|
-
console.log("Destroying endorsements");
|
|
812
|
-
await deleteInChunks(models.Endorsement.unscoped(), {
|
|
813
|
-
id: {
|
|
814
|
-
[models.Sequelize.Op.notIn]: endorsementIdsToKeep
|
|
815
|
-
}
|
|
816
|
-
});
|
|
817
|
-
console.log("Destroying pages");
|
|
818
|
-
await deleteInChunks(models.Page.unscoped(), {
|
|
819
|
-
id: {
|
|
820
|
-
[models.Sequelize.Op.notIn]: pageIdsToKeep
|
|
821
|
-
}
|
|
822
|
-
});
|
|
823
|
-
console.log("Destroying categories");
|
|
824
|
-
await deleteInChunks(models.Category.unscoped(), {
|
|
825
|
-
id: {
|
|
826
|
-
[models.Sequelize.Op.notIn]: categoryIdsToKeep
|
|
827
|
-
}
|
|
828
|
-
});
|
|
829
|
-
console.log("Destroying groups");
|
|
830
|
-
await deleteInChunks(models.Group.unscoped(), {
|
|
831
|
-
id: {
|
|
832
|
-
[models.Sequelize.Op.notIn]: groupIdsToKeep
|
|
833
|
-
}
|
|
834
|
-
});
|
|
835
|
-
console.log("Destroying communities");
|
|
836
|
-
await deleteInChunks(models.Community.unscoped(), {
|
|
837
|
-
id: {
|
|
838
|
-
[models.Sequelize.Op.notIn]: communityIdsToKeep
|
|
839
|
-
}
|
|
840
|
-
});
|
|
841
|
-
console.log("Destroying domains");
|
|
842
|
-
await deleteInChunks(models.Domain.unscoped(), {
|
|
843
|
-
id: {
|
|
844
|
-
[models.Sequelize.Op.notIn]: [domainIdToKeep]
|
|
845
|
-
}
|
|
846
|
-
});
|
|
847
|
-
await deleteVideos();
|
|
848
|
-
console.log("Destroying audios");
|
|
849
|
-
await deleteInChunks(models.Audio.unscoped(), {
|
|
850
|
-
id: {
|
|
851
|
-
[models.Sequelize.Op.notIn]: audioIdsToKeep
|
|
852
|
-
}
|
|
853
|
-
});
|
|
854
|
-
console.log("Destroying images");
|
|
855
|
-
await deleteInChunks(models.Image.unscoped(), {
|
|
856
|
-
id: {
|
|
857
|
-
[models.Sequelize.Op.notIn]: imageIdsToKeep
|
|
858
|
-
}
|
|
859
|
-
});
|
|
860
|
-
console.log("Destroying users");
|
|
861
|
-
let haveItemsToDelete = true;
|
|
862
|
-
let offset = 0;
|
|
863
|
-
let deletedItems = 0;
|
|
864
|
-
while (haveItemsToDelete) {
|
|
865
|
-
const allUsers = await models.User.unscoped().findAll({
|
|
866
|
-
attributes: ['id'],
|
|
867
|
-
limit: 2500,
|
|
868
|
-
offset: offset
|
|
869
|
-
});
|
|
870
|
-
const allUserIds = allUsers.map(u => u.id);
|
|
871
|
-
const userIdsToDelete = allUserIds.filter(uid => {
|
|
872
|
-
return userIdsToKeep.indexOf(uid) === -1;
|
|
873
|
-
});
|
|
874
|
-
if (userIdsToDelete.indexOf(56884) > -1) {
|
|
875
|
-
console.log("DELETING 56884");
|
|
876
|
-
}
|
|
877
|
-
if (userIdsToDelete.length > 0) {
|
|
878
|
-
deletedItems += userIdsToDelete.length;
|
|
879
|
-
await models.User.unscoped().destroy({
|
|
880
|
-
where: {
|
|
881
|
-
id: {
|
|
882
|
-
[models.Sequelize.Op.in]: userIdsToDelete
|
|
883
|
-
}
|
|
884
|
-
}
|
|
885
|
-
});
|
|
886
|
-
offset += 2500;
|
|
887
|
-
console.log(offset);
|
|
888
|
-
}
|
|
889
|
-
else {
|
|
890
|
-
haveItemsToDelete = false;
|
|
891
|
-
}
|
|
892
|
-
}
|
|
893
|
-
resolve();
|
|
894
|
-
}
|
|
895
|
-
catch (error) {
|
|
896
|
-
reject(error);
|
|
897
|
-
}
|
|
898
|
-
});
|
|
899
|
-
}
|
|
900
|
-
// .minio.sys/buckets/minio.yrpri.production/034dc9ad-1503-455f-9fcc-50549d373212-small.png/fs.json
|
|
901
|
-
// minio.yrpri.production/034dc9ad-1503-455f-9fcc-50549d373212-small.png
|
|
902
|
-
async function copyVideosToMinio() {
|
|
903
|
-
return await new Promise(async (resolve, reject) => {
|
|
904
|
-
try {
|
|
905
|
-
const videos = await models.Video.unscoped().findAll({
|
|
906
|
-
attributes: ['id', 'formats'],
|
|
907
|
-
});
|
|
908
|
-
for (let i = 0; i < videos.length; i++) {
|
|
909
|
-
const formats = videos[i].formats;
|
|
910
|
-
for (let f = 0; f < formats.length; f++) {
|
|
911
|
-
const newUrl = await copyFileFromS3ToMinio("minio-video-public", formats[f]);
|
|
912
|
-
formats[f] = newUrl;
|
|
913
|
-
console.log(newUrl);
|
|
914
|
-
}
|
|
915
|
-
videos[i].formats = formats;
|
|
916
|
-
videos[i].changed('formats', true);
|
|
917
|
-
await videos[i].save();
|
|
918
|
-
}
|
|
919
|
-
resolve();
|
|
920
|
-
}
|
|
921
|
-
catch (error) {
|
|
922
|
-
reject(error);
|
|
923
|
-
}
|
|
924
|
-
});
|
|
925
|
-
}
|
|
926
|
-
async function copyImagesToMinio() {
|
|
927
|
-
return await new Promise(async (resolve, reject) => {
|
|
928
|
-
try {
|
|
929
|
-
const images = await models.Image.unscoped().findAll({
|
|
930
|
-
attributes: ['id', 'formats'],
|
|
931
|
-
});
|
|
932
|
-
for (let i = 0; i < images.length; i++) {
|
|
933
|
-
const formats = JSON.parse(images[i].formats);
|
|
934
|
-
for (let f = 0; f < formats.length; f++) {
|
|
935
|
-
const newUrl = await copyFileFromS3ToMinio("minio.yrpri.production", formats[f]);
|
|
936
|
-
formats[f] = newUrl;
|
|
937
|
-
}
|
|
938
|
-
images[i].formats = JSON.stringify(formats);
|
|
939
|
-
await images[i].save();
|
|
940
|
-
}
|
|
941
|
-
resolve();
|
|
942
|
-
}
|
|
943
|
-
catch (error) {
|
|
944
|
-
reject(error);
|
|
945
|
-
}
|
|
946
|
-
});
|
|
947
|
-
}
|
|
948
|
-
async function copyAudiosToMinio() {
|
|
949
|
-
return await new Promise(async (resolve, reject) => {
|
|
950
|
-
try {
|
|
951
|
-
const audios = await models.Audio.unscoped().findAll({
|
|
952
|
-
attributes: ['id', 'formats'],
|
|
953
|
-
});
|
|
954
|
-
for (let i = 0; i < audios.length; i++) {
|
|
955
|
-
const formats = audios[i].formats;
|
|
956
|
-
for (let f = 0; f < formats.length; f++) {
|
|
957
|
-
const newUrl = await copyFileFromS3ToMinio("minio-audio-public", formats[f]);
|
|
958
|
-
formats[f] = newUrl;
|
|
959
|
-
console.log(`New ${newUrl}`);
|
|
960
|
-
}
|
|
961
|
-
audios[i].formats = formats;
|
|
962
|
-
audios[i].changed('formats', true);
|
|
963
|
-
await audios[i].save();
|
|
964
|
-
}
|
|
965
|
-
resolve();
|
|
966
|
-
}
|
|
967
|
-
catch (error) {
|
|
968
|
-
reject(error);
|
|
969
|
-
}
|
|
970
|
-
});
|
|
971
|
-
}
|
|
972
|
-
async function copyAllToMinio() {
|
|
973
|
-
return await new Promise(async (resolve, reject) => {
|
|
974
|
-
try {
|
|
975
|
-
await copyImagesToMinio();
|
|
976
|
-
await copyVideosToMinio();
|
|
977
|
-
await copyAudiosToMinio();
|
|
978
|
-
resolve();
|
|
979
|
-
}
|
|
980
|
-
catch (error) {
|
|
981
|
-
reject(error);
|
|
982
|
-
}
|
|
983
|
-
});
|
|
984
|
-
}
|
|
985
|
-
async function copyFileFromS3ToMinio(bucket, url) {
|
|
986
|
-
return await new Promise(async (resolve, reject) => {
|
|
987
|
-
try {
|
|
988
|
-
const filename = url.substring(url.lastIndexOf('/') + 1);
|
|
989
|
-
const filetype = filename.substring(filename.lastIndexOf('.') + 1).toLowerCase();
|
|
990
|
-
const minioFilePath = `${minioDataPath}/${bucket}/${filename}`;
|
|
991
|
-
const minioMetaDataFolderPath = `${minioDataPath}/.minio.sys/buckets/${bucket}/${filename}`;
|
|
992
|
-
const fsContentType = ["png", "jpeg", "jpg"].indexOf(filetype) > -1 ? `image/${filetype}` : `application/octet-stream`;
|
|
993
|
-
const fsFileContent = `{"version":"1.0.2","checksum":{"algorithm":"","blocksize":0,"hashes":null},"meta":{"content-type":"${fsContentType}","etag":"3df11831a2ace04090b85676183f778a"}}`;
|
|
994
|
-
https.get(url, response => {
|
|
995
|
-
if (response.statusCode === 200) {
|
|
996
|
-
const stream = fs.createWriteStream(minioFilePath);
|
|
997
|
-
response.pipe(stream);
|
|
998
|
-
stream.on('finish', function () {
|
|
999
|
-
stream.close(() => {
|
|
1000
|
-
fs.mkdirSync(minioMetaDataFolderPath, { recursive: true });
|
|
1001
|
-
fs.writeFileSync(`${minioMetaDataFolderPath}/fs.json`, fsFileContent);
|
|
1002
|
-
console.log(`Copy completed for ${url}`);
|
|
1003
|
-
const newUrlPath = `${minioBaseUrlPath}/${bucket}/${filename}`;
|
|
1004
|
-
resolve(newUrlPath);
|
|
1005
|
-
});
|
|
1006
|
-
});
|
|
1007
|
-
}
|
|
1008
|
-
else {
|
|
1009
|
-
reject("Can't find url to download");
|
|
1010
|
-
}
|
|
1011
|
-
});
|
|
1012
|
-
}
|
|
1013
|
-
catch (error) {
|
|
1014
|
-
reject(error);
|
|
1015
|
-
}
|
|
1016
|
-
});
|
|
1017
|
-
}
|
|
1018
|
-
(async () => {
|
|
1019
|
-
console.log("Setup ids to keep");
|
|
1020
|
-
await setupIdsToKeep();
|
|
1021
|
-
//await deleteAll();
|
|
1022
|
-
await copyAllToMinio();
|
|
1023
|
-
console.log(`Destroying all except domain id ${domainIdToKeep} completed`);
|
|
1024
|
-
process.exit();
|
|
1025
|
-
})();
|
|
1026
|
-
export {};
|