-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathgrantAccess.js
61 lines (58 loc) · 1.6 KB
/
grantAccess.js
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
const users = require("./user.json");
const alreadyAdded = require("./updated.json");
const fs = require("fs");
const cache = new Set();
alreadyAdded.forEach((user) => {
if (user.Username && user.granted) {
cache.add(user.Username);
}
});
const done = users
.map((user, index) => {
if (!cache.has(user.Username)) {
const fetchRequest = import("node-fetch")
.then((mod) => {
return new Promise((res) => {
setTimeout(() => {
res(mod.default);
}, 200 * index);
});
})
.then((fetch) => {
return fetch(
"https://api.privjs.com/access?packageName=@module-federation/nextjs-ssr",
{
method: "POST",
body: JSON.stringify({
userEmail: user.Username,
}),
headers: {
key: "a1bz6148-929u-4ei9-8afd-d79ce2149k7a",
secret:
"kifaJ04FAXalExkgk08zdI2i4MVXrisjN2wqM3fm6ZSGcnY2ZNUiy9WgywFjQngZ",
"content-type": "application/json",
},
}
).then((res) => {
console.log(res);
user.granted = true;
cache.add(user.Username);
return user;
});
});
return fetchRequest;
}
})
.filter((i) => !!i);
Promise.all(done).then((useradded) => {
const additional = Array.from(cache).map((item) => {
return {
Username: item,
granted: true,
};
});
fs.writeFileSync(
"./updated.json",
JSON.stringify([...additional, ...useradded], null, 2)
);
});