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; | |
| }; | |