Spaces:
Running
Running
import { PrismaClient } from '@prisma/client'; | |
import { defaultDatasetsFolder } from '@/paths'; | |
import { defaultTrainFolder } from '@/paths'; | |
import NodeCache from 'node-cache'; | |
const myCache = new NodeCache(); | |
const prisma = new PrismaClient(); | |
export const flushCache = () => { | |
myCache.flushAll(); | |
}; | |
export const getDatasetsRoot = async () => { | |
const key = 'DATASETS_FOLDER'; | |
let datasetsPath = myCache.get(key) as string; | |
if (datasetsPath) { | |
return datasetsPath; | |
} | |
let row = await prisma.settings.findFirst({ | |
where: { | |
key: 'DATASETS_FOLDER', | |
}, | |
}); | |
datasetsPath = defaultDatasetsFolder; | |
if (row?.value && row.value !== '') { | |
datasetsPath = row.value; | |
} | |
myCache.set(key, datasetsPath); | |
return datasetsPath as string; | |
}; | |
export const getTrainingFolder = async () => { | |
const key = 'TRAINING_FOLDER'; | |
let trainingRoot = myCache.get(key) as string; | |
if (trainingRoot) { | |
return trainingRoot; | |
} | |
let row = await prisma.settings.findFirst({ | |
where: { | |
key: key, | |
}, | |
}); | |
trainingRoot = defaultTrainFolder; | |
if (row?.value && row.value !== '') { | |
trainingRoot = row.value; | |
} | |
myCache.set(key, trainingRoot); | |
return trainingRoot as string; | |
}; | |
export const getHFToken = async () => { | |
const key = 'HF_TOKEN'; | |
let token = myCache.get(key) as string; | |
if (token) { | |
return token; | |
} | |
let row = await prisma.settings.findFirst({ | |
where: { | |
key: key, | |
}, | |
}); | |
token = ''; | |
if (row?.value && row.value !== '') { | |
token = row.value; | |
} | |
myCache.set(key, token); | |
return token; | |
}; | |