Onboarding
This commit is contained in:
@@ -7,6 +7,21 @@ import { getHomeDir, DATA_PATH, getUserSettingsFile } from '@@/data-path';
|
||||
import * as errors from '@@/custom-errors';
|
||||
import { readConfig } from '@@/api/server-settings/resources';
|
||||
|
||||
const DEFAULT_HOME_DIRS = ['Downloads', 'Documents', 'Music', 'Video', 'Pictures', 'Onboarding'];
|
||||
const ONBOARDING_SEED = join(DATA_PATH, 'Onboarding');
|
||||
|
||||
async function seedHomeDir(homeDir: string) {
|
||||
for (const dir of DEFAULT_HOME_DIRS) {
|
||||
const target = join(homeDir, dir);
|
||||
if (existsSync(target)) continue;
|
||||
if (dir === 'Onboarding' && existsSync(ONBOARDING_SEED)) {
|
||||
await cp(ONBOARDING_SEED, target, { recursive: true });
|
||||
} else {
|
||||
await mkdir(target, { recursive: true });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const router = createRouter();
|
||||
|
||||
type UserCtx = { email: string; role: string | null };
|
||||
@@ -39,6 +54,7 @@ router.get('/ls', async (ctx) => {
|
||||
|
||||
// Auto-create dir if missing (only for user home root)
|
||||
if (!ctx.req.query('root') || ctx.req.query('root') === 'home') {
|
||||
await seedHomeDir(rootDir);
|
||||
await mkdir(absPath, { recursive: true });
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user