diff options
| author | Adam Soltys <[email protected]> | 2023-11-17 00:31:18 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-11-17 00:31:18 -0800 |
| commit | 5c2d3a44d187ebba15a919af59a2c28941df5337 (patch) | |
| tree | df2db05e7ba66f9eccc3a7501e61c02540334f96 | |
| parent | 5b77c4a8fa0d19404705a18b4127f9ddb5af5b77 (diff) | |
| download | coinos-server-5c2d3a44d187ebba15a919af59a2c28941df5337.tar.gz coinos-server-5c2d3a44d187ebba15a919af59a2c28941df5337.zip | |
get location users
| -rw-r--r-- | lib/locations.js | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/lib/locations.js b/lib/locations.js index 29ff4c07..5cf43733 100644 --- a/lib/locations.js +++ b/lib/locations.js @@ -1,10 +1,13 @@ +import fs from "fs"; +import { err } from "$lib/logging"; import got from "got"; -import { s } from "$lib/db"; +import { g, s } from "$lib/db"; +import { fields, pick } from "$lib/utils"; export let getLocations = async () => { try { let locations = await got( - "https://api.btcmap.org/v2/elements?updated_since=2022-09-19" + "https://api.btcmap.org/v2/elements?updated_since=2022-09-19T00:00:00Z" ).json(); locations = locations.filter( @@ -14,8 +17,19 @@ export let getLocations = async () => { l["osm_json"]["type"] === "node" ); + for await (let l of locations) { + let username = l.tags["payment:coinos"]; + if (username) { + let uid = await g(`user:${username}`); + let user = await g(`user:${uid}`); + if (user) l["osm_json"].tags.user = pick(user, fields); + } + } + await s("locations", locations); - } catch (e) {} + } catch (e) { + err("problem fetching locations", e); + } setTimeout(getLocations, 60000); }; |
