A self hosted solution for privately rating and reviewing different sorts of media
at master 24 lines 821 B view raw
1import path from 'path'; 2import { promises as fs } from 'fs'; 3 4export async function get_data() { 5 const jsonDirectory = path.join(process.cwd(), 'data'); 6 const fileContents = await fs.readFile(jsonDirectory + '/data.json', 'utf8'); 7 let parsed = {} 8 try { 9 parsed = JSON.parse(fileContents); 10 } catch { 11 parsed = {"err": "no"} 12 } 13 return parsed 14} 15 16export async function set_data(data: object) { 17 let date = new Date().toUTCString().substring(5, new Date().toUTCString().length - 4).replaceAll(" ", "-"); 18 19 const dataDirectory = path.join(process.cwd(), 'data'); 20 const backupDirectory = path.join(process.cwd(), 'data', 'backup'); 21 22 await fs.writeFile(backupDirectory + `/data-${date}.json`, JSON.stringify(await get_data())); 23 await fs.writeFile(dataDirectory + '/data.json', JSON.stringify(data)); 24}