29 lines
711 B
JavaScript
29 lines
711 B
JavaScript
import models from '../../../api/models'
|
|
|
|
export default async function Nip05 ({ query: { name } }, res) {
|
|
const names = {}
|
|
let relays = {}
|
|
|
|
const users = await models.user.findMany({
|
|
where: {
|
|
name,
|
|
nostrPubkey: { not: null }
|
|
},
|
|
include: { nostrRelays: true }
|
|
})
|
|
|
|
for (const user of users) {
|
|
names[user.name] = user.nostrPubkey
|
|
if (user.nostrRelays.length) {
|
|
// append relays with key pubkey
|
|
relays[user.nostrPubkey] = []
|
|
for (const relay of user.nostrRelays) {
|
|
relays[user.nostrPubkey].push(relay.nostrRelayAddr)
|
|
}
|
|
}
|
|
}
|
|
|
|
relays = Object.keys(relays).length ? relays : undefined
|
|
return res.status(200).json({ names, relays })
|
|
}
|