varierty of implementstions based on platform droplet issuance

This commit is contained in:
JCEEE
2026-08-26 10:17:32 +01:00
parent 7ebabc6e62
commit 8fea21704a
16 changed files with 1118 additions and 452 deletions
+18 -3
View File
@@ -158,7 +158,7 @@ export const SCHEMA_PLAN: CollectionPlanEntry[] = [
name: "bonus_templates",
build: (ids) =>
col("bonus_templates", [
rel("famId", ids.fams, true),
rel("famId", ids.fams, false),
text("name", true),
text("description"),
select("target", ["individual", "competitive", "collaborative"], true),
@@ -170,7 +170,12 @@ export const SCHEMA_PLAN: CollectionPlanEntry[] = [
number("criteriaValue"),
select("period", ["schedule", "daily", "weekly", "monthly"]),
bool("isPocketMoney"),
bool("global"),
text("icon"),
text("color"),
], {
listRule: "global = true || famId = @request.auth.famId",
viewRule: "global = true || famId = @request.auth.famId",
createRule: RULE_PARENT_WRITE,
updateRule: RULE_PARENT_SCOPED,
deleteRule: RULE_PARENT_SCOPED,
@@ -189,13 +194,18 @@ export const SCHEMA_PLAN: CollectionPlanEntry[] = [
name: "chore_templates",
build: (ids) =>
col("chore_templates", [
rel("famId", ids.fams, true),
rel("famId", ids.fams, false),
text("name", true),
text("description"),
select("defaultFrequency", ["daily", "weekly"], true),
select("defaultType", ["points", "money"], true),
number("defaultValue", true),
bool("global"),
text("icon"),
text("color"),
], {
listRule: "global = true || famId = @request.auth.famId",
viewRule: "global = true || famId = @request.auth.famId",
createRule: RULE_PARENT_WRITE,
updateRule: RULE_PARENT_SCOPED,
deleteRule: RULE_PARENT_SCOPED,
@@ -328,9 +338,13 @@ export const SCHEMA_PLAN: CollectionPlanEntry[] = [
rel("memberId", ids.users, true),
rel("templateId", ids.chore_templates, true),
select("frequency", ["daily", "weekly"], true),
select("type", ["points", "money"], true),
select("type", ["points", "money", "emoji"], true),
number("value", true),
text("customName"),
text("description"),
text("icon"),
text("color"),
text("emoji"),
jsonField("seasonIds"),
bool("isTodo"),
text("startDate"),
@@ -350,6 +364,7 @@ export const SCHEMA_PLAN: CollectionPlanEntry[] = [
rel("assignedChoreId", ids.assigned_chores, true),
date("date"),
date("completedAt"),
text("rewardId"),
], {
createRule: RULE_FAM_WRITE,
updateRule: RULE_FAM_SCOPED,