fixed issues namely reveloved around chat

This commit is contained in:
JCEEE
2026-08-25 10:54:18 +01:00
parent f63e2918ff
commit e904bb8210
5 changed files with 96 additions and 38 deletions
+23 -20
View File
@@ -106,27 +106,30 @@ async function ensureUsers(ids: Record<string, string>): Promise<void> {
changed = true;
}
const listRule = "famId = @request.auth.famId";
const parentWrite = "famId = @request.auth.famId && @request.auth.role = 'parent'";
if (usersCol.listRule !== listRule || usersCol.viewRule !== listRule ||
usersCol.updateRule !== parentWrite || usersCol.deleteRule !== parentWrite) {
changed = true;
}
const listRule = "famId = @request.auth.famId";
const parentWrite = "famId = @request.auth.famId && @request.auth.role = 'parent'";
// Members can edit their own record (name/colour); parents can edit any
// family member. Delete stays parent-only.
const selfOrParentWrite = "@request.auth.id = id || (famId = @request.auth.famId && @request.auth.role = 'parent')";
if (usersCol.listRule !== listRule || usersCol.viewRule !== listRule ||
usersCol.updateRule !== selfOrParentWrite || usersCol.deleteRule !== parentWrite) {
changed = true;
}
if (changed) {
await updateCollection(usersCol.id, {
name: "users",
type: "auth",
listRule,
viewRule: listRule,
createRule: usersCol.createRule || "",
updateRule: parentWrite,
deleteRule: parentWrite,
fields: usersCol.fields,
indexes,
passwordAuth: { enabled: true, identityFields },
});
}
if (changed) {
await updateCollection(usersCol.id, {
name: "users",
type: "auth",
listRule,
viewRule: listRule,
createRule: usersCol.createRule || "",
updateRule: selfOrParentWrite,
deleteRule: parentWrite,
fields: usersCol.fields,
indexes,
passwordAuth: { enabled: true, identityFields },
});
}
}
// Superuser-only OTP store for the child join gate. Holds the rotating code and