simple posting api

This commit is contained in:
2025-02-13 20:06:36 +01:00
parent 8f253ac66e
commit 63c47fb09e
12 changed files with 243 additions and 117 deletions
+14
View File
@@ -0,0 +1,14 @@
import { NextResponse, NextRequest } from 'next/server';
import { TwitterApi } from 'twitter-api-v2';
import config from '@/env';
import { PostRequest } from '@/platform';
import { inspect } from 'util';
export async function POST(req: NextRequest) {
return NextResponse.json(
{
message: 'ok, feature not available yet',
},
{ status: 200 }
);
}
+35
View File
@@ -0,0 +1,35 @@
import { NextResponse, NextRequest } from 'next/server';
import { TwitterApi } from 'twitter-api-v2';
import config from '@/env';
import { PostRequest } from '@/platform';
import { inspect } from 'util';
export async function POST(req: NextRequest) {
const { content, platforms }: PostRequest = await req.json();
try {
for (const platform of platforms) {
switch (platform.platform) {
// X / Twitter
case 'x':
const twitterClient = new TwitterApi({
appKey: config.twitter.key,
appSecret: config.twitter.secret,
accessToken: platform.token,
accessSecret: platform.secret,
});
await twitterClient.v2.tweet(content);
}
}
} catch (err) {
console.log(inspect(err, true, null, true));
}
return NextResponse.json(
{
message: 'ok',
},
{ status: 200 }
);
}
+11
View File
@@ -0,0 +1,11 @@
import { NextResponse, NextRequest } from 'next/server';
export async function GET(request: NextRequest) {
return NextResponse.json(
{
message: 'ok',
version: '0.0.1-alpha.0',
},
{ status: 200 }
);
}