import { Building, User } from '../db/index.js' import { getUserFromRequest, success, warning } from '../helpers/index.js' import { ResponseCode } from '../ENUMS.js' export const getSelf = async (req, res) => { const { accessor, role } = getUserFromRequest(req) const user = await User.findById(accessor).select('_id role linkedTo sharingAllowed') if (user) { let apartmentCount, buildingCount, buildingList if (role === 'administrator') { const buildings = await Building.find({ owner: user._id }) apartmentCount = buildings.apartments?.length || 0 buildingCount = buildings.length buildingList = buildings.map(element => element._id) } return success(res, { code: ResponseCode.Success, data: { id: user._id, apartments: apartmentCount, buildings: buildingCount, buildingList, sharingAllowed: user.sharingAllowed, linkedTo: user.linkedTo, role: user.role } }) } warning(res, { code: ResponseCode.NotFound }) }