FastGPT/packages/global/support/wallet/usage/tools.ts
Finley Ge 9b74437417
Some checks failed
Build FastGPT images in Personal warehouse / build-fastgpt-images (push) Waiting to run
Deploy image by kubeconfig / build-fastgpt-docs-images (push) Has been cancelled
Deploy image to vercel / deploy-production (push) Has been cancelled
Sync images / sync (push) Has been cancelled
Deploy image by kubeconfig / update-docs-image (push) Has been cancelled
fix(publish): generate correct chat history and usage (#2412)
2024-08-16 15:59:17 +08:00

44 lines
1.3 KiB
TypeScript

/* bill common */
import { PRICE_SCALE } from '../constants';
import { UsageSourceEnum } from './constants';
import { AuthUserTypeEnum } from '../../permission/constant';
import { PublishChannelEnum } from '../../outLink/constant';
/**
* dataset price / PRICE_SCALE = real price
*/
export const formatStorePrice2Read = (val = 0, multiple = 1) => {
return Number(((val / PRICE_SCALE) * multiple).toFixed(10));
};
export const getUsageSourceByAuthType = ({
shareId,
authType
}: {
shareId?: string;
authType?: `${AuthUserTypeEnum}`;
}) => {
if (shareId) return UsageSourceEnum.shareLink;
if (authType === AuthUserTypeEnum.apikey) return UsageSourceEnum.api;
return UsageSourceEnum.fastgpt;
};
export const getUsageSourceByPublishChannel = (publishchannel: PublishChannelEnum) => {
switch (publishchannel) {
case PublishChannelEnum.share:
return UsageSourceEnum.share;
case PublishChannelEnum.iframe:
return UsageSourceEnum.shareLink;
case PublishChannelEnum.apikey:
return UsageSourceEnum.api;
case PublishChannelEnum.feishu:
return UsageSourceEnum.feishu;
case PublishChannelEnum.wecom:
return UsageSourceEnum.wecom;
case PublishChannelEnum.officialAccount:
return UsageSourceEnum.official_account;
default:
return UsageSourceEnum.fastgpt;
}
};