Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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
56 changes: 56 additions & 0 deletions .project-management/current-prd/tasks-feature-specification.md
Original file line number Diff line number Diff line change
@@ -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.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Loading