reviewable-enterprise-tools 1.5.2 → 1.5.4
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/extract_data.js +20 -17
- package/package.json +2 -2
package/extract_data.js
CHANGED
|
@@ -88,6 +88,8 @@ const pace = args.logging ?
|
|
|
88
88
|
let reviewKeys = [];
|
|
89
89
|
const reversePullRequests = {};
|
|
90
90
|
let ghostedUsers = [];
|
|
91
|
+
const unknownUsers = [];
|
|
92
|
+
|
|
91
93
|
const missingReviewKeys = [];
|
|
92
94
|
const missingOrgs = new Set();
|
|
93
95
|
const brokenFiles = [];
|
|
@@ -118,6 +120,7 @@ async function extract() {
|
|
|
118
120
|
logMissingReviews();
|
|
119
121
|
logMissingOrgs();
|
|
120
122
|
await logUnmappedUsers();
|
|
123
|
+
logUnknownUsers();
|
|
121
124
|
logBrokenFiles();
|
|
122
125
|
}
|
|
123
126
|
|
|
@@ -150,6 +153,12 @@ async function logUnmappedUsers() {
|
|
|
150
153
|
);
|
|
151
154
|
}
|
|
152
155
|
|
|
156
|
+
function logUnknownUsers() {
|
|
157
|
+
if (!unknownUsers.length) return;
|
|
158
|
+
console.log(`\n${unknownUsers.length} users from map have no record in Reviewable:`);
|
|
159
|
+
console.log(_(unknownUsers).map(userKey => userKey.replace('github:', '')).join(', '));
|
|
160
|
+
}
|
|
161
|
+
|
|
153
162
|
function logMissingReviews() {
|
|
154
163
|
if (!missingReviewKeys.length) return;
|
|
155
164
|
console.log(`\n${missingReviewKeys.length} reviews could not be found:`);
|
|
@@ -361,6 +370,10 @@ async function extractUsers() {
|
|
|
361
370
|
log('Extracting users');
|
|
362
371
|
await forEachOfLimit(userMap, 25, async (newUserKey, oldUserKey) => {
|
|
363
372
|
let user = await db.child('users/:oldUserKey', {oldUserKey}).get();
|
|
373
|
+
if (!user) {
|
|
374
|
+
unknownUsers.push(oldUserKey);
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
364
377
|
user = _.omit(
|
|
365
378
|
user, 'lastUpdateTimestamp', 'lastSeatAllocationTimestamp', 'lastOwnershipsSyncTimestamp',
|
|
366
379
|
'enterpriseLicenseAdmin', 'core', 'dashboardCache', 'stripe', 'enrollments', 'notifications',
|
|
@@ -388,24 +401,14 @@ async function extractUsers() {
|
|
|
388
401
|
if (user.state) user.state = _.pick(user.state, reviewKeys);
|
|
389
402
|
if (_.isEmpty(user.state)) delete user.state;
|
|
390
403
|
if (args.merge) {
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
await forEachOf(user.index.extraMentions, async (mention, mentionKey) => {
|
|
396
|
-
await writeItem(`users/${newUserKey}/index/extraMentions/${mentionKey}`, mention);
|
|
397
|
-
});
|
|
398
|
-
break;
|
|
399
|
-
case 'state':
|
|
400
|
-
case 'settings':
|
|
401
|
-
await forEachOf(user[key], async (subValue, subKey) => {
|
|
402
|
-
await writeItem(`users/${newUserKey}/${key}/${subKey}`, subValue);
|
|
403
|
-
})
|
|
404
|
-
break;
|
|
405
|
-
default:
|
|
406
|
-
await writeItem(`users/${newUserKey}/${key}`, value);
|
|
407
|
-
}
|
|
404
|
+
await writeItem(
|
|
405
|
+
`users/${newUserKey}`, _.omit(user, 'onboarding', 'settings', 'state', 'index'));
|
|
406
|
+
await forEachOf(['onboarding', 'settings', 'state'], async key => {
|
|
407
|
+
if (user[key]) await writeItem(`users/${newUserKey}/${key}`, user[key]);
|
|
408
408
|
});
|
|
409
|
+
if (user.index?.extraMentions) {
|
|
410
|
+
await writeItem(`users/${newUserKey}/index/extraMentions`, user.index.extraMentions);
|
|
411
|
+
}
|
|
409
412
|
} else {
|
|
410
413
|
await writeItem(`users/${newUserKey}`, user);
|
|
411
414
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reviewable-enterprise-tools",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Admin tools for Reviewable Enterprise",
|
|
6
6
|
"bin": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
15
15
|
},
|
|
16
16
|
"engines": {
|
|
17
|
-
"node": ">=
|
|
17
|
+
"node": ">=18"
|
|
18
18
|
},
|
|
19
19
|
"repository": {
|
|
20
20
|
"type": "git",
|