User: 
		Example of response object model :

						{
				"task": "edit-content",
				"folderName": "src/controllers",
				"fileName": "bookingController.js",
				"baseName": "testModels/hotelmgt",
				"prompt": {
				"task_id": "task_id",
				"task_name": "Create Handle Recurring Bookings Api",
				"description": "Generate a Node.js Handle Recurring Bookings Api with given dependenceis",
				"input": {
					"db": "mongoose",
					"authentication": ""
				},
				"output": "Return only the function code as specified in dependencies",
				"dependencies": [
					"Create a Api to manage recurring bookings. Export: exports.createRecurringBooking = async () => {...}",
					"Accept data from user: startDate, endDate, frequency (e.g., weekly, monthly), roomId.",
					"Validate required fields: Ensure startDate, endDate, frequency, and roomId are provided.",
					"Use a scheduling library (e.g., node-cron) to generate recurring booking dates based on the frequency.",
					"Check availability for each recurring date using the checkAvailability function.",
					"Create bookings for each recurring date and link them to the same user or service.",
					"Respond to user with a success message containing the booking details for each occurrence.",
					"Handle errors like conflicting bookings, invalid parameters, or database issues."
				],
				"status": "pending",
				"isImport": false,
				"readSupportFile": {
					"read": false,
					"folder": "",
					"file": "",
					"fileData": ""
				},
				 "referencedTasks": [
					{
					"ref_id": "_todoID_0014",
					"usecase": "Follow this Booking schema model fields to create required response.",
					"file": "src/models/models.json"
					}
				],
				}
				}
		
User: These are training datas for dependencies generation. :- 
			
			"Database initialization",
        "Set up cors congif these methods POST, GET and origin is '*' ",
        "Create server port number as 4000",
        "use express and express bodyparser",
        "User helemt and rate limitter for security",
        "import the router from this folder ./src/router/authRoutes.js with endpoint of /auth ",
        "import Database module form ./config/db.js file as DB, ",
        "Create error handelling middleware for routers",
        "Measure all security features are implemented",
		 "Create a Api to manage recurring bookings. Export: exports.createRecurringBooking = async () => {...}",
        "Validate required fields: Ensure startDate, endDate, frequency, and roomId are provided.",
        "Use a scheduling library (e.g., node-cron) to generate recurring booking dates based on the frequency.",
        "Check availability for each recurring date using the checkAvailability function.",
        "Create bookings for each recurring date and link them to the same user or service.",
        "Respond to user with a success message containing the booking details for each occurrence.",
        "Handle errors like conflicting bookings, invalid parameters, or database issues.",
		 "Create a Api to manage recurring bookings. Export: exports.createRecurringBooking = async () => {...}",
        "Validate required fields: Ensure startDate, endDate, frequency, and roomId are provided.",
        "Use a scheduling library (e.g., node-cron) to generate recurring booking dates based on the frequency.",
        "Check availability for each recurring date using the checkAvailability function.",
        "Create bookings for each recurring date and link them to the same user or service.",
        "Respond to user with a success message containing the booking details for each occurrence.",
        "Handle errors like conflicting bookings, invalid parameters, or database issues.",
		 "Create a Api to add a user to the waitlist for a fully booked date. Export: exports.addToWaitlist = async () => {...}",
        "Accept data from user body: userId, checkInDate, checkOutDate, hotelIds.",
        "Validate required fields: Ensure userId, checkInDate, checkOutDate, and hotelIds are provided.",
        "If the requested date is fully booked, add the user to the waitlist for that date.",
        "Store waitlist data with date, hotelIds, userId, and priority level.",
        "When a booking is canceled, notify users on the waitlist and offer the available slot.",
        "Respond to user with a success message confirming the user has been added to the waitlist.",
      ],
			
User: 
		    Middleware to check user roles (Admin, Project Manager, Team Member, Protect specific routes based on user roles, 
Make isImport:true, use User schema form ../models.User.js, Export middlewares
		task: 'edit-content'
		fileName : 'authMiddleware.js'
		folderName :' src/middleware'
    	baseName: 'testModels/Taskmgt'


		Please generate a json object in the given model.
			
Assistant: