MCPcopy Create free account
hub / github.com/NateBJones-Projects/OB1 / buildDateQuery

Function buildDateQuery

recipes/gmail-smart-pull/scripts/pull-gmail.mjs:613–636  ·  view source on GitHub ↗
(args)

Source from the content-addressed store, hash-verified

611}
612
613function buildDateQuery(args) {
614 const parts = [];
615 if (args.after) parts.push(`after:${args.after}`);
616 if (args.before) parts.push(`before:${args.before}`);
617 if (parts.length) return parts.join(" ");
618
619 const now = new Date();
620 let after;
621 switch (args.window) {
622 case "24h": after = new Date(now.getTime() - 24 * 3600 * 1000); break;
623 case "7d": after = new Date(now.getTime() - 7 * 24 * 3600 * 1000); break;
624 case "30d": after = new Date(now.getTime() - 30 * 24 * 3600 * 1000); break;
625 case "90d": after = new Date(now.getTime() - 90 * 24 * 3600 * 1000); break;
626 case "1y": after = new Date(now.getTime() - 365 * 24 * 3600 * 1000); break;
627 case "all": return "";
628 default:
629 console.error(`Unknown window: ${args.window}. Use 24h, 7d, 30d, 90d, 1y, all, or --after=YYYY/MM/DD.`);
630 process.exit(1);
631 }
632 const y = after.getFullYear();
633 const m = String(after.getMonth() + 1).padStart(2, "0");
634 const d = String(after.getDate()).padStart(2, "0");
635 return `after:${y}/${m}/${d}`;
636}
637
638async function listMessagesForLabel(accessToken, label, query, limit) {
639 const messages = [];

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…