multimodalart HF Staff commited on
Commit
ba7e878
·
verified ·
1 Parent(s): 696b526

update folder creation

Browse files
Files changed (2) hide show
  1. ui/src/.DS_Store +0 -0
  2. ui/src/server/settings.ts +56 -33
ui/src/.DS_Store CHANGED
Binary files a/ui/src/.DS_Store and b/ui/src/.DS_Store differ
 
ui/src/server/settings.ts CHANGED
@@ -2,9 +2,32 @@ import { PrismaClient } from '@prisma/client';
2
  import { defaultDatasetsFolder, defaultDataRoot } from '@/paths';
3
  import { defaultTrainFolder } from '@/paths';
4
  import NodeCache from 'node-cache';
 
5
 
6
  const myCache = new NodeCache();
7
- const prisma = new PrismaClient();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
  export const flushCache = () => {
10
  myCache.flushAll();
@@ -16,14 +39,14 @@ export const getDatasetsRoot = async () => {
16
  if (datasetsPath) {
17
  return datasetsPath;
18
  }
19
- let row = await prisma.settings.findFirst({
20
- where: {
21
- key: 'DATASETS_FOLDER',
22
- },
23
- });
24
- datasetsPath = defaultDatasetsFolder;
25
- if (row?.value && row.value !== '') {
26
- datasetsPath = row.value;
27
  }
28
  myCache.set(key, datasetsPath);
29
  return datasetsPath as string;
@@ -35,14 +58,14 @@ export const getTrainingFolder = async () => {
35
  if (trainingRoot) {
36
  return trainingRoot;
37
  }
38
- let row = await prisma.settings.findFirst({
39
- where: {
40
- key: key,
41
- },
42
- });
43
- trainingRoot = defaultTrainFolder;
44
- if (row?.value && row.value !== '') {
45
- trainingRoot = row.value;
46
  }
47
  myCache.set(key, trainingRoot);
48
  return trainingRoot as string;
@@ -54,14 +77,14 @@ export const getHFToken = async () => {
54
  if (token) {
55
  return token;
56
  }
57
- let row = await prisma.settings.findFirst({
58
- where: {
59
- key: key,
60
- },
61
- });
62
- token = '';
63
- if (row?.value && row.value !== '') {
64
- token = row.value;
65
  }
66
  myCache.set(key, token);
67
  return token;
@@ -73,14 +96,14 @@ export const getDataRoot = async () => {
73
  if (dataRoot) {
74
  return dataRoot;
75
  }
76
- let row = await prisma.settings.findFirst({
77
- where: {
78
- key: key,
79
- },
80
- });
81
- dataRoot = defaultDataRoot;
82
- if (row?.value && row.value !== '') {
83
- dataRoot = row.value;
84
  }
85
  myCache.set(key, dataRoot);
86
  return dataRoot;
 
2
  import { defaultDatasetsFolder, defaultDataRoot } from '@/paths';
3
  import { defaultTrainFolder } from '@/paths';
4
  import NodeCache from 'node-cache';
5
+ import { usingBrowserDb } from '@/utils/env';
6
 
7
  const myCache = new NodeCache();
8
+
9
+ const isBrowserMode = usingBrowserDb || (process.env.DB_MODE || '').toLowerCase() === 'browser';
10
+
11
+ const prisma = !isBrowserMode ? new PrismaClient() : null;
12
+
13
+ const safeSettingLookup = async (key: string) => {
14
+ if (!prisma) {
15
+ return null;
16
+ }
17
+ try {
18
+ return await prisma.settings.findFirst({ where: { key } });
19
+ } catch (error) {
20
+ console.error(`Prisma settings lookup failed for key ${key}:`, error);
21
+ return null;
22
+ }
23
+ };
24
+
25
+ const envOrDefault = (envValue: string | undefined, fallback: string) => {
26
+ if (envValue && envValue.trim() !== '') {
27
+ return envValue.trim();
28
+ }
29
+ return fallback;
30
+ };
31
 
32
  export const flushCache = () => {
33
  myCache.flushAll();
 
39
  if (datasetsPath) {
40
  return datasetsPath;
41
  }
42
+ if (isBrowserMode) {
43
+ datasetsPath = envOrDefault(process.env.DATASETS_FOLDER, defaultDatasetsFolder);
44
+ } else {
45
+ const row = await safeSettingLookup('DATASETS_FOLDER');
46
+ datasetsPath = envOrDefault(process.env.DATASETS_FOLDER, defaultDatasetsFolder);
47
+ if (row?.value && row.value !== '') {
48
+ datasetsPath = row.value;
49
+ }
50
  }
51
  myCache.set(key, datasetsPath);
52
  return datasetsPath as string;
 
58
  if (trainingRoot) {
59
  return trainingRoot;
60
  }
61
+ if (isBrowserMode) {
62
+ trainingRoot = envOrDefault(process.env.TRAINING_FOLDER, defaultTrainFolder);
63
+ } else {
64
+ const row = await safeSettingLookup(key);
65
+ trainingRoot = envOrDefault(process.env.TRAINING_FOLDER, defaultTrainFolder);
66
+ if (row?.value && row.value !== '') {
67
+ trainingRoot = row.value;
68
+ }
69
  }
70
  myCache.set(key, trainingRoot);
71
  return trainingRoot as string;
 
77
  if (token) {
78
  return token;
79
  }
80
+ if (isBrowserMode) {
81
+ token = envOrDefault(process.env.HF_TOKEN, '');
82
+ } else {
83
+ const row = await safeSettingLookup(key);
84
+ token = envOrDefault(process.env.HF_TOKEN, '');
85
+ if (row?.value && row.value !== '') {
86
+ token = row.value;
87
+ }
88
  }
89
  myCache.set(key, token);
90
  return token;
 
96
  if (dataRoot) {
97
  return dataRoot;
98
  }
99
+ if (isBrowserMode) {
100
+ dataRoot = envOrDefault(process.env.DATA_ROOT, defaultDataRoot);
101
+ } else {
102
+ const row = await safeSettingLookup(key);
103
+ dataRoot = envOrDefault(process.env.DATA_ROOT, defaultDataRoot);
104
+ if (row?.value && row.value !== '') {
105
+ dataRoot = row.value;
106
+ }
107
  }
108
  myCache.set(key, dataRoot);
109
  return dataRoot;