agrs-sequelize-sdk 1.4.22 → 1.4.24
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/.worktrees/ad-review-status/LICENSE +21 -0
- package/.worktrees/ad-review-status/README.md +179 -0
- package/.worktrees/ad-review-status/index.js +169 -0
- package/.worktrees/ad-review-status/jq.exe +0 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-PIXELS-FOLLOWUP.md +85 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-ad.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-adaccount.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-adperformance.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-adset.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-adsetperformance.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-aiarticleretryqueue.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-aicampaignqueue.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-article.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-campaign.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-codefuelcampaign.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-dynamicfeed.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-facebookretryqueue.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-pages.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-17-add-platform-to-presets.js +19 -0
- package/.worktrees/ad-review-status/migrations/2026-05-18-add-review-status-to-ad.js +36 -0
- package/.worktrees/ad-review-status/migrations/RUN_ME_MANUALLY_2026-05-17.sql +99 -0
- package/.worktrees/ad-review-status/migrations/add-requested-from-dashboard-to-articles.js +17 -0
- package/.worktrees/ad-review-status/migrations/change-adset-name-to-text.js +79 -0
- package/.worktrees/ad-review-status/models/AICampaignQueue.js +144 -0
- package/.worktrees/ad-review-status/models/AIGenerationLog.js +85 -0
- package/.worktrees/ad-review-status/models/AIGenerationRequest.js +212 -0
- package/.worktrees/ad-review-status/models/ActivityHistory.js +73 -0
- package/.worktrees/ad-review-status/models/Ad.js +312 -0
- package/.worktrees/ad-review-status/models/AdAccount.js +97 -0
- package/.worktrees/ad-review-status/models/AdAccountValues.js +26 -0
- package/.worktrees/ad-review-status/models/AdHistory.js +30 -0
- package/.worktrees/ad-review-status/models/AdPerformance.js +100 -0
- package/.worktrees/ad-review-status/models/AdPerformanceHourly.js +71 -0
- package/.worktrees/ad-review-status/models/AdSet.js +295 -0
- package/.worktrees/ad-review-status/models/AdSetHistory.js +30 -0
- package/.worktrees/ad-review-status/models/AdsetPerformance.js +132 -0
- package/.worktrees/ad-review-status/models/AiArticleRetryQueue.js +157 -0
- package/.worktrees/ad-review-status/models/AiCreationRetryQueue.js +127 -0
- package/.worktrees/ad-review-status/models/Article.js +212 -0
- package/.worktrees/ad-review-status/models/AutomationRule.js +173 -0
- package/.worktrees/ad-review-status/models/BannerTemplate.js +129 -0
- package/.worktrees/ad-review-status/models/Buyers.js +26 -0
- package/.worktrees/ad-review-status/models/Campaign.js +163 -0
- package/.worktrees/ad-review-status/models/CampaignActionHistory.js +86 -0
- package/.worktrees/ad-review-status/models/CampaignCreationLog.js +309 -0
- package/.worktrees/ad-review-status/models/CampaignCreationLogV2.js +314 -0
- package/.worktrees/ad-review-status/models/CampaignHistory.js +33 -0
- package/.worktrees/ad-review-status/models/Channel.js +55 -0
- package/.worktrees/ad-review-status/models/CodefuelCampaign.js +175 -0
- package/.worktrees/ad-review-status/models/CodefuelCampaignKWHistory.js +41 -0
- package/.worktrees/ad-review-status/models/CodefuelKeywords.js +35 -0
- package/.worktrees/ad-review-status/models/CurrencyRate.js +27 -0
- package/.worktrees/ad-review-status/models/Domain.js +40 -0
- package/.worktrees/ad-review-status/models/DynamicFeed.js +219 -0
- package/.worktrees/ad-review-status/models/ExplorAdsChannel.js +62 -0
- package/.worktrees/ad-review-status/models/FacebookRetryQueue.js +163 -0
- package/.worktrees/ad-review-status/models/Feed.js +34 -0
- package/.worktrees/ad-review-status/models/FeedArticleConfiguration.js +81 -0
- package/.worktrees/ad-review-status/models/Files.js +73 -0
- package/.worktrees/ad-review-status/models/Folders.js +133 -0
- package/.worktrees/ad-review-status/models/FrontStoryChannel.js +60 -0
- package/.worktrees/ad-review-status/models/FrontStoryChannelV2.js +60 -0
- package/.worktrees/ad-review-status/models/GenericFlowRequest.js +115 -0
- package/.worktrees/ad-review-status/models/KeywordPerformance.js +106 -0
- package/.worktrees/ad-review-status/models/KeywordRotationState.js +51 -0
- package/.worktrees/ad-review-status/models/MidoWebChannel.js +47 -0
- package/.worktrees/ad-review-status/models/MineChannel.js +43 -0
- package/.worktrees/ad-review-status/models/Pages.js +105 -0
- package/.worktrees/ad-review-status/models/PipelineExecution.js +59 -0
- package/.worktrees/ad-review-status/models/PolicyDogsCreativeCache.js +50 -0
- package/.worktrees/ad-review-status/models/PolicyDogsImageCache.js +30 -0
- package/.worktrees/ad-review-status/models/Presets.js +40 -0
- package/.worktrees/ad-review-status/models/RSOCFeedCampaign.js +375 -0
- package/.worktrees/ad-review-status/models/RsocKeywordPerformance.js +111 -0
- package/.worktrees/ad-review-status/models/RuleAction.js +90 -0
- package/.worktrees/ad-review-status/models/RuleCondition.js +137 -0
- package/.worktrees/ad-review-status/models/RuleExecution.js +107 -0
- package/.worktrees/ad-review-status/models/RulesValues.js +56 -0
- package/.worktrees/ad-review-status/models/SupportedLocale.js +24 -0
- package/.worktrees/ad-review-status/models/SyncHistory.js +250 -0
- package/.worktrees/ad-review-status/models/TTQChannel.js +42 -0
- package/.worktrees/ad-review-status/models/TemplateMetadata.js +260 -0
- package/.worktrees/ad-review-status/models/Tier2_AdAccounts.js +110 -0
- package/.worktrees/ad-review-status/models/Tier2_Assets.js +70 -0
- package/.worktrees/ad-review-status/models/Tier2_BusinessManagers.js +105 -0
- package/.worktrees/ad-review-status/models/Tier2_CreditLines.js +99 -0
- package/.worktrees/ad-review-status/models/Tier2_Pages.js +91 -0
- package/.worktrees/ad-review-status/models/Tier2_Pixels.js +82 -0
- package/.worktrees/ad-review-status/models/Tier2_Tokens.js +64 -0
- package/.worktrees/ad-review-status/models/Tier2_UserAdAccounts.js +83 -0
- package/.worktrees/ad-review-status/models/TokenRotationState.js +121 -0
- package/.worktrees/ad-review-status/models/TonicCampaign.js +97 -0
- package/.worktrees/ad-review-status/models/TonicRSOCKeywordPerformance.js +123 -0
- package/.worktrees/ad-review-status/models/Users.js +148 -0
- package/.worktrees/ad-review-status/models/Vertical.js +26 -0
- package/.worktrees/ad-review-status/models/newFiles.js +137 -0
- package/.worktrees/ad-review-status/models/pixel.js +47 -0
- package/.worktrees/ad-review-status/package-lock.json +405 -0
- package/.worktrees/ad-review-status/package.json +19 -0
- package/.worktrees/ad-review-status/run.ps1 +98 -0
- package/.worktrees/ad-review-status/run.sh +214 -0
- package/.worktrees/ad-review-status/services/sequelizeService.js +110 -0
- package/.worktrees/add-platform-to-rule/LICENSE +21 -0
- package/.worktrees/add-platform-to-rule/README.md +179 -0
- package/.worktrees/add-platform-to-rule/index.js +169 -0
- package/.worktrees/add-platform-to-rule/jq.exe +0 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-PIXELS-FOLLOWUP.md +85 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-ad.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-adaccount.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-adperformance.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-adset.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-adsetperformance.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-aiarticleretryqueue.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-aicampaignqueue.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-article.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-campaign.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-codefuelcampaign.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-dynamicfeed.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-facebookretryqueue.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-pages.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-presets.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/2026-05-17-add-platform-to-rule.js +19 -0
- package/.worktrees/add-platform-to-rule/migrations/RUN_ME_MANUALLY_2026-05-17.sql +99 -0
- package/.worktrees/add-platform-to-rule/migrations/add-requested-from-dashboard-to-articles.js +17 -0
- package/.worktrees/add-platform-to-rule/migrations/change-adset-name-to-text.js +79 -0
- package/.worktrees/add-platform-to-rule/models/AICampaignQueue.js +144 -0
- package/.worktrees/add-platform-to-rule/models/AIGenerationLog.js +85 -0
- package/.worktrees/add-platform-to-rule/models/AIGenerationRequest.js +212 -0
- package/.worktrees/add-platform-to-rule/models/ActivityHistory.js +73 -0
- package/.worktrees/add-platform-to-rule/models/Ad.js +300 -0
- package/.worktrees/add-platform-to-rule/models/AdAccount.js +97 -0
- package/.worktrees/add-platform-to-rule/models/AdAccountValues.js +26 -0
- package/.worktrees/add-platform-to-rule/models/AdHistory.js +30 -0
- package/.worktrees/add-platform-to-rule/models/AdPerformance.js +100 -0
- package/.worktrees/add-platform-to-rule/models/AdPerformanceHourly.js +71 -0
- package/.worktrees/add-platform-to-rule/models/AdSet.js +295 -0
- package/.worktrees/add-platform-to-rule/models/AdSetHistory.js +30 -0
- package/.worktrees/add-platform-to-rule/models/AdsetPerformance.js +132 -0
- package/.worktrees/add-platform-to-rule/models/AiArticleRetryQueue.js +157 -0
- package/.worktrees/add-platform-to-rule/models/AiCreationRetryQueue.js +127 -0
- package/.worktrees/add-platform-to-rule/models/Article.js +212 -0
- package/.worktrees/add-platform-to-rule/models/AutomationRule.js +179 -0
- package/.worktrees/add-platform-to-rule/models/BannerTemplate.js +129 -0
- package/.worktrees/add-platform-to-rule/models/Buyers.js +26 -0
- package/.worktrees/add-platform-to-rule/models/Campaign.js +163 -0
- package/.worktrees/add-platform-to-rule/models/CampaignActionHistory.js +86 -0
- package/.worktrees/add-platform-to-rule/models/CampaignCreationLog.js +309 -0
- package/.worktrees/add-platform-to-rule/models/CampaignCreationLogV2.js +314 -0
- package/.worktrees/add-platform-to-rule/models/CampaignHistory.js +33 -0
- package/.worktrees/add-platform-to-rule/models/Channel.js +55 -0
- package/.worktrees/add-platform-to-rule/models/CodefuelCampaign.js +175 -0
- package/.worktrees/add-platform-to-rule/models/CodefuelCampaignKWHistory.js +41 -0
- package/.worktrees/add-platform-to-rule/models/CodefuelKeywords.js +35 -0
- package/.worktrees/add-platform-to-rule/models/CurrencyRate.js +27 -0
- package/.worktrees/add-platform-to-rule/models/Domain.js +40 -0
- package/.worktrees/add-platform-to-rule/models/DynamicFeed.js +219 -0
- package/.worktrees/add-platform-to-rule/models/ExplorAdsChannel.js +62 -0
- package/.worktrees/add-platform-to-rule/models/FacebookRetryQueue.js +163 -0
- package/.worktrees/add-platform-to-rule/models/Feed.js +34 -0
- package/.worktrees/add-platform-to-rule/models/FeedArticleConfiguration.js +81 -0
- package/.worktrees/add-platform-to-rule/models/Files.js +73 -0
- package/.worktrees/add-platform-to-rule/models/Folders.js +133 -0
- package/.worktrees/add-platform-to-rule/models/FrontStoryChannel.js +60 -0
- package/.worktrees/add-platform-to-rule/models/FrontStoryChannelV2.js +60 -0
- package/.worktrees/add-platform-to-rule/models/GenericFlowRequest.js +115 -0
- package/.worktrees/add-platform-to-rule/models/KeywordPerformance.js +106 -0
- package/.worktrees/add-platform-to-rule/models/KeywordRotationState.js +51 -0
- package/.worktrees/add-platform-to-rule/models/MidoWebChannel.js +47 -0
- package/.worktrees/add-platform-to-rule/models/MineChannel.js +43 -0
- package/.worktrees/add-platform-to-rule/models/Pages.js +105 -0
- package/.worktrees/add-platform-to-rule/models/PipelineExecution.js +59 -0
- package/.worktrees/add-platform-to-rule/models/PolicyDogsCreativeCache.js +50 -0
- package/.worktrees/add-platform-to-rule/models/PolicyDogsImageCache.js +30 -0
- package/.worktrees/add-platform-to-rule/models/Presets.js +40 -0
- package/.worktrees/add-platform-to-rule/models/RSOCFeedCampaign.js +375 -0
- package/.worktrees/add-platform-to-rule/models/RsocKeywordPerformance.js +111 -0
- package/.worktrees/add-platform-to-rule/models/RuleAction.js +90 -0
- package/.worktrees/add-platform-to-rule/models/RuleCondition.js +137 -0
- package/.worktrees/add-platform-to-rule/models/RuleExecution.js +107 -0
- package/.worktrees/add-platform-to-rule/models/RulesValues.js +56 -0
- package/.worktrees/add-platform-to-rule/models/SupportedLocale.js +24 -0
- package/.worktrees/add-platform-to-rule/models/SyncHistory.js +250 -0
- package/.worktrees/add-platform-to-rule/models/TTQChannel.js +42 -0
- package/.worktrees/add-platform-to-rule/models/TemplateMetadata.js +260 -0
- package/.worktrees/add-platform-to-rule/models/Tier2_AdAccounts.js +110 -0
- package/.worktrees/add-platform-to-rule/models/Tier2_Assets.js +70 -0
- package/.worktrees/add-platform-to-rule/models/Tier2_BusinessManagers.js +105 -0
- package/.worktrees/add-platform-to-rule/models/Tier2_CreditLines.js +99 -0
- package/.worktrees/add-platform-to-rule/models/Tier2_Pages.js +91 -0
- package/.worktrees/add-platform-to-rule/models/Tier2_Pixels.js +82 -0
- package/.worktrees/add-platform-to-rule/models/Tier2_Tokens.js +64 -0
- package/.worktrees/add-platform-to-rule/models/Tier2_UserAdAccounts.js +83 -0
- package/.worktrees/add-platform-to-rule/models/TokenRotationState.js +121 -0
- package/.worktrees/add-platform-to-rule/models/TonicCampaign.js +97 -0
- package/.worktrees/add-platform-to-rule/models/TonicRSOCKeywordPerformance.js +123 -0
- package/.worktrees/add-platform-to-rule/models/Users.js +148 -0
- package/.worktrees/add-platform-to-rule/models/Vertical.js +26 -0
- package/.worktrees/add-platform-to-rule/models/newFiles.js +137 -0
- package/.worktrees/add-platform-to-rule/models/pixel.js +47 -0
- package/.worktrees/add-platform-to-rule/package-lock.json +405 -0
- package/.worktrees/add-platform-to-rule/package.json +19 -0
- package/.worktrees/add-platform-to-rule/run.ps1 +98 -0
- package/.worktrees/add-platform-to-rule/run.sh +214 -0
- package/.worktrees/add-platform-to-rule/services/sequelizeService.js +110 -0
- package/.worktrees/adperformance-platform/LICENSE +21 -0
- package/.worktrees/adperformance-platform/README.md +179 -0
- package/.worktrees/adperformance-platform/index.js +169 -0
- package/.worktrees/adperformance-platform/jq.exe +0 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-PIXELS-FOLLOWUP.md +85 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-ad.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-adaccount.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-adperformance.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-adset.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-adsetperformance.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-aiarticleretryqueue.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-aicampaignqueue.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-article.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-campaign.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-codefuelcampaign.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-dynamicfeed.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-facebookretryqueue.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-pages.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-17-add-platform-to-presets.js +19 -0
- package/.worktrees/adperformance-platform/migrations/2026-05-18-add-platform-date-index-to-adperformance.js +16 -0
- package/.worktrees/adperformance-platform/migrations/RUN_ME_MANUALLY_2026-05-17.sql +99 -0
- package/.worktrees/adperformance-platform/migrations/add-requested-from-dashboard-to-articles.js +17 -0
- package/.worktrees/adperformance-platform/migrations/change-adset-name-to-text.js +79 -0
- package/.worktrees/adperformance-platform/models/AICampaignQueue.js +144 -0
- package/.worktrees/adperformance-platform/models/AIGenerationLog.js +85 -0
- package/.worktrees/adperformance-platform/models/AIGenerationRequest.js +212 -0
- package/.worktrees/adperformance-platform/models/ActivityHistory.js +73 -0
- package/.worktrees/adperformance-platform/models/Ad.js +300 -0
- package/.worktrees/adperformance-platform/models/AdAccount.js +97 -0
- package/.worktrees/adperformance-platform/models/AdAccountValues.js +26 -0
- package/.worktrees/adperformance-platform/models/AdHistory.js +30 -0
- package/.worktrees/adperformance-platform/models/AdPerformance.js +104 -0
- package/.worktrees/adperformance-platform/models/AdPerformanceHourly.js +71 -0
- package/.worktrees/adperformance-platform/models/AdSet.js +295 -0
- package/.worktrees/adperformance-platform/models/AdSetHistory.js +30 -0
- package/.worktrees/adperformance-platform/models/AdsetPerformance.js +132 -0
- package/.worktrees/adperformance-platform/models/AiArticleRetryQueue.js +157 -0
- package/.worktrees/adperformance-platform/models/AiCreationRetryQueue.js +127 -0
- package/.worktrees/adperformance-platform/models/Article.js +212 -0
- package/.worktrees/adperformance-platform/models/AutomationRule.js +173 -0
- package/.worktrees/adperformance-platform/models/BannerTemplate.js +129 -0
- package/.worktrees/adperformance-platform/models/Buyers.js +26 -0
- package/.worktrees/adperformance-platform/models/Campaign.js +163 -0
- package/.worktrees/adperformance-platform/models/CampaignActionHistory.js +86 -0
- package/.worktrees/adperformance-platform/models/CampaignCreationLog.js +309 -0
- package/.worktrees/adperformance-platform/models/CampaignCreationLogV2.js +314 -0
- package/.worktrees/adperformance-platform/models/CampaignHistory.js +33 -0
- package/.worktrees/adperformance-platform/models/Channel.js +55 -0
- package/.worktrees/adperformance-platform/models/CodefuelCampaign.js +175 -0
- package/.worktrees/adperformance-platform/models/CodefuelCampaignKWHistory.js +41 -0
- package/.worktrees/adperformance-platform/models/CodefuelKeywords.js +35 -0
- package/.worktrees/adperformance-platform/models/CurrencyRate.js +27 -0
- package/.worktrees/adperformance-platform/models/Domain.js +40 -0
- package/.worktrees/adperformance-platform/models/DynamicFeed.js +219 -0
- package/.worktrees/adperformance-platform/models/ExplorAdsChannel.js +62 -0
- package/.worktrees/adperformance-platform/models/FacebookRetryQueue.js +163 -0
- package/.worktrees/adperformance-platform/models/Feed.js +34 -0
- package/.worktrees/adperformance-platform/models/FeedArticleConfiguration.js +81 -0
- package/.worktrees/adperformance-platform/models/Files.js +73 -0
- package/.worktrees/adperformance-platform/models/Folders.js +133 -0
- package/.worktrees/adperformance-platform/models/FrontStoryChannel.js +60 -0
- package/.worktrees/adperformance-platform/models/FrontStoryChannelV2.js +60 -0
- package/.worktrees/adperformance-platform/models/GenericFlowRequest.js +115 -0
- package/.worktrees/adperformance-platform/models/KeywordPerformance.js +106 -0
- package/.worktrees/adperformance-platform/models/KeywordRotationState.js +51 -0
- package/.worktrees/adperformance-platform/models/MidoWebChannel.js +47 -0
- package/.worktrees/adperformance-platform/models/MineChannel.js +43 -0
- package/.worktrees/adperformance-platform/models/Pages.js +105 -0
- package/.worktrees/adperformance-platform/models/PipelineExecution.js +59 -0
- package/.worktrees/adperformance-platform/models/PolicyDogsCreativeCache.js +50 -0
- package/.worktrees/adperformance-platform/models/PolicyDogsImageCache.js +30 -0
- package/.worktrees/adperformance-platform/models/Presets.js +40 -0
- package/.worktrees/adperformance-platform/models/RSOCFeedCampaign.js +375 -0
- package/.worktrees/adperformance-platform/models/RsocKeywordPerformance.js +111 -0
- package/.worktrees/adperformance-platform/models/RuleAction.js +90 -0
- package/.worktrees/adperformance-platform/models/RuleCondition.js +137 -0
- package/.worktrees/adperformance-platform/models/RuleExecution.js +107 -0
- package/.worktrees/adperformance-platform/models/RulesValues.js +56 -0
- package/.worktrees/adperformance-platform/models/SupportedLocale.js +24 -0
- package/.worktrees/adperformance-platform/models/SyncHistory.js +250 -0
- package/.worktrees/adperformance-platform/models/TTQChannel.js +42 -0
- package/.worktrees/adperformance-platform/models/TemplateMetadata.js +260 -0
- package/.worktrees/adperformance-platform/models/Tier2_AdAccounts.js +110 -0
- package/.worktrees/adperformance-platform/models/Tier2_Assets.js +70 -0
- package/.worktrees/adperformance-platform/models/Tier2_BusinessManagers.js +105 -0
- package/.worktrees/adperformance-platform/models/Tier2_CreditLines.js +99 -0
- package/.worktrees/adperformance-platform/models/Tier2_Pages.js +91 -0
- package/.worktrees/adperformance-platform/models/Tier2_Pixels.js +82 -0
- package/.worktrees/adperformance-platform/models/Tier2_Tokens.js +64 -0
- package/.worktrees/adperformance-platform/models/Tier2_UserAdAccounts.js +83 -0
- package/.worktrees/adperformance-platform/models/TokenRotationState.js +121 -0
- package/.worktrees/adperformance-platform/models/TonicCampaign.js +97 -0
- package/.worktrees/adperformance-platform/models/TonicRSOCKeywordPerformance.js +123 -0
- package/.worktrees/adperformance-platform/models/Users.js +148 -0
- package/.worktrees/adperformance-platform/models/Vertical.js +26 -0
- package/.worktrees/adperformance-platform/models/newFiles.js +137 -0
- package/.worktrees/adperformance-platform/models/pixel.js +47 -0
- package/.worktrees/adperformance-platform/package-lock.json +405 -0
- package/.worktrees/adperformance-platform/package.json +19 -0
- package/.worktrees/adperformance-platform/run.ps1 +98 -0
- package/.worktrees/adperformance-platform/run.sh +214 -0
- package/.worktrees/adperformance-platform/services/sequelizeService.js +110 -0
- package/.worktrees/adsetperformance-platform/LICENSE +21 -0
- package/.worktrees/adsetperformance-platform/README.md +179 -0
- package/.worktrees/adsetperformance-platform/index.js +169 -0
- package/.worktrees/adsetperformance-platform/jq.exe +0 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-PIXELS-FOLLOWUP.md +85 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-ad.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-adaccount.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-adperformance.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-adset.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-adsetperformance.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-aiarticleretryqueue.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-aicampaignqueue.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-article.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-campaign.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-codefuelcampaign.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-dynamicfeed.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-facebookretryqueue.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-pages.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-17-add-platform-to-presets.js +19 -0
- package/.worktrees/adsetperformance-platform/migrations/2026-05-18-add-platform-date-index-to-adsetperformance.js +16 -0
- package/.worktrees/adsetperformance-platform/migrations/RUN_ME_MANUALLY_2026-05-17.sql +99 -0
- package/.worktrees/adsetperformance-platform/migrations/add-requested-from-dashboard-to-articles.js +17 -0
- package/.worktrees/adsetperformance-platform/migrations/change-adset-name-to-text.js +79 -0
- package/.worktrees/adsetperformance-platform/models/AICampaignQueue.js +144 -0
- package/.worktrees/adsetperformance-platform/models/AIGenerationLog.js +85 -0
- package/.worktrees/adsetperformance-platform/models/AIGenerationRequest.js +212 -0
- package/.worktrees/adsetperformance-platform/models/ActivityHistory.js +73 -0
- package/.worktrees/adsetperformance-platform/models/Ad.js +300 -0
- package/.worktrees/adsetperformance-platform/models/AdAccount.js +97 -0
- package/.worktrees/adsetperformance-platform/models/AdAccountValues.js +26 -0
- package/.worktrees/adsetperformance-platform/models/AdHistory.js +30 -0
- package/.worktrees/adsetperformance-platform/models/AdPerformance.js +100 -0
- package/.worktrees/adsetperformance-platform/models/AdPerformanceHourly.js +71 -0
- package/.worktrees/adsetperformance-platform/models/AdSet.js +295 -0
- package/.worktrees/adsetperformance-platform/models/AdSetHistory.js +30 -0
- package/.worktrees/adsetperformance-platform/models/AdsetPerformance.js +137 -0
- package/.worktrees/adsetperformance-platform/models/AiArticleRetryQueue.js +157 -0
- package/.worktrees/adsetperformance-platform/models/AiCreationRetryQueue.js +127 -0
- package/.worktrees/adsetperformance-platform/models/ApiAuditLog.js +84 -0
- package/.worktrees/adsetperformance-platform/models/ApiToken.js +67 -0
- package/.worktrees/adsetperformance-platform/models/Article.js +212 -0
- package/.worktrees/adsetperformance-platform/models/AutomationRule.js +173 -0
- package/.worktrees/adsetperformance-platform/models/BannerTemplate.js +129 -0
- package/.worktrees/adsetperformance-platform/models/Buyers.js +26 -0
- package/.worktrees/adsetperformance-platform/models/Campaign.js +163 -0
- package/.worktrees/adsetperformance-platform/models/CampaignActionHistory.js +86 -0
- package/.worktrees/adsetperformance-platform/models/CampaignCreationLog.js +309 -0
- package/.worktrees/adsetperformance-platform/models/CampaignCreationLogV2.js +314 -0
- package/.worktrees/adsetperformance-platform/models/CampaignHistory.js +33 -0
- package/.worktrees/adsetperformance-platform/models/Channel.js +55 -0
- package/.worktrees/adsetperformance-platform/models/CodefuelCampaign.js +175 -0
- package/.worktrees/adsetperformance-platform/models/CodefuelCampaignKWHistory.js +41 -0
- package/.worktrees/adsetperformance-platform/models/CodefuelKeywords.js +35 -0
- package/.worktrees/adsetperformance-platform/models/CurrencyRate.js +27 -0
- package/.worktrees/adsetperformance-platform/models/Domain.js +40 -0
- package/.worktrees/adsetperformance-platform/models/DynamicFeed.js +219 -0
- package/.worktrees/adsetperformance-platform/models/ExplorAdsChannel.js +62 -0
- package/.worktrees/adsetperformance-platform/models/FacebookRetryQueue.js +163 -0
- package/.worktrees/adsetperformance-platform/models/Feed.js +34 -0
- package/.worktrees/adsetperformance-platform/models/FeedArticleConfiguration.js +81 -0
- package/.worktrees/adsetperformance-platform/models/Files.js +73 -0
- package/.worktrees/adsetperformance-platform/models/Folders.js +133 -0
- package/.worktrees/adsetperformance-platform/models/FrontStoryChannel.js +60 -0
- package/.worktrees/adsetperformance-platform/models/FrontStoryChannelV2.js +60 -0
- package/.worktrees/adsetperformance-platform/models/GenericFlowRequest.js +115 -0
- package/.worktrees/adsetperformance-platform/models/KeywordPerformance.js +106 -0
- package/.worktrees/adsetperformance-platform/models/KeywordRotationState.js +51 -0
- package/.worktrees/adsetperformance-platform/models/MidoWebChannel.js +47 -0
- package/.worktrees/adsetperformance-platform/models/MineChannel.js +43 -0
- package/.worktrees/adsetperformance-platform/models/Pages.js +105 -0
- package/.worktrees/adsetperformance-platform/models/PipelineExecution.js +59 -0
- package/.worktrees/adsetperformance-platform/models/PolicyDogsCreativeCache.js +50 -0
- package/.worktrees/adsetperformance-platform/models/PolicyDogsImageCache.js +30 -0
- package/.worktrees/adsetperformance-platform/models/Presets.js +40 -0
- package/.worktrees/adsetperformance-platform/models/RSOCFeedCampaign.js +375 -0
- package/.worktrees/adsetperformance-platform/models/RsocKeywordPerformance.js +111 -0
- package/.worktrees/adsetperformance-platform/models/RuleAction.js +90 -0
- package/.worktrees/adsetperformance-platform/models/RuleCondition.js +137 -0
- package/.worktrees/adsetperformance-platform/models/RuleExecution.js +107 -0
- package/.worktrees/adsetperformance-platform/models/RulesValues.js +56 -0
- package/.worktrees/adsetperformance-platform/models/SupportedLocale.js +24 -0
- package/.worktrees/adsetperformance-platform/models/SyncHistory.js +250 -0
- package/.worktrees/adsetperformance-platform/models/TTQChannel.js +42 -0
- package/.worktrees/adsetperformance-platform/models/TemplateMetadata.js +260 -0
- package/.worktrees/adsetperformance-platform/models/Tier2_AdAccounts.js +110 -0
- package/.worktrees/adsetperformance-platform/models/Tier2_Assets.js +70 -0
- package/.worktrees/adsetperformance-platform/models/Tier2_BusinessManagers.js +105 -0
- package/.worktrees/adsetperformance-platform/models/Tier2_CreditLines.js +99 -0
- package/.worktrees/adsetperformance-platform/models/Tier2_Pages.js +91 -0
- package/.worktrees/adsetperformance-platform/models/Tier2_Pixels.js +82 -0
- package/.worktrees/adsetperformance-platform/models/Tier2_Tokens.js +64 -0
- package/.worktrees/adsetperformance-platform/models/Tier2_UserAdAccounts.js +83 -0
- package/.worktrees/adsetperformance-platform/models/TokenRotationState.js +121 -0
- package/.worktrees/adsetperformance-platform/models/TonicCampaign.js +97 -0
- package/.worktrees/adsetperformance-platform/models/TonicRSOCKeywordPerformance.js +123 -0
- package/.worktrees/adsetperformance-platform/models/Users.js +148 -0
- package/.worktrees/adsetperformance-platform/models/Vertical.js +26 -0
- package/.worktrees/adsetperformance-platform/models/newFiles.js +137 -0
- package/.worktrees/adsetperformance-platform/models/pixel.js +47 -0
- package/.worktrees/adsetperformance-platform/package-lock.json +406 -0
- package/.worktrees/adsetperformance-platform/package.json +19 -0
- package/.worktrees/adsetperformance-platform/run.ps1 +98 -0
- package/.worktrees/adsetperformance-platform/run.sh +214 -0
- package/.worktrees/adsetperformance-platform/services/sequelizeService.js +110 -0
- package/.worktrees/aicampaign-queue-group-id/LICENSE +21 -0
- package/.worktrees/aicampaign-queue-group-id/README.md +179 -0
- package/.worktrees/aicampaign-queue-group-id/index.js +169 -0
- package/.worktrees/aicampaign-queue-group-id/jq.exe +0 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-PIXELS-FOLLOWUP.md +85 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-ad.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-adaccount.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-adperformance.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-adset.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-adsetperformance.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-aiarticleretryqueue.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-aicampaignqueue.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-article.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-campaign.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-codefuelcampaign.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-dynamicfeed.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-facebookretryqueue.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-pages.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-17-add-platform-to-presets.js +19 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/2026-05-18-add-group-id-to-ai-campaign-queue.js +18 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/RUN_ME_MANUALLY_2026-05-17.sql +99 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/add-requested-from-dashboard-to-articles.js +17 -0
- package/.worktrees/aicampaign-queue-group-id/migrations/change-adset-name-to-text.js +79 -0
- package/.worktrees/aicampaign-queue-group-id/models/AICampaignQueue.js +153 -0
- package/.worktrees/aicampaign-queue-group-id/models/AIGenerationLog.js +85 -0
- package/.worktrees/aicampaign-queue-group-id/models/AIGenerationRequest.js +212 -0
- package/.worktrees/aicampaign-queue-group-id/models/ActivityHistory.js +73 -0
- package/.worktrees/aicampaign-queue-group-id/models/Ad.js +300 -0
- package/.worktrees/aicampaign-queue-group-id/models/AdAccount.js +97 -0
- package/.worktrees/aicampaign-queue-group-id/models/AdAccountValues.js +26 -0
- package/.worktrees/aicampaign-queue-group-id/models/AdHistory.js +30 -0
- package/.worktrees/aicampaign-queue-group-id/models/AdPerformance.js +100 -0
- package/.worktrees/aicampaign-queue-group-id/models/AdPerformanceHourly.js +71 -0
- package/.worktrees/aicampaign-queue-group-id/models/AdSet.js +295 -0
- package/.worktrees/aicampaign-queue-group-id/models/AdSetHistory.js +30 -0
- package/.worktrees/aicampaign-queue-group-id/models/AdsetPerformance.js +132 -0
- package/.worktrees/aicampaign-queue-group-id/models/AiArticleRetryQueue.js +157 -0
- package/.worktrees/aicampaign-queue-group-id/models/AiCreationRetryQueue.js +127 -0
- package/.worktrees/aicampaign-queue-group-id/models/Article.js +212 -0
- package/.worktrees/aicampaign-queue-group-id/models/AutomationRule.js +173 -0
- package/.worktrees/aicampaign-queue-group-id/models/BannerTemplate.js +129 -0
- package/.worktrees/aicampaign-queue-group-id/models/Buyers.js +26 -0
- package/.worktrees/aicampaign-queue-group-id/models/Campaign.js +163 -0
- package/.worktrees/aicampaign-queue-group-id/models/CampaignActionHistory.js +86 -0
- package/.worktrees/aicampaign-queue-group-id/models/CampaignCreationLog.js +309 -0
- package/.worktrees/aicampaign-queue-group-id/models/CampaignCreationLogV2.js +314 -0
- package/.worktrees/aicampaign-queue-group-id/models/CampaignHistory.js +33 -0
- package/.worktrees/aicampaign-queue-group-id/models/Channel.js +55 -0
- package/.worktrees/aicampaign-queue-group-id/models/CodefuelCampaign.js +175 -0
- package/.worktrees/aicampaign-queue-group-id/models/CodefuelCampaignKWHistory.js +41 -0
- package/.worktrees/aicampaign-queue-group-id/models/CodefuelKeywords.js +35 -0
- package/.worktrees/aicampaign-queue-group-id/models/CurrencyRate.js +27 -0
- package/.worktrees/aicampaign-queue-group-id/models/Domain.js +40 -0
- package/.worktrees/aicampaign-queue-group-id/models/DynamicFeed.js +219 -0
- package/.worktrees/aicampaign-queue-group-id/models/ExplorAdsChannel.js +62 -0
- package/.worktrees/aicampaign-queue-group-id/models/FacebookRetryQueue.js +163 -0
- package/.worktrees/aicampaign-queue-group-id/models/Feed.js +34 -0
- package/.worktrees/aicampaign-queue-group-id/models/FeedArticleConfiguration.js +81 -0
- package/.worktrees/aicampaign-queue-group-id/models/Files.js +73 -0
- package/.worktrees/aicampaign-queue-group-id/models/Folders.js +133 -0
- package/.worktrees/aicampaign-queue-group-id/models/FrontStoryChannel.js +60 -0
- package/.worktrees/aicampaign-queue-group-id/models/FrontStoryChannelV2.js +60 -0
- package/.worktrees/aicampaign-queue-group-id/models/GenericFlowRequest.js +115 -0
- package/.worktrees/aicampaign-queue-group-id/models/KeywordPerformance.js +106 -0
- package/.worktrees/aicampaign-queue-group-id/models/KeywordRotationState.js +51 -0
- package/.worktrees/aicampaign-queue-group-id/models/MidoWebChannel.js +47 -0
- package/.worktrees/aicampaign-queue-group-id/models/MineChannel.js +43 -0
- package/.worktrees/aicampaign-queue-group-id/models/Pages.js +105 -0
- package/.worktrees/aicampaign-queue-group-id/models/PipelineExecution.js +59 -0
- package/.worktrees/aicampaign-queue-group-id/models/PolicyDogsCreativeCache.js +50 -0
- package/.worktrees/aicampaign-queue-group-id/models/PolicyDogsImageCache.js +30 -0
- package/.worktrees/aicampaign-queue-group-id/models/Presets.js +40 -0
- package/.worktrees/aicampaign-queue-group-id/models/RSOCFeedCampaign.js +375 -0
- package/.worktrees/aicampaign-queue-group-id/models/RsocKeywordPerformance.js +111 -0
- package/.worktrees/aicampaign-queue-group-id/models/RuleAction.js +90 -0
- package/.worktrees/aicampaign-queue-group-id/models/RuleCondition.js +137 -0
- package/.worktrees/aicampaign-queue-group-id/models/RuleExecution.js +107 -0
- package/.worktrees/aicampaign-queue-group-id/models/RulesValues.js +56 -0
- package/.worktrees/aicampaign-queue-group-id/models/SupportedLocale.js +24 -0
- package/.worktrees/aicampaign-queue-group-id/models/SyncHistory.js +250 -0
- package/.worktrees/aicampaign-queue-group-id/models/TTQChannel.js +42 -0
- package/.worktrees/aicampaign-queue-group-id/models/TemplateMetadata.js +260 -0
- package/.worktrees/aicampaign-queue-group-id/models/Tier2_AdAccounts.js +110 -0
- package/.worktrees/aicampaign-queue-group-id/models/Tier2_Assets.js +70 -0
- package/.worktrees/aicampaign-queue-group-id/models/Tier2_BusinessManagers.js +105 -0
- package/.worktrees/aicampaign-queue-group-id/models/Tier2_CreditLines.js +99 -0
- package/.worktrees/aicampaign-queue-group-id/models/Tier2_Pages.js +91 -0
- package/.worktrees/aicampaign-queue-group-id/models/Tier2_Pixels.js +82 -0
- package/.worktrees/aicampaign-queue-group-id/models/Tier2_Tokens.js +64 -0
- package/.worktrees/aicampaign-queue-group-id/models/Tier2_UserAdAccounts.js +83 -0
- package/.worktrees/aicampaign-queue-group-id/models/TokenRotationState.js +121 -0
- package/.worktrees/aicampaign-queue-group-id/models/TonicCampaign.js +97 -0
- package/.worktrees/aicampaign-queue-group-id/models/TonicRSOCKeywordPerformance.js +123 -0
- package/.worktrees/aicampaign-queue-group-id/models/Users.js +148 -0
- package/.worktrees/aicampaign-queue-group-id/models/Vertical.js +26 -0
- package/.worktrees/aicampaign-queue-group-id/models/newFiles.js +137 -0
- package/.worktrees/aicampaign-queue-group-id/models/pixel.js +47 -0
- package/.worktrees/aicampaign-queue-group-id/package-lock.json +405 -0
- package/.worktrees/aicampaign-queue-group-id/package.json +19 -0
- package/.worktrees/aicampaign-queue-group-id/run.ps1 +98 -0
- package/.worktrees/aicampaign-queue-group-id/run.sh +214 -0
- package/.worktrees/aicampaign-queue-group-id/services/sequelizeService.js +110 -0
- package/.worktrees/canonical-insights-model/LICENSE +21 -0
- package/.worktrees/canonical-insights-model/README.md +179 -0
- package/.worktrees/canonical-insights-model/index.js +169 -0
- package/.worktrees/canonical-insights-model/jq.exe +0 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-PIXELS-FOLLOWUP.md +85 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-ad.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-adaccount.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-adperformance.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-adset.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-adsetperformance.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-aiarticleretryqueue.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-aicampaignqueue.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-article.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-campaign.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-codefuelcampaign.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-dynamicfeed.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-facebookretryqueue.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-pages.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-17-add-platform-to-presets.js +19 -0
- package/.worktrees/canonical-insights-model/migrations/2026-05-18-create-canonical-insights.js +84 -0
- package/.worktrees/canonical-insights-model/migrations/RUN_ME_MANUALLY_2026-05-17.sql +99 -0
- package/.worktrees/canonical-insights-model/migrations/add-requested-from-dashboard-to-articles.js +17 -0
- package/.worktrees/canonical-insights-model/migrations/change-adset-name-to-text.js +79 -0
- package/.worktrees/canonical-insights-model/models/AICampaignQueue.js +144 -0
- package/.worktrees/canonical-insights-model/models/AIGenerationLog.js +85 -0
- package/.worktrees/canonical-insights-model/models/AIGenerationRequest.js +212 -0
- package/.worktrees/canonical-insights-model/models/ActivityHistory.js +73 -0
- package/.worktrees/canonical-insights-model/models/Ad.js +300 -0
- package/.worktrees/canonical-insights-model/models/AdAccount.js +97 -0
- package/.worktrees/canonical-insights-model/models/AdAccountValues.js +26 -0
- package/.worktrees/canonical-insights-model/models/AdHistory.js +30 -0
- package/.worktrees/canonical-insights-model/models/AdPerformance.js +100 -0
- package/.worktrees/canonical-insights-model/models/AdPerformanceHourly.js +71 -0
- package/.worktrees/canonical-insights-model/models/AdSet.js +295 -0
- package/.worktrees/canonical-insights-model/models/AdSetHistory.js +30 -0
- package/.worktrees/canonical-insights-model/models/AdsetPerformance.js +132 -0
- package/.worktrees/canonical-insights-model/models/AiArticleRetryQueue.js +157 -0
- package/.worktrees/canonical-insights-model/models/AiCreationRetryQueue.js +127 -0
- package/.worktrees/canonical-insights-model/models/Article.js +212 -0
- package/.worktrees/canonical-insights-model/models/AutomationRule.js +173 -0
- package/.worktrees/canonical-insights-model/models/BannerTemplate.js +129 -0
- package/.worktrees/canonical-insights-model/models/Buyers.js +26 -0
- package/.worktrees/canonical-insights-model/models/Campaign.js +163 -0
- package/.worktrees/canonical-insights-model/models/CampaignActionHistory.js +86 -0
- package/.worktrees/canonical-insights-model/models/CampaignCreationLog.js +309 -0
- package/.worktrees/canonical-insights-model/models/CampaignCreationLogV2.js +314 -0
- package/.worktrees/canonical-insights-model/models/CampaignHistory.js +33 -0
- package/.worktrees/canonical-insights-model/models/CanonicalInsights.js +68 -0
- package/.worktrees/canonical-insights-model/models/Channel.js +55 -0
- package/.worktrees/canonical-insights-model/models/CodefuelCampaign.js +175 -0
- package/.worktrees/canonical-insights-model/models/CodefuelCampaignKWHistory.js +41 -0
- package/.worktrees/canonical-insights-model/models/CodefuelKeywords.js +35 -0
- package/.worktrees/canonical-insights-model/models/CurrencyRate.js +27 -0
- package/.worktrees/canonical-insights-model/models/Domain.js +40 -0
- package/.worktrees/canonical-insights-model/models/DynamicFeed.js +219 -0
- package/.worktrees/canonical-insights-model/models/ExplorAdsChannel.js +62 -0
- package/.worktrees/canonical-insights-model/models/FacebookRetryQueue.js +163 -0
- package/.worktrees/canonical-insights-model/models/Feed.js +34 -0
- package/.worktrees/canonical-insights-model/models/FeedArticleConfiguration.js +81 -0
- package/.worktrees/canonical-insights-model/models/Files.js +73 -0
- package/.worktrees/canonical-insights-model/models/Folders.js +133 -0
- package/.worktrees/canonical-insights-model/models/FrontStoryChannel.js +60 -0
- package/.worktrees/canonical-insights-model/models/FrontStoryChannelV2.js +60 -0
- package/.worktrees/canonical-insights-model/models/GenericFlowRequest.js +115 -0
- package/.worktrees/canonical-insights-model/models/KeywordPerformance.js +106 -0
- package/.worktrees/canonical-insights-model/models/KeywordRotationState.js +51 -0
- package/.worktrees/canonical-insights-model/models/MidoWebChannel.js +47 -0
- package/.worktrees/canonical-insights-model/models/MineChannel.js +43 -0
- package/.worktrees/canonical-insights-model/models/Pages.js +105 -0
- package/.worktrees/canonical-insights-model/models/PipelineExecution.js +59 -0
- package/.worktrees/canonical-insights-model/models/PolicyDogsCreativeCache.js +50 -0
- package/.worktrees/canonical-insights-model/models/PolicyDogsImageCache.js +30 -0
- package/.worktrees/canonical-insights-model/models/Presets.js +40 -0
- package/.worktrees/canonical-insights-model/models/RSOCFeedCampaign.js +375 -0
- package/.worktrees/canonical-insights-model/models/RsocKeywordPerformance.js +111 -0
- package/.worktrees/canonical-insights-model/models/RuleAction.js +90 -0
- package/.worktrees/canonical-insights-model/models/RuleCondition.js +137 -0
- package/.worktrees/canonical-insights-model/models/RuleExecution.js +107 -0
- package/.worktrees/canonical-insights-model/models/RulesValues.js +56 -0
- package/.worktrees/canonical-insights-model/models/SupportedLocale.js +24 -0
- package/.worktrees/canonical-insights-model/models/SyncHistory.js +250 -0
- package/.worktrees/canonical-insights-model/models/TTQChannel.js +42 -0
- package/.worktrees/canonical-insights-model/models/TemplateMetadata.js +260 -0
- package/.worktrees/canonical-insights-model/models/Tier2_AdAccounts.js +110 -0
- package/.worktrees/canonical-insights-model/models/Tier2_Assets.js +70 -0
- package/.worktrees/canonical-insights-model/models/Tier2_BusinessManagers.js +105 -0
- package/.worktrees/canonical-insights-model/models/Tier2_CreditLines.js +99 -0
- package/.worktrees/canonical-insights-model/models/Tier2_Pages.js +91 -0
- package/.worktrees/canonical-insights-model/models/Tier2_Pixels.js +82 -0
- package/.worktrees/canonical-insights-model/models/Tier2_Tokens.js +64 -0
- package/.worktrees/canonical-insights-model/models/Tier2_UserAdAccounts.js +83 -0
- package/.worktrees/canonical-insights-model/models/TokenRotationState.js +121 -0
- package/.worktrees/canonical-insights-model/models/TonicCampaign.js +97 -0
- package/.worktrees/canonical-insights-model/models/TonicRSOCKeywordPerformance.js +123 -0
- package/.worktrees/canonical-insights-model/models/Users.js +148 -0
- package/.worktrees/canonical-insights-model/models/Vertical.js +26 -0
- package/.worktrees/canonical-insights-model/models/newFiles.js +137 -0
- package/.worktrees/canonical-insights-model/models/pixel.js +47 -0
- package/.worktrees/canonical-insights-model/package-lock.json +405 -0
- package/.worktrees/canonical-insights-model/package.json +19 -0
- package/.worktrees/canonical-insights-model/run.ps1 +98 -0
- package/.worktrees/canonical-insights-model/run.sh +214 -0
- package/.worktrees/canonical-insights-model/services/sequelizeService.js +110 -0
- package/.worktrees/creation-logs-platform-code/LICENSE +21 -0
- package/.worktrees/creation-logs-platform-code/README.md +179 -0
- package/.worktrees/creation-logs-platform-code/index.js +169 -0
- package/.worktrees/creation-logs-platform-code/jq.exe +0 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-PIXELS-FOLLOWUP.md +85 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-ad.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-adaccount.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-adperformance.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-adset.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-adsetperformance.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-aiarticleretryqueue.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-aicampaignqueue.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-article.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-campaign.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-codefuelcampaign.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-dynamicfeed.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-facebookretryqueue.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-pages.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-17-add-platform-to-presets.js +19 -0
- package/.worktrees/creation-logs-platform-code/migrations/2026-05-18-add-platform-code-to-creation-logs.js +65 -0
- package/.worktrees/creation-logs-platform-code/migrations/RUN_ME_MANUALLY_2026-05-17.sql +99 -0
- package/.worktrees/creation-logs-platform-code/migrations/add-requested-from-dashboard-to-articles.js +17 -0
- package/.worktrees/creation-logs-platform-code/migrations/change-adset-name-to-text.js +79 -0
- package/.worktrees/creation-logs-platform-code/models/AICampaignQueue.js +144 -0
- package/.worktrees/creation-logs-platform-code/models/AIGenerationLog.js +85 -0
- package/.worktrees/creation-logs-platform-code/models/AIGenerationRequest.js +212 -0
- package/.worktrees/creation-logs-platform-code/models/ActivityHistory.js +73 -0
- package/.worktrees/creation-logs-platform-code/models/Ad.js +300 -0
- package/.worktrees/creation-logs-platform-code/models/AdAccount.js +97 -0
- package/.worktrees/creation-logs-platform-code/models/AdAccountValues.js +26 -0
- package/.worktrees/creation-logs-platform-code/models/AdHistory.js +30 -0
- package/.worktrees/creation-logs-platform-code/models/AdPerformance.js +100 -0
- package/.worktrees/creation-logs-platform-code/models/AdPerformanceHourly.js +71 -0
- package/.worktrees/creation-logs-platform-code/models/AdSet.js +295 -0
- package/.worktrees/creation-logs-platform-code/models/AdSetHistory.js +30 -0
- package/.worktrees/creation-logs-platform-code/models/AdsetPerformance.js +132 -0
- package/.worktrees/creation-logs-platform-code/models/AiArticleRetryQueue.js +157 -0
- package/.worktrees/creation-logs-platform-code/models/AiCreationRetryQueue.js +127 -0
- package/.worktrees/creation-logs-platform-code/models/Article.js +212 -0
- package/.worktrees/creation-logs-platform-code/models/AutomationRule.js +173 -0
- package/.worktrees/creation-logs-platform-code/models/BannerTemplate.js +129 -0
- package/.worktrees/creation-logs-platform-code/models/Buyers.js +26 -0
- package/.worktrees/creation-logs-platform-code/models/Campaign.js +163 -0
- package/.worktrees/creation-logs-platform-code/models/CampaignActionHistory.js +86 -0
- package/.worktrees/creation-logs-platform-code/models/CampaignCreationLog.js +321 -0
- package/.worktrees/creation-logs-platform-code/models/CampaignCreationLogV2.js +322 -0
- package/.worktrees/creation-logs-platform-code/models/CampaignHistory.js +33 -0
- package/.worktrees/creation-logs-platform-code/models/Channel.js +55 -0
- package/.worktrees/creation-logs-platform-code/models/CodefuelCampaign.js +175 -0
- package/.worktrees/creation-logs-platform-code/models/CodefuelCampaignKWHistory.js +41 -0
- package/.worktrees/creation-logs-platform-code/models/CodefuelKeywords.js +35 -0
- package/.worktrees/creation-logs-platform-code/models/CurrencyRate.js +27 -0
- package/.worktrees/creation-logs-platform-code/models/Domain.js +40 -0
- package/.worktrees/creation-logs-platform-code/models/DynamicFeed.js +219 -0
- package/.worktrees/creation-logs-platform-code/models/ExplorAdsChannel.js +62 -0
- package/.worktrees/creation-logs-platform-code/models/FacebookRetryQueue.js +163 -0
- package/.worktrees/creation-logs-platform-code/models/Feed.js +34 -0
- package/.worktrees/creation-logs-platform-code/models/FeedArticleConfiguration.js +81 -0
- package/.worktrees/creation-logs-platform-code/models/Files.js +73 -0
- package/.worktrees/creation-logs-platform-code/models/Folders.js +133 -0
- package/.worktrees/creation-logs-platform-code/models/FrontStoryChannel.js +60 -0
- package/.worktrees/creation-logs-platform-code/models/FrontStoryChannelV2.js +60 -0
- package/.worktrees/creation-logs-platform-code/models/GenericFlowRequest.js +115 -0
- package/.worktrees/creation-logs-platform-code/models/KeywordPerformance.js +106 -0
- package/.worktrees/creation-logs-platform-code/models/KeywordRotationState.js +51 -0
- package/.worktrees/creation-logs-platform-code/models/MidoWebChannel.js +47 -0
- package/.worktrees/creation-logs-platform-code/models/MineChannel.js +43 -0
- package/.worktrees/creation-logs-platform-code/models/Pages.js +105 -0
- package/.worktrees/creation-logs-platform-code/models/PipelineExecution.js +59 -0
- package/.worktrees/creation-logs-platform-code/models/PolicyDogsCreativeCache.js +50 -0
- package/.worktrees/creation-logs-platform-code/models/PolicyDogsImageCache.js +30 -0
- package/.worktrees/creation-logs-platform-code/models/Presets.js +40 -0
- package/.worktrees/creation-logs-platform-code/models/RSOCFeedCampaign.js +375 -0
- package/.worktrees/creation-logs-platform-code/models/RsocKeywordPerformance.js +111 -0
- package/.worktrees/creation-logs-platform-code/models/RuleAction.js +90 -0
- package/.worktrees/creation-logs-platform-code/models/RuleCondition.js +137 -0
- package/.worktrees/creation-logs-platform-code/models/RuleExecution.js +107 -0
- package/.worktrees/creation-logs-platform-code/models/RulesValues.js +56 -0
- package/.worktrees/creation-logs-platform-code/models/SupportedLocale.js +24 -0
- package/.worktrees/creation-logs-platform-code/models/SyncHistory.js +250 -0
- package/.worktrees/creation-logs-platform-code/models/TTQChannel.js +42 -0
- package/.worktrees/creation-logs-platform-code/models/TemplateMetadata.js +260 -0
- package/.worktrees/creation-logs-platform-code/models/Tier2_AdAccounts.js +110 -0
- package/.worktrees/creation-logs-platform-code/models/Tier2_Assets.js +70 -0
- package/.worktrees/creation-logs-platform-code/models/Tier2_BusinessManagers.js +105 -0
- package/.worktrees/creation-logs-platform-code/models/Tier2_CreditLines.js +99 -0
- package/.worktrees/creation-logs-platform-code/models/Tier2_Pages.js +91 -0
- package/.worktrees/creation-logs-platform-code/models/Tier2_Pixels.js +82 -0
- package/.worktrees/creation-logs-platform-code/models/Tier2_Tokens.js +64 -0
- package/.worktrees/creation-logs-platform-code/models/Tier2_UserAdAccounts.js +83 -0
- package/.worktrees/creation-logs-platform-code/models/TokenRotationState.js +121 -0
- package/.worktrees/creation-logs-platform-code/models/TonicCampaign.js +97 -0
- package/.worktrees/creation-logs-platform-code/models/TonicRSOCKeywordPerformance.js +123 -0
- package/.worktrees/creation-logs-platform-code/models/Users.js +148 -0
- package/.worktrees/creation-logs-platform-code/models/Vertical.js +26 -0
- package/.worktrees/creation-logs-platform-code/models/newFiles.js +137 -0
- package/.worktrees/creation-logs-platform-code/models/pixel.js +47 -0
- package/.worktrees/creation-logs-platform-code/package-lock.json +405 -0
- package/.worktrees/creation-logs-platform-code/package.json +19 -0
- package/.worktrees/creation-logs-platform-code/run.ps1 +98 -0
- package/.worktrees/creation-logs-platform-code/run.sh +214 -0
- package/.worktrees/creation-logs-platform-code/services/sequelizeService.js +110 -0
- package/.worktrees/pixels-platform-code/LICENSE +21 -0
- package/.worktrees/pixels-platform-code/README.md +179 -0
- package/.worktrees/pixels-platform-code/index.js +169 -0
- package/.worktrees/pixels-platform-code/jq.exe +0 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-PIXELS-FOLLOWUP.md +85 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-ad.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-adaccount.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-adperformance.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-adset.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-adsetperformance.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-aiarticleretryqueue.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-aicampaignqueue.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-article.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-campaign.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-codefuelcampaign.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-dynamicfeed.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-facebookretryqueue.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-pages.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-17-add-platform-to-presets.js +19 -0
- package/.worktrees/pixels-platform-code/migrations/2026-05-18-add-platform-code-to-pixels.js +55 -0
- package/.worktrees/pixels-platform-code/migrations/RUN_ME_MANUALLY_2026-05-17.sql +99 -0
- package/.worktrees/pixels-platform-code/migrations/add-requested-from-dashboard-to-articles.js +17 -0
- package/.worktrees/pixels-platform-code/migrations/change-adset-name-to-text.js +79 -0
- package/.worktrees/pixels-platform-code/models/AICampaignQueue.js +144 -0
- package/.worktrees/pixels-platform-code/models/AIGenerationLog.js +85 -0
- package/.worktrees/pixels-platform-code/models/AIGenerationRequest.js +212 -0
- package/.worktrees/pixels-platform-code/models/ActivityHistory.js +73 -0
- package/.worktrees/pixels-platform-code/models/Ad.js +300 -0
- package/.worktrees/pixels-platform-code/models/AdAccount.js +97 -0
- package/.worktrees/pixels-platform-code/models/AdAccountValues.js +26 -0
- package/.worktrees/pixels-platform-code/models/AdHistory.js +30 -0
- package/.worktrees/pixels-platform-code/models/AdPerformance.js +100 -0
- package/.worktrees/pixels-platform-code/models/AdPerformanceHourly.js +71 -0
- package/.worktrees/pixels-platform-code/models/AdSet.js +295 -0
- package/.worktrees/pixels-platform-code/models/AdSetHistory.js +30 -0
- package/.worktrees/pixels-platform-code/models/AdsetPerformance.js +132 -0
- package/.worktrees/pixels-platform-code/models/AiArticleRetryQueue.js +157 -0
- package/.worktrees/pixels-platform-code/models/AiCreationRetryQueue.js +127 -0
- package/.worktrees/pixels-platform-code/models/Article.js +212 -0
- package/.worktrees/pixels-platform-code/models/AutomationRule.js +173 -0
- package/.worktrees/pixels-platform-code/models/BannerTemplate.js +129 -0
- package/.worktrees/pixels-platform-code/models/Buyers.js +26 -0
- package/.worktrees/pixels-platform-code/models/Campaign.js +163 -0
- package/.worktrees/pixels-platform-code/models/CampaignActionHistory.js +86 -0
- package/.worktrees/pixels-platform-code/models/CampaignCreationLog.js +309 -0
- package/.worktrees/pixels-platform-code/models/CampaignCreationLogV2.js +314 -0
- package/.worktrees/pixels-platform-code/models/CampaignHistory.js +33 -0
- package/.worktrees/pixels-platform-code/models/Channel.js +55 -0
- package/.worktrees/pixels-platform-code/models/CodefuelCampaign.js +175 -0
- package/.worktrees/pixels-platform-code/models/CodefuelCampaignKWHistory.js +41 -0
- package/.worktrees/pixels-platform-code/models/CodefuelKeywords.js +35 -0
- package/.worktrees/pixels-platform-code/models/CurrencyRate.js +27 -0
- package/.worktrees/pixels-platform-code/models/Domain.js +40 -0
- package/.worktrees/pixels-platform-code/models/DynamicFeed.js +219 -0
- package/.worktrees/pixels-platform-code/models/ExplorAdsChannel.js +62 -0
- package/.worktrees/pixels-platform-code/models/FacebookRetryQueue.js +163 -0
- package/.worktrees/pixels-platform-code/models/Feed.js +34 -0
- package/.worktrees/pixels-platform-code/models/FeedArticleConfiguration.js +81 -0
- package/.worktrees/pixels-platform-code/models/Files.js +73 -0
- package/.worktrees/pixels-platform-code/models/Folders.js +133 -0
- package/.worktrees/pixels-platform-code/models/FrontStoryChannel.js +60 -0
- package/.worktrees/pixels-platform-code/models/FrontStoryChannelV2.js +60 -0
- package/.worktrees/pixels-platform-code/models/GenericFlowRequest.js +115 -0
- package/.worktrees/pixels-platform-code/models/KeywordPerformance.js +106 -0
- package/.worktrees/pixels-platform-code/models/KeywordRotationState.js +51 -0
- package/.worktrees/pixels-platform-code/models/MidoWebChannel.js +47 -0
- package/.worktrees/pixels-platform-code/models/MineChannel.js +43 -0
- package/.worktrees/pixels-platform-code/models/Pages.js +105 -0
- package/.worktrees/pixels-platform-code/models/PipelineExecution.js +59 -0
- package/.worktrees/pixels-platform-code/models/PolicyDogsCreativeCache.js +50 -0
- package/.worktrees/pixels-platform-code/models/PolicyDogsImageCache.js +30 -0
- package/.worktrees/pixels-platform-code/models/Presets.js +40 -0
- package/.worktrees/pixels-platform-code/models/RSOCFeedCampaign.js +375 -0
- package/.worktrees/pixels-platform-code/models/RsocKeywordPerformance.js +111 -0
- package/.worktrees/pixels-platform-code/models/RuleAction.js +90 -0
- package/.worktrees/pixels-platform-code/models/RuleCondition.js +137 -0
- package/.worktrees/pixels-platform-code/models/RuleExecution.js +107 -0
- package/.worktrees/pixels-platform-code/models/RulesValues.js +56 -0
- package/.worktrees/pixels-platform-code/models/SupportedLocale.js +24 -0
- package/.worktrees/pixels-platform-code/models/SyncHistory.js +250 -0
- package/.worktrees/pixels-platform-code/models/TTQChannel.js +42 -0
- package/.worktrees/pixels-platform-code/models/TemplateMetadata.js +260 -0
- package/.worktrees/pixels-platform-code/models/Tier2_AdAccounts.js +110 -0
- package/.worktrees/pixels-platform-code/models/Tier2_Assets.js +70 -0
- package/.worktrees/pixels-platform-code/models/Tier2_BusinessManagers.js +105 -0
- package/.worktrees/pixels-platform-code/models/Tier2_CreditLines.js +99 -0
- package/.worktrees/pixels-platform-code/models/Tier2_Pages.js +91 -0
- package/.worktrees/pixels-platform-code/models/Tier2_Pixels.js +82 -0
- package/.worktrees/pixels-platform-code/models/Tier2_Tokens.js +64 -0
- package/.worktrees/pixels-platform-code/models/Tier2_UserAdAccounts.js +83 -0
- package/.worktrees/pixels-platform-code/models/TokenRotationState.js +121 -0
- package/.worktrees/pixels-platform-code/models/TonicCampaign.js +97 -0
- package/.worktrees/pixels-platform-code/models/TonicRSOCKeywordPerformance.js +123 -0
- package/.worktrees/pixels-platform-code/models/Users.js +148 -0
- package/.worktrees/pixels-platform-code/models/Vertical.js +26 -0
- package/.worktrees/pixels-platform-code/models/newFiles.js +137 -0
- package/.worktrees/pixels-platform-code/models/pixel.js +53 -0
- package/.worktrees/pixels-platform-code/package-lock.json +405 -0
- package/.worktrees/pixels-platform-code/package.json +19 -0
- package/.worktrees/pixels-platform-code/run.ps1 +98 -0
- package/.worktrees/pixels-platform-code/run.sh +214 -0
- package/.worktrees/pixels-platform-code/services/sequelizeService.js +110 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/LICENSE +21 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/README.md +179 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/index.js +169 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/jq.exe +0 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-PIXELS-FOLLOWUP.md +85 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-ad.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-adaccount.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-adperformance.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-adset.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-adsetperformance.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-aiarticleretryqueue.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-aicampaignqueue.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-article.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-campaign.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-codefuelcampaign.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-dynamicfeed.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-facebookretryqueue.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-pages.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-17-add-platform-to-presets.js +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/2026-05-18-add-platform-code-to-rsoc-feed-campaigns.js +55 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/RUN_ME_MANUALLY_2026-05-17.sql +99 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/add-requested-from-dashboard-to-articles.js +17 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/migrations/change-adset-name-to-text.js +79 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AICampaignQueue.js +144 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AIGenerationLog.js +85 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AIGenerationRequest.js +212 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/ActivityHistory.js +73 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Ad.js +300 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AdAccount.js +97 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AdAccountValues.js +26 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AdHistory.js +30 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AdPerformance.js +100 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AdPerformanceHourly.js +71 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AdSet.js +295 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AdSetHistory.js +30 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AdsetPerformance.js +132 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AiArticleRetryQueue.js +157 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AiCreationRetryQueue.js +127 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Article.js +212 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/AutomationRule.js +173 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/BannerTemplate.js +129 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Buyers.js +26 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Campaign.js +163 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/CampaignActionHistory.js +86 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/CampaignCreationLog.js +309 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/CampaignCreationLogV2.js +314 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/CampaignHistory.js +33 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Channel.js +55 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/CodefuelCampaign.js +175 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/CodefuelCampaignKWHistory.js +41 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/CodefuelKeywords.js +35 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/CurrencyRate.js +27 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Domain.js +40 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/DynamicFeed.js +219 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/ExplorAdsChannel.js +62 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/FacebookRetryQueue.js +163 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Feed.js +34 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/FeedArticleConfiguration.js +81 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Files.js +73 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Folders.js +133 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/FrontStoryChannel.js +60 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/FrontStoryChannelV2.js +60 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/GenericFlowRequest.js +115 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/KeywordPerformance.js +106 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/KeywordRotationState.js +51 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/MidoWebChannel.js +47 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/MineChannel.js +43 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Pages.js +105 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/PipelineExecution.js +59 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/PolicyDogsCreativeCache.js +50 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/PolicyDogsImageCache.js +30 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Presets.js +40 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/RSOCFeedCampaign.js +381 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/RsocKeywordPerformance.js +111 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/RuleAction.js +90 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/RuleCondition.js +137 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/RuleExecution.js +107 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/RulesValues.js +56 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/SupportedLocale.js +24 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/SyncHistory.js +250 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/TTQChannel.js +42 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/TemplateMetadata.js +260 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Tier2_AdAccounts.js +110 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Tier2_Assets.js +70 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Tier2_BusinessManagers.js +105 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Tier2_CreditLines.js +99 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Tier2_Pages.js +91 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Tier2_Pixels.js +82 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Tier2_Tokens.js +64 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Tier2_UserAdAccounts.js +83 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/TokenRotationState.js +121 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/TonicCampaign.js +97 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/TonicRSOCKeywordPerformance.js +123 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Users.js +148 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/Vertical.js +26 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/newFiles.js +137 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/models/pixel.js +47 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/package-lock.json +405 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/package.json +19 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/run.ps1 +98 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/run.sh +214 -0
- package/.worktrees/rsoc-feed-campaigns-platform-code/services/sequelizeService.js +110 -0
- package/.worktrees/tt-snp-adset-ad-tables/LICENSE +21 -0
- package/.worktrees/tt-snp-adset-ad-tables/README.md +179 -0
- package/.worktrees/tt-snp-adset-ad-tables/index.js +169 -0
- package/.worktrees/tt-snp-adset-ad-tables/jq.exe +0 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-PIXELS-FOLLOWUP.md +85 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-ad.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-adaccount.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-adperformance.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-adset.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-adsetperformance.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-aiarticleretryqueue.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-aicampaignqueue.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-article.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-campaign.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-codefuelcampaign.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-dynamicfeed.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-facebookretryqueue.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-pages.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-17-add-platform-to-presets.js +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/2026-05-18-create-tt-snp-adset-ad-tables.js +309 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/RUN_ME_MANUALLY_2026-05-17.sql +99 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/add-requested-from-dashboard-to-articles.js +17 -0
- package/.worktrees/tt-snp-adset-ad-tables/migrations/change-adset-name-to-text.js +79 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AICampaignQueue.js +144 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AIGenerationLog.js +85 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AIGenerationRequest.js +212 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/ActivityHistory.js +73 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Ad.js +300 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AdAccount.js +97 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AdAccountValues.js +26 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AdHistory.js +30 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AdPerformance.js +100 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AdPerformanceHourly.js +71 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AdSet.js +295 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AdSetHistory.js +30 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AdsetPerformance.js +132 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AiArticleRetryQueue.js +157 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AiCreationRetryQueue.js +127 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Article.js +212 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/AutomationRule.js +173 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/BannerTemplate.js +129 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Buyers.js +26 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Campaign.js +163 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/CampaignActionHistory.js +86 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/CampaignCreationLog.js +309 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/CampaignCreationLogV2.js +314 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/CampaignHistory.js +33 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Channel.js +55 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/CodefuelCampaign.js +175 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/CodefuelCampaignKWHistory.js +41 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/CodefuelKeywords.js +35 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/CurrencyRate.js +27 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Domain.js +40 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/DynamicFeed.js +219 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/ExplorAdsChannel.js +62 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/FacebookRetryQueue.js +163 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Feed.js +34 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/FeedArticleConfiguration.js +81 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Files.js +73 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Folders.js +133 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/FrontStoryChannel.js +60 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/FrontStoryChannelV2.js +60 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/GenericFlowRequest.js +115 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/KeywordPerformance.js +106 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/KeywordRotationState.js +51 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/MidoWebChannel.js +47 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/MineChannel.js +43 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Pages.js +105 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/PipelineExecution.js +59 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/PolicyDogsCreativeCache.js +50 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/PolicyDogsImageCache.js +30 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Presets.js +40 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/RSOCFeedCampaign.js +375 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/RsocKeywordPerformance.js +111 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/RuleAction.js +90 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/RuleCondition.js +137 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/RuleExecution.js +107 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/RulesValues.js +56 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/SnapchatAd.js +69 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/SnapchatAdSquad.js +92 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/SupportedLocale.js +24 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/SyncHistory.js +250 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/TTQChannel.js +42 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/TemplateMetadata.js +260 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Tier2_AdAccounts.js +110 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Tier2_Assets.js +70 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Tier2_BusinessManagers.js +105 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Tier2_CreditLines.js +99 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Tier2_Pages.js +91 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Tier2_Pixels.js +82 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Tier2_Tokens.js +64 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Tier2_UserAdAccounts.js +83 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/TikTokAd.js +71 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/TikTokAdGroup.js +82 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/TokenRotationState.js +121 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/TonicCampaign.js +97 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/TonicRSOCKeywordPerformance.js +123 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Users.js +148 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/Vertical.js +26 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/newFiles.js +137 -0
- package/.worktrees/tt-snp-adset-ad-tables/models/pixel.js +47 -0
- package/.worktrees/tt-snp-adset-ad-tables/package-lock.json +405 -0
- package/.worktrees/tt-snp-adset-ad-tables/package.json +19 -0
- package/.worktrees/tt-snp-adset-ad-tables/run.ps1 +98 -0
- package/.worktrees/tt-snp-adset-ad-tables/run.sh +214 -0
- package/.worktrees/tt-snp-adset-ad-tables/services/sequelizeService.js +110 -0
- package/.worktrees/tt-snp-asset-tables/LICENSE +21 -0
- package/.worktrees/tt-snp-asset-tables/README.md +179 -0
- package/.worktrees/tt-snp-asset-tables/index.js +169 -0
- package/.worktrees/tt-snp-asset-tables/jq.exe +0 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-PIXELS-FOLLOWUP.md +85 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-ad.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-adaccount.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-adperformance.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-adset.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-adsetperformance.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-aiarticleretryqueue.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-aicampaignqueue.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-article.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-campaign.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-codefuelcampaign.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-dynamicfeed.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-facebookretryqueue.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-pages.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-17-add-platform-to-presets.js +19 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-18-create-snapchat-public-profiles.js +68 -0
- package/.worktrees/tt-snp-asset-tables/migrations/2026-05-18-create-tiktok-identities.js +71 -0
- package/.worktrees/tt-snp-asset-tables/migrations/RUN_ME_MANUALLY_2026-05-17.sql +99 -0
- package/.worktrees/tt-snp-asset-tables/migrations/add-requested-from-dashboard-to-articles.js +17 -0
- package/.worktrees/tt-snp-asset-tables/migrations/change-adset-name-to-text.js +79 -0
- package/.worktrees/tt-snp-asset-tables/models/AICampaignQueue.js +144 -0
- package/.worktrees/tt-snp-asset-tables/models/AIGenerationLog.js +85 -0
- package/.worktrees/tt-snp-asset-tables/models/AIGenerationRequest.js +212 -0
- package/.worktrees/tt-snp-asset-tables/models/ActivityHistory.js +73 -0
- package/.worktrees/tt-snp-asset-tables/models/Ad.js +300 -0
- package/.worktrees/tt-snp-asset-tables/models/AdAccount.js +97 -0
- package/.worktrees/tt-snp-asset-tables/models/AdAccountValues.js +26 -0
- package/.worktrees/tt-snp-asset-tables/models/AdHistory.js +30 -0
- package/.worktrees/tt-snp-asset-tables/models/AdPerformance.js +100 -0
- package/.worktrees/tt-snp-asset-tables/models/AdPerformanceHourly.js +71 -0
- package/.worktrees/tt-snp-asset-tables/models/AdSet.js +295 -0
- package/.worktrees/tt-snp-asset-tables/models/AdSetHistory.js +30 -0
- package/.worktrees/tt-snp-asset-tables/models/AdsetPerformance.js +132 -0
- package/.worktrees/tt-snp-asset-tables/models/AiArticleRetryQueue.js +157 -0
- package/.worktrees/tt-snp-asset-tables/models/AiCreationRetryQueue.js +127 -0
- package/.worktrees/tt-snp-asset-tables/models/Article.js +212 -0
- package/.worktrees/tt-snp-asset-tables/models/AutomationRule.js +173 -0
- package/.worktrees/tt-snp-asset-tables/models/BannerTemplate.js +129 -0
- package/.worktrees/tt-snp-asset-tables/models/Buyers.js +26 -0
- package/.worktrees/tt-snp-asset-tables/models/Campaign.js +163 -0
- package/.worktrees/tt-snp-asset-tables/models/CampaignActionHistory.js +86 -0
- package/.worktrees/tt-snp-asset-tables/models/CampaignCreationLog.js +309 -0
- package/.worktrees/tt-snp-asset-tables/models/CampaignCreationLogV2.js +314 -0
- package/.worktrees/tt-snp-asset-tables/models/CampaignHistory.js +33 -0
- package/.worktrees/tt-snp-asset-tables/models/Channel.js +55 -0
- package/.worktrees/tt-snp-asset-tables/models/CodefuelCampaign.js +175 -0
- package/.worktrees/tt-snp-asset-tables/models/CodefuelCampaignKWHistory.js +41 -0
- package/.worktrees/tt-snp-asset-tables/models/CodefuelKeywords.js +35 -0
- package/.worktrees/tt-snp-asset-tables/models/CurrencyRate.js +27 -0
- package/.worktrees/tt-snp-asset-tables/models/Domain.js +40 -0
- package/.worktrees/tt-snp-asset-tables/models/DynamicFeed.js +219 -0
- package/.worktrees/tt-snp-asset-tables/models/ExplorAdsChannel.js +62 -0
- package/.worktrees/tt-snp-asset-tables/models/FacebookRetryQueue.js +163 -0
- package/.worktrees/tt-snp-asset-tables/models/Feed.js +34 -0
- package/.worktrees/tt-snp-asset-tables/models/FeedArticleConfiguration.js +81 -0
- package/.worktrees/tt-snp-asset-tables/models/Files.js +73 -0
- package/.worktrees/tt-snp-asset-tables/models/Folders.js +133 -0
- package/.worktrees/tt-snp-asset-tables/models/FrontStoryChannel.js +60 -0
- package/.worktrees/tt-snp-asset-tables/models/FrontStoryChannelV2.js +60 -0
- package/.worktrees/tt-snp-asset-tables/models/GenericFlowRequest.js +115 -0
- package/.worktrees/tt-snp-asset-tables/models/KeywordPerformance.js +106 -0
- package/.worktrees/tt-snp-asset-tables/models/KeywordRotationState.js +51 -0
- package/.worktrees/tt-snp-asset-tables/models/MidoWebChannel.js +47 -0
- package/.worktrees/tt-snp-asset-tables/models/MineChannel.js +43 -0
- package/.worktrees/tt-snp-asset-tables/models/Pages.js +105 -0
- package/.worktrees/tt-snp-asset-tables/models/PipelineExecution.js +59 -0
- package/.worktrees/tt-snp-asset-tables/models/PolicyDogsCreativeCache.js +50 -0
- package/.worktrees/tt-snp-asset-tables/models/PolicyDogsImageCache.js +30 -0
- package/.worktrees/tt-snp-asset-tables/models/Presets.js +40 -0
- package/.worktrees/tt-snp-asset-tables/models/RSOCFeedCampaign.js +375 -0
- package/.worktrees/tt-snp-asset-tables/models/RsocKeywordPerformance.js +111 -0
- package/.worktrees/tt-snp-asset-tables/models/RuleAction.js +90 -0
- package/.worktrees/tt-snp-asset-tables/models/RuleCondition.js +137 -0
- package/.worktrees/tt-snp-asset-tables/models/RuleExecution.js +107 -0
- package/.worktrees/tt-snp-asset-tables/models/RulesValues.js +56 -0
- package/.worktrees/tt-snp-asset-tables/models/SnapchatPublicProfiles.js +47 -0
- package/.worktrees/tt-snp-asset-tables/models/SupportedLocale.js +24 -0
- package/.worktrees/tt-snp-asset-tables/models/SyncHistory.js +250 -0
- package/.worktrees/tt-snp-asset-tables/models/TTQChannel.js +42 -0
- package/.worktrees/tt-snp-asset-tables/models/TemplateMetadata.js +260 -0
- package/.worktrees/tt-snp-asset-tables/models/Tier2_AdAccounts.js +110 -0
- package/.worktrees/tt-snp-asset-tables/models/Tier2_Assets.js +70 -0
- package/.worktrees/tt-snp-asset-tables/models/Tier2_BusinessManagers.js +105 -0
- package/.worktrees/tt-snp-asset-tables/models/Tier2_CreditLines.js +99 -0
- package/.worktrees/tt-snp-asset-tables/models/Tier2_Pages.js +91 -0
- package/.worktrees/tt-snp-asset-tables/models/Tier2_Pixels.js +82 -0
- package/.worktrees/tt-snp-asset-tables/models/Tier2_Tokens.js +64 -0
- package/.worktrees/tt-snp-asset-tables/models/Tier2_UserAdAccounts.js +83 -0
- package/.worktrees/tt-snp-asset-tables/models/TiktokIdentities.js +51 -0
- package/.worktrees/tt-snp-asset-tables/models/TokenRotationState.js +121 -0
- package/.worktrees/tt-snp-asset-tables/models/TonicCampaign.js +97 -0
- package/.worktrees/tt-snp-asset-tables/models/TonicRSOCKeywordPerformance.js +123 -0
- package/.worktrees/tt-snp-asset-tables/models/Users.js +148 -0
- package/.worktrees/tt-snp-asset-tables/models/Vertical.js +26 -0
- package/.worktrees/tt-snp-asset-tables/models/newFiles.js +137 -0
- package/.worktrees/tt-snp-asset-tables/models/pixel.js +47 -0
- package/.worktrees/tt-snp-asset-tables/package-lock.json +405 -0
- package/.worktrees/tt-snp-asset-tables/package.json +19 -0
- package/.worktrees/tt-snp-asset-tables/run.ps1 +98 -0
- package/.worktrees/tt-snp-asset-tables/run.sh +214 -0
- package/.worktrees/tt-snp-asset-tables/services/sequelizeService.js +110 -0
- package/.worktrees/tt-snp-campaign-tables/LICENSE +21 -0
- package/.worktrees/tt-snp-campaign-tables/README.md +179 -0
- package/.worktrees/tt-snp-campaign-tables/index.js +169 -0
- package/.worktrees/tt-snp-campaign-tables/jq.exe +0 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-PIXELS-FOLLOWUP.md +85 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-ad.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-adaccount.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-adperformance.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-adset.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-adsetperformance.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-aiarticleretryqueue.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-aicampaignqueue.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-article.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-campaign.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-codefuelcampaign.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-dynamicfeed.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-facebookretryqueue.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-pages.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-17-add-platform-to-presets.js +19 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/2026-05-18-create-tiktok-snapchat-campaigns.js +143 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/RUN_ME_MANUALLY_2026-05-17.sql +99 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/add-requested-from-dashboard-to-articles.js +17 -0
- package/.worktrees/tt-snp-campaign-tables/migrations/change-adset-name-to-text.js +79 -0
- package/.worktrees/tt-snp-campaign-tables/models/AICampaignQueue.js +144 -0
- package/.worktrees/tt-snp-campaign-tables/models/AIGenerationLog.js +85 -0
- package/.worktrees/tt-snp-campaign-tables/models/AIGenerationRequest.js +212 -0
- package/.worktrees/tt-snp-campaign-tables/models/ActivityHistory.js +73 -0
- package/.worktrees/tt-snp-campaign-tables/models/Ad.js +300 -0
- package/.worktrees/tt-snp-campaign-tables/models/AdAccount.js +97 -0
- package/.worktrees/tt-snp-campaign-tables/models/AdAccountValues.js +26 -0
- package/.worktrees/tt-snp-campaign-tables/models/AdHistory.js +30 -0
- package/.worktrees/tt-snp-campaign-tables/models/AdPerformance.js +100 -0
- package/.worktrees/tt-snp-campaign-tables/models/AdPerformanceHourly.js +71 -0
- package/.worktrees/tt-snp-campaign-tables/models/AdSet.js +295 -0
- package/.worktrees/tt-snp-campaign-tables/models/AdSetHistory.js +30 -0
- package/.worktrees/tt-snp-campaign-tables/models/AdsetPerformance.js +132 -0
- package/.worktrees/tt-snp-campaign-tables/models/AiArticleRetryQueue.js +157 -0
- package/.worktrees/tt-snp-campaign-tables/models/AiCreationRetryQueue.js +127 -0
- package/.worktrees/tt-snp-campaign-tables/models/Article.js +212 -0
- package/.worktrees/tt-snp-campaign-tables/models/AutomationRule.js +173 -0
- package/.worktrees/tt-snp-campaign-tables/models/BannerTemplate.js +129 -0
- package/.worktrees/tt-snp-campaign-tables/models/Buyers.js +26 -0
- package/.worktrees/tt-snp-campaign-tables/models/Campaign.js +163 -0
- package/.worktrees/tt-snp-campaign-tables/models/CampaignActionHistory.js +86 -0
- package/.worktrees/tt-snp-campaign-tables/models/CampaignCreationLog.js +309 -0
- package/.worktrees/tt-snp-campaign-tables/models/CampaignCreationLogV2.js +314 -0
- package/.worktrees/tt-snp-campaign-tables/models/CampaignHistory.js +33 -0
- package/.worktrees/tt-snp-campaign-tables/models/Channel.js +55 -0
- package/.worktrees/tt-snp-campaign-tables/models/CodefuelCampaign.js +175 -0
- package/.worktrees/tt-snp-campaign-tables/models/CodefuelCampaignKWHistory.js +41 -0
- package/.worktrees/tt-snp-campaign-tables/models/CodefuelKeywords.js +35 -0
- package/.worktrees/tt-snp-campaign-tables/models/CurrencyRate.js +27 -0
- package/.worktrees/tt-snp-campaign-tables/models/Domain.js +40 -0
- package/.worktrees/tt-snp-campaign-tables/models/DynamicFeed.js +219 -0
- package/.worktrees/tt-snp-campaign-tables/models/ExplorAdsChannel.js +62 -0
- package/.worktrees/tt-snp-campaign-tables/models/FacebookRetryQueue.js +163 -0
- package/.worktrees/tt-snp-campaign-tables/models/Feed.js +34 -0
- package/.worktrees/tt-snp-campaign-tables/models/FeedArticleConfiguration.js +81 -0
- package/.worktrees/tt-snp-campaign-tables/models/Files.js +73 -0
- package/.worktrees/tt-snp-campaign-tables/models/Folders.js +133 -0
- package/.worktrees/tt-snp-campaign-tables/models/FrontStoryChannel.js +60 -0
- package/.worktrees/tt-snp-campaign-tables/models/FrontStoryChannelV2.js +60 -0
- package/.worktrees/tt-snp-campaign-tables/models/GenericFlowRequest.js +115 -0
- package/.worktrees/tt-snp-campaign-tables/models/KeywordPerformance.js +106 -0
- package/.worktrees/tt-snp-campaign-tables/models/KeywordRotationState.js +51 -0
- package/.worktrees/tt-snp-campaign-tables/models/MidoWebChannel.js +47 -0
- package/.worktrees/tt-snp-campaign-tables/models/MineChannel.js +43 -0
- package/.worktrees/tt-snp-campaign-tables/models/Pages.js +105 -0
- package/.worktrees/tt-snp-campaign-tables/models/PipelineExecution.js +59 -0
- package/.worktrees/tt-snp-campaign-tables/models/PolicyDogsCreativeCache.js +50 -0
- package/.worktrees/tt-snp-campaign-tables/models/PolicyDogsImageCache.js +30 -0
- package/.worktrees/tt-snp-campaign-tables/models/Presets.js +40 -0
- package/.worktrees/tt-snp-campaign-tables/models/RSOCFeedCampaign.js +375 -0
- package/.worktrees/tt-snp-campaign-tables/models/RsocKeywordPerformance.js +111 -0
- package/.worktrees/tt-snp-campaign-tables/models/RuleAction.js +90 -0
- package/.worktrees/tt-snp-campaign-tables/models/RuleCondition.js +137 -0
- package/.worktrees/tt-snp-campaign-tables/models/RuleExecution.js +107 -0
- package/.worktrees/tt-snp-campaign-tables/models/RulesValues.js +56 -0
- package/.worktrees/tt-snp-campaign-tables/models/SnapchatCampaign.js +69 -0
- package/.worktrees/tt-snp-campaign-tables/models/SupportedLocale.js +24 -0
- package/.worktrees/tt-snp-campaign-tables/models/SyncHistory.js +250 -0
- package/.worktrees/tt-snp-campaign-tables/models/TTQChannel.js +42 -0
- package/.worktrees/tt-snp-campaign-tables/models/TemplateMetadata.js +260 -0
- package/.worktrees/tt-snp-campaign-tables/models/Tier2_AdAccounts.js +110 -0
- package/.worktrees/tt-snp-campaign-tables/models/Tier2_Assets.js +70 -0
- package/.worktrees/tt-snp-campaign-tables/models/Tier2_BusinessManagers.js +105 -0
- package/.worktrees/tt-snp-campaign-tables/models/Tier2_CreditLines.js +99 -0
- package/.worktrees/tt-snp-campaign-tables/models/Tier2_Pages.js +91 -0
- package/.worktrees/tt-snp-campaign-tables/models/Tier2_Pixels.js +82 -0
- package/.worktrees/tt-snp-campaign-tables/models/Tier2_Tokens.js +64 -0
- package/.worktrees/tt-snp-campaign-tables/models/Tier2_UserAdAccounts.js +83 -0
- package/.worktrees/tt-snp-campaign-tables/models/TikTokCampaign.js +71 -0
- package/.worktrees/tt-snp-campaign-tables/models/TokenRotationState.js +121 -0
- package/.worktrees/tt-snp-campaign-tables/models/TonicCampaign.js +97 -0
- package/.worktrees/tt-snp-campaign-tables/models/TonicRSOCKeywordPerformance.js +123 -0
- package/.worktrees/tt-snp-campaign-tables/models/Users.js +148 -0
- package/.worktrees/tt-snp-campaign-tables/models/Vertical.js +26 -0
- package/.worktrees/tt-snp-campaign-tables/models/newFiles.js +137 -0
- package/.worktrees/tt-snp-campaign-tables/models/pixel.js +47 -0
- package/.worktrees/tt-snp-campaign-tables/package-lock.json +405 -0
- package/.worktrees/tt-snp-campaign-tables/package.json +19 -0
- package/.worktrees/tt-snp-campaign-tables/run.ps1 +98 -0
- package/.worktrees/tt-snp-campaign-tables/run.sh +214 -0
- package/.worktrees/tt-snp-campaign-tables/services/sequelizeService.js +110 -0
- package/models/SnapchatChannel.js +31 -0
- package/models/TiktokChannel.js +31 -0
- package/models/Users.js +0 -10
- package/package.json +1 -1
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
module.exports = (sequelize, DataTypes) => {
|
|
2
|
+
const Folders = sequelize.define("Folders", {
|
|
3
|
+
id: {
|
|
4
|
+
type: DataTypes.STRING,
|
|
5
|
+
primaryKey: true,
|
|
6
|
+
},
|
|
7
|
+
ParentFolder: {
|
|
8
|
+
type: DataTypes.STRING, // Self-referencing folder ID
|
|
9
|
+
allowNull: true,
|
|
10
|
+
},
|
|
11
|
+
ParentFolders: {
|
|
12
|
+
type: DataTypes.ARRAY(DataTypes.STRING), // Array of folder IDs
|
|
13
|
+
allowNull: true,
|
|
14
|
+
},
|
|
15
|
+
name: {
|
|
16
|
+
type: DataTypes.STRING,
|
|
17
|
+
allowNull: false,
|
|
18
|
+
},
|
|
19
|
+
FilesCount: {
|
|
20
|
+
type: DataTypes.INTEGER,
|
|
21
|
+
allowNull: true,
|
|
22
|
+
defaultValue: 0,
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
Folders.associate = function (models) {
|
|
27
|
+
// One-to-many: A folder can have many files
|
|
28
|
+
Folders.hasMany(models.Files, { foreignKey: "ParentFolder", sourceKey: "id" });
|
|
29
|
+
|
|
30
|
+
// Self-referencing: A folder can have subfolders
|
|
31
|
+
Folders.hasMany(models.Folders, { foreignKey: "ParentFolder", sourceKey: "id" });
|
|
32
|
+
Folders.belongsTo(models.Folders, { foreignKey: "ParentFolder", targetKey: "id" });
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// Function to count files and subfolders for each parent folder in ParentFolders array
|
|
36
|
+
Folders.countFilesAndSubfolders = async function (parentFolderIds) {
|
|
37
|
+
try {
|
|
38
|
+
const { Files } = sequelize.models; // Move the reference inside the function
|
|
39
|
+
|
|
40
|
+
// Loop through each parent folder ID
|
|
41
|
+
for (const parentFolderId of parentFolderIds) {
|
|
42
|
+
// Find the parent folder by ID
|
|
43
|
+
const parentFolder = await Folders.findOne({ where: { id: parentFolderId } });
|
|
44
|
+
|
|
45
|
+
if (!parentFolder) {
|
|
46
|
+
console.warn(`Folder with ID ${parentFolderId} not found.`);
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Count the number of files directly under this folder
|
|
51
|
+
const fileCount = await Files.count({
|
|
52
|
+
where: { ParentFolder: parentFolder.id }
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
// Count the number of subfolders directly under this folder
|
|
56
|
+
const subfolderCount = await Folders.count({
|
|
57
|
+
where: { ParentFolder: parentFolder.id }
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
// Total count is files + subfolders
|
|
61
|
+
const totalFilesCount = fileCount + subfolderCount;
|
|
62
|
+
|
|
63
|
+
// Update the FilesCount field in the parent folder
|
|
64
|
+
await parentFolder.update({ FilesCount: totalFilesCount });
|
|
65
|
+
}
|
|
66
|
+
} catch (error) {
|
|
67
|
+
console.error(error);
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
// Add a hook that triggers after a folder is created, updated, or deleted
|
|
73
|
+
Folders.addHook('afterCreate', async (folder, options) => {
|
|
74
|
+
if (folder.ParentFolders && folder.ParentFolders.length > 0) {
|
|
75
|
+
await Folders.countFilesAndSubfolders(folder.ParentFolders);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
Folders.addHook('afterDestroy', async (folder, options) => {
|
|
80
|
+
if (folder.ParentFolders && folder.ParentFolders.length > 0) {
|
|
81
|
+
await Folders.countFilesAndSubfolders(folder.ParentFolders);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
Folders.addHook('afterUpdate', async (folder, options) => {
|
|
86
|
+
if (folder.ParentFolders && folder.ParentFolders.length > 0) {
|
|
87
|
+
await Folders.countFilesAndSubfolders(folder.ParentFolders);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
// Add hooks for Files
|
|
92
|
+
sequelize.models.Files.addHook('afterCreate', async (file, options) => {
|
|
93
|
+
if (file.ParentFolders && file.ParentFolders.length > 0) {
|
|
94
|
+
await Folders.countFilesAndSubfolders(file.ParentFolders);
|
|
95
|
+
} else if (file.ParentFolder) {
|
|
96
|
+
await Folders.countFilesAndSubfolders([file.ParentFolder]);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
sequelize.models.Files.addHook('afterDestroy', async (file, options) => {
|
|
101
|
+
if (file.ParentFolders && file.ParentFolders.length > 0) {
|
|
102
|
+
await Folders.countFilesAndSubfolders(file.ParentFolders);
|
|
103
|
+
} else if (file.ParentFolder) {
|
|
104
|
+
await Folders.countFilesAndSubfolders([file.ParentFolder]);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
sequelize.models.Files.addHook('afterUpdate', async (file, options) => {
|
|
109
|
+
if (file.ParentFolders && file.ParentFolders.length > 0) {
|
|
110
|
+
await Folders.countFilesAndSubfolders(file.ParentFolders);
|
|
111
|
+
} else if (file.ParentFolder) {
|
|
112
|
+
await Folders.countFilesAndSubfolders([file.ParentFolder]);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
// Add a hook before saving the folder to check ParentFolders
|
|
117
|
+
Folders.addHook('beforeSave', (folder, options) => {
|
|
118
|
+
// If ParentFolders is an empty array or contains only nulls, set it to null
|
|
119
|
+
if (folder.ParentFolders && (folder.ParentFolders.length === 0 || folder.ParentFolders.every(f => f === null))) {
|
|
120
|
+
folder.ParentFolders = null;
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
// You can also add this hook for files
|
|
125
|
+
sequelize.models.Files.addHook('beforeSave', (file, options) => {
|
|
126
|
+
// If ParentFolders is an empty array or contains only nulls, set it to null
|
|
127
|
+
if (file.ParentFolders && (file.ParentFolders.length === 0 || file.ParentFolders.every(f => f === null))) {
|
|
128
|
+
file.ParentFolders = null;
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
return Folders;
|
|
133
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
module.exports = (sequelize, DataTypes) => {
|
|
2
|
+
const FrontStoryChannel = sequelize.define(
|
|
3
|
+
"FrontStoryChannel",
|
|
4
|
+
{
|
|
5
|
+
channelId: {
|
|
6
|
+
type: DataTypes.STRING,
|
|
7
|
+
allowNull: false,
|
|
8
|
+
// Not setting as primary key or unique since duplicates are allowed
|
|
9
|
+
},
|
|
10
|
+
channelName: {
|
|
11
|
+
type: DataTypes.STRING,
|
|
12
|
+
allowNull: true,
|
|
13
|
+
comment: 'Human-readable name for the channel'
|
|
14
|
+
},
|
|
15
|
+
styleId: {
|
|
16
|
+
type: DataTypes.STRING,
|
|
17
|
+
allowNull: false,
|
|
18
|
+
},
|
|
19
|
+
status: {
|
|
20
|
+
type: DataTypes.STRING,
|
|
21
|
+
allowNull: false,
|
|
22
|
+
defaultValue: "free",
|
|
23
|
+
validate: {
|
|
24
|
+
isIn: [["free", "used", "archived"]],
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
connectedCampaigns: {
|
|
28
|
+
type: DataTypes.JSONB, // Use JSONB for better querying capabilities
|
|
29
|
+
allowNull: false,
|
|
30
|
+
defaultValue: [],
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
tableName: "front_story_channels",
|
|
35
|
+
timestamps: true,
|
|
36
|
+
// indexes: [
|
|
37
|
+
// // Add a composite unique index on channelId and styleId if needed
|
|
38
|
+
// {
|
|
39
|
+
// unique: true,
|
|
40
|
+
// fields: ["channelId", "styleId"],
|
|
41
|
+
// name: "unique_front_story_channel_style",
|
|
42
|
+
// },
|
|
43
|
+
// ],
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
// Define associations without enforcing constraints
|
|
48
|
+
FrontStoryChannel.associate = (models) => {
|
|
49
|
+
if (models.RSOCFeedCampaign) {
|
|
50
|
+
FrontStoryChannel.hasMany(models.RSOCFeedCampaign, {
|
|
51
|
+
foreignKey: "channelId",
|
|
52
|
+
sourceKey: "channelId",
|
|
53
|
+
as: "RSOCFeedCampaigns",
|
|
54
|
+
constraints: false, // Disable FK constraint
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
return FrontStoryChannel;
|
|
60
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
module.exports = (sequelize, DataTypes) => {
|
|
2
|
+
const FrontStoryChannelV2 = sequelize.define(
|
|
3
|
+
"FrontStoryChannelV2",
|
|
4
|
+
{
|
|
5
|
+
channelId: {
|
|
6
|
+
type: DataTypes.STRING,
|
|
7
|
+
allowNull: false,
|
|
8
|
+
// Not setting as primary key or unique since duplicates are allowed
|
|
9
|
+
},
|
|
10
|
+
channelName: {
|
|
11
|
+
type: DataTypes.STRING,
|
|
12
|
+
allowNull: true,
|
|
13
|
+
comment: 'Human-readable name for the channel'
|
|
14
|
+
},
|
|
15
|
+
styleId: {
|
|
16
|
+
type: DataTypes.STRING,
|
|
17
|
+
allowNull: false,
|
|
18
|
+
},
|
|
19
|
+
status: {
|
|
20
|
+
type: DataTypes.STRING,
|
|
21
|
+
allowNull: false,
|
|
22
|
+
defaultValue: "free",
|
|
23
|
+
validate: {
|
|
24
|
+
isIn: [["free", "used", "archived"]],
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
connectedCampaigns: {
|
|
28
|
+
type: DataTypes.JSONB, // Use JSONB for better querying capabilities
|
|
29
|
+
allowNull: false,
|
|
30
|
+
defaultValue: [],
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
tableName: "front_story_channels_v2",
|
|
35
|
+
timestamps: true,
|
|
36
|
+
// indexes: [
|
|
37
|
+
// // Add a composite unique index on channelId and styleId if needed
|
|
38
|
+
// {
|
|
39
|
+
// unique: true,
|
|
40
|
+
// fields: ["channelId", "styleId"],
|
|
41
|
+
// name: "unique_front_story_channel_v2_style",
|
|
42
|
+
// },
|
|
43
|
+
// ],
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
// Define associations without enforcing constraints
|
|
48
|
+
FrontStoryChannelV2.associate = (models) => {
|
|
49
|
+
if (models.RSOCFeedCampaign) {
|
|
50
|
+
FrontStoryChannelV2.hasMany(models.RSOCFeedCampaign, {
|
|
51
|
+
foreignKey: "channelId",
|
|
52
|
+
sourceKey: "channelId",
|
|
53
|
+
as: "RSOCFeedCampaigns",
|
|
54
|
+
constraints: false, // Disable FK constraint
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
return FrontStoryChannelV2;
|
|
60
|
+
};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// models/GenericFlowRequest.js
|
|
2
|
+
module.exports = (sequelize, DataTypes) => {
|
|
3
|
+
const GenericFlowRequest = sequelize.define(
|
|
4
|
+
"GenericFlowRequest",
|
|
5
|
+
{
|
|
6
|
+
id: {
|
|
7
|
+
type: DataTypes.BIGINT,
|
|
8
|
+
autoIncrement: true,
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
},
|
|
11
|
+
request_id: {
|
|
12
|
+
type: DataTypes.STRING,
|
|
13
|
+
allowNull: false,
|
|
14
|
+
unique: true,
|
|
15
|
+
field: "request_id",
|
|
16
|
+
},
|
|
17
|
+
flow_type: {
|
|
18
|
+
type: DataTypes.ENUM("article", "texts", "keywords", "creative"),
|
|
19
|
+
allowNull: false,
|
|
20
|
+
field: "flow_type",
|
|
21
|
+
},
|
|
22
|
+
status: {
|
|
23
|
+
type: DataTypes.ENUM("pending", "processing", "completed", "failed", "retrying"),
|
|
24
|
+
defaultValue: "pending",
|
|
25
|
+
allowNull: false,
|
|
26
|
+
},
|
|
27
|
+
retry_count: {
|
|
28
|
+
type: DataTypes.INTEGER,
|
|
29
|
+
defaultValue: 0,
|
|
30
|
+
field: "retry_count",
|
|
31
|
+
},
|
|
32
|
+
max_retries: {
|
|
33
|
+
type: DataTypes.INTEGER,
|
|
34
|
+
defaultValue: 3,
|
|
35
|
+
field: "max_retries",
|
|
36
|
+
},
|
|
37
|
+
input_params: {
|
|
38
|
+
type: DataTypes.JSONB,
|
|
39
|
+
allowNull: true,
|
|
40
|
+
field: "input_params",
|
|
41
|
+
},
|
|
42
|
+
output_result: {
|
|
43
|
+
type: DataTypes.JSONB,
|
|
44
|
+
allowNull: true,
|
|
45
|
+
field: "output_result",
|
|
46
|
+
},
|
|
47
|
+
error_message: {
|
|
48
|
+
type: DataTypes.TEXT,
|
|
49
|
+
allowNull: true,
|
|
50
|
+
field: "error_message",
|
|
51
|
+
},
|
|
52
|
+
error_stack: {
|
|
53
|
+
type: DataTypes.TEXT,
|
|
54
|
+
allowNull: true,
|
|
55
|
+
field: "error_stack",
|
|
56
|
+
},
|
|
57
|
+
AGRS_CID: {
|
|
58
|
+
type: DataTypes.STRING,
|
|
59
|
+
allowNull: true,
|
|
60
|
+
field: "AGRS_CID",
|
|
61
|
+
},
|
|
62
|
+
process_id: {
|
|
63
|
+
type: DataTypes.STRING,
|
|
64
|
+
allowNull: true,
|
|
65
|
+
field: "process_id",
|
|
66
|
+
},
|
|
67
|
+
parent_request_id: {
|
|
68
|
+
type: DataTypes.STRING,
|
|
69
|
+
allowNull: true,
|
|
70
|
+
field: "parent_request_id",
|
|
71
|
+
},
|
|
72
|
+
related_request_ids: {
|
|
73
|
+
type: DataTypes.JSONB,
|
|
74
|
+
allowNull: true,
|
|
75
|
+
field: "related_request_ids",
|
|
76
|
+
},
|
|
77
|
+
metadata: {
|
|
78
|
+
type: DataTypes.JSONB,
|
|
79
|
+
allowNull: true,
|
|
80
|
+
},
|
|
81
|
+
processing_time_ms: {
|
|
82
|
+
type: DataTypes.INTEGER,
|
|
83
|
+
allowNull: true,
|
|
84
|
+
field: "processing_time_ms",
|
|
85
|
+
},
|
|
86
|
+
started_at: {
|
|
87
|
+
type: DataTypes.DATE,
|
|
88
|
+
allowNull: true,
|
|
89
|
+
field: "started_at",
|
|
90
|
+
},
|
|
91
|
+
completed_at: {
|
|
92
|
+
type: DataTypes.DATE,
|
|
93
|
+
allowNull: true,
|
|
94
|
+
field: "completed_at",
|
|
95
|
+
},
|
|
96
|
+
failed_at: {
|
|
97
|
+
type: DataTypes.DATE,
|
|
98
|
+
allowNull: true,
|
|
99
|
+
field: "failed_at",
|
|
100
|
+
},
|
|
101
|
+
last_retry_at: {
|
|
102
|
+
type: DataTypes.DATE,
|
|
103
|
+
allowNull: true,
|
|
104
|
+
field: "last_retry_at",
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
tableName: "generic_flow_requests",
|
|
109
|
+
timestamps: true, // Adds createdAt and updatedAt
|
|
110
|
+
underscored: false, // We're using explicit field mappings
|
|
111
|
+
}
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
return GenericFlowRequest;
|
|
115
|
+
};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
module.exports = (sequelize, DataTypes) => {
|
|
2
|
+
const KeywordPerformance = sequelize.define(
|
|
3
|
+
"KeywordPerformance",
|
|
4
|
+
{
|
|
5
|
+
Date: {
|
|
6
|
+
type: DataTypes.DATEONLY,
|
|
7
|
+
primaryKey: true,
|
|
8
|
+
},
|
|
9
|
+
adID: {
|
|
10
|
+
type: DataTypes.STRING,
|
|
11
|
+
references: {
|
|
12
|
+
model: "Ad",
|
|
13
|
+
key: "AdID",
|
|
14
|
+
},
|
|
15
|
+
foreignKey: true,
|
|
16
|
+
primaryKey: true,
|
|
17
|
+
},
|
|
18
|
+
Keyword: {
|
|
19
|
+
type: DataTypes.STRING,
|
|
20
|
+
allowNull: false,
|
|
21
|
+
primaryKey: true,
|
|
22
|
+
},
|
|
23
|
+
Revenue: {
|
|
24
|
+
type: DataTypes.FLOAT,
|
|
25
|
+
allowNull: false,
|
|
26
|
+
},
|
|
27
|
+
Clicks: {
|
|
28
|
+
type: DataTypes.INTEGER,
|
|
29
|
+
allowNull: false,
|
|
30
|
+
},
|
|
31
|
+
TemplatedKeyword: {
|
|
32
|
+
type: DataTypes.STRING,
|
|
33
|
+
allowNull: true,
|
|
34
|
+
},
|
|
35
|
+
FirstAppearanceDate: {
|
|
36
|
+
type: DataTypes.DATEONLY,
|
|
37
|
+
allowNull: true,
|
|
38
|
+
},
|
|
39
|
+
Country: {
|
|
40
|
+
type: DataTypes.STRING,
|
|
41
|
+
allowNull: true,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
{
|
|
46
|
+
tableName: "KeywordPerformance",
|
|
47
|
+
indexes: [
|
|
48
|
+
{
|
|
49
|
+
unique: true,
|
|
50
|
+
fields: ["adID", "Date", "Keyword"], // Composite unique index for fast lookups
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
fields: ["Date"], // Index for date filtering
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
fields: ["adID"], // Index for faster joins on adID
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
fields: ["Keyword"], // Index for faster searches on Keyword
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
fields: ["Revenue"], // Index to optimize sorting/filtering on Revenue
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
fields: ["Clicks"], // Index to optimize sorting/filtering on Clicks
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
fields: ["Country"], // Index for country filtering/grouping
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
hooks: {
|
|
72
|
+
beforeCreate: async (record, options) => {
|
|
73
|
+
try {
|
|
74
|
+
const existingKeyword =
|
|
75
|
+
await sequelize.models.KeywordPerformance.findOne({
|
|
76
|
+
where: {
|
|
77
|
+
Keyword: sequelize.where(
|
|
78
|
+
sequelize.fn("LOWER", sequelize.col("Keyword")),
|
|
79
|
+
sequelize.fn("LOWER", record.Keyword)
|
|
80
|
+
),
|
|
81
|
+
},
|
|
82
|
+
attributes: ["FirstAppearanceDate"],
|
|
83
|
+
transaction: options.transaction,
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
// If keyword exists, use its FirstAppearanceDate
|
|
87
|
+
// If not, use the current record's Date
|
|
88
|
+
record.FirstAppearanceDate =
|
|
89
|
+
existingKeyword?.FirstAppearanceDate || record.Date;
|
|
90
|
+
} catch (error) {
|
|
91
|
+
console.error("Error in FirstAppearanceDate hook:", error);
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
}
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
KeywordPerformance.associate = (models) => {
|
|
100
|
+
KeywordPerformance.belongsTo(models.Ad, {
|
|
101
|
+
foreignKey: "adID",
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
return KeywordPerformance;
|
|
106
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// models/KeywordRotationState.js
|
|
2
|
+
const { DataTypes } = require("sequelize");
|
|
3
|
+
|
|
4
|
+
module.exports = (sequelize) => {
|
|
5
|
+
const KeywordRotationState = sequelize.define("KeywordRotationState", {
|
|
6
|
+
campaignId: {
|
|
7
|
+
type: DataTypes.STRING,
|
|
8
|
+
allowNull: false,
|
|
9
|
+
primaryKey: true,
|
|
10
|
+
},
|
|
11
|
+
staticKeywords: {
|
|
12
|
+
type: DataTypes.ARRAY(DataTypes.STRING),
|
|
13
|
+
allowNull: false,
|
|
14
|
+
defaultValue: [], // Default to empty array if no static keywords are provided
|
|
15
|
+
},
|
|
16
|
+
rotatingKeywords: {
|
|
17
|
+
type: DataTypes.ARRAY(DataTypes.STRING),
|
|
18
|
+
allowNull: false,
|
|
19
|
+
defaultValue: [], // Default to empty array if no rotating keywords are provided
|
|
20
|
+
},
|
|
21
|
+
dynamic: {
|
|
22
|
+
type: DataTypes.ARRAY(DataTypes.STRING),
|
|
23
|
+
allowNull: false,
|
|
24
|
+
defaultValue: [], // Default to empty array if no dynamic keywords are provided
|
|
25
|
+
},
|
|
26
|
+
offset: {
|
|
27
|
+
type: DataTypes.INTEGER,
|
|
28
|
+
allowNull: false,
|
|
29
|
+
defaultValue: 0,
|
|
30
|
+
},
|
|
31
|
+
rotationTime: {
|
|
32
|
+
type: DataTypes.STRING, // in minutes
|
|
33
|
+
allowNull: false,
|
|
34
|
+
},
|
|
35
|
+
rotatingKeywordSlots: {
|
|
36
|
+
type: DataTypes.INTEGER, // Number of keyword slots assigned to rotation
|
|
37
|
+
allowNull: false,
|
|
38
|
+
},
|
|
39
|
+
lastRotationTime: {
|
|
40
|
+
type: DataTypes.DATE,
|
|
41
|
+
allowNull: true,
|
|
42
|
+
},
|
|
43
|
+
status: {
|
|
44
|
+
type: DataTypes.STRING,
|
|
45
|
+
allowNull: false,
|
|
46
|
+
defaultValue: "Not Set", // Default to started when first created
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
return KeywordRotationState;
|
|
51
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
module.exports = (sequelize, DataTypes) => {
|
|
2
|
+
const MidoWebChannel = sequelize.define(
|
|
3
|
+
"MidoWebChannel",
|
|
4
|
+
{
|
|
5
|
+
channelId: {
|
|
6
|
+
type: DataTypes.STRING,
|
|
7
|
+
allowNull: false,
|
|
8
|
+
unique: true,
|
|
9
|
+
},
|
|
10
|
+
styleId: {
|
|
11
|
+
type: DataTypes.STRING,
|
|
12
|
+
allowNull: false,
|
|
13
|
+
},
|
|
14
|
+
status: {
|
|
15
|
+
type: DataTypes.STRING,
|
|
16
|
+
allowNull: false,
|
|
17
|
+
defaultValue: "free",
|
|
18
|
+
validate: {
|
|
19
|
+
isIn: [["free", "used", "archived"]],
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
connectedCampaigns: {
|
|
23
|
+
type: DataTypes.JSONB, // Use JSONB for better querying capabilities
|
|
24
|
+
allowNull: false,
|
|
25
|
+
defaultValue: [],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
tableName: "mido_web_channels",
|
|
30
|
+
timestamps: true,
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
// Define associations without enforcing constraints
|
|
35
|
+
MidoWebChannel.associate = (models) => {
|
|
36
|
+
if (models.RSOCFeedCampaign) {
|
|
37
|
+
MidoWebChannel.hasMany(models.RSOCFeedCampaign, {
|
|
38
|
+
foreignKey: "channelId",
|
|
39
|
+
sourceKey: "channelId",
|
|
40
|
+
as: "RSOCFeedCampaigns",
|
|
41
|
+
constraints: false, // Disable FK constraint
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
return MidoWebChannel;
|
|
47
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module.exports = (sequelize, DataTypes) => {
|
|
2
|
+
const MineChannel = sequelize.define(
|
|
3
|
+
"MineChannel",
|
|
4
|
+
{
|
|
5
|
+
channelId: {
|
|
6
|
+
type: DataTypes.STRING,
|
|
7
|
+
allowNull: false,
|
|
8
|
+
// Not setting as primary key or unique since duplicates are allowed
|
|
9
|
+
},
|
|
10
|
+
status: {
|
|
11
|
+
type: DataTypes.STRING,
|
|
12
|
+
allowNull: false,
|
|
13
|
+
defaultValue: "free",
|
|
14
|
+
validate: {
|
|
15
|
+
isIn: [["free", "used", "archived"]],
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
connectedCampaigns: {
|
|
19
|
+
type: DataTypes.JSONB, // Use JSONB for better querying capabilities
|
|
20
|
+
allowNull: false,
|
|
21
|
+
defaultValue: [],
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
tableName: "mine_channels",
|
|
26
|
+
timestamps: true,
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
// Define associations without enforcing constraints
|
|
31
|
+
MineChannel.associate = (models) => {
|
|
32
|
+
if (models.RSOCFeedCampaign) {
|
|
33
|
+
MineChannel.hasMany(models.RSOCFeedCampaign, {
|
|
34
|
+
foreignKey: "channelId",
|
|
35
|
+
sourceKey: "channelId",
|
|
36
|
+
as: "RSOCFeedCampaigns",
|
|
37
|
+
constraints: false, // Disable FK constraint
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return MineChannel;
|
|
43
|
+
};
|