feat: implement periodic shopify sales sync
- automated sales check (default 10 mins) - manual reconciliation menu - updates 'status' and 'shopify_status' in sheet - updated docs
This commit is contained in:
@ -17,4 +17,35 @@ export function reinstallTriggers() {
|
||||
.timeBased()
|
||||
.everyMinutes(1)
|
||||
.create()
|
||||
|
||||
installSalesSyncTrigger()
|
||||
}
|
||||
|
||||
import { Config } from "./config"
|
||||
|
||||
export function installSalesSyncTrigger() {
|
||||
const config = new Config()
|
||||
// Valid minute intervals for Apps Script
|
||||
const valid = [1, 5, 10, 15, 30]
|
||||
let freq = config.salesSyncFrequency || 10
|
||||
|
||||
if (valid.indexOf(freq) === -1) {
|
||||
console.warn(`Invalid frequency ${freq}. Must be 1, 5, 10, 15, 30. Defaulting to 10.`)
|
||||
freq = 10
|
||||
}
|
||||
|
||||
// Delete existing 'checkRecentSales' triggers to avoid duplicates
|
||||
const triggers = ScriptApp.getProjectTriggers()
|
||||
for (const t of triggers) {
|
||||
if (t.getHandlerFunction() === "checkRecentSales") {
|
||||
ScriptApp.deleteTrigger(t)
|
||||
}
|
||||
}
|
||||
|
||||
ScriptApp.newTrigger("checkRecentSales")
|
||||
.timeBased()
|
||||
.everyMinutes(freq)
|
||||
.create()
|
||||
|
||||
console.log(`Installed 'checkRecentSales' trigger running every ${freq} minutes.`)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user