[mod] conf:neuer Zweig settings.name_index

This commit is contained in:
roydfalk 2024-04-30 19:04:07 +02:00
parent 99d1e0eb6c
commit 2fb335cb5a
2 changed files with 33 additions and 2 deletions

View file

@ -32,6 +32,7 @@ namespace _espe.conf
};
server : {
port : int;
path_base : string;
};
database : (
{
@ -101,6 +102,10 @@ namespace _espe.conf
must_contain_number : boolean;
must_contain_special_character : boolean;
};
name_index : {
veil : boolean;
salt : (null | string);
};
};
// TODO: evtl. in Datenbank verlagern
admins : Array<
@ -152,6 +157,7 @@ namespace _espe.conf
"server": (
((node_server) => ({
"port": (node_server["port"] ?? 7979),
"path_base": (node_server["path_base"] ?? ""),
})) (conf_raw["server"] ?? {})
),
"database": (
@ -255,6 +261,12 @@ namespace _espe.conf
"must_contain_special_character": (node_settings_password_policy["must_contain_special_character"] ?? true),
})) (node_settings["password_policy"] ?? {})
),
"name_index": (
((node_settings_password_policy) => ({
"veil": (node_settings_password_policy["veil"] ?? false),
"salt": (node_settings_password_policy["salt"] ?? null),
})) (node_settings["name_index"] ?? {})
),
})) (conf_raw["settings"] ?? {})
),
"admins": (conf_raw["admins"] ?? []),

View file

@ -43,15 +43,33 @@ namespace _espe.repository.name_index
}
/**
*/
async function get_name_image(
name : string
) : Promise<string>
{
return (
(! _espe.conf.get().settings.name_index.veil)
? name
: await lib_plankton.sha256.get(
lib_plankton.json.encode(name),
_espe.conf.get().settings.name_index.salt
)
);
}
/**
*/
export async function read(
name : string
) : Promise<int>
{
const name_image : string = await get_name_image(name);
let row : Record<string, any>;
try {
row = await get_chest().read([name]);
row = await get_chest().read([name_image]);
return row["index"];
}
catch (error) {
@ -67,7 +85,8 @@ namespace _espe.repository.name_index
index : int
) : Promise<void>
{
await get_chest().write([name], {"index": index});
const name_image : string = await get_name_image(name);
await get_chest().write([name_image], {"index": index});
}
}