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:
@ -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;
|
||||
}
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user