diff --git a/servicio-areas-comunes/src/common_areas/common_areas.controller.ts b/servicio-areas-comunes/src/common_areas/common_areas.controller.ts index 28b5ce7e..b3bdad69 100644 --- a/servicio-areas-comunes/src/common_areas/common_areas.controller.ts +++ b/servicio-areas-comunes/src/common_areas/common_areas.controller.ts @@ -5,7 +5,7 @@ import { CommonAreasService } from './common_areas.service'; @Controller() export class CommonAreasController { - constructor(private readonly commonAreasService: CommonAreasService) {} + constructor(private readonly commonAreasService: CommonAreasService) { } @MessagePattern({ cmd: 'createCommonArea' }) create(@Payload() commonArea: CommonAreaDocument) { @@ -40,11 +40,17 @@ export class CommonAreasController { return this.commonAreasService.findByCommunity(_community_id); } - //cambiar de estado - @MessagePattern({ cmd: 'changeStatus' }) - changeStatus(@Payload() body: string) { - let pid = body['id']; - let pstatus = body['status']; - return this.commonAreasService.changeStatus(pid,pstatus); - } + //cambiar de estado + @MessagePattern({ cmd: 'changeStatus' }) + changeStatus(@Payload() body: string) { + let pid = body['id']; + let pstatus = body['status']; + return this.commonAreasService.changeStatus(pid, pstatus); + } + + @MessagePattern({ cmd: 'removeIdCommunity' }) + removeIdCommunity(@Payload() area: any) { + let community_id = area['community_id']; + return this.commonAreasService.removeIdCommunity(community_id); + } } diff --git a/servicio-areas-comunes/src/common_areas/common_areas.service.ts b/servicio-areas-comunes/src/common_areas/common_areas.service.ts index e617df0c..877bd011 100644 --- a/servicio-areas-comunes/src/common_areas/common_areas.service.ts +++ b/servicio-areas-comunes/src/common_areas/common_areas.service.ts @@ -47,4 +47,8 @@ export class CommonAreasService { }); } + + async removeIdCommunity(community_id: string){ + await this.commonAreaModel.updateMany({community_id: community_id}, {"$set":{"status": '-1'}}); + } } diff --git a/servicio-comunidad-viviendas/src/communities/communities.module.ts b/servicio-comunidad-viviendas/src/communities/communities.module.ts index 8b24e5e1..4e6a9095 100644 --- a/servicio-comunidad-viviendas/src/communities/communities.module.ts +++ b/servicio-comunidad-viviendas/src/communities/communities.module.ts @@ -18,6 +18,26 @@ import { Community, CommunitySchema } from '../schemas/community.schema'; }, }, ]), + ClientsModule.register([ + { + name: 'SERVICIO_AREAS_COMUNES', + transport: Transport.TCP, + options: { + host: '127.0.0.1', + port: 3003, + }, + }, + ]), + ClientsModule.register([ + { + name: 'SERVICIO_RESERVACIONES', + transport: Transport.TCP, + options: { + host: '127.0.0.1', + port: 3006, + }, + }, + ]), MongooseModule.forFeature([ { name: Community.name, schema: CommunitySchema }, ]), diff --git a/servicio-comunidad-viviendas/src/communities/communities.service.ts b/servicio-comunidad-viviendas/src/communities/communities.service.ts index 93f7cbe2..212eeda7 100644 --- a/servicio-comunidad-viviendas/src/communities/communities.service.ts +++ b/servicio-comunidad-viviendas/src/communities/communities.service.ts @@ -14,6 +14,8 @@ export class CommunitiesService { @InjectModel(Community.name) private readonly communityModel: Model, @Inject('SERVICIO_USUARIOS') private readonly clientUserApp: ClientProxy, + @Inject('SERVICIO_AREAS_COMUNES') private readonly clientAreaApp: ClientProxy, + @Inject('SERVICIO_RESERVACIONES') private readonly clientReservationApp: ClientProxy, ) { } async create(community: CommunityDocument): Promise { @@ -81,7 +83,6 @@ export class CommunitiesService { return finalValue['response']; } - async saveTenant(id: string, number_house: string, ptenant_id: string) { let community = await this.findOne(id); await community.houses.map(house => { @@ -98,13 +99,11 @@ export class CommunitiesService { } return house; }) - return await this.communityModel.findOneAndUpdate({ _id: id }, community, { new: true, }); } - async deleteTenant(id: string, number_house: string, tenant_id: string) { let community = await this.findOne(id); @@ -115,7 +114,6 @@ export class CommunitiesService { } return house; }) - return await this.communityModel.findOneAndUpdate({ _id: id }, community, { new: true, }); @@ -123,13 +121,24 @@ export class CommunitiesService { async removeIdCommunity(community: string) { const pattern = { cmd: 'removeIdCommunity' }; - const payload = { community_id: community}; + const payload = { community_id: community }; - let callback = await this.clientUserApp + await this.clientUserApp .send(pattern, payload) .pipe(map((response: string) => ({ response }))); - const finalValue = await lastValueFrom(callback); - return finalValue['response']; + const pattern2 = { cmd: 'removeIdCommunity' }; + const payload2 = { community_id: community }; + + await this.clientAreaApp + .send(pattern2, payload2) + .pipe(map((response: string) => ({ response }))); + + const pattern3 = { cmd: 'removeIdCommunity' }; + const payload3 = { community_id: community }; + + await this.clientReservationApp + .send(pattern3, payload3) + .pipe(map((response: string) => ({ response }))); } } diff --git a/servicio-reservaciones/src/reservations/reservations.controller.ts b/servicio-reservaciones/src/reservations/reservations.controller.ts index 49621768..ea6a2553 100644 --- a/servicio-reservaciones/src/reservations/reservations.controller.ts +++ b/servicio-reservaciones/src/reservations/reservations.controller.ts @@ -38,4 +38,10 @@ export class ReservationsController { let _id = id['id']; return this.reservationsService.remove(_id); } + + @MessagePattern({ cmd: 'removeIdCommunity' }) + removeIdCommunity(@Payload() reservation: any) { + let community_id = reservation['community_id']; + return this.reservationsService.removeIdCommunity(community_id); + } } diff --git a/servicio-reservaciones/src/reservations/reservations.service.ts b/servicio-reservaciones/src/reservations/reservations.service.ts index 45382f50..c56174f1 100644 --- a/servicio-reservaciones/src/reservations/reservations.service.ts +++ b/servicio-reservaciones/src/reservations/reservations.service.ts @@ -45,4 +45,8 @@ export class ReservationsService { new: true, }); } + + async removeIdCommunity(community_id: string){ + await this.reservationModel.updateMany({community_id: community_id}, {"$set":{"status": '-1'}}); + } } diff --git a/servicio-reservaciones/src/schemas/reservation.schema.ts b/servicio-reservaciones/src/schemas/reservation.schema.ts index 542eb422..34536ff6 100644 --- a/servicio-reservaciones/src/schemas/reservation.schema.ts +++ b/servicio-reservaciones/src/schemas/reservation.schema.ts @@ -22,6 +22,9 @@ export class Reservation { @Prop() user_id: string; + + @Prop() + community_id: string; } export const ReservationSchema = SchemaFactory.createForClass(Reservation); diff --git a/servicio-usuarios/src/users/users.service.ts b/servicio-usuarios/src/users/users.service.ts index bc8ea288..6247e26c 100644 --- a/servicio-usuarios/src/users/users.service.ts +++ b/servicio-usuarios/src/users/users.service.ts @@ -297,9 +297,9 @@ export class UsersService { } async removeIdCommunity(community_id: string){ - return this.userModel.updateMany({community_id: community_id, user_type:'2' }, {"$set":{"community_id": ''}}); - /*await this.userModel.updateMany({community_id: community_id, user_type:'3' }, {"$set":{"community_id": ''}, {"status": '-1'}}); - return this.userModel.updateMany({community_id: community_id, user_type:'4' }, {"$set":{"community_id": ''}, {"status": '-1'}});*/ + await this.userModel.updateMany({community_id: community_id, user_type:'2' }, {"$set":{"community_id": ''}}); + await this.userModel.updateMany({community_id: community_id, user_type:'3' }, {"$set":{"community_id": '', "status": '-1'}}); + return this.userModel.updateMany({community_id: community_id, user_type:'4' }, {"$set":{"community_id": '', "status": '-1'}}); } } diff --git a/web-ui/web-react/src/components/AdministradoresComunidad.js b/web-ui/web-react/src/components/AdministradoresComunidad.js index 0ec73891..e58be62a 100644 --- a/web-ui/web-react/src/components/AdministradoresComunidad.js +++ b/web-ui/web-react/src/components/AdministradoresComunidad.js @@ -66,13 +66,18 @@ const AdministradoresComunidad = () => { item.status_text = 'Eliminado'; } //item.full_name returns the repositorie name - return fetch(`http://localhost:4000/community/findCommunityName/${item.community_id}`, { method: 'GET' }) - .then((response2) => response2.json()) - .then(data => data.message) - .then(data => { - item.community_name = data['name'] - return item - }) + if (item.community_id || item.community_id != '') { + return fetch(`http://localhost:4000/community/findCommunityName/${item.community_id}`, { method: 'GET' }) + .then((response2) => response2.json()) + .then(data => data.message) + .then(data => { + item.community_name = data['name'] + return item + }) + } else { + item.community_name = "Sin Comunidad Asignada"; + return item; + } })); }) .then(data => { @@ -86,9 +91,6 @@ const AdministradoresComunidad = () => { } - - - async function getCommunites() { let response = await fetch('http://localhost:4000/community/allCommunities', { method: 'GET' }) .then((response) => response.json()) @@ -151,22 +153,22 @@ const AdministradoresComunidad = () => { } ); - + }; const deleteSelectedAdminsCommunity = () => { let _admins = listaAdmins.filter( (val) => !selectedAdminsCommunities.includes(val), ); - selectedAdminsCommunities.map((item) => { - fetch('http://localhost:4000/user/deleteAdminCommunity/' + item._id, { - cache: 'no-cache', - method: 'DELETE', - headers: { - 'Content-Type': 'application/json' - } - }) - }) + selectedAdminsCommunities.map((item) => { + fetch('http://localhost:4000/user/deleteAdminCommunity/' + item._id, { + cache: 'no-cache', + method: 'DELETE', + headers: { + 'Content-Type': 'application/json' + } + }) + }) setListaAdmins(_admins); setDeleteAdminsCommunitiesDialog(false); setSelectedAdminsCommunities(null); diff --git a/web-ui/web-react/src/components/ComunidadViviendas.js b/web-ui/web-react/src/components/ComunidadViviendas.js index 68378ab7..a401fd17 100644 --- a/web-ui/web-react/src/components/ComunidadViviendas.js +++ b/web-ui/web-react/src/components/ComunidadViviendas.js @@ -400,8 +400,8 @@ const Communities = () => { .then( function (response) { - let _community = communities.filter(val => val._id !== community._id); - setCommunities(_community); + let _community = communitiesList.filter(val => val._id !== community._id); + setCommunitiesList(_community); setDeleteCommunityDialog(false); setCommunity(emptyCommunity); toast.current.show({ severity: 'success', summary: 'Exito', detail: 'Comunidad de Viviendas Eliminada', life: 3000 });