All files / api/swagger baseStatusHandlerSwagger.ts

100% Statements 42/42
100% Branches 1/1
100% Functions 1/1
100% Lines 42/42

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 431x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import { OpenAPIV3_1 } from 'openapi-types';
 
import { SwaggerBuilder } from '@api/swagger/swaggerBuilder';
import { ApiStatusErrorCode, apiParams } from '@constants/api';
import { commonPathParam, replaceVariableSyntax } from './commonSwaggerOptions';
 
export const baseStatusHandlerSwagger = (props: {
  path: string;
  method: string;
  swaggerBuilder: SwaggerBuilder;
}) => {
  const correctedPath = replaceVariableSyntax(
    props.path,
    apiParams.general.segment,
    apiParams.verify.id,
  );
  const swaggerPath: OpenAPIV3_1.PathItemObject = {
    [`/${correctedPath}`]: {
      [props.method]: {
        tags: ['Status'],
        description: 'Gets the status of a form submission and returns the record',
        parameters: [commonPathParam.segment, commonPathParam.verifyId],
        responses: {
          '200': {
            description: 'Form submission status',
            content: {
              'application/json': {
                schema: {
                  $ref: '#/components/schemas/IFormWithApprovalResponse',
                },
              },
            },
          },
          [ApiStatusErrorCode.recordNotFound.code]: {
            description: ApiStatusErrorCode.recordNotFound.message,
          },
        },
      },
    },
  };
  props.swaggerBuilder.addPath(swaggerPath);
};