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 })
|
||
|
}
|