All files / src/functions add.action.route.ts

42.85% Statements 6/14
0% Branches 0/2
0% Functions 0/1
46.15% Lines 6/13

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              1x   1x 1x 1x   1x                             1x  
'use strict';
 
import {FastifyInstance} from 'fastify';
import {IncomingMessage, Server, ServerResponse} from 'http';
 
import {ActionAsControllerInterface} from '@owservable/actions';
 
import RoutesMap from '../routes.map';
 
import fixTags from './fix.tags';
import fixSchema from './fix.schema';
import fixRouteMethod from './fix.route.method';
 
const addActionRoute: Function = (
	fastify: FastifyInstance<Server<typeof IncomingMessage, typeof ServerResponse>, IncomingMessage, ServerResponse<IncomingMessage>>,
	action: ActionAsControllerInterface,
	config: any,
	verbose: boolean = false
): void => {
	config.method = fixRouteMethod(config, verbose);
	config.schema = fixSchema(config);
	config.schema.tags = fixTags(config, 'action');
	config.handler = action.asController;
 
	fastify.route(config);
	RoutesMap.add(config.method, config.url);
	Iif (verbose) console.log('[@owservable/fastify-auto-routes] -> addActionRoute: Added route', config.method, config.url, '\n');
};
export default addActionRoute;