Files
Gainsight/Scripts/clone_courses.js
2024-09-17 11:40:12 -04:00

175 lines
6.5 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 = '047424';
var schoolUUID = '10183441-2254-4b1e-a9f7-9549ca773257'
var courseUUIDs = [
'aab97526-9327-426b-993f-6f44c6efb377',
'f8c2c89d-ba0e-4e6c-8804-798656d002e1',
'cfe77bfa-a813-45ff-b4ff-7e3fa0849125',
'ac4fbf2e-ed8f-404d-b995-f0ef73481466',
'5fc53f4b-e958-45f8-8538-c6157179149e',
'3ee9994c-2adb-4ed6-b1b1-dfec691f7735',
'7dbf0617-74a7-458b-af44-358c31306613',
'a8cfe0a3-bb11-4023-a7ce-a8e6c8ebcdf5',
'b4268e28-c76f-4278-9ad5-e60f470e388c',
'3f8caa12-77a7-4631-9e3b-928d6fe49bbe',
'aeb99114-9ee6-450f-8621-6da17ebf6a4a',
'19bd6adb-2f56-43fd-b18f-7c8b159b4e97',
'80d7a336-c5c1-4895-9033-9989df0e303e',
'4e5f7723-a603-455b-87bc-a97567cd4b7f',
'5bf98939-6e98-45aa-bc07-a92b0e7ac226',
'7cc81a71-8cf0-48a6-8e85-537d11025a5d',
'0b3ebf52-f01d-44fc-98f8-af7393e22f6b',
'02b3e6d6-a01a-4e8c-8a15-587b204e2984',
'bcaf3dc3-8bcb-4582-b124-fef081aa7eb5',
'414f4615-79d9-4d93-a824-ba638078c252',
'bf5b857d-d9a9-42cd-b62e-36a6cf84df40',
'b6e74090-0a63-4195-b705-0890ef494796',
'9e20cffc-3371-47ca-841b-0bdcbee4e98c',
'a10f7795-cac0-4992-9af7-03c9914ec994',
'cc3518f3-3f09-44ea-a907-7c7b98e9d756',
'd6bb33f2-fb6c-424d-b0e4-a42f6f46d240',
'd2f57712-ae60-413b-978e-b397250d340c',
'3559bae6-4c88-4c9b-84db-1c444a632e91',
'b3225a47-448d-4988-962a-18d37d6616d0',
'0a6ca3bd-9838-4a29-b451-d5d02c525d85',
'3c969988-4641-4877-9d9d-87aeadc171c4',
'27a247c7-eeaa-4233-a081-d224b15d9040',
'fef7be46-530c-4374-8737-7450fa864ed5',
'8c84727d-4aa1-42c0-8170-9b3e2be81d66',
'e2e6e38b-228d-40dc-9d0c-dc55cabb8c16',
'1358a1d2-5d20-4a7b-ab5e-1aaabd8d571f',
'ebad8604-0e8a-4dc6-a27f-cf10f6e5ef82',
'48fd33e3-2269-41b0-bc46-71de19dd547b',
'12ebe4d9-e491-4867-8b9a-f331e34c5ceb',
'd22e589f-bd2d-4eca-b862-f52777f8db50',
'ee2d4f3f-ca7a-49e1-9886-9b67752c5e63',
'9029e20c-bc63-4cc1-b188-d2dc361fa4eb',
'0a125f9f-6af3-4029-853d-8efc15aefbe5',
'f65031ec-96ba-452f-9a8a-bffe2eca7e85',
'fbd6bff8-bc65-4f17-abe4-567997dee41d',
'ce731ff0-a828-4024-b86b-f6ca4f783102',
'ea9d09d0-2731-446d-b653-2c68ead7cb71',
'2c43fa5a-e443-4762-abd7-e2e284240493',
'3b6dba80-accf-49f3-b193-6cae75f0e944',
'9de38fa7-e178-4c86-af3b-9ca3cc00a967',
'ef650352-9671-487c-b2f3-f2d5459a630f',
'0d7739fb-f4c8-4b72-a007-89d2afa4819c',
'bcdc40ae-c5d4-40c9-acb5-61cf679b5c4f',
'34de9e33-b4a9-4393-bb53-e0a4e421bf73',
'9b95db0c-8537-4578-9b82-bd75f2491c93',
'bd549bd0-7f56-4fee-9e76-463b133effe8',
'8991d47f-4868-4d72-8226-436f39913d77',
'd23c5a9c-9eab-43c7-911c-a4c1ffcf8e8c',
'aeadc2b3-b6c6-427f-89f0-64df35502e5b',
'd0326543-bff6-4dd3-b4d4-351e0761dad7',
'891f4347-abd5-4e41-852e-d3533750315e',
'8922b625-5e07-4bb6-a484-abcb3ce0a266',
'f6ace929-8332-4e4f-b551-abb841e9351a',
'34739495-4376-4019-8a9b-c01e6a0fde48',
'7dfd28f5-86e7-4b79-bcb3-be45567633d6',
'8373757f-2470-4aa1-9605-1d1f184efd19',
'f05feaaf-871d-4b3b-b5ed-a18a16dada4e',
'00aaa9cd-4050-4933-86df-8d717f10ae98',
'7ad9e103-8704-4c7a-b677-d700f15cc18b',
'8ae0812a-8b58-40ac-adf8-5ea774bb9df7',
'beb9acff-2b14-4872-870b-aa73c855acae',
'38f3fef6-ed0f-4b57-855e-c8e13a71a09b',
'90a6df4b-eb86-4f50-ae4c-a9d6bca619af',
'dbf0b03d-3e9a-4f8d-84a8-77aa6a71cb26',
'e870b099-1a10-48f6-9dd3-b94d554dced8',
'cbe8e2c3-d739-4d53-b153-dd7e289b8df3',
'e6ebdb67-98b7-4f08-a8fb-192f9365775c',
'81e5710c-c9a0-44b7-be09-ca27a8139781',
'415ffa35-0e96-4f10-afdc-586f91372aa9',
'59a3bdda-f269-428d-9a07-5a49fc46b076',
'598d27b2-e675-4b49-bf8a-0ea6f850c12b',
'd5b78f04-3575-4c82-8e75-4e447a109551',
'67276754-8c13-4a4b-839a-a47e8311956a',
'6f98d346-fcce-4d2d-9eb2-526415d44e13',
'fa178f98-05c7-4f65-8e45-d7eb437c5712',
'17fa89d2-c726-4fce-bfde-cf72a92bdeae',
'ecc595ed-8ba6-4790-8222-1b9f1c23f525',
'b303b8ca-281e-400a-982b-04f0868f8199',
'ccf16af6-faaf-403c-8ebf-fbfc5ed4f559',
'c19b07d0-2602-42cc-9c2a-fc291d46af0e',
'c510126e-4152-4369-a26d-8613d829da71',
'2dbd7b86-2be1-44ac-9537-f5bb87d93dd5',
'd1a9086d-4820-4bae-913e-ae1b2af0636b',
'f94334aa-4b0d-4728-853a-7d16a6a20c35',
'00fc99cc-ba92-4d50-9c3a-7591f4ae7ae8',
'a2f17e5d-c958-4fdd-bdbc-49e7a3ef7bd5',
'18dd3b8a-0a28-49fb-9702-11a8dccaddc7',
'b2eadf91-7083-49d5-a3ea-458edff48a40',
'9c8eda62-ae4b-48dd-bafd-696300cdb9b8',
'89f6848b-80a8-4d46-a9fd-9c7bf1c0d923',
'631d621a-5e6d-4ccf-a56e-206fc579e54b',
'8442beb2-6007-4fa2-b37d-816f1e9b741c',
'168df92c-9703-4568-ab56-b17b0dbfc973',
'1cd9c660-de96-4206-a9cf-20f24528f2d5',
'0e2abd4f-6254-4e15-b9a0-e57741f6b3a5',
'f80ebccd-40ca-442e-87f5-6ae4cd628366',
'29354a1b-501a-4063-96d7-99a179d4ec4d',
'01bbb2af-1079-4359-816f-0265df0c5069',
'872aff52-15d0-4981-aa34-dbc77a7d190c',
'cea30827-8991-460d-b572-6573226cfee3',
'1cf1df48-6606-45f8-a4d4-5df1e0e4ad17',
'a1511a3f-76d2-457a-af63-7e32f1c21879',
'ea0354e7-8ba0-4271-925a-517a3dcc3966',
'f2260ac2-f232-4963-9c67-a93d3d8282c6',
'632949e8-0e1f-4764-9f44-4e73ef82e0ed',
'536c6a98-238c-4338-b052-2584614a38d1',
'047052af-07d9-4872-be17-0e78004a6ef3',
'faa184e1-8ca6-4590-bf97-60043579068c',
'd3a6b90c-1153-4748-af32-1a7dd25bff10',
'1694f179-bfea-471b-a79c-c75eb3ad0fe9',
'd2fc5758-acb2-4cb6-a8b9-26d4b0e7b9ec',
'144a50f3-ded3-46a8-a269-49e31a396f20',
'43625400-9742-475e-8f83-f7e682cdcb00',
'32311dd3-e952-422b-aa40-e13607d886c6',
'254c9eaa-cdbf-4361-a937-86a67ea32e52',
'388c18be-2602-4e99-a1f2-fbfd0f89f04c',
]
var schoolNameToCloneTo = "Luminate Canada's School";
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://app2.northpass.com/admin/sign_in')
await wait(500)
console.log("First Wait")
await p.type('#administrator_email', userEmail)
await p.type('#administrator_password', userPassword)
await p.click('input.button');
await wait(500)
console.log("Second Wait")
await p.goto('https://app2.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://app2.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()
})