mirror of
https://gitlab.com/comunic/comunicapiv2
synced 2024-11-22 13:29:22 +00:00
Can generate random new file name
This commit is contained in:
parent
6736dec599
commit
72a4ba79f2
@ -1,6 +1,7 @@
|
||||
import { conf } from "../helpers/ConfigHelper";
|
||||
import { join } from "path";
|
||||
import { existsSync, mkdirSync, writeFileSync } from "fs";
|
||||
import { randomStr } from "./CryptUtils";
|
||||
|
||||
/**
|
||||
* User data utilities
|
||||
@ -53,3 +54,25 @@ export function prepareFileCreation(userID: number, folderName: string) : string
|
||||
|
||||
return subfolder;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a new file name in order to create a new file
|
||||
*
|
||||
* @param dir Target directory
|
||||
* @param ext File extension
|
||||
* @returns Generated file name (including dir)
|
||||
*/
|
||||
export function generateNewUserDataFileName(dir: string, ext: string) : string {
|
||||
const sys_dir = pathUserData(dir, true);
|
||||
|
||||
if(!existsSync(sys_dir))
|
||||
throw Error("Trying to create file into " + sys_dir + " but this directory does not exists!");
|
||||
|
||||
// Generate random file name
|
||||
let filename : string;
|
||||
do {
|
||||
filename = randomStr(25) + "." + ext;
|
||||
} while(existsSync(join(sys_dir, filename)));
|
||||
|
||||
return join(dir, filename);
|
||||
}
|
Loading…
Reference in New Issue
Block a user