Files
linkedsign/backend/src/modules/auth/password-change.repository.js
T
2026-04-06 20:34:18 -05:00

44 lines
1.0 KiB
JavaScript

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,
};