Files
Gainsight/Scripts/clone_courses.js

126 lines
4.6 KiB
JavaScript

const pt = require('puppeteer');
const readline = require("readline");
const rl =
readline.createInterface({
input: process.stdin,
output: process.stdout,
})
var userEmail= 'nrasmussen@northpass.com';
var userPassword= 'ecx5pmy!MAN2vgh2knc';
var otp = '795885';
var schoolUUID = '52d19519-103f-45e3-9fa8-d21baa0f8aaa'
var courseUUIDs = [
"6acf3a5b-0f1e-4539-b1e5-697745adfd73",
"bb272b93-0576-458d-8399-7a22998e9cb2",
"5ea1a3e0-5644-4eb8-92ad-1303924860f4",
"692cc6a9-1352-4340-950b-31ecdd642740",
"4b59bd32-547e-4810-9f51-fb13fcf67f46",
"0a6a78fb-07bc-4d79-94c1-a42da0575678",
"80a33d13-0ad7-403c-90ee-e47a2ebfa192",
"db9fde33-98fd-489e-9aff-ef4a542a0366",
"3dddc774-c0d7-4a74-aeea-3b4eb41804a2",
"81ea3e9b-c651-42c3-8c33-639a72ebe66f",
"1d01767d-84c7-42f1-866d-3957eb7e9c25",
"4a24b652-ca60-45f5-bf1e-7fb3b9e66516",
"90f43a00-6a96-4598-8eb8-895fd87cddd1",
"e7da33c8-bb62-485d-b656-c209bf9076b7",
"c9670108-76d1-43fc-aade-056ee37f445f",
"7aed9e24-69a7-4887-b2e2-e6a25bc1dba2",
"aaf1c212-2efb-4813-8444-040b823c6cd1",
"d1fa0a5f-7847-4024-b4c9-0546d8aedaed",
"8f3887a5-8563-45c3-b733-47d85feefaf9",
"1053872b-4258-43fd-bf05-924cf3b29816",
"b8fce53c-0ffb-49e6-8a13-39cb3a4f15a5",
"0fc1fd94-05a5-4fb0-893e-899b61aa5949",
"c86138ea-c3ae-4e28-b2bf-0158b8deb82d",
"ccdafe3b-f7e0-4996-97f6-a230e9b4df2c",
"3ed64380-9242-4be8-b823-846592ca51a4",
"17970997-dddd-420f-bf1c-f456d97cd970",
"7ae2af82-b14e-49cb-a11b-2470b620b308",
"3d2bdd73-6893-481a-8f23-1d6dd6c5a594",
"d59806d8-5176-43a9-95b5-8e44e4802f81",
"c0150694-ae68-4937-9ef3-f484b8c5ff73",
"0d822ece-ab02-45a1-9819-9172a9d8e3e0",
"ebdcc41c-a0ec-4d26-989b-9e359d2c8094",
"78d8a00b-7967-4aef-8c71-b7e443316b65",
"1e3c2163-36b2-4921-997c-de36dcfa0cc2",
"7948f175-40a7-4c22-8c9b-eda3f95052f6",
"cd0dcbad-c730-48ad-8fdc-7fbe2f898788",
"e5b1ab35-ce49-4c81-a5d0-6bb6fd66fdd5",
"e40925c6-3470-489e-8ca9-d845faca0cb9",
"7bcd3d03-69cc-468a-a994-955897c2b452",
"d1085731-b5e4-4522-9926-72e065478547",
"db66fd2d-1cb2-4880-bc99-1f7cb791f157",
"d3afe5e0-8725-49e1-93b7-4b03c68c9e84",
"a2b8fe9e-5cac-4bca-9014-53b792774cea",
"bf584a37-f359-4a92-96ca-a3115caf0f8d",
"ab3c3390-09fc-4c41-b4ab-db2d27f6755b",
"6ba10aee-2ba7-4477-aa52-003075d8a140",
"df1cdcc4-462e-4047-b825-1b057018df37",
"68109cb5-1ff5-4cda-b60c-1d951ed365ac",
"f1090dc1-73ca-4fb7-b346-f1f0912a7be4",
"dd4e8dd7-739c-42ba-9695-eab8b964e527",
"0de67a90-7fae-4ff2-83ce-9f0732368051",
"194d47bf-7f89-4419-87bc-32a703b0685f",
"37981bd7-21c1-4a98-80e1-5d81da6579fd",
"eb8ac193-f990-47ba-ac55-1fb2b8b2bf26",
"8a626c6b-f027-4436-9512-efb69353e298",
"c3575312-2604-4713-b28c-7dedf2a07b39",
"dce30281-16a8-4c5e-bc9d-ecf22fb2f918",
"efe0f39c-0eb5-4610-8d37-2586ad54162a",
"91741b30-013e-44cd-affd-c5a7dfba8522",
"55e10410-aae9-497d-943d-f6c8fcbbb616",
"55106501-672e-43b3-87f9-38fdf8432271",
"67c27506-078a-4a33-b326-e3c66343548e",
"e7206333-cab0-4337-bc2a-f21de2e7caa0",
"bbb33e0a-30df-46a4-bb37-22515df1daf5",
"8c5863e0-d2a3-46b5-ab37-d736d762ea1b",
"3722f052-227f-4cf0-895c-e2957970d03f",
"907f47e2-37f5-4b2a-bb76-9db47efd529a",
"08190025-1317-4c9c-b1fd-266e2c3a2af3",
"13f66991-e186-4982-9912-fc82c846727d",
"f8205d3e-a3a5-4a57-81c2-83f85ef967f2",
"34a82bd6-f276-4ec2-807c-97ab11e32bdd",
"0266ee5b-b90b-4955-b10c-e05188d9e8d7",
"995c997e-b602-48a3-83a3-a9fef08cec7c",
"2c9f7815-3f54-43fc-84c6-8777aee2bc2e",
"a11f9601-15a7-4129-90e5-dfadfcb25434",
"c5958ae5-f135-45de-853b-658b219d8564",
"b5064975-6122-4b1f-aac3-4ecb8fa24cf1",
"28c37e7b-97a6-49ae-af7b-b083c6d9dbe2",
"a0329d9a-06c5-4f68-aa3e-ed06173ab7c3",
]
var schoolNameToCloneTo = "Anthology U";
function wait(ms) {
return new Promise(r => setTimeout(r, ms));
}
pt.launch({ headless: false }).then(async browser => {
var p = await browser.newPage();
await p.setViewport({ width: 1000, height: 500 })
await p.goto('https://app.northpass.com/admin/sign_in')
await wait(500)
await p.type('#administrator_email', userEmail)
await p.type('#administrator_password', userPassword)
await p.click('input.button');
await wait(500)
await p.goto('https://app.northpass.com/admin/twofactorauth/edit')
await wait(500)
await p.type('#otp_otp_attempt',otp)
await p.click('input.button');
await wait(500)
for (var i = 0; i < courseUUIDs.length;i++) {
await p.goto('https://app.northpass.com/admin/schools/'+ schoolUUID +'/courses/'+ courseUUIDs[i] +'/clone/new')
await p.type('#react-select-2-input',schoolNameToCloneTo)
await p.keyboard.press('Enter');
await wait(100)
await p.click('input.button');
console.log('-- Index: '+i+' -- Cloned course: '+courseUUIDs[i]+' -- ')
await wait(1000)
}
await wait(2000)
await browser.close()
})