UNPKG

tanzania-universities-api

Version:
82 lines (70 loc) 2.28 kB
/** * @swagger * components: * schemas: * University: * type: object * required: * - name * - location * properties: * id: * type: string * description: The auto-generated id of the university * name: * type: string * description: The name of the university * location: * type: string * description: The city where the university is located * courses: * type: array * items: * type: string * description: Available courses * established: * type: integer * description: Year the university was established * website: * type: string * format: url * description: University website URL * example: * id: 001 * name: University of Dar es Salaam * location: Dar es Salaam * courses: ["Medicine", "Engineering", "Law"] * established: 1961 * website: https://www.udsm.ac.tz * securitySchemes: * bearerAuth: * type: http * scheme: bearer * bearerFormat: JWT */ const express = require("express"); const apicache = require("apicache"); const universityController = require("../../controllers/universityController"); const authenticateJWT = require("../../middleware/authMiddleware"); const router = express.Router(); const cache = apicache.middleware; router.get("/", cache("2 minutes"), universityController.getAllUniversities); router.get("/by-location", universityController.getUniversitiesByLocation); router.get("/by-course", universityController.getUniversitiesByCourse); router.get( "/by-name/:universityName", universityController.getUniversityByName ); router.get("/:universityId", universityController.getOneUniversity); router.post("/", authenticateJWT, universityController.createNewUniversity); router.patch( "/:universityId", authenticateJWT, universityController.updateOneUniversity ); router.delete( "/:universityId", authenticateJWT, universityController.deleteOneUniversity ); module.exports = router;