Versie 0.2.0
This commit is contained in:
commit
e77d8fd373
495 files changed
+81026
No files matched your search
@@ -0,0 +1,35 @@
|
||||
// Generated, do not edit. sha256:e7b97bfa74b04b9522e509df409b4fa237f564c7b1fc8cdbe64c7eb87d1cb4dd
|
||||
import { CONFIG } from '../../shared/config.js';
|
||||
import { marketServiceUrl, marketSupportMessages, marketSupportSend, marketSupportAttachment } from '../market-service.mjs';
|
||||
|
||||
const S = CONFIG.LICENSE.SUPPORT;
|
||||
const ATTACHMENT_ID = /^[0-9a-f]{32}$/;
|
||||
|
||||
function assertSignature(signature) {
|
||||
if (!/^Nostr [A-Za-z0-9+/=]+$/.test(String(signature ?? ''))) throw new Error('A support call carries an "Authorization: Nostr <base64 event>" header.');
|
||||
}
|
||||
|
||||
export async function supportInfo() {
|
||||
return {
|
||||
serviceUrl: await marketServiceUrl(),
|
||||
maxText: S.MAX_TEXT, maxAttachmentBytes: S.MAX_ATTACHMENT_BYTES, attachmentTypes: [...S.ATTACHMENT_TYPES],
|
||||
nostr: { pubkey: S.RECIPIENT, name: S.RECIPIENT_NAME },
|
||||
};
|
||||
}
|
||||
|
||||
export async function supportMessages(signature) {
|
||||
assertSignature(signature);
|
||||
return marketSupportMessages(signature);
|
||||
}
|
||||
|
||||
export async function sendSupport(signature, body) {
|
||||
assertSignature(signature);
|
||||
if (typeof body !== 'string') throw new Error('The body of a support message is the signed JSON text.');
|
||||
return marketSupportSend(signature, body);
|
||||
}
|
||||
|
||||
export async function supportAttachment(signature, id) {
|
||||
assertSignature(signature);
|
||||
if (!ATTACHMENT_ID.test(String(id))) throw new Error('An attachment id is 32 hex characters.');
|
||||
return marketSupportAttachment(signature, id);
|
||||
}
|
||||
Reference in new issue
Block a user