feat: anonymous comment api
This commit is contained in:
parent
998eb3c9c7
commit
973c2e4afc
|
|
@ -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=
|
||||
|
|
@ -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]
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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(),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue