storage format docs

This commit is contained in:
BuckarooBanzay 2023-03-28 07:56:52 +02:00 committed by Athozus
parent 894e5df4b1
commit 9b2883030a
No known key found for this signature in database
GPG key ID: B50895022E8484BF
3 changed files with 43 additions and 10 deletions

View file

@ -116,7 +116,6 @@ function mail.show_inbox(name)
if messages[1] then if messages[1] then
for _, message in ipairs(messages) do for _, message in ipairs(messages) do
mail.ensure_new_format(message, name)
if mail.getMessageStatus(name, message.id) == "unread" then if mail.getMessageStatus(name, message.id) == "unread" then
if not mail.player_in_list(name, message.to) then if not mail.player_in_list(name, message.to) then
formspec[#formspec + 1] = ",#FFD788" formspec[#formspec + 1] = ",#FFD788"
@ -454,13 +453,11 @@ function mail.show_compose(name, defaultto, defaultsubj, defaultbody, defaultcc,
end end
function mail.reply(name, message) function mail.reply(name, message)
mail.ensure_new_format(message)
local replyfooter = "Type your reply here.\n\n--Original message follows--\n" ..message.body local replyfooter = "Type your reply here.\n\n--Original message follows--\n" ..message.body
mail.show_compose(name, message.sender, "Re: "..message.subject, replyfooter) mail.show_compose(name, message.sender, "Re: "..message.subject, replyfooter)
end end
function mail.replyall(name, message) function mail.replyall(name, message)
mail.ensure_new_format(message)
local replyfooter = "Type your reply here.\n\n--Original message follows--\n" ..message.body local replyfooter = "Type your reply here.\n\n--Original message follows--\n" ..message.body
-- new recipients are the sender plus the original recipients, minus ourselves -- new recipients are the sender plus the original recipients, minus ourselves

View file

@ -5,7 +5,8 @@ function mail.get_storage_entry(playername)
return { return {
contacts = {}, contacts = {},
inbox = {}, inbox = {},
outbox = {} outbox = {},
lists = {}
} }
else else
-- deserialize existing entry -- deserialize existing entry
@ -13,6 +14,47 @@ function mail.get_storage_entry(playername)
end end
end end
--[[
Mail format (inbox, outbox):
{
-- sending player name
sender = "",
-- receiving player name
to = "",
-- carbon copy (optional)
cc = "",
-- blind carbon copy (optional)
bcc = "",
-- mail subject
subject = "",
-- mail body
body = "",
-- timestamp (os.time())
time = 1234,
-- read-flag (true: player has read the mail, inbox only)
read = true
}
Contact format:
{
-- name of the player
name = "",
-- note
note = ""
}
Mail-list format:
{
-- name of the maillist
name = "",
-- description
description = "",
-- player list (delimited by newline)
players = ""
}
--]]
function mail.set_storage_entry(playername, entry) function mail.set_storage_entry(playername, entry)
mail.storage:get_string(playername, minetest.write_json(entry)) mail.storage:get_string(playername, minetest.write_json(entry))
end end

View file

@ -59,9 +59,3 @@ function mail.player_in_list(name, list)
end end
return false return false
end end
function mail.ensure_new_format(message, name)
if message.to == nil then
message.to = name
end
end