Software /
code /
prosody-modules
Diff
mod_storage_appendmap/mod_storage_appendmap.lua @ 5714:78f766372e2c
mod_storage_appendmap: Include timestamps when appending data
Meant to give some sense of when each piece of data was added, to aid in
debugging changes or manual rollbacks.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 05 Nov 2023 21:06:23 +0100 |
parent | 5713:ea6c18ec0669 |
line wrap: on
line diff
--- a/mod_storage_appendmap/mod_storage_appendmap.lua Sun Nov 05 21:03:30 2023 +0100 +++ b/mod_storage_appendmap/mod_storage_appendmap.lua Sun Nov 05 21:06:23 2023 +0100 @@ -1,11 +1,13 @@ local dump = require "util.serialization".serialize; local load = require "util.envload".envloadfile; +local datetime = require "util.datetime".datetime; local dm = require "core.storagemanager".olddm; local REMOVE = {}; -- Special value for removing keys local driver = {}; +local timestamps = module:get_option_boolean("appendmap_timestamps", true); local keywords = { ["do"] = true; ["and"] = true; ["else"] = true; ["break"] = true; @@ -82,6 +84,9 @@ function map:set_keys(user, keyvalues) local data = serialize_map(keyvalues); + if timestamps then + data = "-- " .. datetime() .. "\n" .. data; + end return dm.append_raw(user, module.host, self.store, "map", data); end @@ -94,6 +99,9 @@ return os.remove(filename); end local data = serialize_pair(key, value); + if timestamps then + data = "-- " .. datetime() .. "\n" .. data; + end return dm.append_raw(user, module.host, self.store, "map", data); end @@ -110,6 +118,9 @@ function keyval:set(user, keyvalues) local data = serialize_map(keyvalues); + if timestamps then + data = "-- " .. datetime() .. "\n" .. data; + end return dm.store_raw(dm.getpath(user, module.host, self.store, "map"), data); end