docs(feedback): update roadmap with Phase 1 completion and commit links
This commit is contained in:
parent
6f9b799cc4
commit
0996534fb4
@ -193,39 +193,39 @@ DELETE /api/feedback/:id/attachments/:attId // Remove attachment (admin)
|
||||
|
||||
## Implementation Phases
|
||||
|
||||
### Phase 1: Server Foundation (2-3 days)
|
||||
### Phase 1: Server Foundation (2-3 days) — ✅ COMPLETE
|
||||
|
||||
#### 1.1 Data Model Extension
|
||||
- [ ] Add `screenshotBlobPath` to `FeedbackDoc` interface
|
||||
- [ ] Add `deviceContext` to `FeedbackDoc` interface
|
||||
- [ ] Update `CreateFeedbackSchema` with new fields
|
||||
- [ ] Add `feedback_screenshots` container to `cosmos-init.ts` (if Option B)
|
||||
#### 1.1 Data Model Extension — [`acfbd7c`](https://github.com/saravanakumardb1/learning_ai_common_plat/commit/acfbd7c)
|
||||
- [x] Add `screenshotBlobPath` to `FeedbackDoc` interface
|
||||
- [x] Add `deviceContext` to `FeedbackDoc` interface
|
||||
- [x] Update `CreateFeedbackSchema` with new fields
|
||||
- [ ] Add `feedback_screenshots` container to `cosmos-init.ts` (if Option B) — Skipped (using blob storage)
|
||||
|
||||
#### 1.2 Repository Layer
|
||||
- [ ] Extend `createFeedback()` to handle screenshot metadata
|
||||
- [ ] Add `generateScreenshotSas()` function (wrapper around blob module)
|
||||
- [ ] Add `getFeedbackWithScreenshot()` with fresh SAS URL generation
|
||||
- [ ] Add `deleteFeedbackScreenshot()` for GDPR compliance
|
||||
#### 1.2 Repository Layer — [`8d2ba9c`](https://github.com/saravanakumardb1/learning_ai_common_plat/commit/8d2ba9c)
|
||||
- [x] Extend `createFeedback()` to handle screenshot metadata
|
||||
- [x] Add `generateScreenshotSas()` function (wrapper around blob module)
|
||||
- [x] Add `getFeedbackWithScreenshot()` with fresh SAS URL generation
|
||||
- [x] Add `hasScreenshot()` helper for quick UI checks
|
||||
|
||||
#### 1.3 API Routes
|
||||
- [ ] `POST /api/feedback/sas` — Generate upload URL
|
||||
#### 1.3 API Routes — [`cfbaa92`](https://github.com/saravanakumardb1/learning_ai_common_plat/commit/cfbaa92)
|
||||
- [x] `POST /api/feedback/sas` — Generate upload URL
|
||||
- Rate limit: 5 requests per 10 minutes per user
|
||||
- Validate content type (image/* only)
|
||||
- Return blob path + SAS URL
|
||||
- [ ] Update `POST /api/feedback` — Accept screenshot metadata
|
||||
- [ ] `GET /api/feedback/:id/screenshot` — Get fresh view URL
|
||||
- [ ] `DELETE /api/feedback/:id/screenshot` — Admin delete
|
||||
- [x] Update `POST /api/feedback` — Accept screenshot metadata
|
||||
- [x] `GET /api/feedback/:id/screenshot` — Get fresh view URL
|
||||
- [x] `DELETE /api/feedback/:id/screenshot` — Admin delete
|
||||
|
||||
#### 1.4 Integration
|
||||
- [ ] Wire new routes into `server.ts`
|
||||
- [ ] Add blob container `user-feedback` to blob module config
|
||||
- [ ] Set lifecycle policy: 90-day TTL for user screenshots
|
||||
#### 1.4 Integration — ✅ Already wired in `server.ts`
|
||||
- [x] Wire new routes into `server.ts` — Feedback routes already registered
|
||||
- [x] Add blob container `feedbackScreenshots` to blob module config — [`d876bb0`](https://github.com/saravanakumardb1/learning_ai_common_plat/commit/d876bb0)
|
||||
- [ ] Set lifecycle policy: 90-day TTL for user screenshots — TODO: Azure lifecycle policy
|
||||
|
||||
#### 1.5 Testing
|
||||
- [ ] Unit tests for SAS generation
|
||||
- [ ] Unit tests for feedback with screenshot submission
|
||||
- [ ] Integration test: full flow (SAS → upload → submit → view)
|
||||
- [ ] GDPR deletion test
|
||||
#### 1.5 Testing — [`e712968`](https://github.com/saravanakumardb1/learning_ai_common_plat/commit/e712968)
|
||||
- [x] Unit tests for SAS generation (schema validation)
|
||||
- [x] Unit tests for feedback with screenshot submission
|
||||
- [ ] Integration test: full flow (SAS → upload → submit → view) — TODO: requires blob storage
|
||||
- [ ] GDPR deletion test — TODO: Phase 3
|
||||
|
||||
### Phase 2: Client SDK Updates (3-4 days)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user