From d05b7ea8500e7f422f5a21320392fcc49d775e33 Mon Sep 17 00:00:00 2001 From: d-beezee <59012086+d-beezee@users.noreply.github.com> Date: Thu, 5 Jun 2025 09:37:08 +0200 Subject: [PATCH] fix tasks to use database --- .../prd-background/feature-specification.md | 13 ++++- .../tasks-feature-specification.md | 56 +++++++++++++++++++ CHANGELOG.md | 7 +++ 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 .project-management/current-prd/tasks-feature-specification.md create mode 100644 CHANGELOG.md diff --git a/.project-management/current-prd/prd-background/feature-specification.md b/.project-management/current-prd/prd-background/feature-specification.md index 9d841308b..48a7c5a19 100644 --- a/.project-management/current-prd/prd-background/feature-specification.md +++ b/.project-management/current-prd/prd-background/feature-specification.md @@ -1 +1,12 @@ -_PLACEHOLDER FILE_ +aggiungi al checker delle caratteristiche necessarie per vedere le campagne in users/me/campaigns le regole dei cuf. + +Le CUF Rules sono delle regole per il dossier. Il dossier deve poter essere associato a delle coppie Custom User Field Id e Custom User Field Value che permettono di vedere la campagna solo se il tester che sta facendo la chiamata users/me/campaigns ha quel valore di cuf. + +Il Target User è un tester. + +Attualmente lo UserTargetChecker controlla solo country e lingua. + +Dobbiamo controllare questi due test case: + +- Se c'è una campagna con CUF rules e il tester ha quel valore di cuf allora vede la campagna +- Se c'è una campagna con CUF rules e il tester non ha quel valore di cuf allora non vede la campagna diff --git a/.project-management/current-prd/tasks-feature-specification.md b/.project-management/current-prd/tasks-feature-specification.md new file mode 100644 index 000000000..f87d7c5f2 --- /dev/null +++ b/.project-management/current-prd/tasks-feature-specification.md @@ -0,0 +1,56 @@ +## Pre-Feature Development Project Tree + +``` +./test-codex.sh +./yarn.lock +./docker-compose.yml +./getTestList.sh +./tsconfig.json +./jest.config.js +./src/types.d.ts +./src/config.ts +./src/avatar-initials.d.ts +./src/constants.ts +./src/parse-comments.d.ts +./src/index.ts +./src/@appquality-wp-auth.d.ts +./src/php-unserialize.d.ts +./src/schema.ts +./src/app.ts +./AGENTS.md +./node_modules/.yarn-state.yml +./Dockerfile +./deployment/appspec.yml +``` + +## Relevant Files + +- `src/routes/users/me/campaigns/_get/index.ts` +- `src/routes/users/me/campaigns/_get/UserTargetChecker.ts` +- `src/routes/users/me/campaigns/_get/target.spec.ts` + +### Proposed New Files + +- `src/features/campaignCufRules.ts` - Access campaign-specific CUF rule records. +- `src/routes/users/me/campaigns/_get/__tests__/cuf-target.spec.ts` - Tests for CUF rule scenarios. + +### Existing Files Modified + +- `src/routes/users/me/campaigns/_get/index.ts` - Include CUF rules when fetching campaigns. +- `src/routes/users/me/campaigns/_get/UserTargetChecker.ts` - Evaluate CUF rules in `inTarget` method. +- `src/features/database.ts` - Provide CUF rule data via SQL queries. +- `CHANGELOG.md` - Document changes. + +### Notes + +- Ensure existing language and country checks remain intact when adding CUF logic. +- Maintain current test coverage by updating related fixtures in `target.spec.ts`. + +## Tasks + +- [ ] 1.0 Add query module for campaign CUF rules using `tryber.tables`. +- [ ] 2.0 Retrieve CUF rules in campaign listing using `database.ts`. +- [ ] 3.0 Update `UserTargetChecker` to load tester CUF values and compare with rules. +- [ ] 4.0 Modify campaign listing route to filter campaigns by CUF eligibility. +- [ ] 5.0 Write unit tests for CUF rule visibility cases. +- [ ] 6.0 Update documentation and changelog. diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..9601db792 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +# Changelog + +2025-06-05 - update feature specification for campaign CUF rules +2025-06-05 - run prettier and tests +2025-06-05 - expand CUF rules explanation in PRD +2025-06-05 - add tasks for CUF rules PRD +2025-06-05 - revise CUF tasks to use database.ts - failed to fetch latest @appquality/tryber-database