20210906194521-slack-app-integration-set-default-value.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import mongoose from 'mongoose';
  2. import slackAppIntegrationFactory from '~/server/models/slack-app-integration';
  3. import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
  4. import loggerFactory from '~/utils/logger';
  5. const logger = loggerFactory(
  6. 'growi:migrate:slack-app-integration-set-default-value',
  7. );
  8. module.exports = {
  9. async up(db) {
  10. logger.info('Apply migration');
  11. await mongoose.connect(getMongoUri(), mongoOptions);
  12. const SlackAppIntegration = slackAppIntegrationFactory();
  13. // Add togetter command if supportedCommandsForBroadcastUse already exists
  14. const slackAppIntegrations = await SlackAppIntegration.find();
  15. slackAppIntegrations.forEach(async (doc) => {
  16. if (
  17. doc.supportedCommandsForSingleUse != null &&
  18. !doc.supportedCommandsForSingleUse.includes('togetter')
  19. ) {
  20. doc.supportedCommandsForSingleUse.push('togetter');
  21. }
  22. await doc.save();
  23. });
  24. logger.info('Migration has successfully applied');
  25. },
  26. async down() {
  27. // no rollback
  28. },
  29. };