* perf: insert mongo dataset data session * perf: dataset data index * remove delay * rename bill schema * rename bill record * perf: bill table * perf: prompt * perf: sub plan * change the usage count * feat: usage bill * publish usages * doc * 新增团队聊天功能 (#20) * perf: doc * feat 添加标签部分 feat 信息团队标签配置 feat 新增团队同步管理 feat team分享页面 feat 完成team分享页面 feat 实现模糊搜索 style 格式化 fix 修复迷糊匹配 style 样式修改 fix 团队标签功能修复 * fix 修复鉴权功能 * merge 合并代码 * fix 修复引用错误 * fix 修复pr问题 * fix 修复ts格式问题 --------- Co-authored-by: archer <545436317@qq.com> Co-authored-by: liuxingwan <liuxingwan.lxw@alibaba-inc.com> * update extra plan * fix: ts * format * perf: bill field * feat: standard plan * fix: ts * feat 个人账号页面修改 (#22) * feat 添加标签部分 feat 信息团队标签配置 feat 新增团队同步管理 feat team分享页面 feat 完成team分享页面 feat 实现模糊搜索 style 格式化 fix 修复迷糊匹配 style 样式修改 fix 团队标签功能修复 * fix 修复鉴权功能 * merge 合并代码 * fix 修复引用错误 * fix 修复pr问题 * fix 修复ts格式问题 * feat 修改个人账号页 --------- Co-authored-by: liuxingwan <liuxingwan.lxw@alibaba-inc.com> * fix chunk index; error page text * feat: dataset process Integral prediction * feat: stand plan field * feat: sub plan limit * perf: index * query extension * perf: share link push app name * perf: plan point unit * perf: get sub plan * perf: account page --------- Co-authored-by: yst <77910600+yu-and-liu@users.noreply.github.com> Co-authored-by: liuxingwan <liuxingwan.lxw@alibaba-inc.com>
39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
import { ERROR_ENUM } from '@fastgpt/global/common/error/errorCode';
|
|
import { updateApiKeyUsedTime } from './tools';
|
|
import { MongoOpenApi } from './schema';
|
|
import { POST } from '../../common/api/plusRequest';
|
|
import type { OpenApiSchema } from '@fastgpt/global/support/openapi/type';
|
|
|
|
export type AuthOpenApiLimitProps = { openApi: OpenApiSchema };
|
|
|
|
export async function authOpenApiKey({ apikey }: { apikey: string }) {
|
|
if (!apikey) {
|
|
return Promise.reject(ERROR_ENUM.unAuthApiKey);
|
|
}
|
|
try {
|
|
const openApi = await MongoOpenApi.findOne({ apiKey: apikey.trim() });
|
|
if (!openApi) {
|
|
return Promise.reject(ERROR_ENUM.unAuthApiKey);
|
|
}
|
|
|
|
// auth limit
|
|
// @ts-ignore
|
|
if (global.feConfigs?.isPlus) {
|
|
await POST('/support/openapi/authLimit', {
|
|
openApi: openApi.toObject()
|
|
} as AuthOpenApiLimitProps);
|
|
}
|
|
|
|
updateApiKeyUsedTime(openApi._id);
|
|
|
|
return {
|
|
apikey,
|
|
teamId: String(openApi.teamId),
|
|
tmbId: String(openApi.tmbId),
|
|
appId: openApi.appId || ''
|
|
};
|
|
} catch (error) {
|
|
return Promise.reject(error);
|
|
}
|
|
}
|