init.agi 930 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. Notes - Initialize
  3. Ensures the Notes directory exists and returns the metadata object.
  4. No POST params required.
  5. */
  6. requirelib("filelib");
  7. var notesDir = "user:/Document/Notes";
  8. var metaPath = "user:/Document/Notes/meta.json";
  9. // Create the Notes directory (MkdirAll - safe to call even if it already exists)
  10. filelib.mkdir(notesDir);
  11. // Read or initialise metadata
  12. var meta = { lastOpened: "", theme: "dark", notes: [] };
  13. if (filelib.fileExists(metaPath)) {
  14. try {
  15. var raw = filelib.readFile(metaPath);
  16. var parsed = JSON.parse(raw);
  17. if (parsed && typeof parsed === "object") {
  18. meta = parsed;
  19. }
  20. if (!meta.notes) meta.notes = [];
  21. if (!meta.theme) meta.theme = "dark";
  22. if (!meta.lastOpened) meta.lastOpened = "";
  23. } catch (e) {
  24. meta = { lastOpened: "", theme: "dark", notes: [] };
  25. }
  26. }
  27. sendJSONResp(meta);