ai-toolkit / ui /src /server /settings.ts
rahul7star's picture
boilerplate
fcc02a2 verified
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;
};