Skip to content

feat: promote project task comment modules and swagger to main#6

Merged
kenneth-loto merged 3 commits into
mainfrom
develop
Jun 30, 2026
Merged

feat: promote project task comment modules and swagger to main#6
kenneth-loto merged 3 commits into
mainfrom
develop

Conversation

@kenneth-loto

Copy link
Copy Markdown
Owner

Summary

Promotes the complete Project, Task, and Comment modules, Swagger docs, exception filter, Bearer auth, and full test suite from develop into main.

What's Changed

  • Project, Task, and Comment modules with full access scoping now in main
  • canAccessTask shared helper with test coverage now in main
  • Swagger documentation at /docs now active on main
  • Bearer auth plugin now in main
  • AllExceptionsFilter and Prisma barrel file now in main
  • 74 tests across 7 suites now in main

Why

This completes the core API surface and should be on the stable branch as TaskForge API moves from foundation to a fully functional backend.

kenneth-loto and others added 3 commits June 30, 2026 22:16
…ng, and full test coverage

- create project module with GET all and GET by id for any authenticated user, and POST PATCH
DELETE restricted to admin via RolesGuard and Roles ADMIN
- create task module with project-scoped task list returning all for admin and assigned only
for member, GET by id with same scoping, admin-only create update delete, and assign and
unassign endpoints restricted to admin
- add canAccessTask shared helper for cross-module task access checks with 4 tests covering
bypass, own, forbidden, and not-found cases
- create comment module with task-access scoped list and get by id, task-access required create,
author-only update, and author-or-admin delete
- simplify unassign route from DELETE :id/assign/:userId to DELETE :id/assign removing unused param
- add full swagger documentation at /docs with ApiTags, ApiOperation, ApiProperty, and bearer auth
across all modules
- enable bearer plugin on better-auth so login returns set-auth-token header for bearer auth support
- create AllExceptionsFilter with Prisma.PrismaClientKnownRequestError guard, Logger, and consistent
statusCode message data error shape
- create src/common/prisma.ts barrel file replacing raw relative prisma imports across modules
- reformat long single-line imports to multi-line per project style
- add 74 tests across 7 suites covering project, task, comment, and shared access logic
- update PLAN.md marking swagger, exception filter, negative tests, and review items complete
…ng, and full test coverage

Completes the TaskForge API CRUD surface with ProjectModule restricted to admin for mutations and open for reads, TaskModule with project and member-scoped access including a shared canAccessTask helper with 4 tests, admin-only assign and unassign endpoints, CommentModule with task-access scoping, author-only update, and author-or-admin delete, full Swagger documentation at /docs with Bearer auth, the bearer() Better Auth plugin enabling token-based auth, an AllExceptionsFilter with proper Prisma error type guarding and consistent error response shape, a Prisma barrel file replacing scattered relative imports, reformatted multi-line imports, 74 tests across 7 suites, and a fully checked off PLAN.md.
@github-actions

Copy link
Copy Markdown

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 2 package(s) with unknown licenses.
See the Details below.

License Issues

package.json

PackageVersionLicenseIssue Type
@nestjs/mapped-types^2.1.1NullUnknown License
@nestjs/swagger^11.4.5NullUnknown License
Allowed Licenses: MIT, Apache-2.0, ISC, BSD-2-Clause, BSD-3-Clause

OpenSSF Scorecard

PackageVersionScoreDetails
npm/@nestjs/mapped-types ^2.1.1 UnknownUnknown
npm/@nestjs/swagger ^11.4.5 UnknownUnknown

Scanned Files

  • package.json

@kenneth-loto kenneth-loto merged commit c63366b into main Jun 30, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant