Runs every 3 hrs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { sqlite } from "https://esm.town/v/std/sqlite?v=4";
async function fetchPluginData(pluginId) {
const response = await fetch(`https://www.figma.com/api/plugins/${pluginId}/versions`);
if (!response.ok) {
throw new Error(`Failed to fetch data for plugin ${pluginId}: ${response.statusText}`);
}
const data = await response.json();
return data.meta.plugin;
}
export default async function(interval: Interval) {
try {
const microPlugin = await fetchPluginData("1349001943025285729");
const wireBoxPlugin = await fetchPluginData("764471577604277919");
await sqlite.execute(`
INSERT INTO plugin_stats (name, install_count, like_count, view_count) VALUES
('micro', ${microPlugin.install_count}, ${microPlugin.like_count}, ${microPlugin.view_count}),
('wire-box', ${wireBoxPlugin.install_count}, ${wireBoxPlugin.like_count}, ${wireBoxPlugin.view_count})
`);
return { success: true };
} catch (error) {
console.error("An error occurred:", error);
return { success: false, error: error.message };
}
}