change providerApiSecretMd5 column to providerApiSecret for LlmModelUsageRecord table

This commit is contained in:
geekgeekrun
2025-04-22 13:54:54 +08:00
parent 3d148e8e01
commit bbd670b674
2 changed files with 5 additions and 10 deletions
@@ -2,7 +2,7 @@ import { requireTypeorm } from "../utils/module-loader";
const { Entity, PrimaryGeneratedColumn, Column, Index } = requireTypeorm() const { Entity, PrimaryGeneratedColumn, Column, Index } = requireTypeorm()
@Entity() @Entity()
@Index(["providerCompleteApiUrl", "model", "providerApiSecretMd5"]) @Index(["providerCompleteApiUrl", "model", "providerApiSecret"])
export class LlmModelUsageRecord { export class LlmModelUsageRecord {
@PrimaryGeneratedColumn() @PrimaryGeneratedColumn()
id: number; id: number;
@@ -13,8 +13,10 @@ export class LlmModelUsageRecord {
@Column() @Column()
model: string model: string
@Column() @Column({
providerApiSecretMd5: string nullable: true
})
providerApiSecret: string
@Column({ @Column({
nullable: true nullable: true
@@ -5,7 +5,6 @@ export const RequestSceneEnum = {
readNoReplyAutoReminder: 2, readNoReplyAutoReminder: 2,
geekAutoStartChatWithBoss: 3 geekAutoStartChatWithBoss: 3
} }
export const providerApiSecretToMd5Map = {}
let dbInitPromise let dbInitPromise
export const recordGptCompletionRequest = async (payload) => { export const recordGptCompletionRequest = async (payload) => {
@@ -13,17 +12,11 @@ export const recordGptCompletionRequest = async (payload) => {
'@geekgeekrun/geek-auto-start-chat-with-boss/runtime-file-utils.mjs' '@geekgeekrun/geek-auto-start-chat-with-boss/runtime-file-utils.mjs'
) )
const { initDb } = await import('@geekgeekrun/sqlite-plugin') const { initDb } = await import('@geekgeekrun/sqlite-plugin')
const SparkMD5 = await import('spark-md5')
if (!dbInitPromise) { if (!dbInitPromise) {
dbInitPromise = initDb(getPublicDbFilePath()) dbInitPromise = initDb(getPublicDbFilePath())
} }
const ds = await dbInitPromise const ds = await dbInitPromise
const o = { ...payload } const o = { ...payload }
if (!providerApiSecretToMd5Map[o.providerApiSecret]) {
providerApiSecretToMd5Map[o.providerApiSecret] = SparkMD5.hash(o.providerApiSecret)
}
o.providerApiSecretMd5 = providerApiSecretToMd5Map[o.providerApiSecret]
delete o.providerApiSecret
await saveGptCompletionRequestRecord(ds, [o]) await saveGptCompletionRequestRecord(ds, [o])
} }