Skip to content
Back to skills

Nestjs Documentation

ASecurity

Generics are erased at runtime, so register both the wrapper and item DTO with `ApiExtraModels`, then describe the array schema with `getSchemaPath`. ```ts export const ApiPaginatedResponse = <TModel extends Type<unknown>>(model: TModel) => applyDecorators( ApiExtraModels(PageDto, model), ApiResponse({ status: 200, schema: { allOf: [ { $ref: getSchemaPath(PageDto) }, { properties: { data: { type: 'array', items: { $ref: getSchemaPath(model) } } } }, ], }, }), ); ``` Use it as `@ApiPaginatedRe...

  • 549 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
developmentapi

Works with

  • api

Security analysis

A100/100

Pro scans all 11 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add HoangNguyen0403/agent-skills-standard --skill nestjs-documentation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Nestjs Documentation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Nestjs Documentation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hoangnguyen0403-nestjs-documentation-646d0fa6/badge)](https://www.skillsdirectory.com/skills/hoangnguyen0403-nestjs-documentation-646d0fa6)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
Generics are erased at runtime, so register both the wrapper and item DTO with `ApiExtraModels`, then describe the array schema with `getSchemaPath`.

```ts
export const ApiPaginatedResponse = <TModel extends Type<unknown>>(model: TModel) =>
  applyDecorators(
    ApiExtraModels(PageDto, model),
    ApiResponse({
      status: 200,
      schema: {
        allOf: [
          { $ref: getSchemaPath(PageDto) },
          { properties: { data: { type: 'array', items: { $ref: getSchemaPath(model) } } } },
        ],
      },
    }),
  );
```

Use it as `@ApiPaginatedResponse(UserDto)` and document the exact status/type for the endpoint. Keep the runtime response contract aligned with the DTO.

Files in this skill

  • eval-1.baseline.md834 B
  • eval-1.with-skill.md539 B
  • eval-2.baseline.md893 B
  • eval-2.with-skill.md697 B
  • eval-3.baseline.md973 B
  • eval-3.with-skill.md671 B
  • trigger-1.md88 B
  • trigger-2.md93 B
  • trigger-3.md88 B
  • trigger-4.md72 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…