Fixed up GoGuardian for Nergis. Added some Walmart notes and tasks and (almost) finished the parse csv script for Anthology.

This commit is contained in:
Norm Rasmussen
2024-01-10 18:09:40 -05:00
parent 237b6795c6
commit f0f18ff843
3 changed files with 76 additions and 90 deletions

View File

@ -35,4 +35,15 @@
.learning-path-image {
object-fit: contain;
}
}
}
.np-homepage-hero-content {
padding: 36px 24px;
position: absolute;
width: 50%;
height: 100%;
display: flex;
justify-content: end;
align-items: flex-end;
margin-left: 500px;
}

View File

@ -892,6 +892,7 @@ curl --location --request POST 'https://firebasedynamiclinks.googleapis.com/v1/s
}
}'
```
2022 Tax Filing Course UUID: `90bbdf4d-c674-403c-93d1-1c2e43364e0e`
Preview Course UUID that isn't working: `18f860db-9039-4e87-b0f7-80946367eea1`
@ -922,10 +923,27 @@ curl --location --request POST 'https://firebasedynamiclinks.googleapis.com/v1/s
Faisal UUID: 518512cd-c43e-4ed2-b9ed-0a7719ad947f
## 1/3/2023
### Feedback Mechanism
Connect with Matt (matt.krise@walmart.com), a UX Designer
TODO: Talk to Rob about what is even possible.
Connect with Matt (<matt.krise@walmart.com>), a UX Designer
DONE: Talk to Rob about what is even possible.
## 1/10/2024
### Design Sync
Possible vendors:
* Qualtrics - Active Customer
* Spraig (sp?) - Sprig - No contract with Walmart
* Medalia - Active Customer
Matt said they are all easy to setup as a plugin. Maybe not JS, but API based.
All controllable via the vendors platform.
Travis question re: Context Aware screens:
* If they enter from help screen, driver will see resource overview screen - can we skip this?
* If they enter from the RC organically, driver will see the resource overview screen - no change.

View File

@ -1,102 +1,59 @@
const apiKey = '8ALsk8jDOlynEwn8ScMBSnG87';
let indexRange = (arr, start, end) => {
return arr.slice(start, end)
}
function main() {
var folder = DriveApp.getFolderById("15p4vXVQd6hhcMl73VOxD8VctL2gR-q43")
var files = folder.getFiles()
while (files.hasNext()) {
var file = files.next();
var date = "Thu Jan 04 2024 14:12:11 GMT-0500 (Eastern Standard Time)"
Logger.log(date)
Logger.log(file.getLastUpdated().toString())
if (date == file.getLastUpdated().toString()) {
//var date = "Wed Jan 10 2024 15:01:58 GMT-0500 (Eastern Standard Time)"
var getDate = new Date();
var date = Utilities.formatDate(getDate, 'America/New_York', 'MM/dd/yyyy');
var fileDate = file.getLastUpdated();
var fileDateFormatted = Utilities.formatDate(fileDate, 'America/New_York', 'MM/dd/yyyy');
if (date == fileDateFormatted) {
var updated_file = file.getBlob();
var updated_blob = updated_file.getDataAsString();
var updated_data = Utilities.parseCsv(updated_blob);
Logger.log(file.getName())
} else {
var outdated_file = file.getBlob();
var outdated_blob = outdated_file.getDataAsString();
var outdated_data = Utilities.parseCsv(outdated_blob);
Logger.log(file.getName())
}
var updated_data = Utilities.parseCsv(updated_blob, ',');
}
parseCSV(outdated_data, updated_data)
}
quickParse(updated_data);
//parseCSV(outdated_data, updated_data)
}
function parseCSV(outdated_data, updated_data) {
let domains_to_update = {};
let updatedFlag = 0;
let outdatedFlag = 0;
for (item of outdated_data.slice(1)) {
outdatedFlag++
}
Logger.log(outdatedFlag)
for (item of updated_data) {
updatedFlag++
}
Logger.log(updatedFlag)
}
// Output needs to be:
// {
// domain_to_update: {
// domain: 'gainsight.com',
// group_ids: ['uuid1', 'uuid2']
// }
//}
function backup(outdated_mapping, updated_mapping) {
//let domains_to_update = [];
let domains_to_update = {};
let updatedFlag = 0;
let outdatedFlag = 0;
while(updatedFlag < updated_mapping.length || outdatedFlag < outdated_mapping.length){
if(updated_mapping[updatedFlag]['column_0'] == outdated_mapping[outdatedFlag]['column_0']){
let updateFlag = false;
let allUpdatedGroups = [];
let allOutdatedGroups = [];
let domain = updated_mapping[updatedFlag]['column_0'];
for(let i = 1; i < Object.keys(updated_mapping[updatedFlag]).length; i++){
let column = `column_${i}`;
allUpdatedGroups.push(updated_mapping[updatedFlag][column].trim());
}
for(let j = 1; j < Object.keys(outdated_mapping[outdatedFlag]).length; j++){
let column = `column_${j}`;
allOutdatedGroups.push(outdated_mapping[outdatedFlag][column].trim());
}
if(allUpdatedGroups.length !== allOutdatedGroups.length){
//let updatedDomain = {};
//updatedDomain[domain] = allUpdatedGroups;
//domains_to_update.push(updatedDomain);
domains_to_update[domain] = allUpdatedGroups;
} else {
for(let k = 0; k < allUpdatedGroups.length; k++){
if(allOutdatedGroups.indexOf(allUpdatedGroups[k]) == -1){
//let updatedDomain = {};
//updatedDomain[domain] = allUpdatedGroups;
//domains_to_update.push(updatedDomain);
domains_to_update[domain] = allUpdatedGroups;
function quickParse(updated_data) {
for (var x = 1; x < updated_data.length; x++) {
var array = updated_data[x];
for (var i = 1; i < array.length; i++) {
var item = array[i]
if (item != "") {
var api_url = 'https://api.northpass.com/v2/groups/?filter[name][eq]='+item;
const settings = {
async: true,
crossDomain: true,
method: 'GET',
headers: {
accept: 'application/json',
'X-Api-Key': apiKey
}
};
const sendMsg = UrlFetchApp.fetch(api_url, settings);
var uuidResponse = sendMsg.getContentText();
var parseData = JSON.parse(uuidResponse)
var groupID = parseData['data'][0]['id']
var groupName = array.indexOf(item);
if (groupName != -1) {
array[groupName] = groupID;
}
}
updatedFlag++;
outdatedFlag++;
} else {
if(updated_mapping[updatedFlag]['column_0'] > outdated_mapping[outdatedFlag]['column_0']){
outdatedFlag++;
}
else if(updated_mapping[updatedFlag]['column_0'] < outdated_mapping[outdatedFlag]['column_0']){
updatedFlag++;
}
}
if(updatedFlag > updated_mapping.length-1 || outdatedFlag > outdated_mapping.length-1){
break;
const dom = array.shift();
const groups = array;
Logger.log(groups)
const domain_to_update = { domain: dom, group_ids: groups }
Logger.log(domain_to_update)
}
}
Logger.log(domains_to_update)
}