import express from 'express' import { checkSchema } from 'express-validator' import multer from 'multer' import { createApartment, getApartment, getApartments, getFile, updateFiles, updateHeatingData, updateWindowData } from '../../controllers/apartments.js' import asyncHandler from '../../middleware/asyncHandler.js' import permissionHandler from '../../middleware/permissionHandler.js' import { createApartmentSchema, heatingSchema, windowSchema } from '../../schemas/apartments.js' import { idSchema } from '../../schemas/index.js' const router = express.Router() const storage = multer.memoryStorage() const fileUpload = multer({ storage, limits: { fieldSize: 5000000, parts: 2 } }) router.get('/', asyncHandler(getApartments)) router.get('/:id', checkSchema(idSchema), asyncHandler(getApartment)) router.get('/:id/files', checkSchema(idSchema), asyncHandler(getFile)) router.post('/', permissionHandler, checkSchema(createApartmentSchema), asyncHandler(createApartment)) router.put('/:id/heating', checkSchema(heatingSchema), asyncHandler(updateHeatingData)) router.put('/:id/files', fileUpload.single('image'), asyncHandler(updateFiles)) router.put('/:id/windows', checkSchema(windowSchema), asyncHandler(updateWindowData)) export default router