feat(security+observability): domain-safe error handling + request correlation #69
ci.yml
on: pull_request
Install Dependencies
41s
ESLint
33s
Prettier Format Check
17s
TypeScript Type Check
27s
CI Passed
3s
Annotations
23 errors and 15 warnings
|
Prettier Format Check
Process completed with exit code 2.
|
|
TypeScript Type Check:
src/notifications/notifications.module.ts#L1
Duplicate identifier 'Module'.
|
|
TypeScript Type Check:
src/graphql/services/query-complexity.service.ts#L254
Type 'unknown' is not assignable to type 'void'.
|
|
TypeScript Type Check:
src/graphql/graphql.module.ts#L31
Type '(context: any) => any[]' is not assignable to type 'ValidationRule[]'.
|
|
TypeScript Type Check:
src/common/modules/api-versioning.module.ts#L32
Cannot find module './api-version.interceptor' or its corresponding type declarations.
|
|
TypeScript Type Check:
src/common/modules/api-versioning.module.ts#L31
Cannot find module './api-version.interceptor' or its corresponding type declarations.
|
|
TypeScript Type Check:
src/common/modules/api-versioning.module.ts#L3
Cannot find module './api-version.interceptor' or its corresponding type declarations.
|
|
TypeScript Type Check:
src/common/modules/api-versioning.module.ts#L2
Cannot find module './api-version.interceptor' or its corresponding type declarations.
|
|
TypeScript Type Check:
src/common/interceptors/global-exception.filter.ts#L34
Object literal may only specify known properties, and 'correlationId' does not exist in type 'ApiError'.
|
|
TypeScript Type Check:
src/audit-log/tests/audit-log.test.ts#L16
Property 'record' does not exist on type 'AuditLogService'.
|
|
TypeScript Type Check:
src/audit-log/tests/audit-log.test.ts#L12
Expected 2 arguments, but got 1.
|
|
ESLint:
src/audit-log/audit-log.module.ts#L12
Replace `⏎····TypeOrmModule.forFeature([AuditLog]),⏎····ConfigModule,⏎····ScheduleModule.forRoot(),⏎··` with `TypeOrmModule.forFeature([AuditLog]),·ConfigModule,·ScheduleModule.forRoot()`
|
|
|
|
ESLint:
src/audit-log/audit-log.controller.ts#L130
Replace `·name:·'limit',·required:·false,·description:·'Number·of·logs·to·return',·type:·Number` with `⏎····name:·'limit',⏎····required:·false,⏎····description:·'Number·of·logs·to·return',⏎····type:·Number,⏎·`
|
|
ESLint:
src/audit-log/audit-log.controller.ts#L117
Replace `·name:·'limit',·required:·false,·description:·'Number·of·logs·to·return',·type:·Number` with `⏎····name:·'limit',⏎····required:·false,⏎····description:·'Number·of·logs·to·return',⏎····type:·Number,⏎·`
|
|
ESLint:
src/audit-log/audit-log.controller.ts#L104
Replace `·name:·'limit',·required:·false,·description:·'Number·of·logs·to·return',·type:·Number` with `⏎····name:·'limit',⏎····required:·false,⏎····description:·'Number·of·logs·to·return',⏎····type:·Number,⏎·`
|
|
ESLint:
src/audit-log/audit-log.controller.ts#L93
Replace `·name:·'limit',·required:·false,·description:·'Number·of·logs·to·return',·type:·Number` with `⏎····name:·'limit',⏎····required:·false,⏎····description:·'Number·of·logs·to·return',⏎····type:·Number,⏎·`
|
|
ESLint:
src/audit-log/audit-log.controller.ts#L37
Replace `·name:·'severities',·required:·false,·description:·'Filter·by·severities·(comma-separated)'` with `⏎····name:·'severities',⏎····required:·false,⏎····description:·'Filter·by·severities·(comma-separated)',⏎·`
|
|
ESLint:
src/audit-log/audit-log.controller.ts#L36
Replace `·name:·'categories',·required:·false,·description:·'Filter·by·categories·(comma-separated)'` with `⏎····name:·'categories',⏎····required:·false,⏎····description:·'Filter·by·categories·(comma-separated)',⏎·`
|
|
ESLint:
src/audit-log/audit-log.controller.ts#L35
Replace `·name:·'actions',·required:·false,·description:·'Filter·by·actions·(comma-separated)'` with `⏎····name:·'actions',⏎····required:·false,⏎····description:·'Filter·by·actions·(comma-separated)',⏎·`
|
|
ESLint:
src/audit-log/audit-log.controller.ts#L15
Replace `·ApiTags,·ApiOperation,·ApiResponse,·ApiQuery,·ApiParam,·ApiBearerAuth·` with `⏎··ApiTags,⏎··ApiOperation,⏎··ApiResponse,⏎··ApiQuery,⏎··ApiParam,⏎··ApiBearerAuth,⏎`
|
|
Unit Tests & Coverage
Process completed with exit code 1.
|
|
CI Passed
Process completed with exit code 1.
|
|
Install Dependencies
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Prettier Format Check
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
TypeScript Type Check
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
ESLint
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
ESLint:
src/common/modules/api-versioning.module.ts#L1
'RequestMethod' is defined but never used. Allowed unused vars must match /^_/u
|
|
ESLint:
src/common/interceptors/api-version.interceptor.ts#L205
'parameterIndex' is defined but never used. Allowed unused args must match /^_/u
|
|
ESLint:
src/common/interceptors/api-version.interceptor.ts#L205
'propertyKey' is defined but never used. Allowed unused args must match /^_/u
|
|
ESLint:
src/common/interceptors/api-version.interceptor.ts#L205
'target' is defined but never used. Allowed unused args must match /^_/u
|
|
ESLint:
src/collaboration/gateway/collaboration.gateway.ts#L11
'wsManager' is defined but never used. Allowed unused vars must match /^_/u
|
|
ESLint:
src/cdn/cdn.controller.ts#L406
Unexpected string concatenation
|
|
ESLint:
src/audit-log/audit-log.service.ts#L3
'WhereExpressionBuilder' is defined but never used. Allowed unused vars must match /^_/u
|
|
ESLint:
src/audit-log/audit-log.service.ts#L3
'Brackets' is defined but never used. Allowed unused vars must match /^_/u
|
|
ESLint:
src/audit-log/audit-log.service.ts#L3
'In' is defined but never used. Allowed unused vars must match /^_/u
|
|
ESLint:
src/audit-log/audit-log.service.ts#L3
'LessThan' is defined but never used. Allowed unused vars must match /^_/u
|
|
Unit Tests & Coverage
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
coverage-report
Expired
|
2.3 MB |
sha256:0cc3271b9e2925d216c45e95d7fc4c0559b71eaa3cddd2b5907ebe89711ee6e8
|
|