Initial LinkedSign platform
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
const fs = require('fs/promises');
|
||||
const path = require('path');
|
||||
|
||||
const storageDir = path.resolve(process.cwd(), 'storage', 'auth');
|
||||
const storageFile = path.join(storageDir, 'password-change-requests.json');
|
||||
|
||||
const readRequests = async () => {
|
||||
try {
|
||||
const raw = await fs.readFile(storageFile, 'utf8');
|
||||
return JSON.parse(raw);
|
||||
} catch (error) {
|
||||
return {};
|
||||
}
|
||||
};
|
||||
|
||||
const writeRequests = async (data) => {
|
||||
await fs.mkdir(storageDir, { recursive: true });
|
||||
await fs.writeFile(storageFile, JSON.stringify(data, null, 2), 'utf8');
|
||||
};
|
||||
|
||||
const saveRequest = async (token, data) => {
|
||||
const current = await readRequests();
|
||||
current[token] = data;
|
||||
await writeRequests(current);
|
||||
};
|
||||
|
||||
const findRequest = async (token) => {
|
||||
const current = await readRequests();
|
||||
return current[token] || null;
|
||||
};
|
||||
|
||||
const deleteRequest = async (token) => {
|
||||
const current = await readRequests();
|
||||
if (!current[token]) return;
|
||||
delete current[token];
|
||||
await writeRequests(current);
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
saveRequest,
|
||||
findRequest,
|
||||
deleteRequest,
|
||||
};
|
||||
Reference in New Issue
Block a user