feat: anonymous comment api

This commit is contained in:
DIYgod 2023-06-13 00:05:25 +01:00
parent 998eb3c9c7
commit 973c2e4afc
No known key found for this signature in database
7 changed files with 52 additions and 1 deletions

View File

@ -49,3 +49,5 @@ DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${DB_HOST}:${DB_
# Redis database connection
REDIS_URL=redis://localhost:6379
ANONYMOUS_ACCOUNT_PRIVATEKEY=

View File

@ -1,3 +1,3 @@
{
"latest": [151, 53994, 54570, 54481, 54537, 54302, 53944, 55768, 55855]
"latest": [151, 53994, 54570, 54481, 54537, 54302, 53944, 55768, 55855, 56592]
}

View File

@ -10,6 +10,7 @@ stringData:
OPENSEA_API_KEY: ${OPENSEA_API_KEY}
POAP_API_KEY: ${POAP_API_KEY}
OPENAI_API_KEY: ${OPENAI_API_KEY}
ANONYMOUS_ACCOUNT_PRIVATEKEY: ${ANONYMOUS_ACCOUNT_PRIVATEKEY}
kind: Secret
metadata:
name: xlog

View File

@ -10,6 +10,7 @@ stringData:
OPENSEA_API_KEY: ${OPENSEA_API_KEY}
POAP_API_KEY: ${POAP_API_KEY}
OPENAI_API_KEY: ${OPENAI_API_KEY}
ANONYMOUS_ACCOUNT_PRIVATEKEY: ${ANONYMOUS_ACCOUNT_PRIVATEKEY}
kind: Secret
metadata:
name: xlog

View File

@ -119,6 +119,8 @@ module.exports = withBundleAnalyzer(
ENV_OPENSEA_API_KEY: process.env.OPENSEA_API_KEY,
ENV_POAP_API_KEY: process.env.POAP_API_KEY,
ENV_OPENAI_API_KEY: process.env.OPENAI_API_KEY,
ENV_ANONYMOUS_ACCOUNT_PRIVATEKEY:
process.env.ANONYMOUS_ACCOUNT_PRIVATEKEY,
},
async headers() {

View File

@ -0,0 +1,42 @@
import { createContract } from "crossbell"
import { NextResponse } from "next/server"
import { ANONYMOUS_ACCOUNT_PRIVATEKEY } from "~/lib/env.server"
import { NextServerResponse, getQuery } from "~/lib/server-helper"
const contract = createContract(ANONYMOUS_ACCOUNT_PRIVATEKEY)
// /api/anonymous/comment?target=1-1&content=hello&name=Me
export async function GET(req: Request): Promise<Response> {
const { target, content, name } = getQuery(req)
if (!target || !content) {
return NextResponse.json({ error: "Missing target or content" })
}
const res = new NextServerResponse()
const { data } = await contract.note.postForNote({
targetCharacterId: target.split("-")[0],
targetNoteId: target.split("-")[1],
characterId: 56592,
metadataOrUri: {
tags: ["comment"],
sources: ["xlog"],
content: content,
},
...(name && {
attributes: [
{
trait_type: "xlog_display_name",
value: name,
},
],
}),
})
return res.status(200).json({
data: {
noteId: data.noteId.toString(),
},
})
}

View File

@ -23,3 +23,6 @@ export const OPENSEA_API_KEY =
export const POAP_API_KEY = config.ENV_POAP_API_KEY || process.env.POAP_API_KEY
export const OPENAI_API_KEY =
config.ENV_OPENAI_API_KEY || process.env.OPENAI_API_KEY
export const ANONYMOUS_ACCOUNT_PRIVATEKEY =
config.ENV_ANONYMOUS_ACCOUNT_PRIVATEKEY ||
process.env.ANONYMOUS_ACCOUNT_PRIVATEKEY