Updates
This commit is contained in:
@@ -6,7 +6,13 @@ export declare const initAuthFiles: () => boolean;
|
||||
/**
|
||||
* # Write Auth Files
|
||||
*/
|
||||
export declare const writeAuthFile: (name: string, data: string) => boolean;
|
||||
export declare const writeAuthFile: (name: string, data: string, cleanup?: {
|
||||
userId: string | number;
|
||||
}) => boolean;
|
||||
/**
|
||||
* # Clean up User Auth Files
|
||||
*/
|
||||
export declare const cleanupUserAuthFiles: (userId: string | number) => boolean;
|
||||
/**
|
||||
* # Get Auth Files
|
||||
*/
|
||||
|
||||
@@ -3,9 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.checkAuthFile = exports.deleteAuthFile = exports.getAuthFile = exports.writeAuthFile = exports.initAuthFiles = exports.grabAuthDirs = void 0;
|
||||
exports.checkAuthFile = exports.deleteAuthFile = exports.getAuthFile = exports.cleanupUserAuthFiles = exports.writeAuthFile = exports.initAuthFiles = exports.grabAuthDirs = void 0;
|
||||
const fs_1 = __importDefault(require("fs"));
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const ejson_1 = __importDefault(require("../../../utils/ejson"));
|
||||
const grabAuthDirs = () => {
|
||||
const DSQL_AUTH_DIR = process.env.DSQL_AUTH_DIR;
|
||||
const ROOT_DIR = (DSQL_AUTH_DIR === null || DSQL_AUTH_DIR === void 0 ? void 0 : DSQL_AUTH_DIR.match(/./))
|
||||
@@ -35,10 +36,14 @@ exports.initAuthFiles = initAuthFiles;
|
||||
/**
|
||||
* # Write Auth Files
|
||||
*/
|
||||
const writeAuthFile = (name, data) => {
|
||||
const writeAuthFile = (name, data, cleanup) => {
|
||||
(0, exports.initAuthFiles)();
|
||||
try {
|
||||
fs_1.default.writeFileSync(path_1.default.join((0, exports.grabAuthDirs)().auth, name), data);
|
||||
const { auth, root } = (0, exports.grabAuthDirs)();
|
||||
if (cleanup) {
|
||||
(0, exports.cleanupUserAuthFiles)(cleanup.userId);
|
||||
}
|
||||
fs_1.default.writeFileSync(path_1.default.join(auth, name), data);
|
||||
return true;
|
||||
}
|
||||
catch ( /** @type {any} */error) {
|
||||
@@ -47,6 +52,33 @@ const writeAuthFile = (name, data) => {
|
||||
}
|
||||
};
|
||||
exports.writeAuthFile = writeAuthFile;
|
||||
/**
|
||||
* # Clean up User Auth Files
|
||||
*/
|
||||
const cleanupUserAuthFiles = (userId) => {
|
||||
(0, exports.initAuthFiles)();
|
||||
try {
|
||||
const { auth } = (0, exports.grabAuthDirs)();
|
||||
const loginFiles = fs_1.default.readdirSync(auth);
|
||||
for (let i = 0; i < loginFiles.length; i++) {
|
||||
const loginFile = loginFiles[i];
|
||||
const loginFilePath = path_1.default.join(auth, loginFile);
|
||||
try {
|
||||
const authPayload = ejson_1.default.parse(fs_1.default.readFileSync(loginFilePath, "utf-8"));
|
||||
if (authPayload.id == userId) {
|
||||
fs_1.default.unlinkSync(loginFilePath);
|
||||
}
|
||||
}
|
||||
catch (error) { }
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (error) {
|
||||
console.log(`Error Cleaning up User Auth Files: ${error.message}`);
|
||||
return false;
|
||||
}
|
||||
};
|
||||
exports.cleanupUserAuthFiles = cleanupUserAuthFiles;
|
||||
/**
|
||||
* # Get Auth Files
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user