Last active
May 20, 2018 23:12
-
-
Save chrisnolet/fe06cbb6ddd91fa2fdb9b0435649c9b6 to your computer and use it in GitHub Desktop.
Yesterbox for Gmail (Google Apps Script)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function yesterbox() { | |
var yesterboxName = "Yesterbox"; | |
var backlogName = "Backlog"; | |
var cutoffHour = 7; // 7am each day | |
var backlogCutoffDays = 10; // Older than 10 days | |
var yesterboxLabel = GmailApp.getUserLabelByName(yesterboxName) || GmailApp.createLabel(yesterboxName); | |
var backlogLabel = GmailApp.getUserLabelByName(backlogName) || GmailApp.createLabel(backlogName); | |
var yesterboxCutoff = new Date(); | |
var backlogCutoff = new Date(); | |
yesterboxCutoff.setHours(cutoffHour, 0, 0, 0); | |
backlogCutoff.setHours(cutoffHour, 0, 0, 0); | |
backlogCutoff.setDate(backlogCutoff.getDate() - backlogCutoffDays); | |
var yesterboxThreads = GmailApp.getInboxThreads().filter(function(thread) { | |
return (thread.getLastMessageDate() < yesterboxCutoff && thread.getLastMessageDate() >= backlogCutoff); | |
}); | |
var backlogThreads = GmailApp.getInboxThreads().filter(function(thread) { | |
return (thread.getLastMessageDate() < backlogCutoff); | |
}); | |
var completedYesterboxThreads = yesterboxLabel.getThreads().filter(function(thread) { | |
return !thread.isInInbox(); | |
}); | |
var completedBacklogThreads = backlogLabel.getThreads().filter(function(thread) { | |
return !thread.isInInbox(); | |
}); | |
yesterboxLabel.addToThreads(yesterboxThreads); | |
yesterboxLabel.removeFromThreads(backlogThreads); | |
yesterboxLabel.removeFromThreads(completedYesterboxThreads); | |
backlogLabel.addToThreads(backlogThreads); | |
backlogLabel.removeFromThreads(yesterboxThreads); | |
backlogLabel.removeFromThreads(completedBacklogThreads); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment