mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
Merge remote-tracking branch 'origin/lowercase-nip05' into router
This commit is contained in:
commit
8ef03e7926
4 changed files with 20 additions and 8 deletions
|
|
@ -190,7 +190,7 @@ const adminApproveController: AppController = async (c) => {
|
|||
}
|
||||
|
||||
const [existing] = await relay.query([
|
||||
{ kinds: [30360], authors: [await conf.signer.getPublicKey()], '#d': [r], limit: 1 },
|
||||
{ kinds: [30360], authors: [await conf.signer.getPublicKey()], '#d': [r.toLowerCase()], limit: 1 },
|
||||
]);
|
||||
|
||||
if (existing) {
|
||||
|
|
@ -200,7 +200,8 @@ const adminApproveController: AppController = async (c) => {
|
|||
await createAdminEvent({
|
||||
kind: 30360,
|
||||
tags: [
|
||||
['d', r],
|
||||
['d', r.toLowerCase()],
|
||||
['r', r],
|
||||
['L', 'nip05.domain'],
|
||||
['l', r.split('@')[1], 'nip05.domain'],
|
||||
['p', event.pubkey],
|
||||
|
|
|
|||
|
|
@ -88,16 +88,22 @@ export const nameRequestController: AppController = async (c) => {
|
|||
|
||||
const { name, reason } = result.data;
|
||||
|
||||
const [existing] = await relay.query([{ kinds: [3036], authors: [pubkey], '#r': [name], limit: 1 }]);
|
||||
const [existing] = await relay.query([{ kinds: [3036], authors: [pubkey], '#r': [name.toLowerCase()], limit: 1 }]);
|
||||
if (existing) {
|
||||
return c.json({ error: 'Name request already exists' }, 400);
|
||||
}
|
||||
|
||||
const r: string[][] = [['r', name]];
|
||||
|
||||
if (name !== name.toLowerCase()) {
|
||||
r.push(['r', name.toLowerCase()]);
|
||||
}
|
||||
|
||||
const event = await createEvent({
|
||||
kind: 3036,
|
||||
content: reason,
|
||||
tags: [
|
||||
['r', name],
|
||||
...r,
|
||||
['L', 'nip05.domain'],
|
||||
['l', name.split('@')[1], 'nip05.domain'],
|
||||
['p', await conf.signer.getPublicKey()],
|
||||
|
|
|
|||
|
|
@ -54,9 +54,11 @@ async function getNip05(
|
|||
}
|
||||
|
||||
export async function localNip05Lookup(store: NStore, localpart: string): Promise<nip19.ProfilePointer | undefined> {
|
||||
const name = `${localpart}@${Conf.url.host}`;
|
||||
|
||||
const [grant] = await store.query([{
|
||||
kinds: [30360],
|
||||
'#d': [`${localpart}@${Conf.url.host}`],
|
||||
'#d': [name, name.toLowerCase()],
|
||||
authors: [await Conf.signer.getPublicKey()],
|
||||
limit: 1,
|
||||
}]);
|
||||
|
|
|
|||
|
|
@ -99,15 +99,18 @@ async function renderReaction(event: DittoEvent, opts: RenderNotificationOpts) {
|
|||
}
|
||||
|
||||
async function renderNameGrant(event: DittoEvent) {
|
||||
const r = event.tags.find(([name]) => name === 'r')?.[1];
|
||||
const d = event.tags.find(([name]) => name === 'd')?.[1];
|
||||
const account = event.author ? await renderAccount(event.author) : await accountFromPubkey(event.pubkey);
|
||||
const name = r ?? d;
|
||||
|
||||
if (!d) return;
|
||||
if (name) return;
|
||||
|
||||
const account = event.author ? await renderAccount(event.author) : await accountFromPubkey(event.pubkey);
|
||||
|
||||
return {
|
||||
id: notificationId(event),
|
||||
type: 'ditto:name_grant' as const,
|
||||
name: d,
|
||||
name,
|
||||
created_at: nostrDate(event.created_at).toISOString(),
|
||||
account,
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue