Add read-only policy

This commit is contained in:
Alex Gleason 2023-03-20 23:25:22 -05:00
parent 3fc82e4144
commit c631edf3e3
No known key found for this signature in database
GPG Key ID: 7211D1F99744FBB7

39
read-only-policy.ts Executable file
View File

@ -0,0 +1,39 @@
#!/bin/sh
//bin/true; exec deno run -A "$0" "$@"
import { readLines } from 'https://deno.land/std@0.178.0/io/mod.ts';
interface InputMessage {
type: 'new' | 'lookback';
event: Event;
receivedAt: number;
sourceType: 'IP4' | 'IP6' | 'Import' | 'Stream' | 'Sync';
sourceInfo: string;
}
interface OutputMessage {
id: string;
action: 'accept' | 'reject' | 'shadowReject';
msg: string;
}
interface Event {
id: string;
sig: string;
kind: number;
tags: string[][];
pubkey: string;
content: string;
created_at: number;
}
function handleMessage(msg: InputMessage): OutputMessage {
return {
id: msg.event.id,
action: 'reject',
msg: 'The relay is set to read-only.',
};
}
for await (const line of readLines(Deno.stdin)) {
console.log(JSON.stringify(handleMessage(JSON.parse(line))));
}