aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-01-05 07:43:24 -0800
committerAdam Soltys <[email protected]>2023-01-05 07:43:24 -0800
commitacd94921684759ac3d582ec87db7ceaeb2fefe45 (patch)
tree314cca91818db2fd3ecbb58cc35f2963b8f506e6 /routes
parent572bf373a9771dfa11ccaf027a45c0c1611a26a8 (diff)
downloadcoinos-server-acd94921684759ac3d582ec87db7ceaeb2fefe45.tar.gz
coinos-server-acd94921684759ac3d582ec87db7ceaeb2fefe45.zip
proxy to nostr api
Diffstat (limited to 'routes')
-rw-r--r--routes/events.js5
-rw-r--r--routes/users.js24
2 files changed, 21 insertions, 8 deletions
diff --git a/routes/events.js b/routes/events.js
index fd2d97cd..f09cea23 100644
--- a/routes/events.js
+++ b/routes/events.js
@@ -1,7 +1,7 @@
import app from "$app";
import db from "$db";
import redis from "$lib/redis";
-import { coinos, q } from "$lib/nostr";
+import { coinos, pool, q } from "$lib/nostr";
import store from "$lib/store";
import { wait } from "$lib/utils";
@@ -48,6 +48,7 @@ app.get("/nostr/:pubkey", async (req, res) => {
app.post("/nostr/send", async (req, res) => {
let { event } = req.body;
- coinos.send(["EVENT", event]);
+ pool.send(["EVENT", event]);
+ console.log("SENDING", JSON.stringify(event))
res.send(event);
});
diff --git a/routes/users.js b/routes/users.js
index ff188fad..ae64997b 100644
--- a/routes/users.js
+++ b/routes/users.js
@@ -24,6 +24,9 @@ import register from "$lib/register";
import { requirePin } from "$lib/utils";
import { coinos, q } from "$lib/nostr";
import got from "got";
+import { bech32 } from "bech32";
+
+const { encode, decode, fromWords, toWords } = bech32;
const pick = (O, ...K) => K.reduce((o, k) => ((o[k] = O[k]), o), {});
@@ -61,7 +64,11 @@ app.get("/me", auth, async (req, res) => {
app.get("/users/:username", async (req, res) => {
try {
- const { username } = req.params;
+ let { username } = req.params;
+
+ if (username.startsWith("npub")) {
+ username = Buffer.from(fromWords(decode(username).words)).toString("hex")
+ }
let user = await db.User.findOne({
attributes: [
@@ -72,10 +79,15 @@ app.get("/users/:username", async (req, res) => {
"currency",
"pubkey"
],
- where: Sequelize.where(
- Sequelize.fn("lower", Sequelize.col("username")),
- username.toLowerCase()
- )
+ where: {
+ [Sequelize.Op.or]: [
+ Sequelize.where(
+ Sequelize.fn("lower", Sequelize.col("username")),
+ username.toLowerCase()
+ ),
+ { pubkey: username }
+ ]
+ }
});
if (user) user = user.get({ plain: true });
@@ -695,7 +707,7 @@ app.get("/:pubkey/followers", async (req, res) => {
let { pubkey } = req.params;
let pubkeys = await got(
- `https://coinos.io/nostr/followers?pubkey=${pubkey}`
+ `${config.nostr}/followers?pubkey=${pubkey}`
).json();
let followers = [];