[task-70] [fix]

This commit is contained in:
roydfalk 2025-01-18 09:48:51 +01:00
parent 141546fee1
commit 6d3e1deebd

View file

@ -88,7 +88,7 @@ namespace _espe.repository.member
{ {
"database_implementation": _espe.helpers.database_implementation(), "database_implementation": _espe.helpers.database_implementation(),
"table_name": "member_groups", "table_name": "member_groups",
"key_names": ["member_id","group"], "key_names": ["member_id","group_name"],
} }
); );
} }
@ -135,7 +135,7 @@ namespace _espe.repository.member
object.groups object.groups
.map( .map(
group => ({ group => ({
"group": group, "group_name": group,
}) })
) )
) )
@ -155,8 +155,8 @@ namespace _espe.repository.member
"name_real_index": dispersal.core_row["name_real_index"], "name_real_index": dispersal.core_row["name_real_index"],
"email_address_private": dispersal.core_row["email_address_private"], "email_address_private": dispersal.core_row["email_address_private"],
"groups": lib_plankton.list.sorted<string>( "groups": lib_plankton.list.sorted<string>(
dispersal.group_rows.map(row => row["group"]), dispersal.group_rows.map(row => row["group_name"]),
(group1, group2) => ((group1 <= group2) ? 1 : 0) (group1, group2) => ((group1 <= group2) ? 0 : 1)
), ),
"registered": (dispersal.core_row["registered"] > 0), "registered": (dispersal.core_row["registered"] > 0),
"enabled": (dispersal.core_row["enabled"] > 0), "enabled": (dispersal.core_row["enabled"] > 0),
@ -238,7 +238,7 @@ namespace _espe.repository.member
"core_row": core_row, "core_row": core_row,
"group_rows": group_hits.map( "group_rows": group_hits.map(
hit => ({ hit => ({
"group": hit.preview["group"] "group_name": hit.preview["group_name"]
}) })
), ),
}; };
@ -255,13 +255,15 @@ namespace _espe.repository.member
{ {
const dispersal : type_dispersal = encode(value); const dispersal : type_dispersal = encode(value);
// core
const id : _espe.type.member_id = await get_core_store().create(dispersal.core_row); const id : _espe.type.member_id = await get_core_store().create(dispersal.core_row);
// groups
for await (const group_row of dispersal.group_rows) { for await (const group_row of dispersal.group_rows) {
await get_group_chest().write( await get_group_chest().write(
[ [
id, id,
group_row["group"], group_row["group_name"],
], ],
{ {
"_dummy": null, "_dummy": null,
@ -293,14 +295,15 @@ namespace _espe.repository.member
"arguments": {"member_id": id} "arguments": {"member_id": id}
} }
); );
lib_plankton.log.info("update_hit", hits);
for (const hit of hits) { for (const hit of hits) {
await get_group_chest().delete([hit.key]); await get_group_chest().delete(hit.key);
} }
for await (const group_row of dispersal.group_rows) { for await (const group_row of dispersal.group_rows) {
await get_group_chest().write( await get_group_chest().write(
[ [
id, id,
group_row["group"], group_row["group_name"],
], ],
{ {
"_dummy": null, "_dummy": null,
@ -324,7 +327,7 @@ namespace _espe.repository.member
} }
); );
for (const hit of hits) { for (const hit of hits) {
await get_group_chest().delete([hit.key]); await get_group_chest().delete(hit.key);
} }
// core // core