Source: route-auth/index.js

/**
 * @module  auth-route
 * @desc    The leaderboard-api authentication route module.
 * @version 1.0.0
 * @author  Essam A. El-Sherif
 */

/* Import package dependencies */
import { Router } from 'express';

/* Import local dependencies */
import {
	createUserMiddleware,
	updateUserMiddleware,
	deleteUserMiddleware,
	getUsersMiddleware
} from './controller.js';

/**
 * @const {object} router - Authentication router object.
 * @static
 */
const router = Router();

/*
 * =========================================================================================================
 * Endpoint     Method  Auth  Payload                                                Router-level middleware
 * =========================================================================================================
 * .../auth     GET     No                                                           getUsersMiddleware
 * .../auth     POST    No    {username:'xxx', password: 'yyy'}                      createUserMiddleware
 * .../auth     PUT     No    {username:'xxx', password: 'yyy'}                      updateUserMiddleware
 * .../auth     PUT     No    {username:'xxx', password: 'yyy', newpassword: 'zzz'}  updateUserMiddleware
 * .../auth     PATCH   No    {username:'xxx', password: 'yyy'}                      deleteUserMiddleware
 * =========================================================================================================
 */

/* Endpoint: /auth Method: GET */
router.get('/', getUsersMiddleware );

/* Endpoint: /auth Method: POST */
router.post('/', createUserMiddleware );

/* Endpoint: /auth Method: PUT */
router.put('/', updateUserMiddleware );

/* Endpoint: /auth Method: PATCH */
router.patch('/', deleteUserMiddleware );

export { router };