mirror of
https://github.com/ZeroCatDev/ClassworksKV.git
synced 2026-02-04 16:03:11 +00:00
feat: 更新OAuth提供者的URL,添加设置教师名称的API接口,修改Socket信息字段
This commit is contained in:
parent
8e3b3df1ae
commit
31aac06f3f
@ -18,9 +18,9 @@ export const oauthProviders = {
|
||||
zerocat: {
|
||||
clientId: process.env.ZEROCAT_CLIENT_ID,
|
||||
clientSecret: process.env.ZEROCAT_CLIENT_SECRET,
|
||||
authorizationURL: "https://zerocat-api.houlangs.com/oauth/authorize",
|
||||
tokenURL: "https://zerocat-api.houlangs.com/oauth/token",
|
||||
userInfoURL: "https://zerocat-api.houlangs.com/oauth/userinfo",
|
||||
authorizationURL: "https://zerocat-api.houlang.cloud/oauth/authorize",
|
||||
tokenURL: "https://zerocat-api.houlang.cloud/oauth/token",
|
||||
userInfoURL: "https://zerocat-api.houlang.cloud/oauth/userinfo",
|
||||
scope: "user:basic user:email",
|
||||
// 展示相关
|
||||
name: "ZeroCat",
|
||||
|
||||
@ -338,6 +338,54 @@ router.post(
|
||||
})
|
||||
);
|
||||
|
||||
/**
|
||||
* POST /apps/tokens/:token/set-teacher-name
|
||||
* 设置教师名称 (仅限教师类型的 token)
|
||||
* Body: { name: string }
|
||||
*/
|
||||
router.post(
|
||||
"/tokens/:token/set-teacher-name",
|
||||
errors.catchAsync(async (req, res, next) => {
|
||||
const {token} = req.params;
|
||||
const {name} = req.body;
|
||||
|
||||
if (!name) {
|
||||
return next(errors.createError(400, "需要提供教师名称"));
|
||||
}
|
||||
|
||||
// 查找 token 对应的应用安装记录
|
||||
const appInstall = await prisma.appInstall.findUnique({
|
||||
where: {token},
|
||||
include: {
|
||||
device: true,
|
||||
},
|
||||
});
|
||||
|
||||
if (!appInstall) {
|
||||
return next(errors.createError(404, "Token 不存在"));
|
||||
}
|
||||
|
||||
// 验证 token 类型是否为 teacher
|
||||
if (appInstall.deviceType !== 'teacher') {
|
||||
return next(errors.createError(403, "只有教师类型的 token 可以使用此接口"));
|
||||
}
|
||||
|
||||
// 更新 AppInstall 的 note 字段为教师名称
|
||||
const updatedInstall = await prisma.appInstall.update({
|
||||
where: {id: appInstall.id},
|
||||
data: {note: name},
|
||||
});
|
||||
|
||||
return res.json({
|
||||
success: true,
|
||||
token: updatedInstall.token,
|
||||
name: updatedInstall.note,
|
||||
deviceType: updatedInstall.deviceType,
|
||||
updatedAt: updatedInstall.updatedAt,
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
/**
|
||||
* PUT /apps/tokens/:token/note
|
||||
* 更新令牌的备注信息
|
||||
|
||||
@ -245,7 +245,7 @@ export function initSocket(server) {
|
||||
senderInfo: {
|
||||
appId: tokenInfo?.appId,
|
||||
deviceType: tokenInfo?.deviceType,
|
||||
deviceName: tokenInfo?.deviceName,
|
||||
deviceName: tokenInfo?.note,
|
||||
isReadOnly: tokenInfo?.isReadOnly || false,
|
||||
note: tokenInfo?.note
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user