forked from freeCodeCamp/freeCodeCamp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathseedAuthUser.js
More file actions
98 lines (91 loc) · 2.59 KB
/
Copy pathseedAuthUser.js
File metadata and controls
98 lines (91 loc) · 2.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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();
}
});
});