99 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const path = require('path');
 | 
						|
require('dotenv').config({ path: path.resolve(__dirname, '../../../.env') });
 | 
						|
const MongoClient = require('mongodb').MongoClient;
 | 
						|
const ObjectId = require('mongodb').ObjectID;
 | 
						|
const debug = require('debug');
 | 
						|
 | 
						|
const log = debug('fcc:tools:seedLocalAuthUser');
 | 
						|
const { MONGOHQ_URL } = process.env;
 | 
						|
 | 
						|
function handleError(err, client) {
 | 
						|
  if (err) {
 | 
						|
    console.error('Oh noes!! Error seeding local auth user.');
 | 
						|
    console.error(err);
 | 
						|
    try {
 | 
						|
      client.close();
 | 
						|
    } catch (e) {
 | 
						|
      // no-op
 | 
						|
    } finally {
 | 
						|
      /* eslint-disable-next-line no-process-exit */
 | 
						|
      process.exit(1);
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
MongoClient.connect(MONGOHQ_URL, { useNewUrlParser: true }, function(
 | 
						|
  err,
 | 
						|
  client
 | 
						|
) {
 | 
						|
  handleError(err, client);
 | 
						|
 | 
						|
  log('Connected successfully to mongo');
 | 
						|
 | 
						|
  const db = client.db('freecodecamp');
 | 
						|
  const user = db.collection('user');
 | 
						|
 | 
						|
  user.deleteOne({ _id: ObjectId('5bd30e0f1caf6ac3ddddddb5') }, err => {
 | 
						|
    handleError(err, client);
 | 
						|
 | 
						|
    try {
 | 
						|
      user.insertOne({
 | 
						|
        _id: ObjectId('5bd30e0f1caf6ac3ddddddb5'),
 | 
						|
        email: 'foo@bar.com',
 | 
						|
        emailVerified: true,
 | 
						|
        progressTimestamps: [],
 | 
						|
        isBanned: false,
 | 
						|
        isCheater: false,
 | 
						|
        username: 'developmentuser',
 | 
						|
        about: '',
 | 
						|
        name: 'Development User',
 | 
						|
        location: '',
 | 
						|
        picture: 'https://github.com/identicons/camperbot.png',
 | 
						|
        acceptedPrivacyTerms: true,
 | 
						|
        sendQuincyEmail: false,
 | 
						|
        currentChallengeId: '',
 | 
						|
        isHonest: false,
 | 
						|
        isFrontEndCert: false,
 | 
						|
        isDataVisCert: false,
 | 
						|
        isBackEndCert: false,
 | 
						|
        isFullStackCert: false,
 | 
						|
        isRespWebDesignCert: false,
 | 
						|
        is2018DataVisCert: false,
 | 
						|
        isFrontEndLibsCert: false,
 | 
						|
        isJsAlgoDataStructCert: false,
 | 
						|
        isApisMicroservicesCert: false,
 | 
						|
        isInfosecQaCert: false,
 | 
						|
        is2018FullStackCert: false,
 | 
						|
        completedChallenges: [],
 | 
						|
        portfolio: [],
 | 
						|
        yearsTopContributor: [],
 | 
						|
        rand: 0.6126749173148205,
 | 
						|
        theme: 'default',
 | 
						|
        profileUI: {
 | 
						|
          isLocked: true,
 | 
						|
          showAbout: false,
 | 
						|
          showCerts: false,
 | 
						|
          showDonation: false,
 | 
						|
          showHeatMap: false,
 | 
						|
          showLocation: false,
 | 
						|
          showName: false,
 | 
						|
          showPoints: false,
 | 
						|
          showPortfolio: false,
 | 
						|
          showTimeLine: false
 | 
						|
        },
 | 
						|
        badges: {
 | 
						|
          coreTeam: []
 | 
						|
        },
 | 
						|
        isDonating: false,
 | 
						|
        emailAuthLinkTTL: null,
 | 
						|
        emailVerifyTTL: null
 | 
						|
      });
 | 
						|
    } catch (e) {
 | 
						|
      handleError(e, client);
 | 
						|
    } finally {
 | 
						|
      log('local auth user seed complete');
 | 
						|
      client.close();
 | 
						|
    }
 | 
						|
  });
 | 
						|
});
 |