* 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>
50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
import { AuthResponseType } from '@fastgpt/global/support/permission/type';
|
|
import { AuthModeType } from '../type';
|
|
import { TeamItemType } from '@fastgpt/global/support/user/team/type';
|
|
import { TeamMemberRoleEnum } from '@fastgpt/global/support/user/team/constant';
|
|
import { parseHeaderCert } from '../controller';
|
|
import { getTmbInfoByTmbId } from '../../user/team/controller';
|
|
import { UserErrEnum } from '../../../../global/common/error/code/user';
|
|
|
|
export async function authUserNotVisitor(props: AuthModeType): Promise<
|
|
AuthResponseType & {
|
|
team: TeamItemType;
|
|
role: `${TeamMemberRoleEnum}`;
|
|
}
|
|
> {
|
|
const { teamId, tmbId } = await parseHeaderCert(props);
|
|
const team = await getTmbInfoByTmbId({ tmbId });
|
|
|
|
if (team.role === TeamMemberRoleEnum.visitor) {
|
|
return Promise.reject(UserErrEnum.binVisitor);
|
|
}
|
|
|
|
return {
|
|
teamId,
|
|
tmbId,
|
|
team,
|
|
role: team.role,
|
|
isOwner: team.role === TeamMemberRoleEnum.owner, // teamOwner
|
|
canWrite: true
|
|
};
|
|
}
|
|
|
|
/* auth user role */
|
|
export async function authUserRole(props: AuthModeType): Promise<
|
|
AuthResponseType & {
|
|
role: `${TeamMemberRoleEnum}`;
|
|
teamOwner: boolean;
|
|
}
|
|
> {
|
|
const result = await parseHeaderCert(props);
|
|
const { role: userRole, canWrite } = await getTmbInfoByTmbId({ tmbId: result.tmbId });
|
|
|
|
return {
|
|
...result,
|
|
isOwner: true,
|
|
role: userRole,
|
|
teamOwner: userRole === TeamMemberRoleEnum.owner,
|
|
canWrite
|
|
};
|
|
}
|