修正权限放行
This commit is contained in:
@@ -5,6 +5,7 @@ import {
|
||||
createTelegramBindSession,
|
||||
getTelegramBinding,
|
||||
getTelegramConfig,
|
||||
getTelegramConfigProblems,
|
||||
getTelegramDeepLink,
|
||||
} from '@/lib/telegram';
|
||||
|
||||
@@ -18,9 +19,11 @@ export async function GET(request: NextRequest) {
|
||||
|
||||
const config = await getTelegramConfig();
|
||||
const binding = await getTelegramBinding(authInfo.username);
|
||||
const problems = getTelegramConfigProblems(config, 'binding');
|
||||
return NextResponse.json({
|
||||
enabled: config.enabled && config.bindingEnabled && Boolean(config.botToken),
|
||||
botUsername: config.botUsername,
|
||||
enabled: problems.length === 0,
|
||||
problems,
|
||||
botUsername: config.botUsername.replace(/^@/, ''),
|
||||
binding,
|
||||
});
|
||||
}
|
||||
@@ -32,15 +35,26 @@ export async function POST(request: NextRequest) {
|
||||
}
|
||||
|
||||
const config = await getTelegramConfig();
|
||||
if (!config.enabled || !config.bindingEnabled || !config.botToken) {
|
||||
return NextResponse.json({ error: 'Telegram Bot 未启用' }, { status: 400 });
|
||||
const problems = getTelegramConfigProblems(config, 'binding');
|
||||
if (problems.length > 0) {
|
||||
return NextResponse.json({
|
||||
error: `Telegram 绑定不可用:${problems.join('、')}`,
|
||||
config: {
|
||||
enabled: config.enabled,
|
||||
bindingEnabled: config.bindingEnabled,
|
||||
hasBotToken: Boolean(config.botToken),
|
||||
hasBotUsername: Boolean(config.botUsername),
|
||||
botUsername: config.botUsername || '',
|
||||
},
|
||||
}, { status: 400 });
|
||||
}
|
||||
|
||||
const session = await createTelegramBindSession(authInfo.username);
|
||||
const botUsername = config.botUsername.replace(/^@/, '');
|
||||
return NextResponse.json({
|
||||
code: session.code,
|
||||
expiresAt: session.expiresAt,
|
||||
botUsername: config.botUsername,
|
||||
deepLink: config.botUsername ? getTelegramDeepLink(config.botUsername, `bind_${session.code}`) : '',
|
||||
botUsername,
|
||||
deepLink: getTelegramDeepLink(botUsername, `bind_${session.code}`),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
|
||||
import { getTelegramConfig } from '@/lib/telegram';
|
||||
import { getTelegramConfig, getTelegramConfigProblems } from '@/lib/telegram';
|
||||
|
||||
export const runtime = 'nodejs';
|
||||
|
||||
export async function GET() {
|
||||
const config = await getTelegramConfig();
|
||||
const loginProblems = getTelegramConfigProblems(config, 'login');
|
||||
const bindingProblems = getTelegramConfigProblems(config, 'binding');
|
||||
return NextResponse.json({
|
||||
enabled: config.enabled && Boolean(config.botToken),
|
||||
botUsername: config.botUsername,
|
||||
loginEnabled: config.loginEnabled,
|
||||
bindingEnabled: config.bindingEnabled,
|
||||
botUsername: config.botUsername.replace(/^@/, ''),
|
||||
loginEnabled: loginProblems.length === 0,
|
||||
bindingEnabled: bindingProblems.length === 0,
|
||||
notificationsEnabled: config.notificationsEnabled,
|
||||
problems: Array.from(new Set([...loginProblems, ...bindingProblems])),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import { NextResponse } from 'next/server';
|
||||
import {
|
||||
createTelegramLoginSession,
|
||||
getTelegramConfig,
|
||||
getTelegramConfigProblems,
|
||||
getTelegramDeepLink,
|
||||
} from '@/lib/telegram';
|
||||
|
||||
@@ -10,15 +11,26 @@ export const runtime = 'nodejs';
|
||||
|
||||
export async function POST() {
|
||||
const config = await getTelegramConfig();
|
||||
if (!config.enabled || !config.loginEnabled || !config.botToken || !config.botUsername) {
|
||||
return NextResponse.json({ error: 'Telegram 登录未启用' }, { status: 400 });
|
||||
const problems = getTelegramConfigProblems(config, 'login');
|
||||
if (problems.length > 0) {
|
||||
return NextResponse.json({
|
||||
error: `Telegram 登录不可用:${problems.join('、')}`,
|
||||
config: {
|
||||
enabled: config.enabled,
|
||||
loginEnabled: config.loginEnabled,
|
||||
hasBotToken: Boolean(config.botToken),
|
||||
hasBotUsername: Boolean(config.botUsername),
|
||||
botUsername: config.botUsername || '',
|
||||
},
|
||||
}, { status: 400 });
|
||||
}
|
||||
|
||||
const session = await createTelegramLoginSession();
|
||||
const botUsername = config.botUsername.replace(/^@/, '');
|
||||
return NextResponse.json({
|
||||
token: session.token,
|
||||
expiresAt: session.expiresAt,
|
||||
botUsername: config.botUsername,
|
||||
deepLink: getTelegramDeepLink(config.botUsername, `login_${session.token}`),
|
||||
botUsername,
|
||||
deepLink: getTelegramDeepLink(botUsername, `login_${session.token}`),
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user