mirror of
https://github.com/ostris/ai-toolkit.git
synced 2026-01-26 16:39:47 +00:00
69 lines
1.5 KiB
TypeScript
69 lines
1.5 KiB
TypeScript
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;
|
|
};
|