katoikia-app/api-gateway/src/app.controller.ts

630 lines
16 KiB
TypeScript
Raw Normal View History

2022-08-04 04:54:37 +00:00
import { Controller, Get, Post, Put, Body, Param, Delete } from '@nestjs/common';
2022-07-25 04:38:48 +00:00
import { AppService } from './app.service';
2022-06-29 02:30:10 +00:00
@Controller()
export class AppController {
2022-08-22 22:39:20 +00:00
constructor(private readonly appService: AppService) { }
// #==== API Users
@Post('user/createAdminSystem')
createAdminSystem(
@Body('dni') dni: string,
@Body('name') name: string,
@Body('last_name') last_name: string,
@Body('email') email: string,
@Body('phone') phone: number,
@Body('user_type') user_type: string,
@Body('status') status: string,
@Body('date_entry') date_entry: Date,
) {
2022-08-22 22:39:20 +00:00
return this.appService.createAdminSystem(dni, name, last_name, email, phone,
user_type, status, date_entry);
}
@Post('user/createGuard')
createGuard(
//Nombre, Apellidos, Correo electrónico, Cédula, Teléfono, Contraseña
@Body('dni') dni: string,
@Body('name') name: string,
@Body('last_name') last_name: string,
@Body('email') email: string,
@Body('phone') phone: number,
@Body('user_type') user_type: string,
@Body('status') status: string,
@Body('date_entry') date_entry: Date,
2022-07-25 04:38:48 +00:00
@Body('community_id') community_id: string,
) {
return this.appService.createGuard(dni, name, last_name, email, phone,
2022-08-22 22:39:20 +00:00
user_type, status, date_entry, community_id);
}
@Post('user/createAdminCommunity')
createAdminCommunity(
//Nombre, Apellidos, Correo electrónico, Cédula, Teléfono, Contraseña
@Body('dni') dni: string,
@Body('name') name: string,
@Body('last_name') last_name: string,
@Body('email') email: string,
@Body('phone') phone: number,
@Body('user_type') user_type: string,
@Body('status') status: string,
@Body('date_entry') date_entry: Date,
2022-08-22 22:39:20 +00:00
@Body('community_id') community_id: string
) {
return this.appService.createAdminCommunity(dni, name, last_name, email, phone,
2022-08-22 22:39:20 +00:00
user_type, status, date_entry, community_id);
}
@Post('user/createUser')
2022-06-29 09:23:07 +00:00
createUser(
@Body('dni') dni: string,
@Body('name') name: string,
@Body('last_name') last_name: string,
@Body('email') email: string,
@Body('phone') phone: number,
@Body('password') password: string,
@Body('user_type') user_type: string,
2022-06-29 10:12:27 +00:00
@Body('status') status: string,
@Body('date_entry') date_entry: Date,
@Body('community_id') community_id: string,
2022-08-22 06:07:33 +00:00
@Body('number_house') number_house: string,
2022-08-04 04:54:37 +00:00
) {
return this.appService.createUser(
dni,
name,
last_name,
email,
phone,
password,
user_type,
status,
date_entry,
community_id,
2022-08-22 06:07:33 +00:00
number_house,
2022-08-04 04:54:37 +00:00
);
}
2022-08-22 22:39:20 +00:00
@Post('user/createTenant')
createTenant(
@Body('dni') dni: string,
@Body('name') name: string,
@Body('last_name') last_name: string,
@Body('email') email: string,
@Body('phone') phone: number,
@Body('user_type') user_type: string,
@Body('status') status: string,
@Body('date_entry') date_entry: Date,
@Body('community_id') community_id: string,
@Body('number_house') number_house: string,
) {
return this.appService.createTenant(
dni,
name,
last_name,
email,
phone,
user_type,
status,
date_entry,
community_id,
number_house,
);
}
2022-08-22 11:15:29 +00:00
@Put('user/updateGuard/:id')
updateGuard(
@Param('id') id: string,
@Body('dni') dni: string,
@Body('name') name: string,
@Body('last_name') last_name: string,
@Body('email') email: string,
@Body('phone') phone: number,
@Body('password') password: string,
@Body('user_type') user_type: string,
@Body('status') status: string,
@Body('date_entry') date_entry: Date,
@Body('community_id') community_id: string,
) {
return this.appService.updateGuard(
id,
dni,
name,
last_name,
email,
phone,
password,
user_type,
status,
date_entry,
community_id,
);
}
2022-08-22 06:07:33 +00:00
@Put('user/updateUser/:id')
2022-08-04 05:30:03 +00:00
updateUser(
2022-08-22 06:07:33 +00:00
@Param('id') id: string,
2022-08-04 04:54:37 +00:00
@Body('dni') dni: string,
@Body('name') name: string,
@Body('last_name') last_name: string,
@Body('email') email: string,
@Body('phone') phone: number,
@Body('password') password: string,
@Body('user_type') user_type: string,
@Body('status') status: string,
@Body('date_entry') date_entry: Date,
@Body('community_id') community_id: string,
2022-08-22 06:07:33 +00:00
@Body('number_house') number_house: string,
2022-06-29 09:23:07 +00:00
) {
2022-08-04 05:30:03 +00:00
return this.appService.updateUser(
2022-08-22 06:07:33 +00:00
id,
2022-07-25 04:38:48 +00:00
dni,
name,
last_name,
email,
phone,
password,
user_type,
status,
date_entry,
community_id,
2022-08-22 06:07:33 +00:00
number_house,
2022-07-25 04:38:48 +00:00
);
2022-06-29 02:30:10 +00:00
}
2022-06-29 09:23:07 +00:00
@Get('user/allUsers')
2022-06-29 09:23:07 +00:00
allUsers() {
return this.appService.allUsers();
}
2022-07-11 02:22:34 +00:00
@Post('user/loginUser')
inicioSesion(
@Body('email') pEmail: string,
@Body('password') pPassword: string,
) {
2022-07-25 04:38:48 +00:00
return this.appService.inicioSesion(pEmail, pPassword);
2022-07-11 02:22:34 +00:00
}
@Get('user/findAdminSistema')
allUsersAdminSistema() {
return this.appService.allUsersAdminSistema();
}
@Get('user/findAdminComunidad')
allUsersAdminComunidad() {
return this.appService.allUsersAdminComunidad();
}
2022-07-24 05:54:05 +00:00
2022-07-19 04:28:56 +00:00
@Get('user/findGuards/:community')
2022-07-25 04:38:48 +00:00
findGuardsCommunity(@Param('community_id') community_id: string) {
2022-07-19 04:28:56 +00:00
return this.appService.findGuardsCommunity(community_id);
}
2022-08-01 00:19:20 +00:00
@Get('user/findTenants/:community_id')
allUsersTenants(@Param('community_id') paramCommunity_id: string) {
return this.appService.findTenantsCommunity(paramCommunity_id);
2022-07-24 05:54:05 +00:00
}
2022-08-22 22:39:20 +00:00
2022-06-29 10:12:27 +00:00
@Get('user/find/:dni')
2022-07-25 04:38:48 +00:00
findUser(@Param('dni') paramUserDNI: string) {
2022-06-29 10:12:27 +00:00
return this.appService.findUser(paramUserDNI);
}
2022-08-01 05:29:48 +00:00
@Get('user/findUserById/:id')
findUserById(@Param('id') id: string) {
return this.appService.findUserById(id);
}
@Delete('user/deleteAdminSystem/:id')
2022-07-25 04:38:48 +00:00
deleteAdminSystem(@Param('id') id: string) {
return this.appService.deleteAdminSystem(id);
}
2022-08-19 20:15:05 +00:00
@Delete('user/deleteAdminCommunity/:id')
deleteAdminCommunity(@Param('id') id: string) {
return this.appService.deleteAdminCommunity(id);
}
2022-08-22 22:39:20 +00:00
@Put('user/deleteTenant/:id')
deleteTenant(
@Param('id') id: string,
@Body('community_id') community_id: string,
@Body('number_house') number_house: string
) {
return this.appService.deleteTenant(id, community_id, number_house);
2022-08-21 10:35:59 +00:00
}
2022-08-19 20:15:05 +00:00
@Put('user/resetUserPassword/:id')
resetUserPassword(@Param('id') id: string,
@Body('dni') dni: string,
@Body('name') name: string,
@Body('last_name') last_name: string,
@Body('email') email: string,
@Body('phone') phone: number,
@Body('password') password: string,
@Body('user_type') user_type: string,
@Body('status') status: string,
@Body('date_entry') date_entry: Date,
@Body('community_id') community_id: string,
@Body('number_house') number_house: string,
) {
return this.appService.updateUser(
id,
dni,
name,
last_name,
email,
phone,
password,
user_type,
status,
date_entry,
community_id,
number_house,
);
}
@Post('user/changeStatus')
changeStatusUser(
@Body('id') pId: string,
@Body('status') pStatus: string,
) {
return this.appService.changeStatusUser(pId, pStatus);
}
2022-08-22 23:57:55 +00:00
@Put('user/updateAdminCommunity/:id')
updateAdminCommunity(
2022-08-23 02:08:37 +00:00
@Param('id') id: string,
2022-08-22 23:57:55 +00:00
@Body('dni') dni: string,
@Body('name') name: string,
@Body('last_name') last_name: string,
@Body('email') email: string,
@Body('phone') phone: number,
@Body('community_id') community_id: string,
) {
return this.appService.updateAdminCommunity(
id,
dni,
name,
last_name,
email,
phone,
community_id,
);
}
@Post('user/updateAdminSystem')
updateAdminSystem(
2022-08-22 15:14:55 +00:00
//Nombre, Apellidos, Correo electrónico, Cédula, Teléfono
@Body('_id') _id: string,
@Body('dni') dni: string,
@Body('name') name: string,
@Body('last_name') last_name: string,
@Body('email') email: string,
@Body('phone') phone: number,
) {
return this.appService.updateAdminSystem(_id, dni, name, last_name, email, phone);
}
// #==== API Communities
2022-06-29 10:12:27 +00:00
@Post('community/createCommunity')
createCommunity(
@Body('name') name: string,
@Body('province') province: string,
@Body('canton') canton: string,
@Body('district') district: string,
@Body('num_houses') num_houses: number,
2022-07-21 10:27:39 +00:00
@Body('phone') phone: string,
2022-06-29 10:12:27 +00:00
@Body('status') status: string,
@Body('date_entry') date_entry: Date,
2022-07-21 10:27:39 +00:00
@Body('houses') houses: [],
2022-06-29 10:12:27 +00:00
) {
2022-07-25 04:38:48 +00:00
return this.appService.createCommunity(
name,
province,
canton,
district,
num_houses,
phone,
status,
date_entry,
houses,
);
2022-06-29 10:12:27 +00:00
}
@Get('community/allCommunities')
allcommunities() {
return this.appService.allCommunities();
}
@Get('community/findCommunity/:id')
2022-07-25 04:38:48 +00:00
findCommunity(@Param('id') paramCommunityId: string) {
2022-06-29 10:12:27 +00:00
return this.appService.findCommunity(paramCommunityId);
}
@Get('community/findCommunityName/:id')
2022-07-25 04:38:48 +00:00
findCommunityName(@Param('id') paramCommunityId: string) {
return this.appService.findCommunityName(paramCommunityId);
}
@Post('community/findCommunityAdmin')
2022-07-25 04:38:48 +00:00
findCommunityAdmin(@Body('community_id') community_id: string) {
return this.appService.findCommunityAdmin(community_id);
}
@Post('community/changeStatus')
changeStatusCommunity(
@Body('id') pId: string,
@Body('status') pStatus: string,
) {
return this.appService.changeStatusCommunity(pId, pStatus);
}
2022-08-19 06:19:15 +00:00
2022-08-22 23:57:55 +00:00
@Get('community/findHousesCommunity/:id')
findHousesCommunity(
@Param('id') community_id: string,
) {
return this.appService.findHousesCommunity(community_id);
}
@Post('community/saveTenant')
saveTenant(
@Body('community_id') community_id: string,
@Body('number_house') number_house: string,
@Body('tenant_id') tenant_id: string,
) {
return this.appService.saveTenant(community_id, number_house, tenant_id);
}
@Delete('community/deleteCommunity/:id')
deleteCommunity(@Param('id') paramCommunityId: string) {
return this.appService.deleteCommunity(paramCommunityId);
}
// #==== API Common Areas
@Post('commonArea/createCommonArea')
createCommonArea(
@Body('name') name: string,
@Body('hourMin') hourMin: string,
@Body('hourMax') hourMax: string,
@Body('bookable') bookable: number,
@Body('community_id') community_id: string,
) {
2022-07-25 04:38:48 +00:00
return this.appService.createCommonArea(
name,
hourMin,
hourMax,
bookable,
community_id,
);
}
@Get('commonArea/allCommonAreas')
allCommonAreas() {
return this.appService.allCommonAreas();
}
@Get('commonArea/findCommonArea/:id')
2022-07-25 04:38:48 +00:00
findCommonArea(@Param('id') paramCommonAreaId: string) {
return this.appService.findCommonArea(paramCommonAreaId);
}
2022-08-01 06:38:58 +00:00
@Get('commonArea/findByCommunity/:community_id')
findByCommunity(@Param('community_id') paramCommunityId: string) {
return this.appService.findByCommunity(paramCommunityId);
}
@Delete('commonArea/deleteCommonArea/:id')
deleteCommonArea(@Param('id') id: string) {
return this.appService.deleteCommonArea(id);
}
2022-08-19 06:19:15 +00:00
@Post('commonArea/changeStatus')
changeStatusCommonArea(
@Body('id') pId: string,
@Body('status') pStatus: string,
) {
return this.appService.changeStatusCommonArea(pId, pStatus);
}
// #==== API GUEST
//#API userService - create user
@Post('guest/createGuest')
createGuest(
@Body('name') name: string,
@Body('last_name') last_name: string,
@Body('dni') dni: string,
@Body('number_plate') number_plate: string,
@Body('phone') phone: number,
@Body('status') status: string,
@Body('tenant_id') tenant_id: string,
@Body('community_id') community_id: string,
@Body('date_entry') date_entry: Date,
) {
2022-07-25 04:38:48 +00:00
return this.appService.createGuest(
name,
last_name,
dni,
number_plate,
phone,
status,
tenant_id,
community_id,
2022-07-25 04:38:48 +00:00
date_entry,
);
}
@Get('guest/allGuests')
allGuests() {
return this.appService.allGuests();
}
@Get('guest/find/:dni')
2022-07-25 04:38:48 +00:00
findGuest(@Param('dni') paramGuestDNI: string) {
return this.appService.findGuest(paramGuestDNI);
}
@Get('guest/findGuestUser/:id')
findGuestUser(@Param('id') paramGuestId: string) {
return this.appService.findGuestUser(paramGuestId);
}
// #==== API Payment
@Post('payment/createPayment')
createPayment(
@Body('date_payment') date_payment: Date,
@Body('mount') mount: number,
@Body('description') description: string,
@Body('period') period: string,
@Body('status') status: string,
@Body('user_id') user_id: string,
@Body('communty_id') communty_id: string,
) {
2022-07-25 04:38:48 +00:00
return this.appService.createPayment(
date_payment,
mount,
description,
period,
status,
user_id,
communty_id,
);
}
@Get('payment/allPayments')
allPayments() {
return this.appService.allPayments();
}
@Get('payment/find/:dni')
2022-07-25 04:38:48 +00:00
findPayment(@Param('dni') paramPaymentDNI: string) {
return this.appService.findPayment(paramPaymentDNI);
}
2022-07-01 20:01:21 +00:00
// #==== API Reservation
2022-07-01 20:01:21 +00:00
@Post('reservation/createReservation')
createReservation(
@Body('start_time') start_time: string,
@Body('finish_time') finish_time: string,
@Body('status') status: string,
@Body('date_entry') date_entry: Date,
@Body('user_id') user_id: string,
@Body('common_area_id') common_area_id: string,
2022-08-23 17:52:18 +00:00
@Body('common_area_name') common_area_name: string,
@Body('communty_id') communty_id: string,
2022-07-01 20:01:21 +00:00
) {
2022-07-25 04:38:48 +00:00
return this.appService.createReservation(
start_time,
finish_time,
status,
date_entry,
user_id,
common_area_id,
2022-08-23 17:52:18 +00:00
common_area_name,
communty_id,
2022-07-25 04:38:48 +00:00
);
2022-07-01 20:01:21 +00:00
}
@Get('reservation/allReservations')
allReservations() {
return this.appService.allReservations();
}
@Get('reservation/find/:id')
2022-07-25 04:38:48 +00:00
findReservation(@Param('id') paramReservation: string) {
2022-07-01 20:01:21 +00:00
return this.appService.findReservation(paramReservation);
}
2022-08-23 17:48:55 +00:00
@Get('reservation/findReservations/:id')
findReservations(@Param('id') community_id: string) {
return this.appService.findReservations(community_id);
}
// #==== API Post
@Post('post/createPost')
createPost(
@Body('post') post: string,
@Body('date_entry') date_entry: Date,
@Body('user_id') user_id: string,
@Body('community_id') community_id: string,
) {
return this.appService.createPost(post, date_entry, user_id, community_id);
}
@Get('post/allPosts')
allPosts() {
return this.appService.allPosts();
}
@Get('post/find/:id')
2022-07-25 04:38:48 +00:00
findPost(@Param('id') paramPost: string) {
return this.appService.findPost(paramPost);
}
@Delete('post/deletePost/:id')
deletePost(@Param('id') id: string) {
return this.appService.deletePost(id);
}
// #==== API Comment
@Post('post/createComment')
createComment(
@Body('comment') comment: string,
@Body('date_entry') date_entry: Date,
@Body('user_id') user_id: string,
@Body('post_id') post_id: string,
) {
return this.appService.createComment(comment, date_entry, user_id, post_id);
}
@Get('post/allComments')
allComments() {
return this.appService.allComments();
}
@Get('post/findComment/:id')
2022-07-25 04:38:48 +00:00
findComment(@Param('id') paramComment: string) {
return this.appService.findComment(paramComment);
}
2022-07-01 23:11:32 +00:00
// #==== API Report
@Post('report/createReport')
createReport(
@Body('action') action: string,
@Body('description') description: string,
@Body('date_entry') date_entry: Date,
@Body('user_id') user_id: string,
) {
2022-07-25 04:38:48 +00:00
return this.appService.createReport(
action,
description,
date_entry,
user_id,
);
2022-07-01 23:11:32 +00:00
}
@Get('report/allReports')
allReports() {
return this.appService.allReports();
}
@Get('report/find/:id')
2022-07-25 04:38:48 +00:00
findReport(@Param('id') paramReport: string) {
2022-07-01 23:11:32 +00:00
return this.appService.findReport(paramReport);
}
2022-07-16 00:36:02 +00:00
@Post('email/sendMail')
2022-07-25 04:38:48 +00:00
senMail(@Body('email') email: string) {
2022-07-16 00:36:02 +00:00
return this.appService.sendMail(email);
}
@Post('email/html')
2022-07-25 04:38:48 +00:00
html(@Body('email') email: string, @Body('name') name: string) {
2022-07-16 00:36:02 +00:00
return this.appService.html(email, name);
}
2022-07-25 04:38:48 +00:00
}