diff options
| author | Adam Soltys <[email protected]> | 2025-07-18 13:03:29 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2025-07-18 13:03:29 -0700 |
| commit | b3b12c6cfff01160c974cca6545a8998e6e9b3af (patch) | |
| tree | d4851efe1f6594d03090446b5c511c9e8a21774d | |
| parent | 3246d72eb1b8c41e2318c4822d653b6b308b6220 (diff) | |
| download | coinos-server-b3b12c6cfff01160c974cca6545a8998e6e9b3af.tar.gz coinos-server-b3b12c6cfff01160c974cca6545a8998e6e9b3af.zip | |
delete manager
| -rw-r--r-- | index.ts | 1 | ||||
| -rw-r--r-- | routes/payments.ts | 32 |
2 files changed, 30 insertions, 3 deletions
@@ -74,6 +74,7 @@ app.get("/fund/:name", payments.fund); // app.get("/fund/:name/withdraw", auth, payments.withdraw); app.get("/fund/:name/managers", payments.managers); app.post("/fund/managers", auth, payments.addManager); +app.post("/fund/:name/managers/delete", auth, payments.deleteManager); app.post("/take", auth, payments.take); app.post("/print", auth, payments.print); app.post("/send/:lnaddress/:amount", auth, payments.lnaddress); diff --git a/routes/payments.ts b/routes/payments.ts index c6653f1c..0fcd64cd 100644 --- a/routes/payments.ts +++ b/routes/payments.ts @@ -326,7 +326,7 @@ export default { const ids = await db.sMembers(`fund:${name}:managers`); const managers = await Promise.all( - ids.map(async (id) => await getUser(id)), + ids.map(async (id) => await getUser(id, fields)), ); res.send(managers); @@ -345,7 +345,7 @@ export default { await db.sAdd(k, user.id); } - const u = await getUser(username); + const u = await getUser(username, fields); if (!u) fail("User not found"); const { id: uid } = u; @@ -353,11 +353,37 @@ export default { const ids = await db.sMembers(k); if (!managers.length) - managers = await Promise.all(ids.map(async (id) => await getUser(id))); + managers = await Promise.all( + ids.map(async (id) => await getUser(id, fields)), + ); res.send(managers); }, + async deleteManager(req, res) { + try { + const { name } = req.params; + const { id: uid } = req.body; + const { user } = req; + + const k = `fund:${name}:managers`; + let managers = await db.sMembers(k); + + if (managers.length) { + if (!managers.includes(user.id)) fail("Unauthorized"); + } + + await db.sRem(k, uid); + + const ids = await db.sMembers(k); + managers = await Promise.all( + ids.map(async (id) => await getUser(id, fields)), + ); + + res.send(managers); + } catch (e) {} + }, + async confirm(req, res) { const { body: { txid, wallet, type }, |
