andela/team-odd-bn-backend

View on GitHub
src/routes/api/searchRoute.js

Summary

Maintainability
A
0 mins
Test Coverage
import express from 'express';
import verifyToken from '../../middlewares/verifyToken';
import isUserVerified from '../../middlewares/isUserVerified';
import SearchController from '../../controllers/SearchController';
import validateSearchQueries from '../../middlewares/validateSearchQueries';

const searchRoute = express.Router();

const { searchedByPreference } = SearchController;

/**
* @swagger
*
* /search:
*   get:
*     summary: User can get trips searched by the preference.
*     description: user can search trips by originId, destinationId,
*      status, trip type,trip owner's first name
*     tags:
*       - Search
*     parameters:
*      - name: token
*        in: header
*        required: true
*        description: user token
*        schema:
*          $ref: '#/components/schemas/Search'
*      - name: searchPreference
*        in: path
*        required: true
*        description: search trips by originId, destinationId,
*        status, trip type,trip owner's first name
*        schema:
*          $ref: '#/components/schemas/Search'
*      - name: search query key
*        in: query
*        required: true
*        description: search trips by originId, destinationId,
*        status, trip type,trip owner's first name
*        schema:
*          type: string
*     responses:
*       200:
*         description: Successfully retrieved trip requests by that search query parameter
*       401:
*         description: Unauthorized
*       400:
*         description: Bad Request
*       403:
*         description: Forbidden
*       500:
*         description: Internal server error
*/

searchRoute
  .get(
    '/',
    verifyToken,
    isUserVerified,
    validateSearchQueries,
    searchedByPreference,
  );
export default searchRoute;