Skip to content

Feat/issues 1136 1137 1138 1145 - #1182

Merged
RUKAYAT-CODER merged 8 commits into
rinafcode:mainfrom
A6dulmalik:feat/issues-1136-1137-1138-1145
Jul 29, 2026
Merged

Feat/issues 1136 1137 1138 1145#1182
RUKAYAT-CODER merged 8 commits into
rinafcode:mainfrom
A6dulmalik:feat/issues-1136-1137-1138-1145

Conversation

@A6dulmalik

Copy link
Copy Markdown
Contributor

Summary

Combined PR addressing 4 assigned issues across assessment pagination, security hardening, and observability.

Changes

#1136 - Paginate assessment listing, drop eager question hydration

  • AssessmentsService.findAll() now paginated (page/limit) without loading question entities
  • Questions remain available on detail endpoint (findOne)
  • GET /assessments endpoint added with pagination query params
  • @Index() added on createdAt for ordering performance
  • Tests verify pagination metadata and no question hydration

#1137 - Paginate grading listings (question-bank, rubrics, feedback-templates)

  • QuestionBankService.findByAssessment, RubricsService.findAll, FeedbackTemplatesService.findAll all paginated with page/limit/max page size
  • GradingController passes page/limit query params to rubrics and feedback-templates list endpoints
  • @Index() added on createdAt for rubrics, feedback_templates, and questions tables
  • Tests enforce page-size ceiling

#1138 - Timestamp freshness + nonce replay protection in RequestSigningService

  • Timestamp validated against configurable freshness window (REQUEST_SIGNING_FRESHNESS_MS, default 5 min)
  • Nonce tracked in Redis with SET NX + TTL; rejected on reuse
  • verifySignedRequest() returns {valid, reason}
  • Registered in SecurityModule, backed by tests for expired, replayed, and valid requests

#1145 - Correlation-ID and structured error context for background job failures

  • QueueService.addJob now embeds correlation ID via enrichWithCorrelation()
  • BaseWorker error logging emits structured JSON with event type, job name, job ID, attempt count, correlation ID, and error message
  • Tests verify structured log output on failure

Closes #1136 , Closes #1137 , Closes #1138 , Closes #1145

@drips-wave

drips-wave Bot commented Jul 29, 2026

Copy link
Copy Markdown

@A6dulmalik Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@RUKAYAT-CODER

Copy link
Copy Markdown
Contributor

Thank you for contributing to the project

@RUKAYAT-CODER
RUKAYAT-CODER merged commit 9dbd1af into rinafcode:main Jul 29, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment